# Code minimalism: project context

Copy this file to CONTEXT.md next to SKILL.md and fill in every blank. Never put passwords, access keys or card numbers here.

## Project and stack

(Languages, frameworks and runtime the agent writes code in.)
Example: a TypeScript web shop with a relational database.

## Where shared helpers live

(Folders the agent searches before writing a new helper, util or type. This makes rung 2 of the ladder fast.)
Example: src/lib/, src/utils/, src/types/

## Installed dependencies worth reaching for

(Libraries already in the project that cover common needs, so the agent uses them instead of adding new ones.)
Example: date-fns for dates, zod for input validation, the query builder for database access.

## Dependency policy

(When may the agent add a new dependency, and who approves it?)
Example: never without asking first; propose it in one line with the reason.

## Command that runs the checks

(The one command the agent runs before reporting a change as done: tests, type check, lint.)
Example: npm test && npm run typecheck

## Trust boundaries

(Where untrusted input enters the system. Validation here is never minimised away.)
Example: API route handlers, webhook receivers, CSV import, file uploads.

## Money, security and tenant paths

(Code paths where invariants and their tests always outrank minimalism: precedence level 2.)
Example: checkout and refunds, login and session handling, anything scoped by account id.

## Design system

(Where the design rules live, if any. Precedence level 4: in the user interface they beat "use the native element".)
Example: docs/DESIGN.md and the components in src/ui/

## Repository conventions that beat a shorter diff

(Patterns the agent must match even when a shorter version exists: precedence level 5.)
Example: every service function returns a result object instead of throwing.

## Scratch environment for destructive operations

(Where the agent tests resets, deletes, migrations and force operations. Never the live environment.)
Example: a fresh clone in a temporary folder; the staging database, never production.

## Explicit keep-list

(Anything the user wants kept even if the ladder would cut it.)
Example: keep the verbose logging in the payment worker.
