Skip to content
stacks

Java library (Maven Central-ready)

A Java library for other JVM code to depend on, built with Maven and make. A JPMS module exporting one package, JSpecify nullness checked by NullAway, Javadoc with doclint and examples that run as tests, generated-input property tests, a consumer project built against the installed jar, a japicmp API check and the sources and Javadoc jars Maven Central requires.

What done means

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

Declared steps: install, fmt-check, lint, compile, test, docs, build, consumer, api-check, 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 java-library stack for this project. 1. Run npx @steamfield/stacks show java-library --json and check that it fits the project. If it does not, explain why before changing files. 2. Run npx @steamfield/stacks new java-library 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 java-library stack for a quick local experiment. 1. Run npx @steamfield/stacks show java-library --json and check that it fits the project. If it does not, explain why before changing files. 2. Run npx @steamfield/stacks new java-library --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 java-library
npx @steamfield/stacks new java-library --sandbox
Verify steps
StepPhaseLayerCommand
installsetupinstallmake install
fmt-checkchecklintmake fmt-check
lintchecklintmake lint
compilechecktypecheckmake compile
testchecktestmake coverage
docscheckdocsmake docs
buildcheckbuildmake build
consumerchecktestmake test-consumer
api-checkcheckcheckmake api-check
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 rate12 Jul 2026: 76% (67–83%, n=105)19 Jul 2026: 79% (73–84%, n=200)26 Jul 2026: 77% (72–81%, n=355)2 Aug 2026: 77% (73–81%, n=535)9 Aug 2026: 78% (74–81%, n=600)16 Aug 2026: 76% (73–79%, n=705)23 Aug 2026: 76% (73–79%, n=730)30 Aug 2026: 75% (71–77%, n=795)6 Sept 2026: 74% (71–77%, n=850)13 Sept 2026: 74% (71–77%, n=895)20 Sept 2026: 75% (72–77%, n=940)27 Sept 2026: 74% (71–77%, n=975)4 Oct 2026: 74% (71–76%, n=1,030)11 Oct 2026: 73% (70–76%, n=1,095)18 Oct 2026: 74% (71–76%, n=1,185)25 Oct 2026: 74% (71–76%, n=1,250)1 Nov 2026: 73% (71–76%, n=1,310)
Jul 1Oct 10%50%100%95% Wilson interval95% Wilson intervalPublished 28-day green rate12 Jul 2026: 76% (67–83%, n=105)19 Jul 2026: 79% (73–84%, n=200)26 Jul 2026: 77% (72–81%, n=355)2 Aug 2026: 77% (73–81%, n=535)9 Aug 2026: 78% (74–81%, n=600)16 Aug 2026: 76% (73–79%, n=705)23 Aug 2026: 76% (73–79%, n=730)30 Aug 2026: 75% (71–77%, n=795)6 Sept 2026: 74% (71–77%, n=850)13 Sept 2026: 74% (71–77%, n=895)20 Sept 2026: 75% (72–77%, n=940)27 Sept 2026: 74% (71–77%, n=975)4 Oct 2026: 74% (71–76%, n=1,030)11 Oct 2026: 73% (70–76%, n=1,095)18 Oct 2026: 74% (71–76%, n=1,185)25 Oct 2026: 74% (71–76%, n=1,250)1 Nov 2026: 73% (71–76%, n=1,310)
Jun 1Jul 1Aug 1Sep 1Oct 1Nov 10%50%100%95% Wilson interval95% Wilson intervalPublished 28-day green rate12 Jul 2026: 76% (67–83%, n=105)19 Jul 2026: 79% (73–84%, n=200)26 Jul 2026: 77% (72–81%, n=355)2 Aug 2026: 77% (73–81%, n=535)9 Aug 2026: 78% (74–81%, n=600)16 Aug 2026: 76% (73–79%, n=705)23 Aug 2026: 76% (73–79%, n=730)30 Aug 2026: 75% (71–77%, n=795)6 Sept 2026: 74% (71–77%, n=850)13 Sept 2026: 74% (71–77%, n=895)20 Sept 2026: 75% (72–77%, n=940)27 Sept 2026: 74% (71–77%, n=975)4 Oct 2026: 74% (71–76%, n=1,030)11 Oct 2026: 73% (70–76%, n=1,095)18 Oct 2026: 74% (71–76%, n=1,185)25 Oct 2026: 74% (71–76%, n=1,250)1 Nov 2026: 73% (71–76%, n=1,310)
Jun 1Jul 1Aug 1Sep 1Oct 1Nov 10%50%100%95% Wilson interval95% Wilson intervalPublished 28-day green rate12 Jul 2026: 76% (67–83%, n=105)19 Jul 2026: 79% (73–84%, n=200)26 Jul 2026: 77% (72–81%, n=355)2 Aug 2026: 77% (73–81%, n=535)9 Aug 2026: 78% (74–81%, n=600)16 Aug 2026: 76% (73–79%, n=705)23 Aug 2026: 76% (73–79%, n=730)30 Aug 2026: 75% (71–77%, n=795)6 Sept 2026: 74% (71–77%, n=850)13 Sept 2026: 74% (71–77%, n=895)20 Sept 2026: 75% (72–77%, n=940)27 Sept 2026: 74% (71–77%, n=975)4 Oct 2026: 74% (71–76%, n=1,030)11 Oct 2026: 73% (70–76%, n=1,095)18 Oct 2026: 74% (71–76%, n=1,185)25 Oct 2026: 74% (71–76%, n=1,250)1 Nov 2026: 73% (71–76%, n=1,310)
Jul 1Oct 10%50%100%95% Wilson interval95% Wilson intervalPublished 28-day green rate12 Jul 2026: 76% (67–83%, n=105)19 Jul 2026: 79% (73–84%, n=200)26 Jul 2026: 77% (72–81%, n=355)2 Aug 2026: 77% (73–81%, n=535)9 Aug 2026: 78% (74–81%, n=600)16 Aug 2026: 76% (73–79%, n=705)23 Aug 2026: 76% (73–79%, n=730)30 Aug 2026: 75% (71–77%, n=795)6 Sept 2026: 74% (71–77%, n=850)13 Sept 2026: 74% (71–77%, n=895)20 Sept 2026: 75% (72–77%, n=940)27 Sept 2026: 74% (71–77%, n=975)4 Oct 2026: 74% (71–76%, n=1,030)11 Oct 2026: 73% (70–76%, n=1,095)18 Oct 2026: 74% (71–76%, n=1,185)25 Oct 2026: 74% (71–76%, n=1,250)1 Nov 2026: 73% (71–76%, n=1,310)
Jul 1Oct 10%50%100%95% Wilson interval95% Wilson intervalPublished 28-day green rate12 Jul 2026: 76% (67–83%, n=105)19 Jul 2026: 79% (73–84%, n=200)26 Jul 2026: 77% (72–81%, n=355)2 Aug 2026: 77% (73–81%, n=535)9 Aug 2026: 78% (74–81%, n=600)16 Aug 2026: 76% (73–79%, n=705)23 Aug 2026: 76% (73–79%, n=730)30 Aug 2026: 75% (71–77%, n=795)6 Sept 2026: 74% (71–77%, n=850)13 Sept 2026: 74% (71–77%, n=895)20 Sept 2026: 75% (72–77%, n=940)27 Sept 2026: 74% (71–77%, n=975)4 Oct 2026: 74% (71–76%, n=1,030)11 Oct 2026: 73% (70–76%, n=1,095)18 Oct 2026: 74% (71–76%, n=1,185)25 Oct 2026: 74% (71–76%, n=1,250)1 Nov 2026: 73% (71–76%, n=1,310)
Jun 1Jul 1Aug 1Sep 1Oct 1Nov 10%50%100%95% Wilson interval95% Wilson intervalPublished 28-day green rate12 Jul 2026: 76% (67–83%, n=105)19 Jul 2026: 79% (73–84%, n=200)26 Jul 2026: 77% (72–81%, n=355)2 Aug 2026: 77% (73–81%, n=535)9 Aug 2026: 78% (74–81%, n=600)16 Aug 2026: 76% (73–79%, n=705)23 Aug 2026: 76% (73–79%, n=730)30 Aug 2026: 75% (71–77%, n=795)6 Sept 2026: 74% (71–77%, n=850)13 Sept 2026: 74% (71–77%, n=895)20 Sept 2026: 75% (72–77%, n=940)27 Sept 2026: 74% (71–77%, n=975)4 Oct 2026: 74% (71–76%, n=1,030)11 Oct 2026: 73% (70–76%, n=1,095)18 Oct 2026: 74% (71–76%, n=1,185)25 Oct 2026: 74% (71–76%, n=1,250)1 Nov 2026: 73% (71–76%, n=1,310)
Jun 1Jul 1Aug 1Sep 1Oct 1Nov 10%50%100%95% Wilson interval95% Wilson intervalPublished 28-day green rate12 Jul 2026: 76% (67–83%, n=105)19 Jul 2026: 79% (73–84%, n=200)26 Jul 2026: 77% (72–81%, n=355)2 Aug 2026: 77% (73–81%, n=535)9 Aug 2026: 78% (74–81%, n=600)16 Aug 2026: 76% (73–79%, n=705)23 Aug 2026: 76% (73–79%, n=730)30 Aug 2026: 75% (71–77%, n=795)6 Sept 2026: 74% (71–77%, n=850)13 Sept 2026: 74% (71–77%, n=895)20 Sept 2026: 75% (72–77%, n=940)27 Sept 2026: 74% (71–77%, n=975)4 Oct 2026: 74% (71–76%, n=1,030)11 Oct 2026: 73% (70–76%, n=1,095)18 Oct 2026: 74% (71–76%, n=1,185)25 Oct 2026: 74% (71–76%, n=1,250)1 Nov 2026: 73% (71–76%, n=1,310)

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

Stacks projects · 28 days through 4 Nov 2026. Counts rounded to 5.

Data table
ThroughGreen rateProjectsContent change
5 Jul 2026hidden: too few projects––
12 Jul 202676% (67–83%, n=105)145–
19 Jul 202679% (73–84%, n=200)290–
26 Jul 202677% (72–81%, n=355)535–
2 Aug 202677% (73–81%, n=535)800–
9 Aug 202678% (74–81%, n=600)915–
16 Aug 202676% (73–79%, n=705)1,060–
23 Aug 202676% (73–79%, n=730)1,090–
30 Aug 202675% (71–77%, n=795)1,140–
6 Sept 202674% (71–77%, n=850)1,215–
13 Sept 202674% (71–77%, n=895)1,305–
20 Sept 202675% (72–77%, n=940)1,375–
27 Sept 202674% (71–77%, n=975)1,455–
4 Oct 202674% (71–76%, n=1,030)1,550–
11 Oct 202673% (70–76%, n=1,095)1,620–
18 Oct 202674% (71–76%, n=1,185)1,730–
25 Oct 202674% (71–76%, n=1,250)1,840–
1 Nov 202673% (71–76%, n=1,310)1,930–

Weekly projects by preset

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

Jul 1Oct 10100200300400500default · 12 Jul 2026: 90sandbox · 12 Jul 2026: 55default · 19 Jul 2026: 110sandbox · 19 Jul 2026: 40default · 26 Jul 2026: 155sandbox · 26 Jul 2026: 85default · 2 Aug 2026: 170sandbox · 2 Aug 2026: 95default · 9 Aug 2026: 160sandbox · 9 Aug 2026: 100default · 16 Aug 2026: 205sandbox · 16 Aug 2026: 85default · 23 Aug 2026: 170sandbox · 23 Aug 2026: 105default · 30 Aug 2026: 200sandbox · 30 Aug 2026: 120default · 6 Sept 2026: 225sandbox · 6 Sept 2026: 110default · 13 Sept 2026: 240sandbox · 13 Sept 2026: 135default · 20 Sept 2026: 215sandbox · 20 Sept 2026: 125default · 27 Sept 2026: 270sandbox · 27 Sept 2026: 135default · 4 Oct 2026: 260sandbox · 4 Oct 2026: 165default · 11 Oct 2026: 285sandbox · 11 Oct 2026: 160default · 18 Oct 2026: 300sandbox · 18 Oct 2026: 155default · 25 Oct 2026: 350sandbox · 25 Oct 2026: 165default · 1 Nov 2026: 335sandbox · 1 Nov 2026: 180
Jul 1Oct 10100200300400500default · 12 Jul 2026: 90sandbox · 12 Jul 2026: 55default · 19 Jul 2026: 110sandbox · 19 Jul 2026: 40default · 26 Jul 2026: 155sandbox · 26 Jul 2026: 85default · 2 Aug 2026: 170sandbox · 2 Aug 2026: 95default · 9 Aug 2026: 160sandbox · 9 Aug 2026: 100default · 16 Aug 2026: 205sandbox · 16 Aug 2026: 85default · 23 Aug 2026: 170sandbox · 23 Aug 2026: 105default · 30 Aug 2026: 200sandbox · 30 Aug 2026: 120default · 6 Sept 2026: 225sandbox · 6 Sept 2026: 110default · 13 Sept 2026: 240sandbox · 13 Sept 2026: 135default · 20 Sept 2026: 215sandbox · 20 Sept 2026: 125default · 27 Sept 2026: 270sandbox · 27 Sept 2026: 135default · 4 Oct 2026: 260sandbox · 4 Oct 2026: 165default · 11 Oct 2026: 285sandbox · 11 Oct 2026: 160default · 18 Oct 2026: 300sandbox · 18 Oct 2026: 155default · 25 Oct 2026: 350sandbox · 25 Oct 2026: 165default · 1 Nov 2026: 335sandbox · 1 Nov 2026: 180
Jun 1Jul 1Aug 1Sep 1Oct 1Nov 10100200300400500default · 12 Jul 2026: 90sandbox · 12 Jul 2026: 55default · 19 Jul 2026: 110sandbox · 19 Jul 2026: 40default · 26 Jul 2026: 155sandbox · 26 Jul 2026: 85default · 2 Aug 2026: 170sandbox · 2 Aug 2026: 95default · 9 Aug 2026: 160sandbox · 9 Aug 2026: 100default · 16 Aug 2026: 205sandbox · 16 Aug 2026: 85default · 23 Aug 2026: 170sandbox · 23 Aug 2026: 105default · 30 Aug 2026: 200sandbox · 30 Aug 2026: 120default · 6 Sept 2026: 225sandbox · 6 Sept 2026: 110default · 13 Sept 2026: 240sandbox · 13 Sept 2026: 135default · 20 Sept 2026: 215sandbox · 20 Sept 2026: 125default · 27 Sept 2026: 270sandbox · 27 Sept 2026: 135default · 4 Oct 2026: 260sandbox · 4 Oct 2026: 165default · 11 Oct 2026: 285sandbox · 11 Oct 2026: 160default · 18 Oct 2026: 300sandbox · 18 Oct 2026: 155default · 25 Oct 2026: 350sandbox · 25 Oct 2026: 165default · 1 Nov 2026: 335sandbox · 1 Nov 2026: 180
Jun 1Jul 1Aug 1Sep 1Oct 1Nov 10100200300400500default · 12 Jul 2026: 90sandbox · 12 Jul 2026: 55default · 19 Jul 2026: 110sandbox · 19 Jul 2026: 40default · 26 Jul 2026: 155sandbox · 26 Jul 2026: 85default · 2 Aug 2026: 170sandbox · 2 Aug 2026: 95default · 9 Aug 2026: 160sandbox · 9 Aug 2026: 100default · 16 Aug 2026: 205sandbox · 16 Aug 2026: 85default · 23 Aug 2026: 170sandbox · 23 Aug 2026: 105default · 30 Aug 2026: 200sandbox · 30 Aug 2026: 120default · 6 Sept 2026: 225sandbox · 6 Sept 2026: 110default · 13 Sept 2026: 240sandbox · 13 Sept 2026: 135default · 20 Sept 2026: 215sandbox · 20 Sept 2026: 125default · 27 Sept 2026: 270sandbox · 27 Sept 2026: 135default · 4 Oct 2026: 260sandbox · 4 Oct 2026: 165default · 11 Oct 2026: 285sandbox · 11 Oct 2026: 160default · 18 Oct 2026: 300sandbox · 18 Oct 2026: 155default · 25 Oct 2026: 350sandbox · 25 Oct 2026: 165default · 1 Nov 2026: 335sandbox · 1 Nov 2026: 180
Jul 1Oct 10100200300400500default · 12 Jul 2026: 90sandbox · 12 Jul 2026: 55default · 19 Jul 2026: 110sandbox · 19 Jul 2026: 40default · 26 Jul 2026: 155sandbox · 26 Jul 2026: 85default · 2 Aug 2026: 170sandbox · 2 Aug 2026: 95default · 9 Aug 2026: 160sandbox · 9 Aug 2026: 100default · 16 Aug 2026: 205sandbox · 16 Aug 2026: 85default · 23 Aug 2026: 170sandbox · 23 Aug 2026: 105default · 30 Aug 2026: 200sandbox · 30 Aug 2026: 120default · 6 Sept 2026: 225sandbox · 6 Sept 2026: 110default · 13 Sept 2026: 240sandbox · 13 Sept 2026: 135default · 20 Sept 2026: 215sandbox · 20 Sept 2026: 125default · 27 Sept 2026: 270sandbox · 27 Sept 2026: 135default · 4 Oct 2026: 260sandbox · 4 Oct 2026: 165default · 11 Oct 2026: 285sandbox · 11 Oct 2026: 160default · 18 Oct 2026: 300sandbox · 18 Oct 2026: 155default · 25 Oct 2026: 350sandbox · 25 Oct 2026: 165default · 1 Nov 2026: 335sandbox · 1 Nov 2026: 180
Jul 1Oct 10100200300400500default · 12 Jul 2026: 90sandbox · 12 Jul 2026: 55default · 19 Jul 2026: 110sandbox · 19 Jul 2026: 40default · 26 Jul 2026: 155sandbox · 26 Jul 2026: 85default · 2 Aug 2026: 170sandbox · 2 Aug 2026: 95default · 9 Aug 2026: 160sandbox · 9 Aug 2026: 100default · 16 Aug 2026: 205sandbox · 16 Aug 2026: 85default · 23 Aug 2026: 170sandbox · 23 Aug 2026: 105default · 30 Aug 2026: 200sandbox · 30 Aug 2026: 120default · 6 Sept 2026: 225sandbox · 6 Sept 2026: 110default · 13 Sept 2026: 240sandbox · 13 Sept 2026: 135default · 20 Sept 2026: 215sandbox · 20 Sept 2026: 125default · 27 Sept 2026: 270sandbox · 27 Sept 2026: 135default · 4 Oct 2026: 260sandbox · 4 Oct 2026: 165default · 11 Oct 2026: 285sandbox · 11 Oct 2026: 160default · 18 Oct 2026: 300sandbox · 18 Oct 2026: 155default · 25 Oct 2026: 350sandbox · 25 Oct 2026: 165default · 1 Nov 2026: 335sandbox · 1 Nov 2026: 180
Jun 1Jul 1Aug 1Sep 1Oct 1Nov 10100200300400500default · 12 Jul 2026: 90sandbox · 12 Jul 2026: 55default · 19 Jul 2026: 110sandbox · 19 Jul 2026: 40default · 26 Jul 2026: 155sandbox · 26 Jul 2026: 85default · 2 Aug 2026: 170sandbox · 2 Aug 2026: 95default · 9 Aug 2026: 160sandbox · 9 Aug 2026: 100default · 16 Aug 2026: 205sandbox · 16 Aug 2026: 85default · 23 Aug 2026: 170sandbox · 23 Aug 2026: 105default · 30 Aug 2026: 200sandbox · 30 Aug 2026: 120default · 6 Sept 2026: 225sandbox · 6 Sept 2026: 110default · 13 Sept 2026: 240sandbox · 13 Sept 2026: 135default · 20 Sept 2026: 215sandbox · 20 Sept 2026: 125default · 27 Sept 2026: 270sandbox · 27 Sept 2026: 135default · 4 Oct 2026: 260sandbox · 4 Oct 2026: 165default · 11 Oct 2026: 285sandbox · 11 Oct 2026: 160default · 18 Oct 2026: 300sandbox · 18 Oct 2026: 155default · 25 Oct 2026: 350sandbox · 25 Oct 2026: 165default · 1 Nov 2026: 335sandbox · 1 Nov 2026: 180
Jun 1Jul 1Aug 1Sep 1Oct 1Nov 10100200300400500default · 12 Jul 2026: 90sandbox · 12 Jul 2026: 55default · 19 Jul 2026: 110sandbox · 19 Jul 2026: 40default · 26 Jul 2026: 155sandbox · 26 Jul 2026: 85default · 2 Aug 2026: 170sandbox · 2 Aug 2026: 95default · 9 Aug 2026: 160sandbox · 9 Aug 2026: 100default · 16 Aug 2026: 205sandbox · 16 Aug 2026: 85default · 23 Aug 2026: 170sandbox · 23 Aug 2026: 105default · 30 Aug 2026: 200sandbox · 30 Aug 2026: 120default · 6 Sept 2026: 225sandbox · 6 Sept 2026: 110default · 13 Sept 2026: 240sandbox · 13 Sept 2026: 135default · 20 Sept 2026: 215sandbox · 20 Sept 2026: 125default · 27 Sept 2026: 270sandbox · 27 Sept 2026: 135default · 4 Oct 2026: 260sandbox · 4 Oct 2026: 165default · 11 Oct 2026: 285sandbox · 11 Oct 2026: 160default · 18 Oct 2026: 300sandbox · 18 Oct 2026: 155default · 25 Oct 2026: 350sandbox · 25 Oct 2026: 165default · 1 Nov 2026: 335sandbox · 1 Nov 2026: 180
  • default
  • sandbox

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

Data table
Week endingPresetProjects
5 Jul 2026default–
12 Jul 2026default90
19 Jul 2026default110
26 Jul 2026default155
2 Aug 2026default170
9 Aug 2026default160
16 Aug 2026default205
23 Aug 2026default170
30 Aug 2026default200
6 Sept 2026default225
13 Sept 2026default240
20 Sept 2026default215
27 Sept 2026default270
4 Oct 2026default260
11 Oct 2026default285
18 Oct 2026default300
25 Oct 2026default350
1 Nov 2026default335
5 Jul 2026sandbox–
12 Jul 2026sandbox55
19 Jul 2026sandbox40
26 Jul 2026sandbox85
2 Aug 2026sandbox95
9 Aug 2026sandbox100
16 Aug 2026sandbox85
23 Aug 2026sandbox105
30 Aug 2026sandbox120
6 Sept 2026sandbox110
13 Sept 2026sandbox135
20 Sept 2026sandbox125
27 Sept 2026sandbox135
4 Oct 2026sandbox165
11 Oct 2026sandbox160
18 Oct 2026sandbox155
25 Oct 2026sandbox165
1 Nov 2026sandbox180

By preset

Green verify outcomes by the preset chosen at scaffold time.

default

70%67–73%, n=800

sandbox

79%75–83%, n=415

Stacks projects · 28 days through 4 Nov 2026. Counts rounded to 5.

Data table
NameGreen rateProjects
default70% (67–73%, n=800)1,170
sandbox79% (75–83%, n=415)620

By agent

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

claude

73%70–76%, n=660

codex

70%65–75%, n=305

cursor

77%69–83%, n=125

none

73%57–84%, n=40

opencode

79%68–87%, n=70

otherhidden: too few projects

Stacks projects · 28 days through 4 Nov 2026. Counts rounded to 5.

Data table
NameGreen rateProjects
claude73% (70–76%, n=660)970
codex70% (65–75%, n=305)455
cursor77% (69–83%, n=125)185
none73% (57–84%, n=40)55
opencode79% (68–87%, n=70)105
otherhidden: too few projects25

Time to green

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

02030MinutesFirst passing testMedian to green75th percentileFirst passing test: 13 minutesMedian to green: 22 minutes75th percentile: 31 minutes13 min22 min31 min
0102030MinutesFirst passing testMedian to green75th percentileFirst passing test: 13 minutesMedian to green: 22 minutes75th percentile: 31 minutes13 min22 min31 min
0102030MinutesFirst passing testMedian to green75th percentileFirst passing test: 13 minutesMedian to green: 22 minutes75th percentile: 31 minutes13 min22 min31 min
0102030MinutesFirst passing testMedian to green75th percentileFirst passing test: 13 minutesMedian to green: 22 minutes75th percentile: 31 minutes13 min22 min31 min
02030MinutesFirst passing testMedian to green75th percentileFirst passing test: 13 minutesMedian to green: 22 minutes75th percentile: 31 minutes13 min22 min31 min
0102030MinutesFirst passing testMedian to green75th percentileFirst passing test: 13 minutesMedian to green: 22 minutes75th percentile: 31 minutes13 min22 min31 min
0102030MinutesFirst passing testMedian to green75th percentileFirst passing test: 13 minutesMedian to green: 22 minutes75th percentile: 31 minutes13 min22 min31 min
0102030MinutesFirst passing testMedian to green75th percentileFirst passing test: 13 minutesMedian to green: 22 minutes75th percentile: 31 minutes13 min22 min31 min
Verify runs to green
1

Stacks projects · 28 days through 4 Nov 2026. Counts rounded to 5.

Data table
MeasureTime / runs
Median to green22 minutes
75th percentile31 minutes
First passing test13 minutes
Verify runs to green1

Where it breaks

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

test25%
lint15%
build12%
readme-filled9%
compile8%
fmt-check7%
docs7%
api-check6%
consumer5%
install5%
Environment blocked0%

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

Data table
StepShare
build12%
test25%
api-check6%
fmt-check7%
consumer5%
readme-filled9%
install5%
compile8%
lint15%
docs7%
Environment blocked0%

What people change

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

Default, kept rate

agent-ops92%
git-hooks92%
ci-github92%

Optional, attach rate

rr18%
ce-plugin17%

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

Data table
FragmentMeasureShare
agent-opsKept92%
git-hooksKept92%
ci-githubKept92%
rrAttached18%
ce-pluginAttached17%
By composition 23 fingerprints

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

CompositionGreen rateSeenChange in life
defaults + rr − agent-ops · 02c0b56bhidden: too few projects12 Jul 2026 – 1 Nov 2026None
defaults · 033047f675% (72–78%, n=830)12 Jul 2026 – 1 Nov 2026None
defaults + ce-plugin − git-hooks · 0f187ed2hidden: too few projects26 Jul 2026 – 1 Nov 2026None
defaults + rr − ci-github − git-hooks · 2f1c1c3fhidden: too few projects6 Sept 2026 – 1 Nov 2026None
defaults + rr − agent-ops − ci-github · 4510d892hidden: too few projects30 Aug 2026 – 1 Nov 2026None
defaults + ce-plugin − agent-ops − git-hooks · 4c11b86fhidden: too few projects6 Sept 2026 – 1 Nov 2026None
defaults + rr − git-hooks · 5d749986hidden: too few projects12 Jul 2026 – 1 Nov 2026None
defaults − git-hooks · 725da01fhidden: too few projects12 Jul 2026 – 1 Nov 2026None
defaults + rr − agent-ops − git-hooks · 853b9544hidden: too few projects9 Aug 2026 – 1 Nov 2026None
defaults + ce-plugin + rr − agent-ops · 8aa6081chidden: too few projects16 Aug 2026 – 1 Nov 2026None
defaults − ci-github · 9f782ee2hidden: too few projects12 Jul 2026 – 1 Nov 2026None
defaults + ce-plugin + rr − git-hooks · a265ed7bhidden: too few projects26 Jul 2026 – 1 Nov 2026None
defaults + ce-plugin · a96b36fa69% (62–75%, n=180)12 Jul 2026 – 1 Nov 2026None
defaults + ce-plugin − agent-ops · bc7714d8hidden: too few projects19 Jul 2026 – 1 Nov 2026None
defaults − ci-github − git-hooks · c31b2dc6hidden: too few projects26 Jul 2026 – 1 Nov 2026None
defaults + rr · c84c759b71% (64–77%, n=175)12 Jul 2026 – 1 Nov 2026None
defaults − agent-ops − ci-github · ce2b648dhidden: too few projects12 Jul 2026 – 1 Nov 2026None
defaults − agent-ops · d3ccacc2hidden: too few projects12 Jul 2026 – 1 Nov 2026None
defaults + ce-plugin − ci-github · dbeafd66hidden: too few projects12 Jul 2026 – 1 Nov 2026None
defaults + ce-plugin + rr · f0cc128168% (51–81%, n=35)12 Jul 2026 – 1 Nov 2026None
defaults + ce-plugin + rr − ci-github · f5df2a36hidden: too few projects2 Aug 2026 – 1 Nov 2026None
defaults − agent-ops − git-hooks · f9e09177hidden: too few projects19 Jul 2026 – 1 Nov 2026None
defaults + rr − ci-github · ffe208a5hidden: too few projects12 Jul 2026 – 1 Nov 2026None

Computed 5 Nov 2026, through 4 Nov 2026. Numbers describe stacks projects, not the ecosystem.