This is the operating manual for AI agents working in this repository. Read it
fully before starting any task. For the project's purpose and goals, read
README.md; for what to do next, read TODO.md.
- Context first. Read
README.mdandTODO.md, then infer the rest from the existing code and neighboring conventions. - No ping-pong. Don't ask questions one at a time. Resolve unknowns with sensible defaults and announce them. If something is genuinely blocking, ask all such questions in a single batch, then proceed.
- Plan then execute. Work through
TODO.mdplan by plan, chaining features and commits autonomously so the human can do something else meanwhile. - Self-review. After generating code, run the linter/analyzer (see below), fix what it flags, and add or update tests.
- Install:
<...> - Run / dev:
<...> - Build:
<...> - Test:
<...> - Lint / format:
<...> - Static analysis: SonarQube / SonarScanner (run before closing a plan)
- Language: English for code, identifiers, commits and documentation. Client-facing UI in another language only when end users require it.
- Code style: follow the existing style and the project's linter/formatter. No superfluous dependencies.
- Structure:
<describe folder layout / entry points>. - Docs: keep
README.mdaccurate; addARCHITECTURE.mdwhen routing or data flows need explaining.
- Atomic commits with clear English messages.
- Never add
Co-Authored-By: Claudeor any AI co-author trailer to commits or PR descriptions. - Work on a dedicated branch; do not push to
mainunless asked.
- Run static analysis (SonarQube) and the linter after generating code.
- Create or update tests for new behavior.
- Don't consider a plan done until analysis is clean and tests pass.
- Touch confidential/proprietary assets; keep them in a gitignored folder
(e.g.
data/,datas/) and never commit them. <other project-specific guardrails>
If you also use Claude Code, point its
CLAUDE.mdat this file (e.g. a single line:See AGENTS.md) so there's one source of truth.