Show HN: Backlog – tasks and contexts manager for AI coding agents Backlog, a local-first task and context manager for AI coding agents, has been released as an open-source tool that stores tasks, plans, and memory in a single SQLite file shared between humans and AI agents. The tool attributes every write to the actor (human or AI) and enables an agentic loop where fresh subagents can pull tasks, plan, ship, and exit, achieving up to 12× throughput and 10× cost reduction compared to long-running chat threads. Backlog runs as a single binary with no dependencies and integrates with Claude Code, Cursor, Codex, and OpenCode. A local-first task and context manager for humans and AI. One database your coding agents read and write directly. Most AI coding agents lose state the moment a chat ends. Their "memory" is a 500k-token thread that costs you a subscription and forgets the project the next morning. Backlog moves the queue, and everything the agent learns, out of the chat and into a Backlog DB your agents read and write directly. Tasks, plans, docs, and memory live in one SQLite file that your CLI, your web UI, and every agent share. Every write is signed by the actor that made it human:alice , ai:claude-code , ai:semgrep , so you always know who did what. The result is the agentic loop : spawn a fresh subagent, let it load the project's context, pull a task, plan, ship, and exit, then do it again. Four parallel sessions, ~12× the throughput of one developer running one agent, ~10× cheaper per task than a long-running thread. One queue. Many agents. Every write attributed. Grab a pre-built binary https://github.com/mazen160/backlog/releases/latest for macOS or Linux arm64 + amd64 : OS=$ uname -s | tr ' :upper: ' ' :lower: ' ARCH=$ uname -m | sed 's/x86 64/amd64/;s/aarch64/arm64/' curl -L https://github.com/mazen160/backlog/releases/latest/download/backlog ${OS} ${ARCH}.tar.gz | tar xz sudo mv backlog /usr/local/bin/ Or install from source: go install github.com/mazen160/backlog/cmd/backlog@latest It's one binary with no dependencies and no runtime to install. Everything runs from your shell. backlog init creates the Backlog DB. Every command attributes the write to the actor who made it. backlog web serves a clean, inline-editable dashboard from the same Backlog DB. Tasks created from a CLI or an AI agent show up here instantly with full attribution. Wire Backlog into Claude Code, Cursor, Codex, or OpenCode. Your agent's writes land in the same database your shell reads from, fully attributed to the AI that made them. A loop is one unit of work: pick → plan → ship → review → attribute . Backlog stores the queue, attributes every step, and keeps multiple agent sessions from stepping on each other. Each task spawns a fresh subagent with only the context it needs. The average session fits in under 50k tokens instead of the 500k a long-running thread bloats into. Same quality, dramatically cheaper. 1. Create a workspace in your project directory backlog init 2. Add a project backlog project add "My App" --alias app 3. Create some tasks backlog task add -p app -t "Fix login timeout" --type bug --priority P2 backlog task add -p app -t "Add rate limiting" --type feature --priority P3 4. See what's open backlog task list 5. Start working on TASK-1 backlog task move TASK-1 --status doing 6. Attach a versioned plan backlog plan add --task TASK-1 --title "Fix plan" \ --content "1. Increase timeout\n2. Add test" 7. Done backlog task move TASK-1 --status done That's the whole workflow, and it runs entirely on your machine. There's no account to create and no service to host or pay for. Once the skills are installed backlog install-skills , an agent does the same from a prompt. In Claude Code: show me the open tasks in app and start the top one ⏺ I'll check the open tasks and start the top one. ⏺ Bash backlog task list -p app --status todo ⎿ TASK-1 Fix login timeout bug P2 todo TASK-2 Add rate limiting feat P3 todo ⏺ Bash backlog task move TASK-1 --status doing --as ai:claude-code ⎿ ✓ TASK-1 → doing ⏺ Bash backlog comment add --task TASK-1 "Picking this up. Reproducing the timeout first." --as ai:claude-code ⎿ ✓ comment added to TASK-1 ⏺ Started TASK-1 Fix login timeout, P2 . Reproducing the timeout now. For step-by-step setup, see Getting Started https://mazen160.github.io/backlog/getting-started.html . backlog install-skills drops a set of ready-made skills into Claude Code, Cursor, Codex, and OpenCode. From there your agent drives Backlog through the CLI directly. No server to run, no MCP to configure. backlog install-skills The skills it installs: | Skill | What it does | |---|---| backlog | The core loop: load context, pick a task, plan, ship, and attribute every write. | /backlog-memory | Load a project's tasks, plans, docs, and memory into the session learn , or persist a fresh snapshot when the work is done store . | /backlog-enhance-tasks | Flesh out a thin ticket's title and description, and draft a plan. | /backlog-loop | Pull the top task and iterate on it until a reviewer sub-agent agrees it's done. | /backlog-goal | Take a whole goal, break it into tickets, and work the board end to end. | Prefer tool calls? Backlog also speaks MCP. See MCP server mcp-server . A quick glossary of the vocabulary used throughout Backlog. Full detail in Core Concepts https://mazen160.github.io/backlog/concepts.html . | Term | What it is | |---|---| Workspace | A directory holding a backlog.db and a config.toml . Every project, task, plan, and comment lives in that one SQLite file. Created by backlog init . | Profile | A named pointer to a workspace, registered in ~/.config/backlog/config.toml , so you can switch workspaces without typing paths. | Project | A named group of tasks inside a workspace, identified by a short alias e.g. api . The alias is what you pass to -p / --project . | Task | The unit of work. Has a type, status, priority, and actor; addressed as TASK-N . | Plan | A versioned markdown document attached to a task. Every edit creates a new immutable version; the full history stays readable. | Comment | An append-only, actor-attributed note on a task. | Label | A per-project tag for filtering tasks. | Doc | A versioned markdown document attached to a project not a task : runbooks, ADRs, design notes. | Memory | A free-form, taggable, mutable note for cross-session agent context. | Actor | The human:name or ai:name attributed to every write. | Activity | An append-only log of every write across the workspace. | Local-first. The Backlog DB sits next to your code. Commits with your repo, or doesn't your call . Single binary. A ~17 MB static binary with nothing else to install or keep running. JIRA-style refs. Tasks are TASK-1 , TASK-2 , … No UUIDs in your terminal. Versioned plans. Every plan edit creates an immutable version. Full history is always readable. Actor attribution. Every write is signed human:name or ai:name . Filter, audit, blame. Persistent project context. Memory, docs, and plans live in the DB, so a fresh agent session loads the full picture instead of re-reading the codebase. Agent skills. backlog install-skills drops ready-made skills into Claude Code, Cursor, Codex, and OpenCode; your agent drives the queue and its own memory with no extra wiring. MCP server. Optionally plug in over MCP, for agents that prefer tool calls. Full-text search. backlog task list --search "injection " runs in milliseconds. Workflow health reports. backlog activity analyze and backlog doctor project surface cycle time, stale work, and weakly-closed tasks across parallel agent sessions. Bulk findings import. Structured JSON intake for security scanners and AI agents. Web UI. backlog web serves a clean dashboard from the same Backlog DB. Export anywhere. JSON, CSV, or Markdown. HTTP API. Embedded server for scripts and integrations. Private by default. Everything stays on your machine, and Backlog collects nothing about you. | Command | Description | |---|---| backlog init | Create a Backlog workspace | backlog project add/list/show/update/archive | Manage projects | backlog task add/list/show/update/move/archive | Manage tasks | backlog plan add/update/show/history | Versioned plans on tasks | backlog comment add/list | Comments on tasks | backlog label create/attach/detach | Per-project labels | backlog memory add/list/append | Cross-session project memory | backlog doc add/list/show/update/history | Versioned project docs | backlog attachment add/list/fetch/delete | Files attached to tasks or docs | backlog activity / activity analyze | Audit trail and project workflow-health report | backlog doctor project | Lint a project for stale, orphaned, and weakly-closed work | backlog import-findings