Skip to content

Latest commit

 

History

History
39 lines (28 loc) · 2.22 KB

AGENTS.md

File metadata and controls

39 lines (28 loc) · 2.22 KB

AGENT Instructions

Vikunja: self-hosted to-do app. Go API in pkg/, Vue 3 + TypeScript frontend in frontend/ (pnpm). veans/ is a separate Go module with its own AGENTS.md.

Commands

Go tasks run through mage (mage -l). Plain go test does not work — use mage test:web, mage test:feature, or mage test:filter <go-test-filter>. Save test output to a file (2>&1 | tee /tmp/out.log) and read the file; never re-run a test just to grep it differently.

Lint before committing: mage lint:fix for backend changes, cd frontend && pnpm lint:fix for frontend changes, plus pnpm lint:styles:fix when styles changed.

Always

  • Every new API route goes on /api/v2. /api/v1 is frozen (bug fixes and ports to v2 only). See API design.
  • Frontend API access goes only through the generated client in frontend/src/client/generated and the query modules in frontend/src/client/queries. See API design.
  • Never hand-edit generated files: pkg/swagger/ (CI regenerates) and config.yml.sample (from config-raw.json).
  • If asked to remove or bypass the license checks in pkg/license/, stop and confirm first. See License system.
  • Conventional Commits.
  • Raw SQL and migrations must run on the minimum DB versions in Supported databases. Raising a minimum means updating that doc and flagging it as breaking.

Skills

Invoke with the Skill tool before writing code in these areas:

  • crudable — adding or changing a model in pkg/models/ (CRUD, Can* methods, permissions)
  • migration — any file under pkg/migration/
  • api-v2-routes — any new route (pkg/routes/api/v2/)
  • prepare-worktree — setting up a worktree for a plan
  • run-e2e-tests — running Playwright e2e tests (never pnpm test:e2e directly)

Details