Caveman communication mode plugin for opencode. Adapts JuliusBrussee/caveman into hook-based plugin.
# Global install
opencode plugin caveman-opencode-plugin@latest --global
# Or local install
opencode plugin caveman-opencode-plugin@latestNPM: https://www.npmjs.com/package/caveman-opencode-plugin
Add to opencode.json:
{
"plugin": ["caveman-opencode-plugin"]
}Run the interactive setup script:
# Download and run
curl -fsSL https://raw.githubusercontent.com/dantesCode/caveman-opencode-plugin/main/setup.sh | bash
# Or clone and run locally
curl -O https://raw.githubusercontent.com/dantesCode/caveman-opencode-plugin/main/setup.sh
bash setup.shOr create caveman.json manually:
# Project-level config (recommended)
echo '{"enabled":true,"defaultMode":"full","features":{"caveman":true,"commit":true,"review":true}}' > caveman.json
# Or global config in ~/.config/opencode/
mkdir -p ~/.config/opencode
echo '{"enabled":true,"defaultMode":"full","features":{"caveman":true,"commit":true,"review":true}}' > ~/.config/opencode/caveman.jsonBehavior mirrors JuliusBrussee/caveman methodology. See UPSTREAM.md for reference and intentional differences.
caveman.json example:
{
"enabled": true,
"defaultMode": "full",
"features": {
"caveman": true,
"commit": true,
"review": true
}
}enabled— master switchdefaultMode— mode on session start (lite,full,ultra,wenyan-lite,wenyan-full,wenyan-ultra,off)features— toggle individual features:caveman— enable caveman communication modecommit— enable/caveman-commitcommandreview— enable/caveman-reviewcommand
Plugin looks for caveman.json in this order:
./caveman.json(project root)~/.config/opencode/caveman.json(global)
Project config takes precedence over global.
| Command | Description |
|---|---|
/caveman <mode> |
Switch caveman mode |
/caveman-commit <diff> |
Generate conventional commit message |
/caveman-review <code> |
One-line code review |
| Mode | Description |
|---|---|
lite |
Light compression, keep some filler |
full |
Full caveman rules (default) |
ultra |
Maximum brevity |
wenyan-lite |
Lite in classical Chinese style |
wenyan-full |
Full classical Chinese style |
wenyan-ultra |
Ultra classical Chinese style |
off / normal |
Disable caveman |
For context compression, pair with @tarquinen/opencode-dcp.
MIT