| name | pebbles |
| description | Issue tracking and workflow with pebbles (pb). Use when managing tasks, epics, dependencies, planning work, or prioritizing issues. |
| user-invocable | false |
Pebbles — Issue Tracking & Workflow
Pebbles (pb) is a minimal, git-native issue tracker with an append-only event log. Issues live in .pebbles/ in your repo. No daemon, no server — just a CLI and a SQLite cache.
Quick Reference
pb help
pb list
pb list --all
pb list --status closed
pb ready
pb show <id>
pb create --title="..." --type=task
pb update <id> --status in_progress
pb update <id> --title "New title"
pb close <id>
pb comment <id> --body "..."
pb dep add <A> <B>
pb dep tree <id>
pb sync
pb log
Environment: Set PEBBLES_DIR to override the default .pebbles directory. Useful in worktrees where you want to reference the main repo's pebbles data.
Issue Fields
- Status:
open, in_progress, closed
- Type: Free-form. Common:
task, bug, feature, epic
- Priority: P0 (critical) through P4 (backlog). Default: P2.
Task Workflow
- Find work:
pb ready to see actionable issues
- Claim it:
pb update <id> --status in_progress
- Do the work: Implement the fix/feature
- Close it:
pb close <id>
- Commit: Reference the issue ID in your commit message
- Push:
git push (pebbles state is tracked by git)
Plan Mode Workflow
When working on complex features that require planning:
- During planning: Explore the codebase, understand patterns, write a detailed plan
- Create issues from the plan: Always create pebbles issues before writing code
- Create an epic for the overall feature
- Create subtasks as individual issues, one per discrete piece of work
- Each issue description should capture context from the plan
- Set up hierarchy and dependencies:
- Use
pb update <subtask-id> --parent=<epic-id> for structural relationships
- Use
pb dep add <task-a> <task-b> for execution order (A waits for B)
- Implement: Work through subtasks using the task workflow above
Key distinction:
--parent: Structural ("this task belongs to this epic")
pb dep add: Execution order ("this task must wait for that task")
Epics & Dependencies
Epics are issues of type epic that group related work. Their children are individual tasks.
Dependency direction: pb dep add A B means "A depends on B" (B blocks A).
pb create --title="User Auth" --type=epic --description="..."
pb create --title="Add OAuth2 endpoint" --type=task --description="..."
pb create --title="Add session management" --type=task --description="..."
pb update <task1-id> --parent=<epic-id>
pb update <task2-id> --parent=<epic-id>
pb dep add <task2-id> <task1-id>
Correct pattern for epic dependencies:
pb dep add <epic-id> <subtask-id>
Committing Pebbles Data
Always commit .pebbles/events.jsonl as part of your workflow. This is the source of truth.
pb sync
git add .pebbles/
git commit -m "pb: create issues for auth epic"
Commit pebbles changes:
- After creating new issues
- After closing issues
- After status updates
- As part of your feature commits