diff --git a/CLAUDE.md b/CLAUDE.md index 705e823..5f25a70 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -218,3 +218,57 @@ Tasks are tracked with **Beads**. The markdown docs (PLANNING, ARCHITECTURE) are - All local development uses Nix. - Dependencies are managed with Nix Flakes. - The repo root has a base `flake.nix` that services should either use directly or inherit and extend with their own `flake.nix`. +## Task Tracking with nbd + +`nbd` is a CLI tool for managing work tickets, designed for agent workflows. + +### Initialisation + +```sh +nbd init +``` + +Run once in the project root. Creates `.nbd/tickets/`. Safe to run multiple times. + +### Core commands + +```sh +# Create a new ticket (use --ftype md for a human-readable body) +nbd create --title "Add OAuth login" --type feature --priority 7 --ftype md --json + +# List all open tickets (sorted by priority) +nbd list --json + +# Read a specific ticket +nbd read --json + +# Update a ticket +nbd update --status in_progress --json +nbd update --status done --json +``` + +### Finding what to work on + +```sh +# All tickets that are unblocked and ready to start +nbd ready --json + +# The single highest-priority unblocked ticket +nbd next --json +``` + +### Workflow + +1. **Before starting** — create a ticket: `nbd create --title "..." --ftype md --json` +2. **When starting** — mark it in progress: `nbd update --status in_progress --json` +3. **When done** — mark it complete: `nbd update --status done --json` + +### Guidelines + +- **Always pass `--json`** to every command for structured, unambiguous output. +- **Always pass `--ftype md`** when creating tickets — markdown format keeps the body human-readable. +- Use `jq` to parse and transform JSON output when needed. +- Priority scale 0–10: use **7–9** for bugs, **5** for normal tasks, **3** for nice-to-haves. +- `--type` choices: `project`, `feature`, `task`, `bug`. +- Use `--deps id1,id2` to express blockers — tickets that must be done first. +- Create tickets *before* starting non-trivial tasks, not after. diff --git a/quotesdb/.claude/settings.json b/quotesdb/.claude/settings.json new file mode 100644 index 0000000..e373568 --- /dev/null +++ b/quotesdb/.claude/settings.json @@ -0,0 +1,7 @@ +{ + "enabledPlugins": { + "superpowers@claude-plugins-official": true, + "plugin-dev@claude-plugins-official": true, + "rust-analyzer-lsp@claude-plugins-official": true + } +} diff --git a/quotesdb/.nbd/.gitignore b/quotesdb/.nbd/.gitignore new file mode 100644 index 0000000..be8efad --- /dev/null +++ b/quotesdb/.nbd/.gitignore @@ -0,0 +1 @@ +cache.db diff --git a/quotesdb/.nbd/tickets/ec118c.md b/quotesdb/.nbd/tickets/ec118c.md index f73d51e..28e69dd 100644 --- a/quotesdb/.nbd/tickets/ec118c.md +++ b/quotesdb/.nbd/tickets/ec118c.md @@ -8,6 +8,13 @@ dependencies = [] # QuotesDB Implementation Plan > **For Claude:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task. +> **For Claude:** SUGGESTED SUB-SKILL: Use agent-development for agent dispatch +> **For Claude:** SUGGESTED SUB-SKILL: Use dispatching-parallel-agents for agent dispatch +> **For Claude:** SUGGESTED SUB-SKILL: Use subagent-driven-development for agent dispatch +> **For Claude:** SUGGESTED SUB-SKILL: Use verification-before-completion for verification +> **For Claude:** SUGGESTED SUB-SKILL: Use finishing-a-development-branch for verification +> **For Claude:** SUGGESTED SUB-SKILL: Use using-git-worktrees for parallel work +> **For Claude:** SUGGESTED SUB-SKILL: Use test-driven-development for development workflow **Goal:** Bootstrap the `quotesdb` service (Rust/Axum backend on Cloudflare Workers + Yew frontend on Cloudflare Pages), then orchestrate parallel agents to plan and implement the work. @@ -453,4 +460,4 @@ curl http://localhost:8787/api/quotes # Random quote curl http://localhost:8787/api/quotes/random -``` \ No newline at end of file +```