Local-first task manager: markdown files in git, MCP + CLI, per-type schemas, deterministic + LLM validator
Project description
simple-backlog
Local-first task manager: markdown files in git, MCP + CLI, per-type schemas, deterministic + LLM validator.
Why
Your tasks live as plain markdown files in your repo — no server, no account, no sync. A flexible schema engine lets every project define its own task types with custom statuses, fields, and guarded transitions. Claude (and any MCP client) gets full read/write access via a typed tool API.
Quickstart
uvx simple-backlog init # bootstrap config + docs/backlog/
backlog task create task --title "First task"
backlog task list
backlog task transition TASK-... in_progress
Install
# Run once without installing:
uvx simple-backlog init
# Install permanently:
uv tool install simple-backlog
# or:
pipx install simple-backlog
MCP Setup (Claude Desktop / Code)
Add to your MCP client config:
{
"mcpServers": {
"backlog": {
"command": "uvx",
"args": ["simple-backlog", "serve-mcp"]
}
}
}
Configuration
.simple-backlog.yml at repo root. Example:
backlog_dir: docs/backlog
types:
task:
statuses: [backlog, in_progress, done, cancelled]
initial_status: backlog
fields:
done_summary:
type: string
required: false
transitions:
- from: in_progress
to: done
gates:
- kind: require_field
field: done_summary
Git Hooks
backlog install-hooks # installs pre-commit validation
backlog uninstall-hooks
Commands
backlog init # bootstrap
backlog task create <type> # create task
backlog task list # list tasks
backlog task show <id> # show task
backlog task transition <id> <to> # change status
backlog task link <from> <to> --kind blocks
backlog validate --all # validate repo
backlog fix --all # auto-repair
backlog search "query"
backlog serve-mcp # start MCP server
Shortcuts: backlog new, backlog ls, backlog show, backlog done, backlog wip
Design
See docs/plans/2026-05-28-simple-backlog-design.md for full design.
Contributing
Python 3.11+, uv, TDD. Run pytest and ruff check src/.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file simple_backlog-0.2.0.tar.gz.
File metadata
- Download URL: simple_backlog-0.2.0.tar.gz
- Upload date:
- Size: 309.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
736246817015c6138a74ad92d383f50c548086c780fc87da8d751c482290fc16
|
|
| MD5 |
1e2e2b8afed8501355428d8537b010c3
|
|
| BLAKE2b-256 |
281ebdb59636d973403f30aeaa2bde8d01342b1f1e8c70fe92230008df381625
|
File details
Details for the file simple_backlog-0.2.0-py3-none-any.whl.
File metadata
- Download URL: simple_backlog-0.2.0-py3-none-any.whl
- Upload date:
- Size: 72.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e65b24f5785878357d7d5211632f9992df39deb3935924a65e1578268c7a533d
|
|
| MD5 |
c324e5e01f1a0aa645ad66dd5bf64073
|
|
| BLAKE2b-256 |
0275881f7008c6450db760e116a5bda0d410aa9d330bf93a78ab35b739ec8127
|