Codex plugin
DistilCode for Codex
Install
Add the marketplace in your terminal. Needs only Node.js on your PATH.
codex plugin marketplace add DistilCode/distilcode-pluginThen enable distilcode@distilcode-marketplace from /plugins in Codex, or in config.toml:
[plugins."distilcode@distilcode-marketplace"]
enabled = trueCodex doesn’t trust plugin hooks automatically. Open /hooks once, review DistilCode’s hooks and trust them; until then shell compaction and modes stay off.
What it does
- Shell output compaction. Shell commands run through rtk, which trims their output before it reaches the model. Your normal approval 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.
- Explorer with memory. When memory is on, Codex’s built-in
explorersubagent gets the memory snapshot and keeps it up to date.
Commands
Codex has no plugin slash commands, so 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.
caveman status- Show whether caveman is on. Works for ponytail too.
caveman on- Turn on compressed replies (global by default).
ponytail off repo- Turn off minimal-diff coding for this repository only.
caveman off session- Turn caveman off for this session only.
ponytail toggle- Flip a mode.
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 explorer to find where uploads are validated”
- The explorer subagent checks memory first and updates it as it learns.
- “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 and the other plugin, so a toggle in one applies to all.
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.
