Welcome to FlowForge, your terminal-first, Claude-powered automation engine built on top of n8n with a comprehensive shell script API.
This guide walks you through setup, configuration, and usage to get you from zero to automated workflows in minutes.
Before starting, ensure you have these system requirements:
- Ubuntu on WSL2 or native Ubuntu Linux
- Node.js (v16+) - recommend using
nvmfor version management - npm (v8 or later)
- Git for cloning the repository
- jq for JSON processing
- bash (v4+)
- Claude Code CLI - Install globally:
npm install -g @anthropic-ai/claude-code
- n8n - Will be installed automatically during setup
- GitHub CLI - For repository operations
- Docker Desktop - If you prefer containerized n8n
git clone https://github.com/charleslbryant/flowforge.git
cd flowforge
make installgit clone https://github.com/charleslbryant/flowforge.git
cd flowforge
scripts/forge install-
📦 Package Installation
- Installs n8n, Claude Code, and dependencies
- Sets up ajv-cli for JSON schema validation
-
🚀 n8n Startup
- Starts n8n on localhost:5678
- Creates log files for monitoring
-
🔐 API Key Setup
- Opens n8n settings page in your browser
- Guides you through API key generation
- Configures shell script authentication
-
✅ Validation
- Tests API connection
- Verifies all components are working
scripts/forge doctorThis runs a comprehensive health check and shows any issues.
scripts/forge healthVerifies n8n is running and API is accessible.
scripts/n8n-api.sh help
scripts/n8n-help.shShows all available API operations and examples.
make demoGenerates and tests a sample workflow to verify everything works.
FlowForge provides several shell scripts for different purposes:
Main CLI tool for managing the FlowForge environment:
scripts/forge start # Start n8n in background
scripts/forge stop # Stop n8n process
scripts/forge restart # Restart n8n
scripts/forge health # Check n8n status and API
scripts/forge doctor # Full system diagnostic
scripts/forge validate # Validate workflow JSON
scripts/forge format # Format workflow JSONComplete n8n API wrapper for all workflow operations:
# Workflow CRUD
scripts/n8n-api.sh list-workflows
scripts/n8n-api.sh create-workflow workflow.json
scripts/n8n-api.sh get-workflow [workflow-id]
scripts/n8n-api.sh update-workflow [id] workflow.json
scripts/n8n-api.sh delete-workflow [workflow-id]
# Workflow Control
scripts/n8n-api.sh activate-workflow [workflow-id]
scripts/n8n-api.sh deactivate-workflow [workflow-id]
# Execution Monitoring
scripts/n8n-api.sh list-executions [workflow-id]
scripts/n8n-api.sh get-execution [execution-id]
# Credential Management
scripts/n8n-api.sh list-credentials
scripts/n8n-api.sh create-credential credential.json
scripts/n8n-api.sh test-credential [credential-id]Displays comprehensive usage examples and common patterns.
Tests API connectivity and authentication.
- Start Claude Code in your FlowForge directory
- Ask Claude to create a workflow, for example:
Create an n8n workflow that fetches weather data for Jacksonville, FL and sends a Slack message if rain is expected. Save it as weather-alert.json - Deploy the workflow:
scripts/n8n-api.sh create-workflow weather-alert.json scripts/n8n-api.sh activate-workflow [returned-workflow-id]
- Create a workflow JSON file (see
sample-workflow.jsonfor template) - Validate the JSON:
scripts/forge validate
- Deploy to n8n:
scripts/n8n-api.sh create-workflow my-workflow.json
- Create workflow in n8n web interface (http://localhost:5678)
- Export and manage via API:
scripts/n8n-api.sh list-workflows scripts/n8n-api.sh get-workflow [workflow-id] > exported-workflow.json
scripts/n8n-api.sh list-workflows | jq '.data[] | {id, name, active}'scripts/n8n-api.sh list-executions [workflow-id] | jq '.data[0:5]'scripts/test-api.sh # Test API connection
scripts/forge health # Check n8n status
tail -f ~/n8n.log # View n8n logsscripts/forge validate # Check against n8n schema
scripts/forge format # Fix JSON formatting
jq . workflow.json # Validate JSON syntaxFlowForge uses these environment variables:
N8N_API_KEY- Your n8n API key (set automatically during install)N8N_PORT- n8n port (default: 5678)N8N_HOST- n8n host URL (default: http://localhost:5678)
For advanced operations not covered by the wrapper:
scripts/n8n-api.sh raw GET "workflows/[id]/executions"
scripts/n8n-api.sh raw POST "credentials" '{"name":"my-cred","type":"httpBasicAuth"}'The API scripts are located in scripts/ and can be customized:
- Modify
scripts/n8n-api.shto add new API operations - Update
scripts/forgeto add new system management commands - Extend
scripts/n8n-help.shwith custom examples
"n8n process not found"
scripts/forge start
scripts/forge doctor"API key invalid or expired"
# Generate new key at http://localhost:5678/settings/api
export N8N_API_KEY="your-new-key"
echo 'export N8N_API_KEY="your-new-key"' >> ~/.bashrc
scripts/test-api.sh"Workflow validation failed"
scripts/forge validate # Check schema errors
scripts/forge format # Fix JSON formatting
jq . workflow.json # Check JSON syntax"Connection refused"
scripts/forge health # Check if n8n is running
scripts/forge restart # Restart n8n
ps aux | grep n8n # Check process status- Run
scripts/forge doctorfor comprehensive diagnostics - Check
scripts/n8n-help.shfor API usage examples - View n8n logs:
tail -f ~/n8n.log - Consult CLAUDE.md for Claude Code integration details
Once you have FlowForge running:
- Explore the API with
scripts/n8n-help.sh - Create your first automation using Claude Code
- Set up credentials for external services (Slack, APIs, etc.)
- Build complex workflows with multiple nodes and logic
- Monitor executions and optimize performance
Happy automating! 🚀
Need help? Check our troubleshooting guide or open an issue on GitHub.