diff --git a/CLAUDE.md b/CLAUDE.md index 0ec4c90..71d72c5 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -22,6 +22,11 @@ Automatic loads are NOT enough — Read loads required CLAUDE.md context along t - Python → see [`~/.claude/patterns/python.md`](patterns/python.md) (uv, DI, FastAPI hexagonal architecture) - Never add lazy imports to middle of file +## Bash Commands +- **Never use `cd` in compound commands** (`cd /path && git ...`). Use `git -C /path` or absolute paths instead. +- **Never start commands with `if`, `for`, or other shell control structures.** These get blocked by permission checks. Restructure as simple commands, use `find ... -exec`, or run separate sequential tool calls. +- When working in temp directories, use absolute paths rather than `cd`-ing into them. + ## SSH **ALWAYS use SSH aliases from `~/.ssh/config` — NEVER construct manual `ssh -i` commands.** - All homelab and cloud servers have aliases with pre-configured keys/users diff --git a/plugins/install-counts-cache.json b/plugins/install-counts-cache.json index a59c0f3..228e28d 100644 --- a/plugins/install-counts-cache.json +++ b/plugins/install-counts-cache.json @@ -1,6 +1,6 @@ { "version": 1, - "fetchedAt": "2026-04-06T03:05:10.947Z", + "fetchedAt": "2026-04-08T20:46:51.837Z", "counts": [ { "plugin": "frontend-design@claude-plugins-official", diff --git a/plugins/installed_plugins.json b/plugins/installed_plugins.json index e1a1f40..3cb91fe 100644 --- a/plugins/installed_plugins.json +++ b/plugins/installed_plugins.json @@ -23,10 +23,10 @@ "playground@claude-plugins-official": [ { "scope": "user", - "installPath": "/home/cal/.claude/plugins/cache/claude-plugins-official/playground/0b9a652d49ec", - "version": "0b9a652d49ec", + "installPath": "/home/cal/.claude/plugins/cache/claude-plugins-official/playground/cc1d9d2ded0c", + "version": "cc1d9d2ded0c", "installedAt": "2026-02-18T19:51:28.422Z", - "lastUpdated": "2026-04-06T07:30:46.203Z", + "lastUpdated": "2026-04-07T07:30:54.517Z", "gitCommitSha": "261ce4fba4f2c314c490302158909a32e5889c88" } ], @@ -43,10 +43,10 @@ "frontend-design@claude-plugins-official": [ { "scope": "user", - "installPath": "/home/cal/.claude/plugins/cache/claude-plugins-official/frontend-design/0b9a652d49ec", - "version": "0b9a652d49ec", + "installPath": "/home/cal/.claude/plugins/cache/claude-plugins-official/frontend-design/cc1d9d2ded0c", + "version": "cc1d9d2ded0c", "installedAt": "2026-02-22T05:53:45.091Z", - "lastUpdated": "2026-04-06T07:30:46.197Z", + "lastUpdated": "2026-04-07T07:30:54.512Z", "gitCommitSha": "aa296ec81e8ccb49c9784f167c2c0aa625a86cec" } ], @@ -269,6 +269,85 @@ "lastUpdated": "2026-04-02T23:54:59.978Z", "gitCommitSha": "83ee34b3ad3e5a0c1bfb992bf794fe11f54dcc4e" } + ], + "caveman@caveman": [ + { + "scope": "project", + "projectPath": "/mnt/NV2/Development/paper-dynasty/database", + "installPath": "/home/cal/.claude/plugins/cache/caveman/caveman/9ee0e352c690", + "version": "9ee0e352c690", + "installedAt": "2026-04-07T13:50:22.332Z", + "lastUpdated": "2026-04-08T09:45:52.665Z", + "gitCommitSha": "af581f6314f490ff9a434d4ea06bba7df658f0f4" + }, + { + "scope": "user", + "installPath": "/home/cal/.claude/plugins/cache/caveman/caveman/26c25e39b3ae", + "version": "26c25e39b3ae", + "installedAt": "2026-04-08T02:14:31.456Z", + "lastUpdated": "2026-04-08T23:30:38.584Z", + "gitCommitSha": "af581f6314f490ff9a434d4ea06bba7df658f0f4" + } + ], + "docker-expert@codex-agents": [ + { + "scope": "user", + "installPath": "/home/cal/.claude/plugins/cache/codex-agents/docker-expert/1.0.0", + "version": "1.0.0", + "installedAt": "2026-04-08T20:48:11.151Z", + "lastUpdated": "2026-04-08T20:48:11.151Z", + "gitCommitSha": "83ee34b3ad3e5a0c1bfb992bf794fe11f54dcc4e" + } + ], + "iot-engineer@codex-agents": [ + { + "scope": "user", + "installPath": "/home/cal/.claude/plugins/cache/codex-agents/iot-engineer/1.0.0", + "version": "1.0.0", + "installedAt": "2026-04-08T20:48:11.177Z", + "lastUpdated": "2026-04-08T20:48:11.177Z", + "gitCommitSha": "83ee34b3ad3e5a0c1bfb992bf794fe11f54dcc4e" + } + ], + "it-ops-orchestrator@codex-agents": [ + { + "scope": "user", + "installPath": "/home/cal/.claude/plugins/cache/codex-agents/it-ops-orchestrator/1.0.0", + "version": "1.0.0", + "installedAt": "2026-04-08T20:48:11.196Z", + "lastUpdated": "2026-04-08T20:48:11.196Z", + "gitCommitSha": "83ee34b3ad3e5a0c1bfb992bf794fe11f54dcc4e" + } + ], + "network-engineer@codex-agents": [ + { + "scope": "user", + "installPath": "/home/cal/.claude/plugins/cache/codex-agents/network-engineer/1.0.0", + "version": "1.0.0", + "installedAt": "2026-04-08T20:48:11.215Z", + "lastUpdated": "2026-04-08T20:48:11.215Z", + "gitCommitSha": "83ee34b3ad3e5a0c1bfb992bf794fe11f54dcc4e" + } + ], + "security-auditor@codex-agents": [ + { + "scope": "user", + "installPath": "/home/cal/.claude/plugins/cache/codex-agents/security-auditor/1.0.0", + "version": "1.0.0", + "installedAt": "2026-04-08T20:48:11.234Z", + "lastUpdated": "2026-04-08T20:48:11.234Z", + "gitCommitSha": "83ee34b3ad3e5a0c1bfb992bf794fe11f54dcc4e" + } + ], + "security-engineer@codex-agents": [ + { + "scope": "user", + "installPath": "/home/cal/.claude/plugins/cache/codex-agents/security-engineer/1.0.0", + "version": "1.0.0", + "installedAt": "2026-04-08T20:48:11.252Z", + "lastUpdated": "2026-04-08T20:48:11.252Z", + "gitCommitSha": "83ee34b3ad3e5a0c1bfb992bf794fe11f54dcc4e" + } ] } } \ No newline at end of file diff --git a/plugins/known_marketplaces.json b/plugins/known_marketplaces.json index 1550bd9..6f95704 100644 --- a/plugins/known_marketplaces.json +++ b/plugins/known_marketplaces.json @@ -5,7 +5,7 @@ "url": "https://github.com/anthropics/claude-plugins-official.git" }, "installLocation": "/home/cal/.claude/plugins/marketplaces/claude-plugins-official", - "lastUpdated": "2026-04-06T21:52:32.835Z" + "lastUpdated": "2026-04-08T02:14:44.174Z" }, "claude-code-plugins": { "source": { @@ -13,7 +13,7 @@ "repo": "anthropics/claude-code" }, "installLocation": "/home/cal/.claude/plugins/marketplaces/claude-code-plugins", - "lastUpdated": "2026-04-07T07:00:51.546Z" + "lastUpdated": "2026-04-09T04:00:55.631Z" }, "agent-toolkit": { "source": { @@ -21,7 +21,7 @@ "repo": "St0nefish/agent-toolkit" }, "installLocation": "/home/cal/.claude/plugins/marketplaces/agent-toolkit", - "lastUpdated": "2026-04-07T07:00:54.193Z", + "lastUpdated": "2026-04-09T07:00:51.790Z", "autoUpdate": true }, "cal-claude-plugins": { @@ -30,7 +30,7 @@ "url": "https://git.manticorum.com/cal/claude-plugins.git" }, "installLocation": "/home/cal/.claude/plugins/marketplaces/cal-claude-plugins", - "lastUpdated": "2026-03-31T04:00:54.521Z", + "lastUpdated": "2026-04-09T07:00:56.021Z", "autoUpdate": true }, "codex-agents": { @@ -49,5 +49,14 @@ }, "installLocation": "/home/cal/.claude/plugins/marketplaces/skill-codex", "lastUpdated": "2026-03-31T20:37:09.795Z" + }, + "caveman": { + "source": { + "source": "github", + "repo": "JuliusBrussee/caveman" + }, + "installLocation": "/home/cal/.claude/plugins/marketplaces/caveman", + "lastUpdated": "2026-04-09T07:00:55.922Z", + "autoUpdate": true } } \ No newline at end of file diff --git a/plugins/marketplaces/agent-toolkit b/plugins/marketplaces/agent-toolkit index cd90eef..17f1c87 160000 --- a/plugins/marketplaces/agent-toolkit +++ b/plugins/marketplaces/agent-toolkit @@ -1 +1 @@ -Subproject commit cd90eeffb5ab48f33e70fe388faad575df1aaf38 +Subproject commit 17f1c87827d659f71b31d86c95a6545c9de4c02b diff --git a/plugins/marketplaces/caveman b/plugins/marketplaces/caveman new file mode 160000 index 0000000..26c25e3 --- /dev/null +++ b/plugins/marketplaces/caveman @@ -0,0 +1 @@ +Subproject commit 26c25e39b3aee469dbb017427ab55ee1d32de1a8 diff --git a/plugins/marketplaces/claude-code-plugins b/plugins/marketplaces/claude-code-plugins index b543a25..22fdf68 160000 --- a/plugins/marketplaces/claude-code-plugins +++ b/plugins/marketplaces/claude-code-plugins @@ -1 +1 @@ -Subproject commit b543a256248ce5ff98804b8dfef4cd6247423d98 +Subproject commit 22fdf68049e8c24e5a36087bb742857d3d5e407d diff --git a/sessions/1096780.json b/sessions/1096780.json new file mode 100644 index 0000000..970a3fd --- /dev/null +++ b/sessions/1096780.json @@ -0,0 +1 @@ +{"pid":1096780,"sessionId":"408d1d3b-6a2a-484f-b833-285485b63942","cwd":"/mnt/NV2/Development/major-domo","startedAt":1775614486125,"kind":"interactive","entrypoint":"cli"} \ No newline at end of file diff --git a/sessions/1669680.json b/sessions/1669680.json new file mode 100644 index 0000000..9d19629 --- /dev/null +++ b/sessions/1669680.json @@ -0,0 +1 @@ +{"pid":1669680,"sessionId":"25e47d64-3f65-4fe6-9886-de3310fb53c4","cwd":"/mnt/NV2/Development/mlb-the-show","startedAt":1775693433077,"kind":"interactive","entrypoint":"cli"} \ No newline at end of file diff --git a/sessions/1807263.json b/sessions/1807263.json new file mode 100644 index 0000000..3976544 --- /dev/null +++ b/sessions/1807263.json @@ -0,0 +1 @@ +{"pid":1807263,"sessionId":"6e8450ee-6702-4f2e-b07c-763fa910f47e","cwd":"/home/cal","startedAt":1775718048111,"kind":"interactive","entrypoint":"sdk-cli"} \ No newline at end of file diff --git a/sessions/1807590.json b/sessions/1807590.json new file mode 100644 index 0000000..e7990d5 --- /dev/null +++ b/sessions/1807590.json @@ -0,0 +1 @@ +{"pid":1807590,"sessionId":"78a5d8b4-6fbc-4d10-99b7-8ea54b45c1b0","cwd":"/home/cal","startedAt":1775718052415,"kind":"interactive","entrypoint":"sdk-cli"} \ No newline at end of file diff --git a/sessions/267928.json b/sessions/267928.json deleted file mode 100644 index cbae69f..0000000 --- a/sessions/267928.json +++ /dev/null @@ -1 +0,0 @@ -{"pid":267928,"sessionId":"c6285f93-1876-46bf-ad86-c2b965b0610b","cwd":"/mnt/NV2/Development/claude-home","startedAt":1775512385875,"kind":"interactive","entrypoint":"cli","bridgeSessionId":"session_01YNNgLmNiAbuGgkyNsFon6P"} \ No newline at end of file diff --git a/sessions/64564.json b/sessions/64564.json deleted file mode 100644 index f4ab660..0000000 --- a/sessions/64564.json +++ /dev/null @@ -1 +0,0 @@ -{"pid":64564,"sessionId":"71bfc1a7-2155-400c-b09a-83dafbf79b20","cwd":"/home/cal/work/esb-monorepo","startedAt":1775491344797,"kind":"interactive","entrypoint":"cli"} \ No newline at end of file diff --git a/sessions/651349.json b/sessions/651349.json deleted file mode 100644 index b006022..0000000 --- a/sessions/651349.json +++ /dev/null @@ -1 +0,0 @@ -{"pid":651349,"sessionId":"e4143ae1-64be-412a-bf68-9672c9ae8ac1","cwd":"/home/cal","startedAt":1775545248102,"kind":"interactive","entrypoint":"sdk-cli"} \ No newline at end of file diff --git a/sessions/651628.json b/sessions/651628.json deleted file mode 100644 index 9977204..0000000 --- a/sessions/651628.json +++ /dev/null @@ -1 +0,0 @@ -{"pid":651628,"sessionId":"30b26872-6f01-4e10-8189-cfb42399effa","cwd":"/home/cal","startedAt":1775545251039,"kind":"interactive","entrypoint":"sdk-cli"} \ No newline at end of file diff --git a/sessions/950627.json b/sessions/950627.json new file mode 100644 index 0000000..d1c02d9 --- /dev/null +++ b/sessions/950627.json @@ -0,0 +1 @@ +{"pid":950627,"sessionId":"c8417610-dd9e-4010-a601-872e983fd508","cwd":"/mnt/NV2/Development/claude-home","startedAt":1775596069839,"kind":"interactive","entrypoint":"cli","bridgeSessionId":"session_018mwSehhZBZCsqCHtohwGWm","name":"Claude Home"} \ No newline at end of file diff --git a/settings.json b/settings.json index 2a6974d..328e016 100644 --- a/settings.json +++ b/settings.json @@ -11,7 +11,28 @@ "mcp__gitea-mcp__*", "mcp__tui-driver__*", "mcp__mobile-mcp__*", - "Bash(git commit:*)" + "Bash(git commit:*)", + "Bash(git clone:*)", + "Bash(git fetch:*)", + "Bash(git checkout:*)", + "Bash(git rebase:*)", + "Bash(git push:*)", + "Bash(git pull:*)", + "Bash(git log:*)", + "Bash(git diff:*)", + "Bash(git status:*)", + "Bash(git branch:*)", + "Bash(curl -s:*)", + "Bash(python3 -c:*)", + "Bash(cat /home/cal/.claude/secrets:*)", + "Bash(sleep:*)", + "Bash(tea:*)", + "Bash(python -m pytest:*)", + "Bash(python3 -m pytest:*)", + "Bash(cd /mnt/NV2:*)", + "Bash(npm:*)", + "Bash(cd /tmp:*)", + "Bash(cd /mnt/NV2/Development:*)" ], "deny": [ "Bash(rm -rf /)", @@ -60,7 +81,14 @@ "ux-researcher@codex-agents": true, "skill-codex@skill-codex": true, "sre-engineer@codex-agents": true, - "superpowers@claude-plugins-official": true + "superpowers@claude-plugins-official": true, + "caveman@caveman": true, + "docker-expert@codex-agents": true, + "iot-engineer@codex-agents": true, + "it-ops-orchestrator@codex-agents": true, + "network-engineer@codex-agents": true, + "security-auditor@codex-agents": true, + "security-engineer@codex-agents": true }, "extraKnownMarketplaces": { "agent-toolkit": { @@ -89,6 +117,13 @@ "source": "github", "repo": "skills-directory/skill-codex" } + }, + "caveman": { + "source": { + "source": "github", + "repo": "JuliusBrussee/caveman" + }, + "autoUpdate": true } }, "autoUpdatesChannel": "latest",