Manage bun-do tasks and projects — add tasks, edit tasks, delete tasks, toggle done, manage subtasks, and log project progress entries. Use when the user says "add a todo", "update task", "remove task", "mark done", "add subtask", "log progress", "update project", or any variant of managing tasks/projects. Also use when an agent finishes work and needs to record progress. Triggers on: "todo", "task", "remind me", "due", "deadline", "payment", "bill", "backlog", "what do I need to do", "what's overdue", "add to my list".
Manage bun-do tasks and projects — add tasks, edit tasks, delete tasks, toggle done, manage subtasks, and log project progress entries. Use when the user says "add a todo", "update task", "remove task", "mark done", "add subtask", "log progress", "update project", or any variant of managing tasks/projects. Also use when an agent finishes work and needs to record progress. Triggers on: "todo", "task", "remind me", "due", "deadline", "payment", "bill", "backlog", "what do I need to do", "what's overdue", "add to my list".
bun-do — your local task backend
"Add P1 task: renew passport, due March 30, recurring yearly, with €85 payment"
bun-do is a local-first todo app. REST API at http://localhost:8000. All data persists to JSON on disk. Nothing leaves your machine.
curl -s http://localhost:8000/api/tasks | python3 -c "
import sys, json
for t in json.load(sys.stdin)['tasks']:
if 'SEARCH' in t['title'].lower(): print(t['id'], t['title'])
"
curl -s -X POST http://localhost:8000/api/projects/PROJECT_ID/entries \
-H 'Content-Type: application/json' \
-d '{"summary": "Shipped v1.3 with MCP server and OpenClaw skill"}'
Proactive patterns
Use these patterns for scheduled/autonomous behavior:
Morning briefing: GET /api/tasks, filter for today + overdue, summarize by priority.
End of day: Mark completed tasks done, add entries to active projects.
Weekly review: List all tasks, highlight overdue + P0/P1 without progress.
Payment forecast: List tasks where type=payment, group by month, sum amounts.
Rules
Always verify the server is running before any API call.
Never guess IDs — search by title first, then use the UUID.
Dates must be YYYY-MM-DD. Resolve "tomorrow", "next Monday", etc. before sending.
Only send fields you want to change on PUT requests.
The API returns the created/updated object on success.
GET /api/tasks auto-carries overdue non-payment tasks to today.