Reproducible AI Workflows for Research & Development
Version 0.5.0 (pre-release) · Documentation · GitHub
- 🎯 Git-like Discovery: Run from anywhere in your project tree. WireFlow walks up to find
.workflow/automatically. - 📄 Native Documents: PDFs, Office files, images (including HEIC, TIFF, SVG) handled natively with automatic conversion.
- 🧠 Model Profiles: Switch between
fast,balanced, anddeepreasoning. Enable extended thinking for complex tasks. - 📦 Batch Processing: Process hundreds of documents at 50% cost savings with the Message Batches API.
- 🔧 Config Cascade: Global → project → workflow → CLI. Set once, override where needed.
- 🏗️ Nested Projects: Inherit settings from parent projects. Perfect for monorepos.
- 🔗 Workflow Chains: Build pipelines with
--depends-on. Outputs feed into dependent workflows. - 📥 Input vs Context: Separate primary documents from supporting materials for cleaner prompts.
- 💰 90% Cache Savings: Smart prompt caching puts stable content first. Pay less for repeated runs.
- 📚 Citations: Enable source attribution with
--enable-citations. Get references you can verify. - ⚡ Three Modes: Persistent workflows for iteration, quick
taskmode for one-offs, orbatchfor bulk processing. - 💾 Safe Outputs: Timestamped backups, hardlinked copies, atomic writes. Never lose work.
First, clone the repo and then link the script into your PATH. For example:
# Clone repository
git clone https://github.com/jdmonaco/wireflow.git
cd wireflow
# Add to PATH (example using ~/.local/bin)
ln -s "$(pwd)/wireflow.sh" ~/.local/bin/wfwexport ANTHROPIC_API_KEY="sk-ant-..."
export PATH="$HOME/.local/bin:$PATH"# Initialize project
cd my-project
wfw init .
# Create workflow
wfw new analyze-data
# Edit workflow config
wfw edit analyze-data
# Run with context
wfw run analyze-data -cx data.csv --streamYour project files and folders are treated as read-only. All WireFlow files are maintained in a .workflow/ subfolder.
📚 Complete documentation: https://docs.joemona.co/wireflow/
- Installation Guide: Detailed setup instructions
- Quick Start Guide: Get running in 5 minutes
- User Guide: Complete usage documentation
- CLI Reference: All commands and options
- Troubleshooting: Common issues and solutions
Persistent, named tasks with configuration and outputs:
wfw new 01-analysis
wfw run 01-analysis --streamLightweight, one-off execution without persistence:
wfw task -i "Summarize these notes" -cx notes.mdChain workflows to build pipelines:
wfw run 02-report --depends-on 01-analysis --streamMulti-tier cascade with pass-through:
Global (~/.config/wireflow/config)
↓
Ancestor Projects (grandparent → parent)
↓
Project (.workflow/config)
↓
Workflow (.workflow/run/<name>/config)
↓
CLI Flags (--model, --temperature, etc.)
wfw init my-analysis
wfw new analyze-data
wfw run analyze-data -cx data.csv --streamwfw run 00-context --stream
wfw run 01-outline --depends-on 00-context --stream
wfw run 02-draft --depends-on 00-context,01-outline --streamwfw task -i "Extract action items" -cx meeting-notes.md- Bash 4.0+
curlandjq- Anthropic API key (get one here)
Auto-created on first use at ~/.config/wireflow/:
config- Global defaults for all projectsprompts/base.txt- Default system prompttasks/- Named task templates (optional)
Created by wfw init:
.workflow/config- Project-level settings.workflow/project.txt- Project description (optional).workflow/run/<name>/- Individual workflows
wfw help # Show all subcommands
wfw help <subcommand> # Detailed subcommand help
wfw <subcommand> -h # Quick helpContributions welcome! See the Developer Guide for guidelines.
MIT License - see LICENSE for details.
- GitHub: https://github.com/jdmonaco/wireflow
- Issues: GitHub Issues
- Anthropic API: https://docs.anthropic.com/
- Technical Details: CLAUDE.md
Made with Claude Code