An opinionated /keystone slash command that bootstraps a new project the way you actually want.
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.
- 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.
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/.
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=allnpx 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.
/keystone i want to build a rust cli that renders markdown to ANSI in the terminal
Or invoke with no argument and Keystone will ask for the idea once, then proceed.
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.
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.
npm version patch && git push --follow-tagsThe publish workflow handles npm (Trusted Publishing + provenance) and the GitHub Release.