CodePlans gives engineering teams a shared view of what's changing, in which components, and why — from individual tasks up to cross-service migrations.
The demo workspace that ships with the repo — seed it locally with pnpm db:seed-demo and explore the same views.
The dashboard — team velocity, active plans, and a live activity feed across your products.
Built for engineering teams managing change across complex service-oriented and monorepo architectures.
Model your architecture as products containing typed assets — apps, services, libraries, datastores, and platforms. Track health and tech debt per component.
Coordinate related changes under a single plan with a clear lifecycle: Draft → Active → Completed. Assign target assets, set deadlines, and track progress at a glance.
Break plans into tasks with priorities, effort estimates, assignees, and asset scope. View work in a list table or a kanban board by status.
Dashboard metrics show active plans, completed tasks, tasks this week, and rolling velocity — so teams always know how fast they're moving.
Invite team members with role-based access — owner, admin, editor, or viewer. Products can be shared across an organisation or owned by an individual.
Run locally with SQLite (zero cloud setup) or connect to Supabase + Postgres for production. Auth works with a local password store or Supabase Auth.
Capture demand — features, bugs, UX issues, and tech debt — natively or mirrored from your tracker. A living debt register per asset and area, resolvable by plans.
Group the plans that ship together — a version of one asset or a coordinated multi-asset revision. Stamp per-asset versions and get release notes derived from the work items delivered.
Every asset carries a version-structured timeline: releases shipped, plans delivered, debt movement — plus curated design notes authored by your team or your coding agents.
A system map drawn live from your inventory: products as columns, dependency edges between assets, and lenses that recolor the map by health, debt, or delivery activity. Hover to see any asset's blast radius.
A capabilities register per asset, built only from delivered work — each claim carries its lineage back to the work item, plan, and release that shipped it. Removals become tombstones, never silence.
Pull-only mirrors from GitHub, GitLab, Jira, Asana, and Linear into work items — with provenance badges, per-connection status mapping, and narrow write-back on plan completion.
An MCP server with 42 tools lets Claude Code, Cursor, and other agents read plans, log work, record design notes, and manage releases — with optional AI-drafted release notes.
CodePlans records the reality of your system: what shipped, where, and why. Connect an AI coding agent over MCP and that record builds itself as the work happens.
Before touching an asset, an agent pulls its history, open debt, dependencies, and the active plan — get_asset_history tells the asset's whole story in one call.
As plans complete, agents mark tasks done, update branch/PR status, file tech debt they discover, and record a design note on each asset they changed — attributed with an agent badge.
With an Anthropic API key configured, CodePlans drafts release notes from the delivered work and design notes from completed plans — always landing in an editor, never auto-published.
Generate API keys in Settings → API Keys — connection snippets included for Claude Code, Claude Desktop, Cursor, Codex CLI, GitHub Copilot, and Antigravity. Keys act as your user, so org access rules and mirrored-field protections apply unchanged. See the AI agents guide for the full 42-tool catalog.
Everything you need to understand the data model, architecture decisions, and current feature state.
Complete spec of the current app: schemas, views, query/mutation API, access rules, and wiring gaps.
The conceptual map: what products, assets, plans, and releases are each for, the boundary rule between them, and the five design principles behind the tool.
The /codeplans-capture skill: turn an existing /docs folder into plans, tasks, and tech-debt items, each linked to its source markdown via specUrl.
The /codeplans-log skill: turn "document what we just did" into plans, tasks, PR records, and work items at the end of any session.
Break a large codebase into assets without over-modeling: the asset test, tiered libraries, curated dependency edges — and a Claude skill that does it for you.
Keep specs in git, link them to plans and work items, and render them read-only in-app — including private repos via integration tokens.
Group plans that ship together, stamp per-asset versions, derive release notes from delivered work, and ship with a trustworthy record.
The version-structured timeline every asset builds for itself, and how humans and agents record design notes worth keeping.
The live system map: lenses for health, debt, and activity, blast-radius hover, and the grid and table views beside it.
Connect Claude Code, Cursor, and friends over MCP: the full 42-tool catalog, recommended agent workflows, and the AI drafting flags.
The design behind v0.4.x: releases as delivery groupings, derived history, the design log, and feature-flagged AI drafting. All four phases shipped.
The capabilities register per asset shipped in v0.4.4. Next (v0.4.7+): agent-driven reconciliation against code and round-trip release publishing.
The map shipped in v0.4.5, and its path from picture to planning surface: lens thresholds, transitive blast radius, and plans started from the map.
Shipped in v0.4.6: the product-vs-asset rule made operational — asset layers, layer columns on the Atlas, and move_asset for refining a model.
How the MCP endpoint works: Streamable HTTP inside the app, API-key auth with read/write scopes, and the design of all 42 tools.
The canonical target design: work items, provenance-based integrations, per-asset PR tracking, and the phased roadmap (all phases shipped).
Superseded v2-era functional spec and data-model plan, kept for the reasoning trail behind the current design.
Current database schema diagrams covering both SQLite and Postgres configurations.
Local SQLite mode requires no cloud account, no API keys, nothing external.
Open localhost:3000 and sign in with
admin@example.com / Password1!.
Change your password in Settings → Security after first login.
pnpm db:seed-demo after the initial seed to populate with products, assets, plans, and tasks.
All demo accounts use password Password1!.
AUTH_URL=https://your-server-domain (or http://ip:port) in .env.local.
Auth.js requires this in production to construct correct callback URLs — without it, login redirects will fail.
If running the dev server on a remote machine, also set ALLOWED_DEV_ORIGINS=your.server.ip.
Two independent knobs control how your instance behaves — the deployment model and who can register.
pnpm db:seed.
See .env.example for the full annotated configuration file.
No heavy abstractions. Readable Next.js App Router code with a clean DB layer you can fork and adapt.
Transparent about what's wired, what's in progress, and what's coming.