backend
FreeBackend Java — Spring Boot controllers/services, JUnit controller tests, MakeMe. Read this first for any backend work. Use when working on the Java Spring backend.
The English summary is being prepared. Showing the original description.
Regenerate the frontend TypeScript API client from backend OpenAPI spec. Use after changing backend controller signatures or related data types. Triggers on: generateTypeScript, API regeneration, controller signature changed, OpenAPI lint failure, generated API code.
The English summary is being prepared. Showing the original description.
Run score Not tested
See how to installReview the instructions the agent will receive before you install.
Purpose: Keep packages/generated/donut-backend-api in sync with Java
controllers — never hand-edit generated output.
Output: Regenerated client + green frontend tests + summary ending with
## API CLIENT GENERATED.
</objective>
Never edit generated code directly. This includes whitespace-only cleanup in
sdk.gen.ts, types.gen.ts, and open_api_docs.yaml; if generated output
changes, accept it or fix the generator path.
Git does not use the Nix prefix. All other repo tooling does:
CURSOR_DEV=true nix develop -c …
Do not run raw git diff --check as a generated-client cleanup gate. Use
scripts/check_diff_whitespace.sh, which excludes generated API artifacts from
manual whitespace fixes.
Regenerate when:
pnpm openapi:lint or pnpm format:all fails with OpenAPI validation errorsRegenerate in the same change as the controller edit: the backend test
RobotsTests.openApiDocsMatchCommittedYaml fails until open_api_docs.yaml
matches, so a signature change cannot be committed on its own while CI stays green.
</context>
CURSOR_DEV=true nix develop -c pnpm frontend:test
Fix any broken frontend code that used the old API signatures. </step>
<step name="openapi_lint_failures"> If `pnpm openapi:lint` fails: **do not** edit `open_api_docs.yaml` (it is generated). Fix Java controllers, regenerate, then re-lint. Playbook details: `.agents/skills/linting_formating/SKILL.md` → **OpenAPI Linting**. </step> </process><success_criteria>
pnpm generateTypeScript run with Nix prefix## API CLIENT GENERATED
</success_criteria>## API CLIENT GENERATED
</output>
<out_of_scope>
sdk.gen.ts, types.gen.ts, or open_api_docs.yaml.git diff --check for generated-client whitespace gates.
</out_of_scope>No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Backend Java — Spring Boot controllers/services, JUnit controller tests, MakeMe. Read this first for any backend work. Use when working on the Java Spring backend.
The English summary is being prepared. Showing the original description.
Backend Java production code, Spring Boot controllers/services/repositories, controller return values, imports, schema ERD pointer. Use when editing backend production Java.
The English summary is being prepared. Showing the original description.
Backend Java tests, controller-level stable-boundary tests, JUnit, @Nested, MakeMe builders, @Transactional, parameterized tests. Use when writing or changing backend JUnit tests.
The English summary is being prepared. Showing the original description.
related to donut CLI. Use when working on donut-cli.
The English summary is being prepared. Showing the original description.
Set up and run the Donut dev environment on Cursor Cloud VM (no Nix). Use when working on Cloud VM, running tests on Cloud VM, or encountering command errors related to missing nix. Triggers on: cloud VM, cloud agent, no nix available, /workspace path.
The English summary is being prepared. Showing the original description.
Regenerate docs/database-erd.md from MySQL information_schema (Mermaid ERD: foreign keys and key columns). Use after Flyway schema changes, new migrations, or when the diagram is stale. Triggers on: database ERD, database-erd.md, export_database_erd, schema diagram, ER diagram after migration.
The English summary is being prepared. Showing the original description.