Download Latest Version v1.8.1 -- Hotfix_ curl_bash one-liner source code.tar.gz (197.5 kB)
Email in envelope

Get an email when there's a new version of caveman

Home / v1.8.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2026-05-10 5.8 kB
v1.8.0 -- Lobster grunt. Opencode grunt. Brain still big. source code.tar.gz 2026-05-10 197.1 kB
v1.8.0 -- Lobster grunt. Opencode grunt. Brain still big. source code.zip 2026-05-10 281.5 kB
Totals: 3 Items   484.4 kB 0

โš ๏ธ v1.8.0's curl|bash one-liner was broken (BASH_SOURCE unbound + stray -- to parseArgs). Use v1.8.1 instead โ€” same release contents plus the hotfix.

Brain still big. Two more mouths now small.

This release teaches caveman to two new agents: OpenClaw (the lobster) and opencode (the TUI). Both now grunt fluent caveman from message one โ€” no /caveman per session, no setup nag.

Plus a stack of installer fixes from a top-to-bottom review of bin/install.js.

What's new

๐Ÿฆž OpenClaw โ€” first-class always-on target

npx -y github:JuliusBrussee/caveman -- --only openclaw and the lobster talks like a caveman every turn.

Two tiny writes do the work:

  • Skill drop at ~/.openclaw/workspace/skills/caveman/SKILL.md โ€” spec-correct frontmatter (version, always: true), discoverable by openclaw skills list.
  • SOUL.md nudge โ€” marker-fenced bootstrap block at ~/.openclaw/workspace/SOUL.md, auto-injected each turn under "Project Context". Stays well under OpenClaw's 12K-per-file cap.

Idempotent on both writes. Uninstall strips the skill folder + the marker block, leaves your other workspace content alone. Custom workspace via OPENCLAW_WORKSPACE.

See README's Lobster, Meet Rock section for the longer pitch.

๐Ÿค– opencode โ€” native plugin replaces npx-skills fallback

opencode goes from "manual /caveman per session" to always-on. The installer drops:

  • A real opencode plugin (~/.config/opencode/plugins/caveman/) using session.created and tui.prompt.append lifecycle hooks
  • Six slash-command prompt templates (/caveman, /caveman-{commit,review,compress,stats,help})
  • Three cavecrew subagents
  • Seven skill folders (caveman, caveman-commit/review/help/stats/compress, cavecrew)
  • A Tier-3 always-on ruleset in AGENTS.md, fenced with <!-- caveman-begin --> / <!-- caveman-end --> markers (clean uninstall later)

opencode.json gets patched with the plugin entry plus the caveman-shrink MCP server (when --with-mcp-shrink is on, which is the default).

opencode reaches Tier-1 minus the statusline (opencode's TUI exposes no plugin-writable badge).

๐Ÿ› ๏ธ Installer rewrite + correctness fixes

The unified bin/install.js got reviewed end-to-end. What changed in this release:

Bug fixes (high-severity)

  • downloadTo Promise was unawaited on the https fallback path โ€” silent partial install if curl was missing. Now properly awaited.
  • --only <typo> used to exit 0 with no work done. Now validates against the provider matrix and exits 2 with error: unknown agent: <id>.
  • .bak files were silently overwritten on every reinstall, destroying recovery. Now preserved on first install only.
  • opencode plugin payload (plugin.js, package.json, caveman-config.cjs) used to be rewritten on every reinstall, wiping user edits. Now honors the same !--force skip the rest of the payload uses.
  • --config-dir help text now discloses scope honestly: it does not sandbox claude plugin install, gemini extensions install, opencode (XDG_CONFIG_HOME), or openclaw (OPENCLAW_WORKSPACE).

Idempotency / hygiene

  • Uninstall now probes claude plugin list / gemini extensions list before firing the uninstaller โ€” no more "Plugin not installed" stderr noise on cold uninstalls.
  • Uninstall now also runs claude mcp remove caveman-shrink (when the subcommand exists).
  • opencode AGENTS.md is now fenced with <!-- caveman-begin --> / <!-- caveman-end -->. Uninstall strips just the fenced block, preserving any user content above and below it.
  • --config-dir value is now ~-expanded.
  • removeCavemanHooks no longer crashes on malformed pre-existing settings.hooks (e.g. when a user hand-edited and broke things).

๐Ÿงน Repo layout consolidated

hooks/, rules/, tools/, mcp-servers/ all moved under src/. Sources of truth are at the top of the tree; distribution mirrors live below. See CLAUDE.md for the new map.

Tests

50/50 passing (npm test). Up from 43 in v1.7.0 โ€” seven new tests cover:

  • --only typo validation
  • --config-dir ~ expansion
  • --help discloses --config-dir scope
  • removeCavemanHooks malformed-input safety
  • AGENTS.md fence assertion
  • opencode plugin.js hand-edit survives reinstall (without --force)
  • AGENTS.md fenced uninstall preserves user prefix and suffix

Verify after upgrade

:::bash
node bin/install.js --list      # 34 providers; OpenClaw + opencode visible
node bin/install.js --help      # --config-dir scope is now spelled out

For the lobster: npx -y github:JuliusBrussee/caveman -- --only openclaw.

For opencode: npx -y github:JuliusBrussee/caveman -- --only opencode (needs a local clone or npx-extracted repo for the native plugin payload).

Upgrade

Existing users:

:::bash
npx -y github:JuliusBrussee/caveman

Auto-detects everything you already had + picks up OpenClaw and opencode if present. Safe to re-run.

Behavior changes worth knowing

  • opencode plugin payload no longer overwrites on reinstall. If you've edited ~/.config/opencode/plugins/caveman/plugin.js and want the new version, pass --force. Without --force, your edits stay.
  • opencode AGENTS.md from v1.7.x and earlier was un-fenced. Reinstall won't replace a legacy block by default; pass --force to rewrite with the fenced version. Uninstall still removes legacy blocks correctly.

Caveman ecosystem

  • caveman (you here) โ€” output compression
  • cavemem โ€” cross-agent memory
  • cavekit โ€” spec-driven build loop

One rock. Two rock. Three rock. That it.

Source: README.md, updated 2026-05-10