aboutsummaryrefslogtreecommitdiff
path: root/AGENTS.md
diff options
context:
space:
mode:
Diffstat (limited to 'AGENTS.md')
-rw-r--r--AGENTS.md80
1 files changed, 80 insertions, 0 deletions
diff --git a/AGENTS.md b/AGENTS.md
new file mode 100644
index 0000000..b537116
--- /dev/null
+++ b/AGENTS.md
@@ -0,0 +1,80 @@
+# Agent Instructions
+
+This project uses **bd (beads)** for issue tracking. Run `bd init` once (inside
+this directory), then `bd prime` for full workflow context.
+
+## Quick Reference
+
+```bash
+bd init # First-time setup (once)
+bd ready # Find available work
+bd show <id> # View issue details
+bd update <id> --claim # Claim work atomically
+bd close <id> # Complete work
+bd create -f docs/roadmap.md # Batch-create beads from the roadmap spec
+```
+
+## Conventions
+
+- PHP namespaces follow PSR-4 under `BrettParson\MiniRoute\` → `src/`.
+- Interfaces end in `Interface` (e.g. `MiddlewareInterface`).
+- Attributes live in `src/Attribute/`.
+- Keep runtime dependencies at zero; `phpunit` is dev-only. See `README.md`.
+- Controllers accept `RequestInterface` and return `ResponseInterface`.
+
+## Non-Interactive Shell Commands
+
+Use `cp -f`, `mv -f`, `rm -f` (and `-rf` for recursive) to avoid hanging on
+interactive confirmation prompts.
+
+## Session Completion
+
+When ending a work session, file issues for remaining work, run tests, update
+issue status, and push (`git push`, `bd dolt push`).
+
+<!-- BEGIN BEADS INTEGRATION v:1 profile:minimal hash:ca08a54f -->
+## Beads Issue Tracker
+
+This project uses **bd (beads)** for issue tracking. Run `bd prime` to see full workflow context and commands.
+
+### Quick Reference
+
+```bash
+bd ready # Find available work
+bd show <id> # View issue details
+bd update <id> --claim # Claim work
+bd close <id> # Complete work
+```
+
+### Rules
+
+- Use `bd` for ALL task tracking — do NOT use TodoWrite, TaskCreate, or markdown TODO lists
+- Run `bd prime` for detailed command reference and session close protocol
+- Use `bd remember` for persistent knowledge — do NOT use MEMORY.md files
+
+## Session Completion
+
+**When ending a work session**, you MUST complete ALL steps below. Work is NOT complete until `git push` succeeds.
+
+**MANDATORY WORKFLOW:**
+
+1. **File issues for remaining work** - Create issues for anything that needs follow-up
+2. **Run quality gates** (if code changed) - Tests, linters, builds
+3. **Update issue status** - Close finished work, update in-progress items
+4. **PUSH TO REMOTE** - This is MANDATORY:
+ ```bash
+ git pull --rebase
+ bd dolt push
+ git push
+ git status # MUST show "up to date with origin"
+ ```
+5. **Clean up** - Clear stashes, prune remote branches
+6. **Verify** - All changes committed AND pushed
+7. **Hand off** - Provide context for next session
+
+**CRITICAL RULES:**
+- Work is NOT complete until `git push` succeeds
+- NEVER stop before pushing - that leaves work stranded locally
+- NEVER say "ready to push when you are" - YOU must push
+- If push fails, resolve and retry until it succeeds
+<!-- END BEADS INTEGRATION -->