Build Your First Plugin
This tutorial gives you the simplest first working repo on the strongest default path.
It keeps the scope intentionally narrow:
- first target:
codex-runtime - first runtime:
go - first readiness gate:
validate --strict
That narrow shape is only for the first run. If the broader multi-target model is the main thing you care about, read One Project, Multiple Targets right after this tutorial.
1. Install The CLI
brew install 777genius/homebrew-plugin-kit-ai/plugin-kit-ai
plugin-kit-ai version2. Scaffold A Project
plugin-kit-ai init my-plugin
cd my-pluginThe default init path is already the recommended production-oriented starting point.
3. Generate The Target Files
plugin-kit-ai generate .Treat generated target files as outputs. Keep editing the repo through the normal plugin-kit-ai workflow instead of hand-maintaining generated files.
4. Run The Readiness Gate
plugin-kit-ai validate . --platform codex-runtime --strictUse this as the main CI-grade gate for a local plugin project.
5. When To Switch Paths
Switch to another path only when you actually need it:
- choose
claudefor Claude plugins - choose
--runtime node --typescriptfor the main supported non-Go path - choose
--runtime pythonwhen the project stays local to the repo and your team is Python-first - choose
codex-package,gemini,opencode, orcursoronly when your delivery model really needs those targets
That does not mean the repo must stay single-target forever: start with the most important target today and add the others only when the product genuinely expands.
Next Steps
- Read Choosing Runtime before you leave the default path.
- Read One Project, Multiple Targets if the multi-target path is a core reason you care about the product.
- Use Starter Templates when you want a known-good example repo.
- Browse CLI Reference when you need exact command behavior.