Switch active AI tool.
mai use claudeTools: claude, cursor, windsurf, qwen
Install a pack.
# Local installation (default, stored in .mai/)
mai install my-pack
mai install my-pack@1.2.3
# Global installation (user-wide, stored in XDG dirs)
mai install -g my-pack
mai install --global my-pack
# With metadata
mai install my-pack --description "Desc" --source "https://..."Options:
-g, --global— Install globally (user-wide) instead of locally (project-specific)--description <DESC>— Pack description--source <URL>— Pack source URL
Version formats: latest, 1.2.3, ^1.2.3, ~1.2.3, >=1.0.0, <2.0.0
Pack formats:
name— Default type (skill)type/name— Explicit type (skill/, command/, mcp/)name@version— With versiontype/name@version— Full format
List installed packs.
# List packs for active tool
mai list
# List packs for specific tool
mai list --tool claude
# List all packs (all tools)
mai list --all
# List only global packs
mai list --global
# List only local packs
mai list --localOptions:
-t, --tool <TOOL>— Filter by tool name-a, --all— List all tools--global— List only global packs--local— List only local packs
Output format: [scope] name version (type) - description
Remove a pack.
# Remove local pack (default)
mai remove my-pack
# Remove global pack
mai remove -g my-pack
mai remove --global my-packOptions:
-g, --global— Remove from global installation-t, --tool <TOOL>— Tool to remove from (uses active tool if not specified)
Update a pack.
# Update local pack
mai update my-pack
mai update my-pack@2.0.0
# Update global pack
mai update -g my-pack
mai update --global --latest my-packOptions:
-g, --global— Update global installation-t, --tool <TOOL>— Tool to update for--latest— Update to latest version
Initialize a new mai project. Creates mai.toml in current directory.
mai initCreates: mai.toml (project manifest)
Sync project packs with global registry. Generates mai.lock.
mai syncRequires: mai.toml
Creates: mai.lock (pinned versions + hashes)
Verify lock file integrity. Checks all locked packs exist and hashes match.
mai checkRequires: mai.lock
Exit codes: 0 (valid), 1 (integrity failure)
Generate shell completions.
mai completions bash > ~/.local/share/bash-completion/completions/mai
mai completions zsh > ~/.zfunc/_mai
mai completions fish > ~/.config/fish/completions/mai.fishShells: bash, zsh, fish
mai supports two installation scopes:
- Stored in:
.mai/(project root) - Use for: Project-specific dependencies
- Priority: Checked first during resolution
- Stored in: XDG directories or
~/.mai/fallback - Use for: User-wide tools, common skills
- Priority: Checked after local
- skill — AI agent skills and capabilities
- command — CLI tools for AI assistants
- mcp — Model Context Protocol connectors