Use Cases
How developers and teams use Joy in practice.
1. Solo Dev Managing a Side Project
You have a side project and a head full of ideas. You need structure without overhead.
Initialize Joy in your repo, dump your ideas as items, and prioritize them. Use joy roadmap to plan what ships first. Work through items one at a time with joy start and joy close. When you pick the project up after a break, joy ls --status open shows you exactly where you left off.
joy init
joy add epic "Core Features"
joy add story "User authentication" --parent CB-0001 --priority high
joy add idea "Dark mode" --priority low
joy roadmapNo signup, no trial, no browser. Just your terminal and your repo.
2. Small Team with Shared Backlog
A team of three to five developers sharing a Git repo. Everyone needs visibility into what is planned, in progress, and blocked.
Joy lives in the repo. Everyone runs joy init after cloning to set up their local environment. Items are added, discussed via comments, and tracked through status changes. Dependencies prevent stepping on each other's work. Milestones align the team on delivery targets.
joy ls --mine # What am I working on?
joy ls --blocked # What is stuck?
joy milestone show CB-MS-01 # Are we on track for the milestone?Pull requests include backlog changes alongside code changes. Reviewers see the full picture.
3. AI-Assisted Development
Your AI coding tool reads the Joy backlog, understands priorities, picks up a task, implements it, and submits it for review - all through Joy commands.
joy ls --status open --priority high
joy start CB-0005 --author ai:claude@joy
joy comment CB-0005 "Implementation complete" --author ai:claude@joy
joy submit CB-0005 --author ai:claude@joyThe event log traces every AI action back to the human who authorized the session. Capabilities control what the AI can do. Gates require human approval at critical transitions.
4. Open Source with Community Governance
An open source project with maintainers and external contributors. You need transparency without bureaucracy.
Maintainers have full capabilities. Contributors can add ideas and bugs but cannot change status or close items without review. The commit-msg hook ensures every contribution references a backlog item. The event log is public and auditable.
joy add bug "Crash on empty input"
joy status CB-0042 open
joy assign CB-0042 contributor@example.com5. Regulated Environment with Audit Trails
A team building software under compliance requirements. Every change needs traceability, every decision needs documentation.
Joy's event log records every action automatically. Decision items document architectural choices. The commit-msg hook links every code change to a backlog item. Judge (planned) provides independent audit reports.
joy add decision "Use PostgreSQL for persistence" --priority high
joy comment CB-0010 "Evaluated MySQL, PostgreSQL, SQLite. PostgreSQL chosen for JSONB support."
joy log --since 30d # Audit trail for the last 30 daysNo separate audit system needed. The trail is in Git, versioned and tamper-evident.