See AGENT_INSTRUCTIONS.md for full instructions.
This file exists for compatibility with tools that look for AGENTS.md.
- Issue Tracking - How to use bd for work management
- Development Guidelines - Code standards and testing
- Visual Design System - Status icons, colors, and semantic styling for CLI output
NEVER use emoji-style icons (π΄π π‘π΅βͺ) in CLI output. They cause cognitive overload.
ALWAYS use small Unicode symbols with semantic colors:
- Status:
β β β β β - Priority:
β P0(filled circle with color)
See AGENT_INSTRUCTIONS.md for full development guidelines.
DO NOT use bd edit - it opens an interactive editor ($EDITOR) which AI agents cannot use.
Use bd update with flags instead:
bd update <id> --description "new description"
bd update <id> --title "new title"
bd update <id> --design "design notes"
bd update <id> --notes "additional notes"
bd update <id> --acceptance "acceptance criteria"- Default local test command:
make test(or./scripts/test.sh). - Full CGO-enabled suite:
make test-full-cgo(or./scripts/test-cgo.sh ./...). - On macOS, do not run raw
CGO_ENABLED=1 go test ./...unless ICU flags are set; use the script/Make target above. - If you need package- or test-scoped CGO runs:
./scripts/test-cgo.sh ./cmd/bd/...
./scripts/test-cgo.sh -run '^TestName$' ./cmd/bd/...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:
# 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 destOther commands that may prompt:
scp- use-o BatchMode=yesfor non-interactivessh- use-o BatchMode=yesto fail instead of promptingapt-get- use-yflagbrew- useHOMEBREW_NO_AUTO_UPDATE=1env var
When ending a work session, you MUST complete ALL steps below. Work is NOT complete until git push succeeds.
MANDATORY WORKFLOW:
- File issues for remaining work - Create issues for anything that needs follow-up
- Run quality gates (if code changed) - Tests, linters, builds
- Update issue status - Close finished work, update in-progress items
- PUSH TO REMOTE - This is MANDATORY:
git pull --rebase git push git status # MUST show "up to date with origin" - Clean up - Clear stashes, prune remote branches
- Verify - All changes committed AND pushed
- Hand off - Provide context for next session
CRITICAL RULES:
- Work is NOT complete until
git pushsucceeds - 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