AGENTS.md¶
Instructions for coding agents working in this project. Humans: this is also a good summary of how the project works.
Commands¶
- Install:
uv sync - Test:
uv run pytest -q(must pass before you say you're done) - Lint:
uv run ruff check .(must pass) - Try it:
EXPENSES_FILE=/tmp/e.jsonl uv run expenses add 2026-10-03 food 450
Layout¶
src/expenses/store.pydata model, validation, JSON Lines storagesrc/expenses/export.pyCSV exportsrc/expenses/cli.pyargument parsing and output only; no business logic heretests/test_acceptance.pyone test per acceptance criterion inSPEC.mdtests/test_store.pyunit tests
Rules¶
SPEC.mdis the source of truth. If a request conflicts with it, stop and ask.- Write or update a failing test before changing behavior. Never weaken an existing test to make it pass; ask instead.
- Money is
decimal.Decimalor a string, neverfloat. - No new runtime dependencies. The standard library is enough.
- Don't read or write anything outside the project folder and the temp directory, except the user's data file.
- Show the diff and stop. Don't commit or push.
Skills¶
.agents/skills/add-command/how to add a new subcommand the way this project does it.