npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@vanillagreen/pi-caveman

v1.2.4

Published

Native Pi caveman communication mode with session persistence, slash command control, status badge, and settings-manager integration.

Downloads

513

Readme

pi-caveman

/caveman command autocomplete

Native Pi caveman communication mode: fewer output tokens, same technical accuracy.

Highlights

  • Each mode has a clear personality the model actually picks up and holds across multiple turns.
  • Lite gives you tight professional sentences instead of telegraph-style fragments.
  • Replies stay as flowing chat — no markdown headers turning every answer into a doc page.
  • Plain-English safety mode triggers only for genuinely destructive commands, not whenever you say "I'm confused" or ask about security.
  • No leftover marker lines or odd Caveman ask: prefixes showing up in your answers.
  • Commit messages, PR descriptions, reviews, and anything you're sending to others stay normal English.
  • Warns you when your Claude-bridge setup would silently drop caveman before it reaches the model.
  • Per-session sidecar state preserves session overrides across pi -r, including slash-command changes made before the next model turn.
  • Tested across multiple providers and real back-and-forth conversations, not just one-shot prompts.

Install

Via npm:

pi install npm:@vanillagreen/pi-caveman

Via vstack:

cargo install --git https://github.com/vanillagreencom/vstack.git vstack
vstack add vanillagreencom/vstack --pi-extension pi-caveman --harness pi -y

Restart Pi after installation.

Commands

| Command | Action | | --- | --- | | /caveman | Toggle the current session between off and the last active mode. | | /caveman:lite\|full\|ultra\|micro | Set a session override mode. | | /caveman:toggle | Toggle the session override between off and the last active mode. | | /caveman off | Disable caveman mode for the current session. | | /caveman status | Show current mode and whether it comes from settings or a session override. | | /caveman debug | Show resolved mode, settings paths, legacy-key conflicts, and the rendered prompt block. |

Arguments support autocomplete.

Modes

| Mode | Style | | --- | --- | | lite | Professional full sentences, but no filler or hedging. | | full | Classic terse caveman; fragments are OK. | | ultra | Maximum English compression with abbreviations and arrows. | | micro | Shortest prompt injection for token-sensitive sessions. |

Behavior

  • Mode is stored in your Pi settings and applied at the start of every model turn. The extension steers style; it doesn't rewrite the model's output.
  • /caveman slash commands set a per-session override. Active non-off defaults are snapshotted into new sessions, so resuming with pi -r keeps the mode that session started with even if your global default changes later. Changing the default in the extension manager replaces any active override in the current session.
  • When you type a destructive command (force-push, hard reset, drop table, rm -rf, etc.), caveman steps aside for that one reply and the model writes plain English. Caveman resumes automatically on the next turn.
  • Caveman applies to chat replies only. Commit messages, PR descriptions, formal reviews, and anything you send to other systems (issue bodies, PR comments, chat, email) stay normal English.
  • pi-qol uses this extension to show a Caveman badge in the status line and bind a configurable shortcut to cycle modes.

Settings

All settings are toggled in the extension manager (or written directly to Pi/vstack settings.json).

Project settings in .pi/settings.json apply only after Pi marks the workspace trusted; before trust, vstack Pi extensions read user/global settings only.

| Setting | Default | What it does | | --- | --- | --- | | mode | off | Default caveman mode for new sessions. | | showStatusBadge | true | Show the caveman badge in the status line while active. | | sessionOverrideAllowed | true | Allow /caveman commands to override the default within a session. | | autoClarityEscape | true | Switch to plain English for one reply when the user prompt names a destructive operation. | | resumeAfterClarityEscape | true | Resume caveman automatically on the next turn after a safety override. | | boundaryNormalForCode | true | Keep code blocks and quoted errors normal English. | | boundaryNormalForCommits | true | Keep commit messages and PR descriptions normal English. | | boundaryNormalForReviews | true | Keep formal reviews normal English. | | boundaryNormalForExternalWrites | true | Keep issue bodies, PR comments, code review messages, and chat/email normal English. | | customPromptSuffix | "" | Extra project-specific guidance appended to the caveman directive. |

Claude-bridge users

pi-caveman injects its directive into Pi's systemPrompt. When you use claude-bridge as your provider, claude-bridge builds its own systemPrompt from Claude Code's preset and only forwards pi-side hooks that you explicitly enable. The caveman directive is one of those hooks.

  • Set @vanillagreen/pi-claude-bridgeincludeCavemanHook: true in the extension manager. The default is off.
  • If caveman is active and the bridge is installed with this flag off, pi-caveman warns once at session start. Run /caveman debug to confirm the resolved bridge setting.
  • Non-bridge providers (native Pi providers) receive the caveman block as part of Pi's regular systemPrompt and do not need this flag.