下一步 要做什麼。
路線圖的每一項都是一個 GitHub issue。來留言、按讚、或者開個 PR —— coograph 是 MIT 的,issue 區就是唯一的路線圖。
槓桿最大。
- #029 高
Publish the benchmark harness into the public repo
bench/run.py, the two fixtures, the committed results and the README live in the website repo, which is private. Every figure on the site is read out of that run at build time, and every link on the site points at the public repo, which has no bench/ in it. Move the directory across and repoint the website build at the sibling checkout.
Reproducibility is the whole argument for trusting the numbers. Until the harness is public the site can only say the run is committed, not that a reader can repeat it, and a benchmark nobody can re-run is a marketing claim.
在 GitHub 查看 - #001 高
/coograph-doctor — install health check skill
Sibling skill that audits a coograph-initialized project. Verifies graph.db, MCP wiring, _TBD_ markers, per-tool config, git hooks. Same 8-tool unification pattern as init.
Currently no way to verify install health post-init. Failures show up as silent context loss during agent sessions.
在 GitHub 查看
等待中。
- #003 中
Compatibility matrix — minimum tool versions
README table listing the minimum tested version for every supported tool plus the failure mode below it. Codex CLI v0.128 already triggered a regression.
Silent failures on older builds with no in-doc explanation.
在 GitHub 查看 - #005 中
examples/ — finished init samples
examples/already-initialized/ exists, but it is a fixture for the re-init idempotency check rather than something to read. Still wanted: three reference projects at repo root — Next.js, Django, Go — with fully filled instruction files, no _TBD_ markers, linked from Quick Start.
The one committed example is there to be diffed by a script, not to show a developer what their own stack looks like once initialized.
在 GitHub 查看
低優先級。
- #006 低
Pre-commit — frontmatter, markdown lint, link checker
Three hooks already run on every commit and in CI: invocation drift, re-init idempotency, and committed-plugin-matches-sources. Still missing are SKILL.md frontmatter validation (name, description), markdownlint, and lychee for relative links.
The checks that exist cover config drift. The markdown that actually powers the system — skills, agents, instructions — is the part nothing validates.
在 GitHub 查看
已完成。
- 已發布 已交付
Per-task models: pick a model per agent, opt-in
Coograph delegates to six agents whose demands differ by an order of magnitude: explore reads a lot and decides little, debugger decides everything. A mapping can now put a cheap model on the reading and a capable one on the judgment. It is never defaulted: a fresh install ships models.mode unset, the first ticket asks once and never again, /coograph-suggest-multi-models proposes a mapping with a reason and an estimated cost delta per line, and /coograph-disable-multi-models turns it off in one step. Every delegated run ends with a line naming which agent ran on which model.
Running a grep-and-summarise agent and a root-cause agent on the same model either overpays for the reading or underpowers the thinking, and a shipped default mapping would spend the user money on an opinion they never agreed to.
Docs: /docs/models/. Claude Code only for now; other tools tracked in #12 below. Backed by blog post: /blog/2026-09-20-one-model-for-six-jobs/
- #027 已交付
Per-task models on tools other than Claude Code
One of the two stated blockers turned out not to exist. Checking each tool rather than assuming: Claude Code, Cursor, VS Code Copilot, Codex CLI and OpenCode all already let you set a model per agent, three of them through the same frontmatter mechanism. The real blocker was the second one. A mapping naming opus and haiku is useless on a tool that resolves composer-2 or provider/model-id, so models.catalog now binds each alias to the id your tool loads and your own rough rates. Coograph ships none: with no catalogue nothing changes. Aider and Cline are out, because Coograph runs as rules there and one agent does everything, so there are no roles to assign.
The docs claimed reach the product did not have, and then claimed a blocker the product did not have either. Both were fixed by checking rather than assuming.
Docs: /docs/models/. Five tools supported; Aider and Cline described rather than promised.
在 GitHub 查看 - 已發布 已交付
Retro: guardrails that learn from evidence
A hook turns Claude Code transcripts into privacy-safe signals (tool names, counts, rule ids, paths, token usage; never text) at session end and at every compaction, so long sessions report as they run. A deterministic analyzer reports which rules get broken, where, and what sessions cost, counting episodes (a session on a calendar day) rather than session ids. Detectors cover the guardrails, repeated user corrections, and defects, a fix commit landing on a file a recent change touched. /coograph-retro proposes instruction, hook, and skill edits as an OpenSpec you approve. Ships with the plugin, init, and sync.
Instruction files grow by accretion and nobody measures whether a rule works. The coograph repo itself had a shouted CODE-GRAPH FIRST rule and a session that grepped five times before touching the graph.
Docs: /docs/retro/. Backed by blog post: /blog/2026-09-19-recursive-self-improvement-for-ai-coding-agents/
- #002 已交付
Cross-tool invocation drift check
A script asserts that every per-tool config file points at the canonical SKILL.md, and runs on every commit and in CI. The invocation table had already drifted twice during the rename pass.
Eight config files for eight tools. Without a check, "fixed README, forgot Aider" is the default failure mode.
.github/scripts/check-invocations.py, wired into .pre-commit-config.yaml and the checks.yml workflow.
在 GitHub 查看 - #004 已交付
Idempotent re-init — preserve filled placeholders
Step 1 of the init skill detects partial state and never overwrites a customized instruction file. Update mode only patches tool config when a new tool is added. A committed fixture is re-checked on every commit so the guarantee cannot rot.
Second run risks wiping stack details the user already filled in.
.github/scripts/check-reinit-idempotency.py, checked against the examples/already-initialized/ fixture.
在 GitHub 查看 - #009 已交付
Unify skill names under /coograph-* namespace
openspec-propose/apply/archive/explore, new-ticket and rebuild-code-graph all moved under the coograph-* prefix, so slash autocomplete has one namespace instead of two. Shipped alongside the drift checker (#2) that keeps the per-tool config files pointing at the right names.
Slash autocomplete was split across two prefixes. openspec-explore was also miscategorized — explore is general codebase search, not an OpenSpec phase.
Every skill and command now sits under coograph-*.
在 GitHub 查看 - #007 已交付
README — Codex CLI quirks section
The README explains why /coograph-init does not work in Codex CLI: slash is reserved for ~30 built-ins, so custom skills use $name or auto-trigger from the description. It also documents the six directories Codex scans and how to verify the skill loaded.
Hit by every Codex CLI user the first time. No in-doc explanation.
README §Codex CLI Notes, mirrored on /docs/getting-started/.
在 GitHub 查看 - #008 已交付
log-bash — extend audit trail beyond Claude Code
Audit hooks now ship for Claude Code, Codex CLI, and OpenCode — all three write to a unified .coograph/session.log + .coograph/sessions/<sid>.log. The five remaining tools (VS Code Copilot, Cursor, Devin Desktop, Aider, Cline) have no public hook API; documented honestly in the README.
Hard to debug failed sessions on Codex CLI, OpenCode, Cursor when we cannot see what the agent actually ran.
Unified path migration .claude/session.log → .coograph/session.log shipped same drop. Backed by blog post: /blog/2026-05-17-per-session-audit-logs-for-ai-coding-agents/
在 GitHub 查看
想幫忙?
針對任一 issue 開個 PR,在提交裡引用編號。bug 回報和提案都歡迎 —— coograph 把 GitHub issue 當成唯一的路線圖,先在那邊建。
找入門級的活?issue #003 標了 good first issue。