React Router on Cloudflare Workers
A full-stack React Router app on Cloudflare Workers with server rendering, JSON resource routes, typed bindings and a cron handler slot, plus Tailwind, Biome and integration tests that run in the local Workers runtime.
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, build, web, readme-filled. View commands
Use this stack
Paste the prompt into the coding agent working on your project.
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
Or use the terminal
npx @steamfield/stacks new cloudflare-react-routernpx @steamfield/stacks new cloudflare-react-router --sandbox| Step | Phase | Layer | Command |
|---|---|---|---|
| install | setup | install | bun install |
| lint | check | lint | bun run lint |
| typecheck | check | typecheck | bun run typecheck |
| test | check | test | bun run test |
| build | check | build | bun run build |
| web | serve | serve | bun run dev --port ${PORT_WEB} --strictPort |
| readme-filled | check | check | test -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.
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
| Through | Green rate | Projects | Content change |
|---|---|---|---|
| 5 Jul 2026 | hidden: too few projects | – | – |
| 12 Jul 2026 | hidden: too few projects | 5 | – |
| 19 Jul 2026 | hidden: too few projects | 10 | – |
| 26 Jul 2026 | hidden: too few projects | 15 | – |
| 2 Aug 2026 | hidden: too few projects | 20 | – |
| 9 Aug 2026 | hidden: too few projects | 20 | – |
| 16 Aug 2026 | 76% (55–89%, n=20) | 25 | – |
| 23 Aug 2026 | 76% (57–89%, n=25) | 25 | – |
| 30 Aug 2026 | hidden: too few projects | 25 | – |
| 6 Sept 2026 | hidden: too few projects | 25 | – |
| 13 Sept 2026 | 69% (50–83%, n=25) | 30 | – |
| 20 Sept 2026 | 79% (60–90%, n=30) | 30 | – |
| 27 Sept 2026 | 79% (62–90%, n=30) | 30 | – |
| 4 Oct 2026 | 84% (67–93%, n=30) | 35 | – |
| 11 Oct 2026 | 85% (70–94%, n=35) | 35 | – |
| 18 Oct 2026 | 80% (64–90%, n=35) | 40 | – |
| 25 Oct 2026 | 72% (56–84%, n=35) | 45 | – |
Weekly projects by preset
Non-overlapping seven-day project counts, grouped by the preset used to start the project.
- default
- sandbox
Stacks projects per UTC week through 30 Oct 2026. Published preset counts only; hidden cells are not zero.
Data table
| Week ending | Preset | Projects |
|---|---|---|
| 5 Jul 2026 | default | – |
| 12 Jul 2026 | default | – |
| 19 Jul 2026 | default | – |
| 26 Jul 2026 | default | – |
| 2 Aug 2026 | default | – |
| 9 Aug 2026 | default | – |
| 16 Aug 2026 | default | – |
| 23 Aug 2026 | default | – |
| 30 Aug 2026 | default | 5 |
| 6 Sept 2026 | default | – |
| 13 Sept 2026 | default | 10 |
| 20 Sept 2026 | default | 5 |
| 27 Sept 2026 | default | 5 |
| 4 Oct 2026 | default | 5 |
| 11 Oct 2026 | default | 10 |
| 18 Oct 2026 | default | 5 |
| 25 Oct 2026 | default | 5 |
| 5 Jul 2026 | sandbox | – |
| 12 Jul 2026 | sandbox | – |
| 19 Jul 2026 | sandbox | – |
| 26 Jul 2026 | sandbox | – |
| 2 Aug 2026 | sandbox | – |
| 9 Aug 2026 | sandbox | – |
| 16 Aug 2026 | sandbox | – |
| 23 Aug 2026 | sandbox | – |
| 30 Aug 2026 | sandbox | – |
| 6 Sept 2026 | sandbox | – |
| 13 Sept 2026 | sandbox | – |
| 20 Sept 2026 | sandbox | – |
| 27 Sept 2026 | sandbox | – |
| 4 Oct 2026 | sandbox | – |
| 11 Oct 2026 | sandbox | – |
| 18 Oct 2026 | sandbox | 5 |
| 25 Oct 2026 | sandbox | 5 |
By preset
Green verify outcomes by the preset chosen at scaffold time.
70%48–85%, n=20
Stacks projects · 28 days through 30 Oct 2026. Counts rounded to 5.
Data table
| Name | Green rate | Projects |
|---|---|---|
| default | 70% (48–85%, n=20) | 25 |
| sandbox | hidden: too few projects | 15 |
By agent
Within this stack, listed alphabetically. These are project outcomes, not an agent ranking.
70%49–84%, n=25
Stacks projects · 28 days through 30 Oct 2026. Counts rounded to 5.
Data table
| Name | Green rate | Projects |
|---|---|---|
| claude | 70% (49–84%, n=25) | 30 |
| codex | hidden: too few projects | 5 |
| cursor | hidden: too few projects | – |
| opencode | hidden: too few projects | – |
Time to green
Published time summaries on a shared minutes scale. First passing test is a median; 75% reached green by the 75th percentile.
- Verify runs to green
- 1
Stacks projects · 28 days through 30 Oct 2026. Counts rounded to 5.
Data table
| Measure | Time / runs |
|---|---|
| Median to green | 25 minutes |
| 75th percentile | 30 minutes |
| First passing test | 15 minutes |
| Verify runs to green | 1 |
Where it breaks
A run can fail more than one step. Environment failures are shown separately.
Share of failed runs before first green. Environment blocked describes the machine, not the stack.
Data table
| Step | Share |
|---|---|
| typecheck | 37% |
| lint | 11% |
| test | 29% |
| build | 3% |
| install | 3% |
| web | 14% |
| readme-filled | 3% |
| Environment blocked | 0% |
What people change
Defaults people keep, and optional fragments they choose to attach.
Default, kept rate
Optional, attach rate
Share of the window's 40 projects. Kept rate is 1 minus the without rate.
Data table
| Fragment | Measure | Share |
|---|---|---|
| agent-ops | Kept | 88% |
| ci-github | Kept | – |
| cloudflare-d1 | Attached | 21% |
| git-hooks | Attached | – |
| ce-plugin | Attached | 31% |
By composition 12 fingerprints
Each row is a distinct fragment composition, with its own sample and content history.
| Composition | Green rate | Seen | Change in life |
|---|---|---|---|
| defaults + ce-plugin + cloudflare-d1 · 1bcd0098 | hidden: too few projects | 16 Aug 2026 – 25 Oct 2026 | None |
| defaults + cloudflare-d1 − agent-ops · 25fc6b92 | hidden: too few projects | 11 Oct 2026 – 25 Oct 2026 | None |
| defaults + cloudflare-d1 · 2bd0fef1 | hidden: too few projects | 12 Jul 2026 – 25 Oct 2026 | None |
| defaults + ce-plugin + git-hooks · 4165ccc7 | hidden: too few projects | 2 Aug 2026 – 25 Oct 2026 | None |
| defaults + cloudflare-d1 + git-hooks · 4acecf81 | hidden: too few projects | 13 Sept 2026 – 25 Oct 2026 | None |
| defaults · 4e551092 | 67% (45–83%, n=20) | 12 Jul 2026 – 25 Oct 2026 | None |
| defaults + git-hooks · 5bf0f8ee | hidden: too few projects | 12 Jul 2026 – 25 Oct 2026 | None |
| defaults − agent-ops · 7d724ac2 | hidden: too few projects | 2 Aug 2026 – 25 Oct 2026 | None |
| defaults + ce-plugin − agent-ops · 8dc5fc92 | hidden: too few projects | 18 Oct 2026 – 25 Oct 2026 | None |
| defaults + ce-plugin · 8dfcdef3 | hidden: too few projects | 26 Jul 2026 – 25 Oct 2026 | None |
| defaults + ce-plugin − agent-ops − ci-github · 98eff62b | hidden: too few projects | 18 Oct 2026 – 25 Oct 2026 | None |
| defaults + git-hooks − agent-ops · ba6cb3db | hidden: too few projects | 25 Oct 2026 – 25 Oct 2026 | None |
Dependencies in use
Major versions reported by this stack's projects in the 28-day window. Declared dependencies remain listed above.
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.