-
Notifications
You must be signed in to change notification settings - Fork 0
Per Host Paths
crickets generates native host plugins from src/<group>/ into committed dist/<host>/plugins/<group>/ (the source → generator model). Each primitive kind lands at a host-specific path inside that plugin, and the host's plugin manager installs the whole plugin (claude plugin install / agy plugin install <path>) — nothing is copied into .claude/ or the project tree. This page is the kind → in-plugin path lookup, per host.
Paths are relative to the plugin root, dist/<host>/plugins/<group>/.
| Kind | Claude Code | Antigravity |
|---|---|---|
skill |
skills/<name>/SKILL.md |
skills/<name>/SKILL.md |
agent |
agents/<name>.md |
agents/<name>.md |
command |
commands/<name>.md |
commands/<name>.md |
hook |
hooks/hooks.json + hooks/<name>/
|
hooks.json (plugin root) + hooks/<name>/
|
snippet |
— dropped (no instruction-file primitive) | rules/<name>.md |
| plugin manifest | .claude-plugin/plugin.json |
plugin.json (plugin root) |
scripts/ (group asset) |
scripts/<name> |
scripts/<name> |
See Hooks for what each hooks/<name>/ dir contains and how hooks run from the plugin.
-
Plugin manifest. Claude Code reads
.claude-plugin/plugin.json; Antigravity readsplugin.jsonat the plugin root. -
Hook manifest. Claude wraps the hook records in
hooks/hooks.json; Antigravity keys them inhooks.jsonat the plugin root. (Antigravity runs plugin hooks observe-only — see Compatibility.) -
Snippets. Antigravity ships instruction files, so a
snippetemits torules/<name>.md; Claude Code has no instruction-file primitive in the plugin surface, so snippets are dropped (the generator logs each drop). -
Marketplace pointer (repo root, for
<host> plugin marketplace add): Claude.claude-plugin/marketplace.json; Antigravity.agents/plugins/marketplace.json. -
MCP servers. No
mcp-serverprimitive ships today (reserved-unused), but the host shapes differ when one lands: Claude Code reads.mcp.json(or inline config); Antigravity readsmcp_config.jsonwith aserverUrl, strict JSON, and notimeoutfield.
The generator mirrors the source layout. A skill authored at src/<group>/skills/<name>/SKILL.md emits to dist/<host>/plugins/<group>/skills/<name>/SKILL.md for each host in its supported_hosts; agents, commands, hooks, and snippets follow the same src/<group>/<kind-dir>/… → in-plugin-path rule. A group's scripts/ dir copies wholesale to the plugin. Run python3 scripts/generate.py build after editing src/ — see Modify a plugin.
Paths are relative to the plugin root, dist/<host>/plugins/<group>/.
| Kind | Claude Code | Antigravity |
|---|---|---|
output-style |
output-styles/<name>.md |
output-styles/<name>.md |
rule |
rules/<name>.md |
rules/<name>.md |
These two ship as of v3.13–3.14 (developer-workflows ships terse and edit-over-write). The kind enum also allows mcp-server, status-line, workflow, and settings-fragment, but no primitive uses them today. The full enum lives in Manifest Schema.
- Plugin anatomy — what a plugin is + its overall structure.
- Customization Types — what each kind means.
-
Manifest Schema — the frontmatter +
group.yamlcontract. -
Modify a plugin — edit
src/, regenerate, dogfood. - Install crickets plugins — how the host installs a plugin.
🔧 How-to
- Plugin anatomy
- Repo layout
- Compatibility
- CI gates
- Troubleshooting
- Customization Types
- Manifest Schema
- Per-Host Paths
- Hooks
- Evaluator
- Antigravity Limitations
- Wiki Watch Config
- Style-learning loop
- Modify a plugin
- Add a skill
- Add a plugin
- Named plans
- Coordinator roles (pending)
- Obsidian vault backend (pending)
- GitHub Projects
- Testing Conventions
- Releasing Conventions
- Design Docs