Sindri Extension Guide
Sindri supports extensions for both V2 (Bash/Docker) and V3 (Rust CLI) platforms. Before proceeding with extension creation, you need to choose which platform you're targeting.
Version Differences at a Glance
Aspect V2 V3
Implementation Bash (~52K lines) Rust (~11.2K lines)
Extension Directory v2/docker/lib/extensions/
v3/extensions/
Schema Location v2/docker/lib/schemas/extension.schema.json
v3/schemas/extension.schema.json
CLI ./v2/cli/extension-manager
sindri extension
Install Methods 6 (mise, apt, binary, npm, script, hybrid) 7 (adds npm-global)
Categories 11 12 (different set)
VisionFlow Supported Not available
V2 Categories
base , agile , language , dev-tools , infrastructure , ai , database , monitoring , mobile , desktop , utilities
V3 Categories
ai-agents , ai-dev , claude , cloud , desktop , devops , documentation , languages , mcp , productivity , research , testing
When to Choose V2
-
VisionFlow workflows - vf-* extensions only available in V2
-
Proven stability - Battle-tested codebase
-
Docker-first - Deep Docker/container integration
-
Team familiar with Bash - V2 scripts are all Bash
When to Choose V3
-
New projects - Modern architecture
-
Windows support - Native Windows binaries
-
Performance - 10-50x faster CLI operations
-
Advanced collision handling - Smart merge strategies for cloned projects
-
Project-context merging - CLAUDE.md file management
Required Action: Choose Version
Before creating an extension, use AskUserQuestion to determine:
-
Which Sindri version (V2 or V3)?
-
Basic extension details (name, category, purpose)
Then delegate to the appropriate specialist skill:
-
V2: Use /extension-guide-v2 skill
-
V3: Use /extension-guide-v3 skill
Slash Commands
Command Description
/extension-guide
This router (choose version first)
/extension-guide-v2
V2-specific extension guide
/extension-guide-v3
V3-specific extension guide
Quick Decision Tree
Creating an extension? │ ├── Need VisionFlow (vf-*)? │ └── V2 only │ ├── New AI/Claude tool? │ └── V3 recommended (better categories, collision handling) │ ├── Language runtime (Node, Python, etc.)? │ └── Either works (V3 preferred for new projects) │ └── Windows support needed? └── V3 only
Shared Features (Both V2 and V3)
Both versions support the capabilities system for advanced extensions:
-
project-init - Commands to initialize projects
-
auth - API key and CLI authentication
-
hooks - Lifecycle hooks (pre/post install, pre/post project-init)
-
mcp - Model Context Protocol server registration
-
features - Feature flags for advanced functionality
Most extensions don't need capabilities - they're for extensions that manage project setup (like Claude Flow, Agentic QE, Spec-Kit).
Next Step: Ask the user which version they need, then invoke the appropriate specialist skill.