pc-ctx
In DevelopmentA context repo your AI agent actually reads and writes
Markdown files became a CLI, then an MCP server, then three packages. All because AI agents need to share plans.
Tech Stack
Implemented
- Plans with tasks, acceptance criteria, and cross-references
- Roadmaps that reference plans, so agents know the big picture
- Research files indexed from linked repos, browsable from the CLI
- Dependency graph: agents trace why a task matters
- Validation: the CLI rejects malformed plans before agents read them
- `ctx setup` scaffolds the whole thing in one command
- MCP server: any agent calls plan_list / plan_task_status directly, no file parsing
- Git-backed. Agents commit their own progress.
- Agent auto-logging: MCP tools update plan status when work is done
- 8 plans, all valid, all the time
Planned
- GitHub sync, push/pull context repos across machines
- npm packages for core, CLI, and MCP
- Web UI to browse plans on GitHub Pages
- Weekly and daily log management
Technical Highlights
Scope Creep, but Make It Useful
It started as markdown files and a note saying 'agents should read these'. Then there was a CLI so they would not parse YAML themselves. Then an MCP server so they would not parse CLI output either. Two dependencies became a library, a CLI, and an MCP package.
Built for Agents, Not Dashboards
No UI, no database, no auth. Just markdown files with structured frontmatter in a git repo. The CLI and MCP server exist so agents can manipulate them deterministically.
MCP Means Any Agent Works
OpenCode, Claude Code, Cursor, Windsurf. If it speaks MCP, it reads and writes plans. No adapter per agent. No CLAUDE.md hacks.
One Command to Start
`npx pc-ctx setup` creates the whole directory tree, writes templates, runs bun install, git init, and initial commit. From zero to context in 5 seconds.
Format Is the Product
Tasks have IDs and statuses, acceptance criteria are checkboxes, everything has a schema. Agents can't drift, the CLI validates before every read.