Skip to content

Local automation. Zero cloud. Full control.

License

Notifications You must be signed in to change notification settings

OffLine911/ForgeFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

38 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

ForgeFlow

Local automation. Zero cloud. Full control.

ForgeFlow is a privacy-first desktop automation engine that lets you build visual automations, run AI-powered actions, and keep your data 100% on-device.

ForgeFlow Screenshot ForgeFlow Screenshot

✨ Features

  • 🎨 Visual Automation Builder - Node-based editor like n8n, with drag & drop
  • πŸ€– AI-Native - First-class AI actions (summarize, classify, extract, generate)
  • πŸ”’ Privacy-First - All data stays local, no cloud required
  • ⚑ Fast & Lightweight - Built with Go + React, minimal resource usage
  • πŸŒ™ Dark Mode - Beautiful dark UI by default
  • 🌍 Community Templates - Browse and share workflows at ForgeFlow-community

πŸš€ Quick Start

Prerequisites

Development

# Clone the repo
git clone https://github.com/YOUR_USERNAME/ForgeFlow.git
cd ForgeFlow

# Run in development mode (hot reload)
wails dev

# Frontend only development
cd frontend && npm run dev

# Type check frontend
cd frontend && npx tsc --noEmit

# Go build check
go build

Build

# Build production binary
wails build

# Frontend build only
cd frontend && npm run build

The binary will be in build/bin/.

Version Management

To update the app version:

  1. Edit version.json and change the version number
  2. Run node scripts/sync-version.js

This automatically updates:

  • wails.json (productVersion)
  • frontend/package.json (version)
  • app.go (version string)
  • build/splash.html (version display)
  • frontend/src/version.ts (auto-generated constant for React components)

🧩 Node Types

Triggers

  • Manual - Button press to start workflow
  • Schedule - Cron or interval-based execution
  • Webhook - HTTP receiver endpoint
  • File Watcher - React to file system changes
  • Clipboard - Monitor clipboard changes
  • Hotkey - Global keyboard shortcuts
  • Startup - Run on app launch
  • Telegram - Telegram bot integration

Actions

  • File Operations - Read, write, append, copy, move, delete, list, get info
  • HTTP Request - GET, POST, PUT, DELETE with headers and body
  • Shell/Script - Run commands with arguments and working directory
  • Desktop Notifications - Windows toast notifications (macOS planned)
  • Zip - Compress and extract archives
  • Excel - Write to Excel files

Conditions

  • If/Else - Conditional branching
  • Switch - Multi-way branching
  • Filter - Filter arrays/objects
  • Type Check - Validate data types
  • isEmpty - Check for empty values

Loops

  • forEach - Iterate over arrays
  • Repeat - Execute N times
  • While - Loop with condition

Utilities

  • JSON - Parse and stringify
  • Regex - Pattern matching
  • Math - Mathematical operations
  • CSV - Parse and generate CSV
  • Date/Time - Date manipulation
  • Variables - Store and retrieve data with {{template}} syntax
  • Error Handling - Try/catch with continueOnError

AI Actions

  • Ollama - Local LLM integration (auto-detect models)
  • OpenAI - GPT models via API
  • Groq - Fast inference API
  • OpenRouter - Multi-provider AI gateway
  • Summarize - AI-powered summaries
  • Classify - Categorize content
  • Extract - Pull out entities/data
  • Rewrite - Transform text
  • Generate - Create new content
  • Custom Prompt - Your own AI prompts

πŸ› οΈ Tech Stack

Component Technology
Framework Wails v2
Backend Go 1.21+
Frontend React 19 + TypeScript 5.8
Styling Tailwind CSS v4
Build Vite 7
Node Editor @xyflow/react v12
State Zustand
Icons Lucide React

πŸ“ Project Structure

ForgeFlow/
β”œβ”€β”€ frontend/                 # React frontend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”‚   β”œβ”€β”€ flow/        # Flow editor components
β”‚   β”‚   β”‚   β”œβ”€β”€ layout/      # Layout components (Header, Sidebar, StatusBar)
β”‚   β”‚   β”‚   └── ui/          # Reusable UI components & specialized fields
β”‚   β”‚   β”œβ”€β”€ stores/          # Zustand stores (flow, execution, settings, etc.)
β”‚   β”‚   β”œβ”€β”€ types/           # TypeScript types
β”‚   β”‚   β”œβ”€β”€ nodes/           # Node definitions
β”‚   β”‚   β”œβ”€β”€ handlers/        # Node execution handlers
β”‚   β”‚   β”œβ”€β”€ executor/        # Workflow execution engine
β”‚   β”‚   └── data/templates/  # Workflow templates
β”‚   └── wailsjs/             # Auto-generated Wails bindings
β”œβ”€β”€ build/                    # Wails build assets
β”œβ”€β”€ main.go                   # Wails app entry point
β”œβ”€β”€ app.go                    # App service (dialogs, utils)
β”œβ”€β”€ engine.go                 # Automation execution engine
β”œβ”€β”€ storage.go                # Flow persistence service
β”œβ”€β”€ actions.go                # Platform-specific actions
└── excel.go                  # Excel file operations

πŸ—ΊοΈ Roadmap

βœ… Completed

  • Core execution engine with node-by-node visual feedback
  • Visual node-based automation builder (drag & drop + click-to-add)
  • Run/Stop workflow execution with real-time status
  • Node status indicators (running/success/error with glow effects)
  • Node settings panel (right sidebar configuration)
  • Custom frameless titlebar with window controls
  • Execution history with detailed node-level results
  • Import/Export workflows as JSON (with drag-and-drop)
  • Auto-layout algorithm for organizing workflows
  • MiniMap with category-based coloring
  • Local file persistence
  • Specialized input fields (cron, hotkey, file picker)
  • Dark mode UI
  • HTTP Request action (GET, POST, PUT, DELETE with headers/body)
  • Shell/Script execution (run commands with args and working dir)
  • File operations (read, write, append, copy, move, delete, list, info)
  • Triggers (manual, schedule/cron, webhook, file watcher, clipboard, hotkey, startup, Telegram)
  • Data utilities (JSON parse/stringify, regex, math, CSV, date/time)
  • Zip compress/extract
  • Excel write support
  • Desktop notifications (Windows toast notifications)
  • Conditional nodes (if/else, switch, filter, type check, isEmpty)
  • Loop nodes (forEach, repeat, while)
  • Error handling (try/catch node with continueOnError)
  • Variables with template syntax ({{variable}})
  • Flow templates library

βœ… Recently Added

  • Ollama integration (local LLM support, auto-detect models)
  • OpenAI/Groq/OpenRouter API integration
  • Background trigger activation (auto-start on app launch)
  • Undo/Redo (Ctrl+Z / Ctrl+Y) with 50-step history
  • Copy/Paste nodes (Ctrl+C / Ctrl+V)
  • Community Templates (fetch & import from GitHub - submit yours here)
  • Custom Node Builder (create your own nodes with shell/HTTP/JavaScript)

πŸ“‹ Planned

  • System tray with background running
  • SQLite storage (currently using JSON files)
  • More AI providers
  • Plugin system for custom integrations

πŸ“„ License

MIT License - see LICENSE for details.


Built with ❀️ for privacy-conscious automation enthusiasts.