# AGENTS.md **Precedence:** the **closest `AGENTS.md`** to the files you're changing wins. Root holds global defaults only. ## Commands (unverified) > Source: package.json — CI-sourced commands are most reliable | Task | Command | ~Time | |------|---------|-------| | Typecheck | pnpm dlx tsc --noEmit | ~15s | | Lint | pnpm dlx eslint . | ~10s | | Format | pnpm dlx prettier --write . | ~5s | > If commands fail, verify against Makefile/package.json/composer.json or ask user to update. ## Workflow 1. **Before coding**: Read nearest `AGENTS.md` + check Golden Samples for the area you're touching 2. **After each change**: Run the smallest relevant check (lint → typecheck → single test) 3. **Before committing**: Run full test suite if changes affect >2 files or touch shared code ## File Map ``` packages/ → project files ``` ## Heuristics (quick decisions) | When | Do | |------|-----| | Committing | Use Conventional Commits (feat:, fix:, docs:, etc.) | | Merging PRs | Squash and merge | | Adding dependency | Ask first - we minimize deps | | Unsure about pattern | Check Golden Samples above | ## Repository Settings - **Default branch:** `main` - **Merge strategy:** squash, merge, rebase ## Boundaries ### Always Do - Run pre-commit checks before committing - Add tests for new code paths - Use conventional commit format: `type(scope): subject` - Use TypeScript strict mode with proper type annotations ### Ask First - Adding new dependencies - Modifying CI/CD configuration - Changing public API signatures - Running full e2e test suites - Repo-wide refactoring or rewrites ### Never Do - Commit secrets, credentials, or sensitive data - Modify vendor/, node_modules/, or generated files - Push directly to main/master branch - Delete migration files or schema changes - Commit package-lock.json without package.json changes - Use any type without justification ## When instructions conflict The nearest `AGENTS.md` wins. Explicit user prompts override files. - For TypeScript/JavaScript patterns, follow project eslint/prettier config