Expand description
§ironflow-templates
Template system for the ironflow workflow engine, inspired by shadcn/ui.
Templates are workflow handlers hosted in external Git repositories.
Instead of installing them as dependencies, ironflow-cli template add
copies the source files directly into your project – you own the code
and can customize it freely.
§Template format
A template repository contains one or more template directories, each
with a template.toml manifest and a src/ folder:
my-templates/
ci-pipeline/
template.toml
src/
ci_pipeline.rs
code-review/
template.toml
src/
code_review.rsA repository dedicated to one template can keep template.toml and
src/ at its root instead:
gitlab-mr-review/
template.toml
src/
mod.rstemplate.toml may also declare a [requirements] section (environment
variables, workflow secrets, tools expected in the runner image, notes),
printed after installation.
§Quick start
use std::path::Path;
use ironflow_templates::registry::discover_templates;
let templates = discover_templates(Path::new("./my-templates"))?;
for (name, (manifest, _dir)) in &templates {
println!("{name}: {}", manifest.template.description);
}Modules§
- auto_
register - Auto-registration of installed template handlers.
- deps
- Dependency injection and version validation for template installation.
- error
- Error types for the template system.
- fetch
- Fetch template repositories from Git.
- install
- Install a template into the user’s project.
- lockfile
- Lockfile tracking for installed templates (
.ironflow-templates.lock). - manifest
- Template manifest parsing (
template.toml). - registry
- Template discovery from a local directory and remote registry.