> ## 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.

# Starter Templates

Templates are starter projects that give you a working `charm.yaml`, source file, and dependency setup for a common agent pattern.

Use a template when you want to start from a known runtime shape instead of wiring a manifest from scratch.

## Create from a Template

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
charm init my-agent --template python
```

Then run:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
cd my-agent
charm validate .
charm run . --input "Hello"
```

## Template Categories

The first seven rows are **CLI scaffolding templates**: use `charm init <dir> --template <id>` with the exact IDs in each linked page (for example `research-agent`, not `research`). Run `charm init --help` or `charm init . --interactive` to see all IDs.

The last three rows are **configuration guides** for common lifecycles and OAuth. They are not separate `charm init` template names—start from any scaffold above and adjust `charm.yaml`.

| Template                                              | Best For                                  | Runtime Shape                        |
| ----------------------------------------------------- | ----------------------------------------- | ------------------------------------ |
| [Python Agent](/templates/python)                     | Minimal custom Python agents              | Serverless                           |
| [Research Agent](/templates/research)                 | Topic research and synthesis              | Serverless                           |
| [Code Review Agent](/templates/code-review)           | Developer workflow automation             | Serverless                           |
| [Customer Support Agent](/templates/customer-support) | Support triage and response drafting      | Daemon                               |
| [Data Pipeline Agent](/templates/data-pipeline)       | Structured processing and data workflows  | Serverless                           |
| [Slack Bot](/templates/slack-bot)                     | Chat and workspace automation             | Daemon or integration-oriented       |
| [OpenClaw Skill Agent](/templates/openclaw)           | Browser/tools-heavy agent execution       | Full runtime                         |
| [Interactive Agent](/templates/interactive)           | Real-time chat and streaming              | Interactive                          |
| [Daemon Agent](/templates/daemon)                     | Always-on background agents               | Daemon                               |
| [OAuth integration](/templates/oauth-integration)     | Agents requiring user-authorized accounts | Any lifecycle (via `auth.providers`) |

## Choosing a Template

* Choose **Python** first if you are learning Charm.
* Choose **OpenClaw** when the agent needs tool-rich browser or desktop-style automation.
* Read the **Interactive**, **Daemon**, and **OAuth integration** guides when you need those runtime or auth shapes, then apply them to your manifest (possibly starting from `python`, `openclaw`, `slack-bot`, or `customer-support-agent`).

## What Every Scaffolding Template Includes

* `charm.yaml` manifest.
* Agent entry point.
* Dependency file.
* Example input schema.
* Runtime adapter configuration.

After selecting a template, review the manifest before publishing. The manifest controls how the Store renders inputs and how the runner executes your agent.
