A Rust library for orchestrating and chaining small automation tasks through simple declarative flows. Task-weaver helps automate repetitive command-line workflows by linking executable tasks with conditional triggers.
Add task-weaver to your Cargo.toml dependencies:
cargo add task-weaver
Or manually:
[dependencies]
task-weaver = "0.1.0"
tasks:
- name: "fetch-data"
command: "curl https://api.example.com/data.json"
on_success: "process-data"
- name: "process-data"
command: "python process.py"
run_if: "fetch-data.output contains 'success'"
parallel: true
use task_weaver::TaskFlow;
let config = std::fs::read_to_string("flow.yaml")?;
let flow: TaskFlow = serde_yaml::from_str(&config)?;
flow.execute()?;- Declarative task configuration (YAML)
- Conditional triggers (
run_if) for flexible flows - Parallel and sequential execution modes
MIT