Production-ready bootstrap for a stronger global OpenCode setup plus project-specific intelligence.
- stronger global OpenCode defaults for daily work, planning, verification, debugging, and review;
- project bootstrap via
/ocb-project-initthat turns repo evidence + a short interview into project-specific rules; - explicit project artifacts under
.opencode/project/instead of “magic in chat history”; - bounded workflow commands: explore, grounded analysis, plan, implement, verify, fix, evolve, and loop;
- GPT-first orchestration with selective Anthropic usage for implementation-heavy and final-review tasks only.
- Linux
- macOS
- WSL2
Not supported:
- native Windows
Clipboard helpers:
- Linux X11:
xclip - Linux Wayland:
wl-clipboard - macOS:
pngpastewhen Homebrew is available
Global OpenCode bundle under ~/.config/opencode/:
AGENTS.mdopencode.jsoncommands/*.mdprompts/*.mdagents/*.mdskills/*/SKILL.mdtools/*.ts
Core agents include:
- primary:
fast,build,plan,deep - workflow:
project-bootstrapper,grounded-researcher,loop-orchestrator,project-evolver - support:
researcher,designer,planner,verifier,reviewer,docs-research,frontend-visual,implementer,final-reviewer
Global commands include:
/ocb-project-init/ocb-explore/ocb-grounded/ocb-plan/ocb-implement/ocb-verify/ocb-fix/ocb-evolve/ocb-loop
git clone git@github.com:tikhomirov/opencode-bootstrap.git
cd opencode-bootstrap
chmod +x bootstrap.sh scripts/verify.sh scripts/generate-checksums.sh
./bootstrap.shThe bootstrap flow is:
- preflight
- install dependencies
- install OpenCode if missing
- deploy bundle to staging
- verify staging
- backup and promote
Useful flags:
--dry-run
--verify-only
--skip-deps
--skip-opencode
--skip-backup
--target-dir PATH
--bundle-dir PATH
--opencode-version VERSION
The bootstrap does not copy:
~/.local/share/opencode/auth.json- provider API keys
- MCP OAuth tokens
- shell profile secrets
- session history or cache files
Manual post-install steps:
opencode auth login
opencode auth list
opencode mcp listProject-specific rules are never applied globally and never written to an arbitrary repository silently.
The target project is the current OpenCode session root.
Recommended usage:
cd /path/to/project
opencodeThen inside OpenCode:
/ocb-project-init
Flow:
- OpenCode detects the current repository root
- the command shows that path
- it asks for explicit confirmation
- only then does it write project-specific artifacts
If the detected path is wrong, stop and restart OpenCode from the correct repository root.
Inside the current repository:
.opencode/project/
Main artifacts:
PROJECT_PROFILE.jsonPROJECT_RULES.generated.mdLEARNED_RULES.generated.mdPLAN.mdRESEARCH.mdVERIFY.mdpatches/evolutions/loops/
The local project opencode.json is updated so generated rule files are loaded through instructions.
/ocb-explore
/ocb-grounded
/ocb-plan
/ocb-implement
/ocb-verify
/ocb-fix
/ocb-evolve
/ocb-loop
Run at any time:
./scripts/verify.shIt checks:
- bundle file presence
- OpenCode availability
- required agents
- MCP configuration (
playwright,context7) fast -> openai/gpt-5.3-codeximplementer -> Claude Sonnetfinal-reviewer -> Claude Opus
.
├── bootstrap.sh
├── README.md
├── README.ru.md
├── PROJECT_INTELLIGENCE_PLAN.md
├── bundle/
│ ├── AGENTS.md
│ ├── MANIFEST.txt
│ ├── VERSION
│ ├── checksums.txt
│ ├── commands/
│ ├── opencode.json
│ ├── prompts/
│ ├── agents/
│ ├── skills/
│ └── tools/
└── scripts/
├── generate-checksums.sh
└── verify.sh
- one write-heavy agent per project at a time
- no
git worktreedependency - logs, tests, diagnostics, and browser evidence are primary debugging inputs
- global config stays generic; project specifics are generated per repository
When updating the bundle:
- update files under
bundle/ - update
bundle/VERSION - run
./scripts/generate-checksums.sh - run
./scripts/verify.sh --target-dir "$HOME/.config/opencode"if needed - update
CHANGELOG.md