AGENTS.md · diff

git:20260317.f389b2f to git:20260923.3a642e8

18 added, 108 removed. Audit A to A.

# Agent Instructions
- This project uses **bd** (beads) for issue tracking. Run `bd onboard` to get started.
-
- ## Quick Reference
-
- ```bash
- bd ready # Find available work
- bd show <id> # View issue details
- bd update <id> --claim # Claim work atomically
- bd close <id> # Complete work
- bd dolt push # Push beads data to remote
- ```
-
## Non-Interactive Shell Commands
**ALWAYS use non-interactive flags** with file operations to avoid hanging on confirmation prompts.
Shell commands like `cp`, `mv`, and `rm` may be aliased to include `-i` (interactive) mode on some systems, causing the agent to hang indefinitely waiting for y/n input.
**Use these forms instead:**
```bash
# Force overwrite without prompting
cp -f source dest # NOT: cp source dest
mv -f source dest # NOT: mv source dest
rm -f file # NOT: rm file
# For recursive operations
rm -rf directory # NOT: rm -r directory
cp -rf source dest # NOT: cp -r source dest
```
**Other commands that may prompt:**
- `scp` - use `-o BatchMode=yes` for non-interactive
- `ssh` - use `-o BatchMode=yes` to fail instead of prompting
- `apt-get` - use `-y` flag
- `brew` - use `HOMEBREW_NO_AUTO_UPDATE=1` env var
- <!-- BEGIN BEADS INTEGRATION profile:full hash:d4f96305 -->
- ## Issue Tracking with bd (beads)
-
- **IMPORTANT**: This project uses **bd (beads)** for ALL issue tracking. Do NOT use markdown TODOs, task lists, or other tracking methods.
-
- ### Why bd?
-
- - Dependency-aware: Track blockers and relationships between issues
- - Git-friendly: Dolt-powered version control with native sync
- - Agent-optimized: JSON output, ready work detection, discovered-from links
- - Prevents duplicate tracking systems and confusion
-
- ### Quick Start
-
- **Check for ready work:**
-
- ```bash
- bd ready --json
- ```
-
- **Create new issues:**
-
- ```bash
- bd create "Issue title" --description="Detailed context" -t bug|feature|task -p 0-4 --json
- bd create "Issue title" --description="What this issue is about" -p 1 --deps discovered-from:bd-123 --json
- ```
-
- **Claim and update:**
-
- ```bash
- bd update <id> --claim --json
- bd update bd-42 --priority 1 --json
- ```
-
- **Complete work:**
-
- ```bash
- bd close bd-42 --reason "Completed" --json
- ```
-
- ### Issue Types
-
- - `bug` - Something broken
- - `feature` - New functionality
- - `task` - Work item (tests, docs, refactoring)
- - `epic` - Large feature with subtasks
- - `chore` - Maintenance (dependencies, tooling)
-
- ### Priorities
-
- - `0` - Critical (security, data loss, broken builds)
- - `1` - High (major features, important bugs)
- - `2` - Medium (default, nice-to-have)
- - `3` - Low (polish, optimization)
- - `4` - Backlog (future ideas)
-
- ### Workflow for AI Agents
-
- 1. **Check ready work**: `bd ready` shows unblocked issues
- 2. **Claim your task atomically**: `bd update <id> --claim`
- 3. **Work on it**: Implement, test, document
- 4. **Discover new work?** Create linked issue:
- - `bd create "Found bug" --description="Details about what was found" -p 1 --deps discovered-from:<parent-id>`
- 5. **Complete**: `bd close <id> --reason "Done"`
-
- ### Auto-Sync
-
- bd automatically syncs via Dolt:
-
- - Each write auto-commits to Dolt history
- - Use `bd dolt push`/`bd dolt pull` for remote sync
- - No manual export/import needed!
-
- ### Important Rules
+ ## Documentation
- - ✅ Use bd for ALL task tracking
- - ✅ Always use `--json` flag for programmatic use
- - ✅ Link discovered work with `discovered-from` dependencies
- - ✅ Check `bd ready` before asking "what should I work on?"
- - ❌ Do NOT create markdown TODO lists
- - ❌ Do NOT use external issue trackers
- - ❌ Do NOT duplicate tracking systems
+ The README is a short overview. Reference docs live in the
+ [GitHub wiki](https://github.com/joshLong145/ambits/wiki), whose source is
+ `docs/wiki/` in this repo — edit there, never in the wiki UI. When a change
+ alters a command, flag, output format or config key, update the matching
+ `docs/wiki/` page in the same change.
- For more details, see README.md and docs/QUICKSTART.md.
+ To publish, copy `docs/wiki/*.md` into a clone of
+ `git@github.com:joshLong145/ambits.wiki.git` and push it.
## Landing the Plane (Session Completion)
- **When ending a work session**, you MUST complete ALL steps below. Work is NOT complete until `git push` succeeds.
-
- **MANDATORY WORKFLOW:**
+ **When ending a work session**, complete ALL steps below. Work is NOT complete until `git push` succeeds.
- 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:
+ 1. **Run quality gates** (if code changed) — what CI runs:
```bash
+ cargo build
+ cargo test
+ ```
+ 2. **Update docs** — `docs/wiki/` for any user-visible change, and publish the wiki if it changed.
+ 3. **Push to remote**:
+ ```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
+ 4. **Clean up** — clear stashes, prune remote branches.
+ 5. **Hand off** — summarize what changed and what is left for the 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 -->