Official starter templates for Zelos extensions. Templates are consumed by the zelos CLI, which uses a MiniJinja engine to render project files.
| Template | Type | Stack | Description |
|---|---|---|---|
agent/python |
Agent | Python | Python agent extension with data streaming, actions, and configuration |
app/react |
App | React + Vite | React web app extension with the Zelos app extension SDK |
# Create an agent extension
zelos extensions create my-sensor --type agent
# Create an app extension
zelos extensions create my-dashboard --type appThe CLI prompts for variables defined in each template's template.toml, renders the project, installs dependencies, and initializes a git repository.
zelos-extension-templates/
├── agent/python/
│ ├── template.toml # Variables, includes, dir_renames
│ └── template/ # Project files (MiniJinja expressions)
├── app/react/
│ ├── template.toml
│ └── template/
└── .github/workflows/ # CI validates both templates
Each template has:
template.toml— declares variables (name, prompt, default, pattern), substitution includes, and optional directory renamestemplate/— the project skeleton; files listed in[template.substitution].includeare rendered through MiniJinja, all others are copied as-is
CI renders each template through the published Zelos CLI (the same engine users use), then runs the generated project's full check suite — lint, type-check, test, build, and package. A separate release workflow re-runs these checks on tag push and only creates the GitHub release if all pass.
See CONTRIBUTING.md for local testing, the release process, and development guidelines.