Claude Code plugin
DistilCode for Claude Code
Keep Claude Code and cut what it spends on context: compacted shell output, persistent codebase memory, and terse reply modes.
Install
Run in your terminal. Needs only Node.js on your PATH.
claude plugin marketplace add DistilCode/distilcode-plugin
claude plugin install distilcode@distilcode-marketplaceOr from inside a Claude Code session:
/plugin install distilcode --marketplace DistilCode/distilcode-pluginUpdate with claude plugin update distilcode@distilcode-marketplace. Remove with claude plugin uninstall distilcode@distilcode-marketplace.
What it does
- Shell output compaction. Bash and PowerShell commands run through rtk, which trims their output before it reaches the model. Your normal permission prompts still apply.
- Codebase memory. A per-repo overview and feature map that survives sessions, loaded automatically at session start. Off until you enable it for a repo.
- Ponytail mode (on by default). A lazy senior developer: reuse what exists, write the shortest working diff.
- Caveman mode (off by default). Compressed replies that keep every technical fact.
- Agents.
distilcode:explorefor finding code, anddistilcode:smart-bashfor builds, tests and noisy searches.
Commands
Type these as the whole prompt. A hook handles them, so they cost no model turn. Scopes are session, repo and global (default); the narrower scope wins.
/distilcode- Show whether ponytail and caveman are on.
/distilcode caveman on- Turn on compressed replies (global by default).
/distilcode ponytail off repo- Turn off minimal-diff coding for this repository only.
/distilcode caveman off session- Turn caveman off for this session only.
/distilcode ponytail toggle- Flip a mode. Also accepts on, off and status.
caveman on- Bare form, when followed by an argument.
stop caveman- Caveman off for this session.
normal mode- Both modes off for this session.
What you can ask it
Plain requests work too. For example:
- “Enable codebase memory for this repo”
- Turns memory on, then writes a repository overview and a short entry for each main feature.
- “What do you remember about the auth flow?”
- Reads the saved feature: entrypoints, files, symbols and notes.
- “Remember that billing lives in api/billing and starts at checkout.ts”
- Adds or updates a feature in memory.
- “Use the explore agent to find where uploads are validated”
- Runs the read-only explore agent, which checks memory first and updates it as it learns.
- “Run the test suite with smart-bash and tell me what failed”
- Runs noisy commands in a small Haiku agent so only the result reaches your main context.
- “Be less verbose for this repo”
- Turns caveman on at repo scope.
- “Stop the minimal-diff thing”
- Turns ponytail off.
Settings
DISTILCODE_NO_TOKEN_KILLER=1turns off shell output compaction.DISTILCODE_DATA_DIRmoves memory and mode settings. The default is~/.local/share/distilcode/, shared with the DistilCode CLI, so a toggle in one applies to both.
What it downloads and stores
The plugin sends no data anywhere: no telemetry, no account, no API keys. Its only network request downloads the pinned rtk release from GitHub on first use, checked against the release's sha256 checksums, into ~/.distilcode/bin/. Memory and settings are local JSON files. Source is on GitHub.
