You should use Beads for tracking tasks across contexts as much as possible.
In any project where you must create tasks, sub-tasks, epics, and so-on, you are expected to use Beads unless explicitly told to use Linear.
If a project does not already have a .beads directory, you MUST run bd init --stealth before performing any actions that revolve around tasks.
Quick reference:
bd ready- Find unblocked workbd create "Title" --type task --priority 2- Create issuebd close <id>- Complete workbd sync- Sync with git (run at session end)bd show <id> --children- View the full task tree
For full workflow details: bd prime
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)
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"
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
- If possible, each individual task should get its own atomic commit, rather than committing the epic/plan as a single item