Add A Plugin - alexherrero/crickets GitHub Wiki
Note
Goal: You will add a new plugin to crickets. A plugin is a functional group. You will create the group.yaml and its primitives. You will regenerate them. You will dogfood them.
Prereqs: You need crickets cloned. You need Python 3 and PyYAML. You need claude and/or agy.
A crickets plugin is a group folder under src/<group>/. The folder name is the plugin slug. See Plugin anatomy for the shape it generates into.
-
Create the group at
src/<group>/. The<group>is the kebab-case slug. Create agroup.yaml:name: My Plugin description: One line — what the plugin does. category: Coding standalone: true # true ⟺ requires: [] # requires: [development-lifecycle] # a hard dependency (then standalone: false) # enhances: [development-lifecycle] # soft — augments the target when both are installed
The field contract lives in Manifest schema. This includes the
standalone ⟺ requires: []invariant. -
Add its primitives under their kind subdirs. Use
skills/<name>/SKILL.md,agents/<name>.md,commands/<name>.md, andhooks/<name>/. Each primitive carries its own frontmatter. Read add a skill for a walk-through. Put your group-wide helper script insrc/<group>/scripts/. -
Lint + regenerate:
python3 scripts/lint_src.py python3 scripts/generate.py build
The generator emits
dist/<host>/plugins/<group>/for both hosts. It updates the marketplace pointer. -
Dogfood — install the generated plugin on a host. Run
claude --plugin-dir dist/claude-code/plugins/<group>oragy plugin install "$PWD/dist/antigravity/plugins/<group>". Exercise it. See Modify a plugin. -
Commit the source and
dist/together. The pre-push PII hook scans your commit first.
- Plugin anatomy — Learn what a plugin is. Learn how it is structured.
- Add a skill — Author the primitives for your group.
-
Manifest schema — Read about the
group.yamland primitive frontmatter. - Modify a plugin — Follow the edit, generate, and dogfood loop.