| name | meta-plugins |
| description | How the meta plugin system intercepts and enhances commands. |
Meta Plugins Skill
Meta uses a plugin system to intercept commands and provide enhanced behavior.
How Plugins Work
When you run meta <command>, meta checks if a plugin handles that command pattern:
- Plugin matches → Plugin executes with special logic
- No plugin → Shows help (use
meta exec for arbitrary commands)
Example:
meta git status → git plugin runs git status in all repos
meta git clone <url> → git plugin clones parent + all children from .meta
meta npm install → unrecognized, shows help; use meta exec npm install
Built-in Plugins
Git Plugin (meta-git)
Handles all meta git * commands with special cases:
| Command | Behavior |
|---|
meta git clone <url> | Clone parent, read .meta, clone all children |
meta git update | Clone missing repos, pull existing ones |
meta git snapshot * | Create/restore workspace state |
meta git setup-ssh | Configure SSH multiplexing |
meta git <other> | Pass through to all repos |
Project Plugin (meta-project)
Workspace management:
meta project list
meta project check
meta project sync
Rust Plugin (meta-rust)
Cargo workspace awareness:
meta rust build
meta rust test
Plugin Discovery
Plugins are discovered from:
.meta-plugins/ in current directory
~/.meta-plugins/ in home directory
- Executables named
meta-* in PATH
Plugin Management
meta plugin list
meta plugin search <query>
meta plugin install <name>
meta plugin uninstall <name>
Understanding Command Flow
meta git status
│
├─ Is there a 'git' plugin? Yes (meta-git)
│
├─ Plugin receives: command="git status", projects=[list]
│
├─ Plugin returns: ExecutionPlan with commands per repo
│
└─ Meta executes plan via loop engine
For commands with special handling (like clone), the plugin does the work directly instead of returning an execution plan.
Why This Matters
Plugins let you:
- Extend meta with domain-specific behavior
- Intercept patterns like
git clone to add meta-aware logic
- Provide help text via
meta <plugin> --help
When you see a command behave "magically" (like meta git clone cloning multiple repos), a plugin is handling it.