{"full_name":"JuliusBrussee/caveman","owner":"JuliusBrussee","name":"caveman","url":"https://github.com/JuliusBrussee/caveman","description":"🪨 why use many token when few token do trick. Viral skill + proxy for coding agents that cuts 65% of tokens by talking like a caveman.","homepage":"https://docs.caveman.so/caveman","topics":[],"language":"Go","license":"Apache-2.0","avatar":"https://avatars.githubusercontent.com/u/104168679?u=54b2493b3221267dc64b709b068565bc757633ba&v=4","created_at":"2026-04-04T10:03:00Z","pushed_at":"2026-11-09T01:48:59Z","metrics":{"stars":118752,"forks":6908,"watchers":255,"issues":629,"prs":796,"releases":56,"issues_open":null,"issues_closed":null,"prs_open":null,"prs_closed":null,"prs_merged":null,"discussions":59},"growth":{"day":{"stars":273,"forks":13,"base_day":"2026-11-09"},"week":{"stars":1856,"forks":121,"base_day":"2026-11-03"},"month":{"stars":8778,"forks":545,"base_day":"2026-10-11"}},"history":{"dates":["2026-09-06","2026-09-07","2026-09-08","2026-09-09","2026-09-10","2026-09-11","2026-09-12","2026-09-13","2026-09-14","2026-09-15","2026-09-16","2026-09-17","2026-09-18","2026-09-19","2026-09-20","2026-09-21","2026-09-22","2026-09-23","2026-09-24","2026-09-25","2026-09-26","2026-09-27","2026-09-28","2026-09-29","2026-09-30","2026-10-01","2026-10-02","2026-10-03","2026-10-04","2026-10-05","2026-10-06","2026-10-07","2026-10-08","2026-10-09","2026-10-10","2026-10-11","2026-10-12","2026-10-13","2026-10-14","2026-10-15","2026-10-16","2026-10-17","2026-10-18","2026-10-19","2026-10-20","2026-10-21","2026-10-22","2026-10-23","2026-10-24","2026-10-25","2026-10-26","2026-10-27","2026-10-28","2026-10-29","2026-10-30","2026-10-31","2026-11-01","2026-11-02","2026-11-03","2026-11-04","2026-11-09","2026-11-10"],"stars":[100672,100899,101143,101398,101497,101602,101741,102242,102538,103012,103494,103778,104123,104322,104528,104714,104994,105217,105548,105754,105969,106210,106558,106757,107137,107349,107532,107690,107837,107933,108184,108347,108703,108992,109450,109974,110183,110380,110555,110739,110907,111208,111432,111835,112374,113042,113245,113646,113829,114087,114357,114601,114791,115258,115493,115756,116054,116295,116896,117158,118479,118752],"forks":[5850,5859,5873,5885,5894,5905,5914,5950,5967,5988,6006,6009,6039,6059,6061,6073,6079,6095,6114,6119,6132,6152,6174,6179,6204,6217,6231,6238,6245,6255,6270,6277,6301,6314,6328,6363,6380,6388,6401,6415,6423,6442,6455,6487,6513,6540,6552,6580,6581,6573,6592,6604,6616,6648,6664,6686,6710,6728,6787,6809,6895,6908],"watchers":[238,239,239,236,238,238,239,241,242,241,243,240,244,243,240,239,239,240,242,241,243,244,246,246,245,244,246,246,246,245,242,243,245,247,250,252,252,251,252,253,253,255,257,259,258,258,256,259,259,258,256,256,252,251,251,252,253,254,255,254,255,255],"issues_open":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"prs_open":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"boards":{"daily":133,"weekly":76,"monthly":66,"monthly_rate":176,"total":106},"same_owner":[],"issues":[{"number":1318,"title":"Ultracave ignored on Opus 5.5 despite #929, hooks fire every turn","comments":9,"created_at":"2026-10-17T15:08:37Z"},{"number":1020,"title":"print mode (`claude -p`): eligible subscription requests never reach the engine, while interactive sessions compress normally","comments":7,"created_at":"2026-09-09T00:07:10Z"},{"number":863,"title":"support for nix package manager","comments":6,"created_at":"2026-08-18T06:57:53Z"},{"number":1285,"title":"Don't work in the latest version of Antigravity CLI.","comments":5,"created_at":"2026-10-15T07:12:52Z"},{"number":1225,"title":"agent-drift: pi — installed 1.5.0 exceeds pinned 1.0.4","comments":5,"created_at":"2026-10-08T04:36:40Z"},{"number":1258,"title":"Visual Studio Copilot: caveman ultra recognized - not used","comments":4,"created_at":"2026-10-13T15:52:29Z"},{"number":1482,"title":"middleware-canary: TypeScript adapters fail against latest framework releases","comments":3,"created_at":"2026-11-06T03:43:21Z"},{"number":1307,"title":"Claude Code skips the caveman dependencies because the root uses a pnpm lockfile","comments":3,"created_at":"2026-10-16T12:54:32Z"}],"discussions":[{"number":1469,"title":"Unclear on how to use with VS Code Copilot","comments":1,"category":"Q&A","created_at":"2026-11-05T17:38:27Z"},{"number":1450,"title":"Don't see Haiku model in claude code","comments":1,"category":"Q&A","created_at":"2026-11-02T12:55:37Z"},{"number":1428,"title":"Idea: Combining Caveman's prompt compression with a local FinOps proxy (hard budget caps & input savings)","comments":0,"category":"Ideas","created_at":"2026-10-29T13:00:21Z"},{"number":1347,"title":"caveman is #1 in Skills, plugins and prompts on Archestack (badge, if you want it)","comments":0,"category":"Show and tell","created_at":"2026-10-21T15:30:33Z"},{"number":1197,"title":"Why caveman installer does not deploy $HOME/.copilot/copilot-instructions.md?","comments":1,"category":"Q&A","created_at":"2026-10-06T08:50:11Z"},{"number":1179,"title":"Overalls: Caveman's mode as a dropdown in a status band","comments":0,"category":"Show and tell","created_at":"2026-10-03T09:42:47Z"},{"number":1128,"title":"saver-audit measures the caveman engine on users' own logs: method check?","comments":0,"category":"General","created_at":"2026-09-26T12:11:39Z"},{"number":996,"title":"XDG Base Directory compliant, avoid polluting $HOME","comments":0,"category":"General","created_at":"2026-09-05T14:57:37Z"}],"latest_release":{"name":"Caveman 4.1.0","tag":"v4.1.0","published_at":"2026-11-08T04:17:28Z","body":"Caveman 4.1.0 is a maintenance release: bug fixes across compress, OpenCode, Hermes, Pi, the proxy and the hooks, a recovery store that no longer fills up and stops compressing, and a few small switches people asked for. caveman-compress now refuses a file with a key or token in it, and installs from skill hubs again.\n\n### Action needed\n\n- **`forward_headers` under a `providers.<name>` block now stops the proxy from starting.** Before, it was silently ignored: no headers were forwarded and the only symptom was an upstream 401. Configure that upstream as a compat mount instead: `compat.<name>` with `base_url` and `forward_headers`, plus `wire_dialect: anthropic` if it speaks the Anthropic protocol (see `docs/technical/configuration.md`) (#1458).\n- **caveman-compress refuses a file whose text holds a credential**, such as a private key block or a cloud, Git host or model API token. Compression sends the file to your model provider, so move the secret into an env var or secret manager first. The error names the line, never the secret. Placeholders like `sk-...` or `$OPENAI_API_KEY` still compress (#1471).\n\n### Changed\n\n- **Old recovery handles can now expire.** The recovery store used to keep every compressed original forever, so it filled up and compression stopped (#1370). When a write would exceed the store's cap, it now frees room: typed objects of sessions idle 14 days (archived) or 30 days (any) are expired, oldest first, until the store is at 80%. Retrieving an expired handle answers `cave_expired_recovery`, and each expiry is logged in `proxy.log`. Blob recoveries never expire (#1481).\n\n### New\n\n- **`caveman-proxy recovery-store status|check|repair`** for a damaged `ccr.db`. A damaged store now refuses writes instead of staying corrupt across upgrades; reads keep working. Repair copies only rows whose bytes still match their hash, and moves the damaged files aside untouched. `caveman status` and `caveman doctor` point at it (#1369, #1481).\n\n- **Turn off the per-prompt reminder** with `CAVEMAN_REINFORCE=0`, or `\"reinforce\": false` in `~/.config/caveman/config.json` or a repo's `.caveman.json`. The full ruleset is still sent at session start (#1468).\n- **`--hook-node node`** makes installed hooks find Node through `PATH` at run time instead of pinning the install-time path, for people who switch Node versions (#1452). The default is unchanged, because apps started outside a terminal don't see the shell's `PATH`.\n- **The installer falls back to Bun when Node is absent.** Node stays first (#570, #1344 by @cyrus-za).\n- **`caveman learn` scans Pi sessions**, and honors `PI_CODING_AGENT_DIR` / `PI_CODING_AGENT_SESSION_DIR` (#1317 by @tranducquy0).\n- **`caveman mem`** can revert a memory to an earlier value, and `supersede --stdin` takes replacements too large for a command line (#1386 by @PARTHDESHMUKH2005). The client checks that the installed binary supports `--stdin` first, so an older binary can no longer store the literal text `--stdin` as the fact.\n\n### Fixed\n\n**caveman-compress**\n- Hermes' skill hub blocked the install with a DANGEROUS verdict that `--force` can't override. Every finding was a false match, and the matched text is respelled with identical behavior (#1464).\n- Backups are keyed on the file's full path, so two projects' `CLAUDE.md` no longer share one backup slot. A run that dies before writing removes its backup and staging file, so the next run doesn't abort.\n- Validation now refuses commentary appended after the body (#1433). The prompt keeps the verb that carries an instruction (#1434). Frontmatter stays local on both passes (#1359 by @leninworld). Trailing punctuation on URLs and paths no longer fails validation (#1356 by @Pharex38). Credential dotfiles and bare dotfiles like `.env` are refused by name (#1357 by @Pharex38, #1363).\n\n**OpenCode**\n- OpenCode 2: the shrink plugin is generated for the API the installed major actually loads (#1445). `OPENCODE_CONFIG_DIR` is honored everywhere (#1441). Deleted "},"readme":true,"readme_zh":false,"news":[{"title":"Caveman: Why use many token when few token do trick","url":"https://github.com/JuliusBrussee/caveman","hn":"https://news.ycombinator.com/item?id=47647455","source":"Hacker News","lang":"en","date":"2026-04-05","points":904,"comments":366},{"title":"Respond terse like smart caveman. All technical substance stay. Only fluff die","url":"https://github.com/JuliusBrussee/caveman/blob/main/skills/caveman/SKILL.md","hn":"https://news.ycombinator.com/item?id=49646387","source":"Hacker News","lang":"en","date":"2026-09-10","points":2,"comments":0},{"title":"Local SLM as a compression layer for cloud API calls","url":"https://news.ycombinator.com/item?id=47900645","hn":"https://news.ycombinator.com/item?id=47900645","source":"Hacker News","lang":"en","date":"2026-04-25","points":2,"comments":0},{"title":"Caveman – why use many token when few do trick","url":"https://github.com/JuliusBrussee/caveman/blob/main/README.md","hn":"https://news.ycombinator.com/item?id=47794436","source":"Hacker News","lang":"en","date":"2026-04-16","points":2,"comments":0},{"title":"JetBrains Tests Caveman Token Skill on 86 Real Tasks: Savings Hit 9%, Not 65%","url":"https://www.techtimes.com/articles/320756/20260716/jetbrains-tests-caveman-token-skill-86-real-tasks-savings-hit-9-not-65.htm","source":"techtimes","lang":"en","date":"2026-07-16"},{"title":"'Caveman' plugin trims Claude and Codex output to cut AI bills","url":"https://aiweekly.co/alerts/caveman-plugin-trims-claude-and-codex-output-to-cut-ai-bills","source":"aiweekly","lang":"en","date":"2026-06-30"},{"title":"Caveman Claude Code Skill","url":"https://opentools.ai/resources/caveman","source":"opentools.ai","lang":"en","date":"2026-06-05"},{"title":"GitHub 趨勢周報 Vol.14，DeepSeek V4 Flash 適合本地端，Caveman 生態補上 AI Agent 的記憶與規格化流程","url":"https://cyberq.tw/2026/05/12/github-trends-weekly-report-vol-14/","source":"cyberq","lang":"zh","date":"2026-05-11"},{"title":"Caveman 幫 AI 開發者暴力省下 75% Token 成本","url":"https://cyberq.tw/2026/05/11/caveman-ai-token-saver/","source":"cyberq","lang":"zh","date":"2026-05-11"},{"title":"Caveman、Ponytail、rtk、pxpipe 与 headroom：削减 Claude Code 令牌","url":"https://news.google.com/rss/articles/CBMilAFBVV95cUxOYnp5RENWSndzZW51enJqVzBtRXFleWhtZ1E3T0VDcjVtanlYdXdyRk1KdjdBNDJLek93aXhydndCNXMyOEZHRm5vb1J6UW9kTGItZUl5MnFPOGg3UFgwU3RvWVVzRGVNckhLdEhybzlkdmJjbUVETGNmbDNRSndiWTlDVVlRVVNTelRkd2FSRWxoRDRl?oc=5","source":"Pasquale Pillitteri","lang":"zh","date":"2026-07-11"},{"title":"'Caveman' plugin promises to cut AI costs by 75%","url":"https://news.google.com/rss/articles/CBMihAFBVV95cUxNQW5xZEY0YWFaX0ZrLU1VTE00amhrWTNGb2p6RzhSRko2eDFCOFp5bjlNckY0ZHY5amk2bXFpaXFfNVJoRVpvY2ZSTnJTWllUcDFManpqVXB5b01CbjBZN3lKdVNRWHlrR2hGbHQxb3BJenNNM3BOSDdRWURoeVdEeV84VWI?oc=5","source":"moneywise.com","lang":"en","date":"2026-07-07"},{"title":"Headroom vs Caveman: Compress Input or Cut Output","url":"https://news.google.com/rss/articles/CBMikgFBVV95cUxPSkVOakFYWnJQMjBPWngybnNZZWN4YkFwZDU5NjV4YUdsX3BIckQxQldBUTN5M0hOMFRjdnN0Q0E3UHFRVVNuclpXMUNuZkxMYzJCSVRaai1URmQ0aXJTNS13U3JmMHFaOTZDUUVSMjI2RXRwdnh0V25RREJKTTNzdWNLcExadGtGOUJFdl83N21EZw?oc=5","source":"Pasquale Pillitteri","lang":"en","date":"2026-06-20"},{"title":"Claude Code 令牌: 节省高达 90% 的 10 个 GitHub 仓库","url":"https://news.google.com/rss/articles/CBMijAFBVV95cUxPeUZZU1pKTWgtakwzN0NURURQREdBVVdhd2lFWGpVWG5idDZqLWFwQUd4WWtHVjJ1blJHak9MbXNYMzJkaHBDd19XRmZyOXBvLWhRVnFGdlk5amhTRWlSRUdRWlBlRC13Yk9aZmthOWtjZnY4b0xHN1U5Zm1BRHR5c0J6eVJuQi02OFdlVg?oc=5","source":"Pasquale Pillitteri","lang":"zh","date":"2026-04-21"},{"title":"Claude Code Caveman Mode:削减 Token 而不破坏代码的 Skill","url":"https://news.google.com/rss/articles/CBMihgFBVV95cUxQNXFSSEFaV0Y5QS1QSFlLTmJyQVhyUUhlYVNPS0xTZ1FyREFSdnNuN1RiX2tZY1h5VlQ4MWZydmRFaUVEZVY5Q0M0ZmlRMlV5S1lFMzB0RXQ0Y0lqWndEYkhjYW1TOVFtMTVXOUU1SnZUdlY3NzB5YzQxdlJSY1lEdDJ2ampZQQ?oc=5","source":"Pasquale Pillitteri","lang":"zh","date":"2026-04-15"},{"title":"Claude Code Caveman Mode: the Skill That Cuts Tokens Without Breaking Code","url":"https://news.google.com/rss/articles/CBMihgFBVV95cUxNWEJ1TlNxeWxPOW5SVWNsLVliME90R184LWlyYjBCR3JYOGJpSkcyXzFNQ0RpbUhVTENGcUtFcEpfSkhVREdTd0x1Y3pDQ2tzQnFyUjR3ZWlLNkFsaHp5VEY0S1hvZ3JWaGpycVZ4czRCTkc3WF9lMjNPVE5jeElmTEdXNEtudw?oc=5","source":"Pasquale Pillitteri","lang":"en","date":"2026-04-14"},{"title":"省token神器3天狂揽4.1k星！19岁小哥开发，信息无损最高省87%","url":"https://news.google.com/rss/articles/CBMiSEFVX3lxTE1JOXhKMEszMnlJeGZxV0w1ZnNhX0VuTkQ4LXlYVnQzYjlfOFJ5dFVVTUFwNDJISXhBOVRpZjNQT2p2VlBjcG5XOA?oc=5","source":"智源社区","lang":"zh","date":"2026-04-08"},{"title":"Devs Are Making Claude Talk Like a Caveman to Cut Costs—And It Works","url":"https://news.google.com/rss/articles/CBMigwFBVV95cUxPQ0xKS3U4aV91X0N3aFdCejY4WUtxSFFoc2c0YWVlcVFDc0pwejlyWVU3QnlmeGNNbnlGcXlhVS1PeldCYnowcW96b0FNb1VYdGZJeTZFcE41VXUxT1B1dzROdzdhb2NvdlJveTZOVjR6V2ZZT09taklJdl9TUTUwWUNEdw?oc=5","source":"Decrypt","lang":"en","date":"2026-04-07"},{"title":"19-Year-Old's Token-Saving Tool Gains 4,100 Stars in 3 Days, Saves Up to 87% of Tokens Without Info Loss","url":"https://news.google.com/rss/articles/CBMiU0FVX3lxTFBvY1l4dHFHTk1CUW1BSk9Ub0FlNkRGdmhWbGtXMUhuOUJRcXczeGVFcUhjSnBOTW83QkY2SXZLTExoRHpuak9vbG9ZLV91V1l1dFBF?oc=5","source":"36氪","lang":"en","date":"2026-04-07"},{"title":"So Expensive, A Caveman Can Do It","url":"https://news.google.com/rss/articles/CBMic0FVX3lxTE1ReENTajRCYnF6R21zWFJ5eUdOakh5bmk1Vll2dEpwQ3JpdmJXUFpwLXZzRjVhS1RPbHRERlMta3VicnZXMllGcld1bm0wWmQ3d090RndCU1R4cVZIWi1jVUZiZ0ZrQ3pPRU83RVF5TkN1Z0E?oc=5","source":"Hackaday","lang":"en","date":"2026-04-06"},{"title":"逼AI当山顶洞人！Claude防话痨插件爆火，网友：受够了AI废话","url":"https://news.google.com/rss/articles/CBMifEFVX3lxTFBab0k0dE1sbmI0cG1mS1RmZmFTLVFPOWpBX2R3NXl4VHh3WkJzU2d2dTE1aFU5enV4N0J3YTMzTm9HOXZwQXFxMTFrbUF4czFObkVDeHZsZXBUbVIyMWxFcFhoclRsckdpamxIcUtRcTNPTUl1NGozS3EyaE8?oc=5","source":"新浪财经","lang":"zh","date":"2026-04-06"}],"stale":false,"snapshot_at":"2026-11-10T09:35:25Z","history_start":"2026-09-06"}