Spring Boot REST API (Java)
A Java JSON API on Spring Boot with Spring MVC and Actuator, built with Maven and make. One error envelope for every failure, validated settings, request ids and structured JSON logs, Error Prone and NullAway at compile time, and tests through Spring's MockMvc and a real server.
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, test-integration, build, api, 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 spring-boot-apinpx @steamfield/stacks new spring-boot-api --sandbox| Step | Phase | Layer | Command |
|---|---|---|---|
| install | setup | install | make install |
| fmt-check | check | lint | make fmt-check |
| lint | check | lint | make lint |
| compile | check | typecheck | make compile |
| test | check | test | make coverage |
| test-integration | check | test | make test-integration |
| build | check | build | make build |
| api | serve | serve | make serve |
| 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 4 Nov 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 | – | – |
| 19 Jul 2026 | hidden: too few projects | 5 | – |
| 26 Jul 2026 | hidden: too few projects | 10 | – |
| 2 Aug 2026 | hidden: too few projects | 20 | – |
| 9 Aug 2026 | hidden: too few projects | 25 | – |
| 16 Aug 2026 | hidden: too few projects | 30 | – |
| 23 Aug 2026 | hidden: too few projects | 35 | – |
| 30 Aug 2026 | 77% (57–90%, n=20) | 40 | – |
| 6 Sept 2026 | 78% (59–89%, n=25) | 40 | – |
| 13 Sept 2026 | 79% (60–91%, n=25) | 40 | – |
| 20 Sept 2026 | 83% (65–92%, n=30) | 40 | – |
| 27 Sept 2026 | 76% (57–89%, n=25) | 40 | – |
| 4 Oct 2026 | hidden: too few projects | 40 | – |
| 11 Oct 2026 | 77% (59–88%, n=30) | 45 | – |
| 18 Oct 2026 | 71% (55–84%, n=35) | 50 | – |
| 25 Oct 2026 | 76% (61–86%, n=40) | 60 | – |
| 1 Nov 2026 | 73% (57–85%, n=35) | 60 | – |
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 4 Nov 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 | 5 |
| 2 Aug 2026 | default | 5 |
| 9 Aug 2026 | default | 5 |
| 16 Aug 2026 | default | 5 |
| 23 Aug 2026 | default | 10 |
| 30 Aug 2026 | default | 10 |
| 6 Sept 2026 | default | 5 |
| 13 Sept 2026 | default | 5 |
| 20 Sept 2026 | default | 10 |
| 27 Sept 2026 | default | 10 |
| 4 Oct 2026 | default | 5 |
| 11 Oct 2026 | default | 10 |
| 18 Oct 2026 | default | 10 |
| 25 Oct 2026 | default | 10 |
| 1 Nov 2026 | default | 10 |
| 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 | 5 |
| 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 | 10 |
| 25 Oct 2026 | sandbox | 5 |
| 1 Nov 2026 | sandbox | 5 |
By preset
Green verify outcomes by the preset chosen at scaffold time.
73%52–87%, n=20
Stacks projects · 28 days through 4 Nov 2026. Counts rounded to 5.
Data table
| Name | Green rate | Projects |
|---|---|---|
| default | 73% (52–87%, n=20) | 40 |
| sandbox | hidden: too few projects | 20 |
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 4 Nov 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.
- Verify runs to green
- 1
Stacks projects · 28 days through 4 Nov 2026. Counts rounded to 5.
Data table
| Measure | Time / runs |
|---|---|
| Median to green | 25 minutes |
| 75th percentile | 31 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 |
|---|---|
| lint | 18% |
| test | 23% |
| build | 13% |
| install | 10% |
| test-integration | 28% |
| fmt-check | 8% |
| api | 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 60 projects. Kept rate is 1 minus the without rate.
Data table
| Fragment | Measure | Share |
|---|---|---|
| agent-ops | Kept | 92% |
| git-hooks | Kept | 92% |
| ci-github | Kept | – |
| rest-api | Kept | – |
| rr | Attached | 12% |
| ce-plugin | Attached | 12% |
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 + rr − rest-api · 1720d86b | hidden: too few projects | 11 Oct 2026 – 1 Nov 2026 | None |
| defaults + ce-plugin · 27a0fe68 | hidden: too few projects | 12 Jul 2026 – 1 Nov 2026 | None |
| defaults + rr − agent-ops · 2db321c6 | hidden: too few projects | 23 Aug 2026 – 1 Nov 2026 | None |
| defaults − ci-github · 435520b5 | hidden: too few projects | 12 Jul 2026 – 1 Nov 2026 | None |
| defaults + rr · 6698442a | hidden: too few projects | 19 Jul 2026 – 1 Nov 2026 | None |
| defaults − agent-ops − git-hooks · 79165d65 | hidden: too few projects | 23 Aug 2026 – 1 Nov 2026 | None |
| defaults − rest-api · 8d29d388 | hidden: too few projects | 19 Jul 2026 – 1 Nov 2026 | None |
| defaults − agent-ops · a2264423 | hidden: too few projects | 16 Aug 2026 – 1 Nov 2026 | None |
| defaults + ce-plugin − rest-api · d6b53f62 | hidden: too few projects | 20 Sept 2026 – 1 Nov 2026 | None |
| defaults − git-hooks · d8c87907 | hidden: too few projects | 26 Jul 2026 – 1 Nov 2026 | None |
| defaults + ce-plugin + rr · ed66a6ea | hidden: too few projects | 25 Oct 2026 – 1 Nov 2026 | None |
| defaults · ffc1465c | 71% (53–85%, n=30) | 26 Jul 2026 – 1 Nov 2026 | None |
Computed 5 Nov 2026, through 4 Nov 2026. Numbers describe stacks projects, not the ecosystem.