Documentation Index
Fetch the complete documentation index at: https://docs.charmos.io/llms.txt
Use this file to discover all available pages before exploring further.
Community Templates
Charm’s CLI scaffold system (charm init) is completely decoupled from the SDK’s release cycle. This means the community can easily contribute new agent templates, and they will be instantly available to all developers worldwide without requiring an SDK update.
How it works
When you runcharm init, the CLI fetches the latest templates-manifest.json from the main branch of the Charm repository. This JSON file acts as a central registry containing all the files and configurations for every template.
Contributing a Template
If you have built an excellent starter template (e.g., a “Sales Agent” or “Next.js Integration Agent”), you can share it by submitting a Pull Request to the Charm GitHub repository. You do not need to write any Python code to add a template!Step 1: Prepare your JSON entry
Create a JSON object that describes your template and contains all the initial files you want to scaffold. Here is the schema for a single template entry:- The
idmust be unique and usekebab-case. This is the ID users will type incharm init --template <id>. - Keep the
descriptionconcise (under 60 characters). - Include
charm.yamland.charmignorein thefilesarray. The CLI will automatically inject the user’s chosen agent name intocharm.yaml. - Ensure your file
contentstrings are properly escaped (e.g., escaping newlines as\nand quotes as\").
Step 2: Submit a Pull Request
- Fork the CharmAIOS/Charm repository.
- Edit the
templates-manifest.jsonfile in the root directory. - Append your new template object to the
templatesarray. - Submit a Pull Request.
main, your template will immediately be live! Anyone running charm init will see your template in the interactive menu.