Skip to content
stacks

Astro site + Effect API

A Bun workspace with a static Astro site (React islands, Tailwind), a Node API on Effect's HttpApi and a shared contract package, so islands call the API through a typed client. The API can also serve the built site.

What done means

Your agent follows the brief, then runs stacks verify without weakening or skipping checks. What happens next

Declared steps: install, lint, typecheck, test, http-contract, build, api, web, readme-filled. View commands

Use this stack

Paste the prompt into the coding agent working on your project.

Project intent

Uses the stack’s default fragments. Review the brief with your agent.Uses stated defaults and omits deploy, release, and app fragments unless explicitly requested.

View prompt
Use the astro-fullstack stack for this project. 1. Run npx @steamfield/stacks show astro-fullstack --json and check that it fits the project. If it does not, explain why before changing files. 2. Run npx @steamfield/stacks new astro-fullstack and follow the brief it prints. 3. From the generated project directory, run npx @steamfield/stacks verify. Fix failures without weakening or skipping verification steps. 4. Summarize what changed and the verification result. Quote published stats only when they are available, including their interval and sample size. The stacks docs, written for agents, are at https://stacks.steamfield.io/llms.txt.
Use the astro-fullstack stack for a quick local experiment. 1. Run npx @steamfield/stacks show astro-fullstack --json and check that it fits the project. If it does not, explain why before changing files. 2. Run npx @steamfield/stacks new astro-fullstack --sandbox and follow the brief it prints. 3. From the generated project directory, run npx @steamfield/stacks verify. Fix failures without weakening or skipping verification steps. 4. Summarize what changed and the verification result. Quote published stats only when they are available, including their interval and sample size. The stacks docs, written for agents, are at https://stacks.steamfield.io/llms.txt.
Or use the terminal
npx @steamfield/stacks new astro-fullstack
npx @steamfield/stacks new astro-fullstack --sandbox
Verify steps
StepPhaseLayerCommand
installsetupinstallbun install
lintchecklintbun run lint
typecheckchecktypecheckbun run typecheck
testchecktestbun run test
http-contractchecktestbun run test --project api apps/api/tests/http-contract.test.ts
buildcheckbuildbun run build
apiserveservebun run dev:api
webserveservebun run dev:web
readme-filledcheckchecktest -s README.md && ! grep -n 'stacks:fill' README.md

Usage and outcomes

Usage over time

Showing 180 days of history.

History

The 28-day green rate at each weekly observation. Gaps mean the sample was too small to publish.

Jul 1Oct 10%50%100%95% Wilson interval95% Wilson intervalPublished 28-day green rate23 Aug 2026: 76% (57–89%, n=25)30 Aug 2026: 79% (60–91%, n=25)
Jul 1Oct 10%50%100%95% Wilson interval95% Wilson intervalPublished 28-day green rate23 Aug 2026: 76% (57–89%, n=25)30 Aug 2026: 79% (60–91%, n=25)
Jun 1Jul 1Aug 1Sep 1Oct 10%50%100%95% Wilson interval95% Wilson intervalPublished 28-day green rate23 Aug 2026: 76% (57–89%, n=25)30 Aug 2026: 79% (60–91%, n=25)
Jun 1Jul 1Aug 1Sep 1Oct 10%50%100%95% Wilson interval95% Wilson intervalPublished 28-day green rate23 Aug 2026: 76% (57–89%, n=25)30 Aug 2026: 79% (60–91%, n=25)
Jul 1Oct 10%50%100%95% Wilson interval95% Wilson intervalPublished 28-day green rate23 Aug 2026: 76% (57–89%, n=25)30 Aug 2026: 79% (60–91%, n=25)
Jul 1Oct 10%50%100%95% Wilson interval95% Wilson intervalPublished 28-day green rate23 Aug 2026: 76% (57–89%, n=25)30 Aug 2026: 79% (60–91%, n=25)
Jun 1Jul 1Aug 1Sep 1Oct 10%50%100%95% Wilson interval95% Wilson intervalPublished 28-day green rate23 Aug 2026: 76% (57–89%, n=25)30 Aug 2026: 79% (60–91%, n=25)
Jun 1Jul 1Aug 1Sep 1Oct 10%50%100%95% Wilson interval95% Wilson intervalPublished 28-day green rate23 Aug 2026: 76% (57–89%, n=25)30 Aug 2026: 79% (60–91%, n=25)

Shaded band: 95% Wilson interval. Dashed rules: content changes. Missing observations remain gaps.

Stacks projects · 28 days through 30 Oct 2026. Counts rounded to 5.

Data table
ThroughGreen rateProjectsContent change
5 Jul 2026hidden: too few projects––
12 Jul 2026hidden: too few projects5–
19 Jul 2026hidden: too few projects10–
26 Jul 2026hidden: too few projects15–
2 Aug 2026hidden: too few projects20–
9 Aug 2026hidden: too few projects25–
16 Aug 2026hidden: too few projects25–
23 Aug 202676% (57–89%, n=25)30–
30 Aug 202679% (60–91%, n=25)30–
6 Sept 2026hidden: too few projects30–
13 Sept 2026hidden: too few projects35–
20 Sept 2026hidden: too few projects30–
27 Sept 2026hidden: too few projects30–
4 Oct 2026hidden: too few projects25–
11 Oct 2026hidden: too few projects30–
18 Oct 2026hidden: too few projects30–
25 Oct 2026hidden: too few projects30–

Weekly projects by preset

Non-overlapping seven-day project counts, grouped by the preset used to start the project.

Jul 1Oct 10246810default · 2 Aug 2026: 5default · 23 Aug 2026: 5sandbox · 6 Sept 2026: 5default · 13 Sept 2026: 5default · 20 Sept 2026: 5default · 27 Sept 2026: 5sandbox · 27 Sept 2026: 5default · 11 Oct 2026: 10default · 18 Oct 2026: 5default · 25 Oct 2026: 5
Jul 1Oct 10246810default · 2 Aug 2026: 5default · 23 Aug 2026: 5sandbox · 6 Sept 2026: 5default · 13 Sept 2026: 5default · 20 Sept 2026: 5default · 27 Sept 2026: 5sandbox · 27 Sept 2026: 5default · 11 Oct 2026: 10default · 18 Oct 2026: 5default · 25 Oct 2026: 5
Jun 1Jul 1Aug 1Sep 1Oct 10246810default · 2 Aug 2026: 5default · 23 Aug 2026: 5sandbox · 6 Sept 2026: 5default · 13 Sept 2026: 5default · 20 Sept 2026: 5default · 27 Sept 2026: 5sandbox · 27 Sept 2026: 5default · 11 Oct 2026: 10default · 18 Oct 2026: 5default · 25 Oct 2026: 5
Jun 1Jul 1Aug 1Sep 1Oct 10246810default · 2 Aug 2026: 5default · 23 Aug 2026: 5sandbox · 6 Sept 2026: 5default · 13 Sept 2026: 5default · 20 Sept 2026: 5default · 27 Sept 2026: 5sandbox · 27 Sept 2026: 5default · 11 Oct 2026: 10default · 18 Oct 2026: 5default · 25 Oct 2026: 5
Jul 1Oct 10246810default · 2 Aug 2026: 5default · 23 Aug 2026: 5sandbox · 6 Sept 2026: 5default · 13 Sept 2026: 5default · 20 Sept 2026: 5default · 27 Sept 2026: 5sandbox · 27 Sept 2026: 5default · 11 Oct 2026: 10default · 18 Oct 2026: 5default · 25 Oct 2026: 5
Jul 1Oct 10246810default · 2 Aug 2026: 5default · 23 Aug 2026: 5sandbox · 6 Sept 2026: 5default · 13 Sept 2026: 5default · 20 Sept 2026: 5default · 27 Sept 2026: 5sandbox · 27 Sept 2026: 5default · 11 Oct 2026: 10default · 18 Oct 2026: 5default · 25 Oct 2026: 5
Jun 1Jul 1Aug 1Sep 1Oct 10246810default · 2 Aug 2026: 5default · 23 Aug 2026: 5sandbox · 6 Sept 2026: 5default · 13 Sept 2026: 5default · 20 Sept 2026: 5default · 27 Sept 2026: 5sandbox · 27 Sept 2026: 5default · 11 Oct 2026: 10default · 18 Oct 2026: 5default · 25 Oct 2026: 5
Jun 1Jul 1Aug 1Sep 1Oct 10246810default · 2 Aug 2026: 5default · 23 Aug 2026: 5sandbox · 6 Sept 2026: 5default · 13 Sept 2026: 5default · 20 Sept 2026: 5default · 27 Sept 2026: 5sandbox · 27 Sept 2026: 5default · 11 Oct 2026: 10default · 18 Oct 2026: 5default · 25 Oct 2026: 5
  • default
  • sandbox

Stacks projects per UTC week through 30 Oct 2026. Published preset counts only; hidden cells are not zero.

Data table
Week endingPresetProjects
5 Jul 2026default–
12 Jul 2026default–
19 Jul 2026default–
26 Jul 2026default–
2 Aug 2026default5
9 Aug 2026default–
16 Aug 2026default–
23 Aug 2026default5
30 Aug 2026default–
6 Sept 2026default–
13 Sept 2026default5
20 Sept 2026default5
27 Sept 2026default5
4 Oct 2026default–
11 Oct 2026default10
18 Oct 2026default5
25 Oct 2026default5
5 Jul 2026sandbox–
12 Jul 2026sandbox–
19 Jul 2026sandbox–
26 Jul 2026sandbox–
2 Aug 2026sandbox–
9 Aug 2026sandbox–
16 Aug 2026sandbox–
23 Aug 2026sandbox–
30 Aug 2026sandbox–
6 Sept 2026sandbox5
13 Sept 2026sandbox–
20 Sept 2026sandbox–
27 Sept 2026sandbox5
4 Oct 2026sandbox–
11 Oct 2026sandbox–
18 Oct 2026sandbox–
25 Oct 2026sandbox–

By preset

Green verify outcomes by the preset chosen at scaffold time.

Not enough runs in this breakdown yet.

Stacks projects · 28 days through 30 Oct 2026. Counts rounded to 5.

By agent

Within this stack, listed alphabetically. These are project outcomes, not an agent ranking.

Not enough runs in this breakdown yet.

Stacks projects · 28 days through 30 Oct 2026. Counts rounded to 5.

Time to green

Published time summaries on a shared minutes scale. First passing test is a median; 75% reached green by the 75th percentile.

Median to green
–
75th percentile
–
First passing test
–
Verify runs to green
–

Stacks projects · 28 days through 30 Oct 2026. Counts rounded to 5.

Data table
MeasureTime / runs
Median to green–
75th percentile–
First passing test–
Verify runs to green–

Where it breaks

A run can fail more than one step. Environment failures are shown separately.

Environment blockedhidden: too few projects

Share of failed runs before first green. Environment blocked describes the machine, not the stack.

Data table
StepShare
Environment blocked–

What people change

Defaults people keep, and optional fragments they choose to attach.

Default, kept rate

claude-harness100%
git-hookshidden: too few projects
ci-githubhidden: too few projects
effecthidden: too few projects
rest-api81%

Optional, attach rate

rrhidden: too few projects
ce-plugin22%

Share of the window's 35 projects. Kept rate is 1 minus the without rate.

Data table
FragmentMeasureShare
claude-harnessKept100%
git-hooksKept–
ci-githubKept–
effectKept–
rest-apiKept81%
rrAttached–
ce-pluginAttached22%
By composition 11 fingerprints

Each row is a distinct fragment composition, with its own sample and content history.

CompositionGreen rateSeenChange in life
defaults + ce-plugin + rr · 2c6d449dhidden: too few projects25 Oct 2026 – 25 Oct 2026None
defaults + ce-plugin − ci-github − git-hooks − rest-api · 5d250ddchidden: too few projects18 Oct 2026 – 25 Oct 2026None
defaults − effect · 62c8bc60hidden: too few projects9 Aug 2026 – 25 Oct 2026None
defaults + ce-plugin − rest-api · 79f53770hidden: too few projects26 Jul 2026 – 25 Oct 2026None
defaults + rr · 956835dahidden: too few projects19 Jul 2026 – 25 Oct 2026None
defaults − git-hooks · 9e89e019hidden: too few projects5 Jul 2026 – 25 Oct 2026None
defaults − rest-api · c0f272e0hidden: too few projects26 Jul 2026 – 25 Oct 2026None
defaults + ce-plugin · d6dba094hidden: too few projects12 Jul 2026 – 25 Oct 2026None
defaults · d8128c12hidden: too few projects5 Jul 2026 – 25 Oct 2026None
defaults − ci-github − effect − git-hooks · f39df0c2hidden: too few projects11 Oct 2026 – 25 Oct 2026None
defaults − ci-github · fa15006ehidden: too few projects5 Jul 2026 – 25 Oct 2026None

Dependencies in use

Major versions reported by this stack's projects in the 28-day window. Declared dependencies remain listed above.

@astrojs/react25 reporting projects
Major 683%
Major 7hidden: too few projects
@effect/vitest20 reporting projects
Major 0.3086%
Major 4hidden: too few projects
@types/node25 reporting projects
Major 2283%
Major 24hidden: too few projects
@types/react-dom25 reporting projects
Major 1888%
Major 19hidden: too few projects
astro25 reporting projects
Major 567%
Major 633%
effect25 reporting projects
Major 388%
Major 4hidden: too few projects
happy-dom25 reporting projects
Major 2083%
Major 21hidden: too few projects
react10 reporting projects
Major 1873%
Major 19hidden: too few projects
react-dom25 reporting projects
Major 1883%
Major 19hidden: too few projects
tailwindcss25 reporting projects
Major 383%
Major 4hidden: too few projects
typescript25 reporting projects
Major 571%
Major 629%
vitest25 reporting projects
Major 479%
Major 521%

This compares projects; it isn't an effect of the dependency.

Computed 31 Oct 2026, through 30 Oct 2026. Numbers describe stacks projects, not the ecosystem.