This is a Claude Code plugin marketplace. Each plugin is independent and lives in plugins/<name>/.
.claude-plugin/marketplace.json— Claude Code marketplace manifest, registers all plugins.agents/plugins/marketplace.json— Codex CLI marketplace manifest (registers motif only)plugins/claude-hud/— statusline HUD (TypeScript, needsnpm run build)plugins/motif/— 4-stage dev workflow (Research, Plan, Build, Validate); also ships a.codex-plugin/plugin.jsonfor Codex CLIplugins/helm/— autonomous session orchestrator (discovery through PR)
Each plugin has its own CLAUDE.md with plugin-specific context. Read that before making changes.
- Create the plugin directory under
plugins/<name>/ - Add
.claude-plugin/plugin.jsonwith at minimumnameandversion - Add an entry to
.claude-plugin/marketplace.jsonwithsourceset to./plugins/<name> - Run
claude plugin validate .to verify
- Each plugin manages its own version in its
plugin.json - Mirror the version in the marketplace.json plugin entry to keep them in sync
- Do not set version in both places with different values —
plugin.jsonalways wins
- Plugin names use kebab-case
- Plugin-specific gitignore rules go in the root
.gitignore - Do not add individual
marketplace.jsonfiles inside plugins — the root marketplace handles registration - Use
${CLAUDE_PLUGIN_ROOT}in hooks and MCP configs for portable paths — plugins are copied to a cache on install