Skip to content

feat: switch to Caveman 3.2.0 modes (caveman, ultracave, megacave) - #14

Merged
miguelmartens merged 1 commit into
mainfrom
feat/caveman-modes
Oct 10, 2026
Merged

miguelmartens merged 1 commit into
mainfrom
feat/caveman-modes

Conversation

@miguelmartens

Copy link
Copy Markdown
Owner

Summary

Aligns the plugin with upstream Caveman 3.2.0: levels become modes, and the vendored rules move to the v3.2.0 tag.

 commands
-  /caveman lite|full|ultra|wenyan-lite|wenyan-full|wenyan-ultra
+  /caveman caveman|ultracave|megacave|off   (+ /caveman status)
+  /ultracave, /megacave

 state (~/.config/opencode/.caveman-active)
-  lite | full | ultra | wenyan-*
+  caveman | ultracave | megacave | off      (legacy names still resolve)

 injection
-  caveman skill filtered to the active level's table row + examples
+  active mode's skill loaded whole under `CAVEMAN MODE ACTIVE — mode: <mode>`
  • Re-vendored skills and cavecrew agents from upstream tag v3.2.0 (NOTICE.md pin updated; only the documented model: line is dropped).
  • Added /ultracave and /megacave commands; /caveman status reports the mode without switching.
  • Ported hooks, plugin (V2 + V1), commands, tests, and docs to the mode API. Legacy lite/full/ultra/wenyan* resolve everywhere: config, state file, command args.
  • README now carries a compatibility label for rules v3.2.0.

Evidence

  • Before: suite red on the in-progress tree — ERR_MODULE_NOT_FOUND .../.opencode/plugins/caveman/index.mjs and readMode is not a function on the old API names.
    After: npm test → tests 35, pass 35, fail 0; npm run format:check → clean (both also enforced by CI matrix on Node 20/22/24).

Merge Danger

Door: two-way — revert PR; released npm version cannot be unpublished after the registry window.
Blast Radius: plugin users' command and state compatibility is preserved via aliases and state normalization; worst case a bad injection affects every session, so the merge should follow the green CI run.

Replace the lite/full/ultra/wenyan level model with upstream Caveman
3.2.0 modes: caveman (default), ultracave, megacave, off. Legacy level
names still resolve in config, state, and commands.

Re-vendor skills and cavecrew agents from upstream tag v3.2.0; port the
hooks, plugin, commands, tests, and docs to the mode API.
@miguelmartens
miguelmartens merged commit 221a310 into main Oct 10, 2026
3 checks passed
@miguelmartens
miguelmartens deleted the feat/caveman-modes branch October 10, 2026 19:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant