opencode-keystone
v0.3.12
Published
An opinionated /keystone slash command that bootstraps a new project: research, foresight pass, PLAN.md, AGENTS.md, review gate, then parallel worktree execution. Installable as an OpenCode plugin or for Claude Code and Copilot CLI.
Maintainers
Readme
Drop /keystone <idea> into any OpenCode, Claude Code, or GitHub Copilot CLI session. It researches, lists likely future problems, writes PLAN.md and AGENTS.md, stops for your review, then bootstraps the repo and runs phase 1 in parallel git worktrees with the Copilot review loop after every PR.
Highlights
- Foresight first — explicit pass over perf, licensing, security, cost, portability, and abandonment risk before the plan is written.
- Phased
PLAN.md— MVP-first, exit tests per phase, anticipated risks, one-command teardown. - Self-contained
AGENTS.md— conventional commits, branch-per-issue, Copilot second-opinion loop, worktree convention, cloud cost discipline. No global file required. - Operational memory —
NOTES.md+ ADRs catch the "agent reintroduces a bug we already fixed" and "reintroduces a library we rejected" failure modes. - Review gate — nothing gets built until you read both files and say
go. - Parallel worktrees — sub-agents work in
../<project>-wt/<task>/(single dir for permission scoping), max 3 concurrent, squash-merged, cleaned up on merge and again on project wind-down. - Opinionated — every choice above is baked in. Disagree with one? It's one markdown file. Fork it.
Install
OpenCode (recommended path)
opencode plugin opencode-keystone -gInstalls the npm package globally, adds "opencode-keystone" to your opencode.json plugin array, and on next session start the plugin auto-installs /keystone into ~/.config/opencode/commands/.
Other CLIs (or OpenCode without the plugin)
curl -fsSL https://raw.githubusercontent.com/Adamkadaban/opencode-keystone/main/install.sh | bashRun interactively for a menu, or pass --target for unattended install:
curl -fsSL https://raw.githubusercontent.com/Adamkadaban/opencode-keystone/main/install.sh | bash -s -- --target=claude
curl -fsSL https://raw.githubusercontent.com/Adamkadaban/opencode-keystone/main/install.sh | bash -s -- --target=allOr via npx
npx opencode-keystone install --target=opencode # default
npx opencode-keystone install --target=claude
npx opencode-keystone install --target=copilot
npx opencode-keystone install --target=all| Target | Install location | Invoke |
|---|---|---|
| OpenCode | ~/.config/opencode/commands/keystone.md | /keystone |
| Claude Code | ~/.claude/commands/keystone.md | /keystone |
| Copilot CLI | ~/.copilot/agents/keystone.md | copilot --agent=keystone --prompt '<idea>' |
The same source file is used for every target — Copilot CLI gets a one-line frontmatter strip at install time so the file fits its agent format. Nothing else in your config is touched.
Use
/keystone i want to build a rust cli that renders markdown to ANSI in the terminalOr invoke with no argument and Keystone will ask for the idea once, then proceed.
Companions
Required:
copilot-second-opinion— Keystone's Phase 7 PR review loop hard-depends on it. Install before first use.
Strongly recommended:
- GitHub MCP — author identity, repo creation, issues, PRs, review threads. Without it Keystone falls back to
ghCLI for what it can. - Context7 MCP — live library docs during the Research phase.
Hacking on it
git clone https://github.com/Adamkadaban/opencode-keystone && cd opencode-keystone
node bin/install.mjs install --dev --force # symlinks live from your checkoutEdits to commands/keystone.md are picked up live on the next /keystone.
Releasing
npm version patch && git push --follow-tagsThe publish workflow handles npm (Trusted Publishing + provenance) and the GitHub Release.
