sindri-extension-guide
Guide for creating and managing Sindri declarative YAML extensions, including capabilities for project-init, auth, lifecycle hooks, and MCP integration.
Introduction
This skill acts as an authoritative assistant for developers building declarative extensions for the Sindri cloud development environment system. It streamlines the lifecycle of extension creation, validation, and registry maintenance. Whether you are defining core system components, programming runtimes like Node.js or Python, or complex infrastructure tools, this guide ensures your YAML definitions adhere to the correct schema and architectural requirements. It is designed for engineers and platform architects who need to provision consistent, reproducible development environments across diverse cloud providers, including local Docker, Fly.io, and Kubernetes-based workflows via DevPod.
The assistant provides deep technical insight into the Sindri extension architecture, including the recently added capabilities system. This allows for advanced integration scenarios such as project initialization (project-init), multi-method authentication (API key and CLI auth), lifecycle hooks for pre/post-install operations, and registration of Model Context Protocol (MCP) servers. By following this guide, users can ensure their extensions are properly categorized, documented within the catalog, and validated against the repository's strict schema standards.
-
Expert guidance on extension.yaml structure, metadata definition, and dependency management.
-
Workflow automation for extension creation and documentation updates using dedicated slash commands.
-
Deep integration instructions for mise, apt, and binary-based installation methods.
-
Technical support for implementing advanced extension capabilities like lifecycle hooks and MCP.
-
Schema validation and registry update protocols for project-wide consistency.
-
Always follow the recommended directory structure (v2/docker/lib/extensions/{name}/) for portability.
-
Utilize slash commands like /extension/new and /extension/update-docs to maintain sync between code and documentation.
-
Distinguish clearly between standard extensions and those requiring the optional capabilities system.
-
Ensure all new extensions are registered in the master registry.yaml and categorized correctly to facilitate discovery.
-
Inputs typically include extension metadata, configuration requirements, and installation scripts, resulting in fully validated, deployable environment modules.
Repository Stats
- Stars
- 12
- Forks
- 6
- Open Issues
- 15
- Language
- Makefile
- Default Branch
- main
- Sync Status
- Idle
- Last Synced
- May 3, 2026, 06:24 PM