Spool
Git-native, event-sourced task management.
Tasks are stored as append-only event logs in your repository. Every change is tracked, branches work naturally, and conflicts resolve automatically.
Installation
Or build from source:
Quick Start
# Initialize in your project
# Create tasks
# List and manage
# Interactive mode
Commands
| Command | Description |
|---|---|
init |
Initialize .spool/ directory |
add |
Create a new task |
list |
List tasks with filters |
show |
Show task details |
update |
Update task fields |
assign |
Assign task to user |
claim |
Assign task to yourself |
free |
Unassign task |
complete |
Mark task complete |
reopen |
Reopen completed task |
shell |
Interactive mode |
rebuild |
Regenerate caches |
archive |
Archive old tasks |
validate |
Check event files |
How It Works
Spool stores tasks as events in .spool/events/:
.spool/
├── events/
│ ├── 2024-01-15.jsonl
│ └── 2024-01-16.jsonl
├── archive/
└── .gitignore
Events are append-only JSONL. State is materialized by replaying events. Caches (.index.json, .state.json) are gitignored and rebuilt on demand.
Documentation
License
MIT