Skip to main content
Depending on your project status, choose the path that fits you best. Path A: Start a new project
charm init my-agent --template python
cd my-agent
For an OpenClaw-heavy starter, use charm init my-agent --template openclaw instead. Path B: Create the file manually
  1. Create a file named charm.yaml in your project root
The charm.yaml file must always be at the root level of your project

my-agent/             <-- Project Root
├── charm.yaml        <-- The Manifest
├── pyproject.toml / requirements.txt / package.json   <-- Dependencies
└── src/
    └── main.py       <-- Your Agent Logic
  1. Copy the Annotated Reference below for use in your configuration
  2. Update the field with your existing agent project

IDE Setup

By configuring your editor, you get auto-completion and error checking. This is crucial for avoiding typos.
  1. Create .vscode/settings.json in your project root.
{
  "yaml.schemas": {
    "https://raw.githubusercontent.com/CharmAIOS/Charm/main/src/charm/contracts/uac.v0.4.2.schema.json": "charm.yaml"
  }
}
For a complete schema definition and all available fields, please consult the Manifest Reference.