feat: add external-source plugins for third-party caveman/ponytail
Generate plugin manifests / validate (pull_request) Successful in 16s
Generate plugin manifests / generate (pull_request) Skipped

Lets a plugin.json declare an `external` target->source map instead of
carrying local content, so the generator emits that Claude Code
marketplace source (e.g. a GitHub repo) verbatim rather than a local
dist path. Adds caveman and ponytail as external entries, installed
straight from their upstream repos with nothing vendored or copied.
Claude Code-only for now — agy has no equivalent external-source
mechanism, and both plugins' hooks/MCP assume Claude Code's runtime.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014YVWWAnvR5TDQzmfY3RXG9
This commit is contained in:
2026-08-24 20:47:13 -04:00
co-authored by Claude Sonnet 5
parent c6f40bcf6b
commit 37d6783ea4
5 changed files with 157 additions and 3 deletions
+13
View File
@@ -0,0 +1,13 @@
{
"name": "caveman",
"description": "Ultra-compressed communication mode from JuliusBrussee/caveman — cuts output tokens while keeping full technical accuracy. Installed straight from the upstream repo, not vendored here.",
"version": "1.0.0",
"author": "Rootiest",
"targets": ["claude-code"],
"external": {
"claude-code": {
"source": "github",
"repo": "JuliusBrussee/caveman"
}
}
}
+13
View File
@@ -0,0 +1,13 @@
{
"name": "ponytail",
"description": "Lazy senior dev mode from DietrichGebert/ponytail — forces the simplest, shortest solution that actually works (YAGNI, stdlib first, no unrequested abstractions). Installed straight from the upstream repo, not vendored here.",
"version": "1.0.0",
"author": "Rootiest",
"targets": ["claude-code"],
"external": {
"claude-code": {
"source": "github",
"repo": "DietrichGebert/ponytail"
}
}
}