backend
無料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.
日本語の概要は準備中です。原文の説明を表示しています。
Vue frontend — components, Vitest, generated API client, apiCallWithLoading, DaisyUI. Read this first for any frontend work. Use when working on the Vue frontend.
日本語の概要は準備中です。原文の説明を表示しています。
実行スコア 未検証
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
Vue 3 + TypeScript in frontend/src/. Tests in frontend/tests/. Import the backend client from @generated/donut-backend-api/sdk.gen.
Matching frontend-component, frontend-testing, frontend-api, and frontend-storybook skills attach via paths when those files are in context — do not fetch them up front. Lint: linting_formating skill.
CURSOR_DEV=true nix develop -c pnpm frontend:test
Spec paths are relative to frontend/. Do not pass -- before the path (Vitest skips file filtering). Prefer the full frontend unit suite; a single file only while iterating on that file.
Always run frontend unit tests headlessly. The shared Vitest config keeps Chromium
headless and disables automatic browser opening for regular, direct, UI, and watch
runs. Agents must not override this with --browser.headless=false or --open
unless the user explicitly requests a visible browser.
frontend:test runs Vitest only; frontend/vitest.config.ts disables
typechecking there for speed. Passing behavioral tests alone is incomplete
frontend proof: before accepting a frontend change, also require these
typechecks to pass against the same working-tree content, including generated
API types:
CURSOR_DEV=true nix develop -c pnpm -C frontend exec vue-tsc --noEmit
CURSOR_DEV=true nix develop -c pnpm -C frontend exec tsc --noEmit
The build that CI runs (pnpm -C frontend build) checks with both. Plain
tsc types every *.vue import through frontend/tests/shims-vue.d.ts, so
it sees no exposed component members: a test reaches an exposed method
through a helper that casts wrapper.vm structurally, never through
wrapper.vm.<method> or InstanceType<typeof Component>.
Reuse existing typecheck evidence from a lint or build run on
identical content instead of repeating it. This requirement applies at proof
acceptance, not to every focused Vitest run while iterating on one file.
<script setup lang="ts">. PascalCase .vue files; tests ComponentName.spec.ts.daisy- prefix (daisy-btn, daisy-card). Unprefixed Tailwind utilities. No Bootstrap. Scoped SCSS. Lucide via @lucide/vue (currentColor, :size or Tailwind size-*).computed, not a ref that mirrors props/store. ref only for owned mutable state (input, toggles).Modal from @/components/commons/Modal.vue. In tests, query document.querySelector("dialog").frontend/components.d.ts is regenerated by the Vite build, not by tests. After adding or deleting a component, run CURSOR_DEV=true nix develop -c pnpm -C frontend exec vite build --emptyOutDir and commit its change.noteShowLocation); href only via noteShowHref (compiled from the named location). ADR 0005.User actions: apiCallWithLoading(() => Controller.method(...)) from @/managedApi/clientSetup. Wrapped { data, error, request, response }. Check !error before using data. Silent refresh: call the SDK directly (no loading bar or error toast).
{ blockUi: true } for a whole-UI blocker. { blockUi: true, cancelable: true } only for allowlisted read-only sites gated by frontend/tests/managedApi/cancelableAllowlist.spec.ts. Do not opt mutations into cancelable. Do not add component-local LoadingModal refs.
Loading UI that means unfinished work marks data-app-busy (LoadingThinBar, ContentLoader, LoadingModal). E2E: waitUntilAppIsNotBusy(). Validation 400: toOpenApiError(error).
Drive the mounted component. Mock only the backend HTTP API with mockSdkService(Controller, "method", payload) from @tests/helpers. Payloads: donut-test-fixtures/makeMe. No getByRole (slow). Prefer render() from Testing Library. Vitest browser mode; do not use jsdom.
まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
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.
日本語の概要は準備中です。原文の説明を表示しています。
Backend Java production code, Spring Boot controllers/services/repositories, controller return values, imports, schema ERD pointer. Use when editing backend production Java.
日本語の概要は準備中です。原文の説明を表示しています。
Backend Java tests, controller-level stable-boundary tests, JUnit, @Nested, MakeMe builders, @Transactional, parameterized tests. Use when writing or changing backend JUnit tests.
日本語の概要は準備中です。原文の説明を表示しています。
related to donut CLI. Use when working on donut-cli.
日本語の概要は準備中です。原文の説明を表示しています。
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.
日本語の概要は準備中です。原文の説明を表示しています。
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.
日本語の概要は準備中です。原文の説明を表示しています。