opencode-code-agent/README.md

146 lines
4.7 KiB
Markdown
Raw Normal View History

2026-03-23 09:24:33 +00:00
# gstack-opencode
Garry Tan's gstack ported to OpenCode. Complete AI engineering workflow with 27 skills.
## What's Included
### Sprint Skills (20)
| Skill | What it does |
|-------|-------------|
| `/office-hours` | YC Office Hours — reframes your product idea |
| `/plan-ceo-review` | CEO review — find the 10-star product |
| `/plan-eng-review` | Eng manager — lock architecture, data flow, tests |
| `/plan-design-review` | Designer review — rate each dimension 0-10 |
| `/design-consultation` | Build a design system from scratch |
| `/review` | Staff engineer — find bugs that pass CI |
| `/ship` | Release engineer — tests, push, PR |
| `/land-and-deploy` | Merge PR, CI, deploy, verify |
| `/qa` | QA lead — browser testing, fix bugs |
| `/qa-only` | QA reporter — bug report only |
| `/design-review` | Designer audit + auto-fix |
| `/canary` | SRE — post-deploy monitoring |
| `/benchmark` | Performance engineer — Core Web Vitals |
| `/document-release` | Technical writer — update docs |
| `/retro` | Eng manager — weekly retro |
| `/investigate` | Debugger — systematic root-cause |
| `/cso` | Security officer — OWASP + STRIDE |
| `/codex` | Second opinion — OpenAI Codex review |
| `/autoplan` | Auto-review pipeline |
| `/setup-deploy` | Deploy configurator |
### Safety Skills (4)
| Skill | What it does |
|-------|-------------|
| `/careful` | Warn before destructive commands |
| `/freeze` | Lock edits to one directory |
| `/guard` | Full safety: careful + freeze |
| `/unfreeze` | Remove freeze restriction |
### Browse Skills (8)
| Skill | What it does |
|-------|-------------|
| `/browse` | Headless Chromium — ~100ms/command |
| `/setup-browser-cookies` | Import cookies from real browser |
| `/qa` | Browser-based QA testing |
| `/design-review` | Visual audit with screenshots |
| `/canary` | Monitor deployed app |
| `/benchmark` | Performance baselines |
| `/land-and-deploy` | Post-deploy verification |
| `/setup-browser-cookies` | Session management |
## Installation
### Prerequisites
- [OpenCode](https://opencode.ai)
- [Bun](https://bun.sh) v1.0+
- [Git](https://git-scm.com/)
### Quick Install
```bash
# Clone this repo
git clone https://github.com/your-username/gstack-opencode.git ~/gstack-opencode
# Run setup
cd ~/gstack-opencode && ./setup
# Add to your shell profile
echo 'source ~/gstack-opencode/bin/gstack-env.sh' >> ~/.zshrc
source ~/.zshrc
```
### Manual Install
```bash
# 1. Clone gstack
git clone https://github.com/garrytan/gstack.git ~/gstack-opencode/source
# 2. Build browse
cd ~/gstack-opencode/source
bun install
bun build --compile browse/src/cli.ts --outfile ~/gstack-opencode/browse/dist/browse
# 3. Link skills to OpenCode
mkdir -p ~/.config/opencode/skills/gstack
ln -sf ~/gstack-opencode/skills/* ~/.config/opencode/skills/gstack/
```
## Directory Structure
```
~/gstack-opencode/
├── skills/ # 27 OpenCode skills
│ ├── office-hours/SKILL.md
│ ├── review/SKILL.md
│ ├── browse/SKILL.md
│ └── ...
├── browse/ # Headless browser engine
│ └── dist/browse # Compiled binary (63MB)
├── bin/ # Tool scripts
│ ├── gstack-env.sh # Environment setup
│ ├── gstack-slug # Generate repo slug
│ └── ...
├── plugin/ # OpenCode plugin
│ └── gstack-guardian.js # Safety mechanism
├── review/ # Shared assets
│ ├── checklist.md
│ └── ...
├── ETHOS.md # Builder philosophy
├── BROWSER.md # Browser command reference
├── setup # Installation script
└── README.md # This file
```
## Environment Variables
| Variable | Description |
|----------|-------------|
| `GSTACK_OPENCODE_DIR` | Path to gstack-opencode directory |
| `GSTACK_BROWSE` | Path to browse binary |
## Safety Mechanism
The `/careful`, `/freeze`, and `/guard` skills are implemented as an OpenCode plugin (`plugin/gstack-guardian.js`). It intercepts:
- **Destructive commands:** `rm -rf`, `DROP TABLE`, `git push --force`, etc.
- **Freeze violations:** Edits outside the locked directory
## Differences from Original gstack
| Aspect | Claude Code | OpenCode |
|--------|-------------|----------|
| Hook mechanism | PreToolUse hooks | Plugin `tool.execute.before` |
| Environment vars | `${CLAUDE_SKILL_DIR}` | `${GSTACK_OPENCODE_DIR}` |
| Safety skills | Shell scripts | JavaScript plugin |
| Skill format | YAML + Markdown | YAML + Markdown (simplified) |
## Credits
Original gstack by [Garry Tan](https://github.com/garrytan/gstack) — MIT License
OpenCode port by gstack-opencode contributors
## License
MIT