A Unified Engineering Platform in a Single Binary
CLI β’ TUI β’ TSDB β’ WebAssembly β’ AI
Installation β’ Quick Start β’ Documentation β’ Roadmap β’ Contributing
Forge Platform is a next-generation engineering tool that consolidates five critical capabilities into a single, portable binary:
| Component | Description | Technology |
|---|---|---|
| CLI | Powerful command-line interface | Cobra + Viper |
| TUI | Rich terminal dashboard | Bubble Tea + Lip Gloss |
| TSDB | Embedded time-series database | SQLite (WAL + UUIDv7) |
| Wasm | Secure plugin extensibility | wazero (Zero CGO) |
| AI | Local LLM integration | Ollama + LangChainGo |
- π Single Binary: No dependencies, no containers, no infrastructure
- π Local-First: Your data stays on your machine
- β‘ High Performance: SQLite TSDB with 100K+ writes/sec
- π§© Extensible: WebAssembly plugins with sandboxed execution
- π€ AI-Powered: Local LLMs for intelligent automation
- ποΈ Clean Architecture: Hexagonal design for maintainability
# Clone the repository
git clone https://github.com/forge-platform/forge.git
cd forge
# Build
make build
# Install to PATH
make install# Linux (amd64)
curl -L https://github.com/forge-platform/forge/releases/latest/download/forge-linux-amd64 -o forge
chmod +x forge && sudo mv forge /usr/local/bin/
# macOS (Apple Silicon)
curl -L https://github.com/forge-platform/forge/releases/latest/download/forge-darwin-arm64 -o forge
chmod +x forge && sudo mv forge /usr/local/bin/
# Windows (PowerShell)
Invoke-WebRequest -Uri "https://github.com/forge-platform/forge/releases/latest/download/forge-windows-amd64.exe" -OutFile "forge.exe"docker pull ghcr.io/forge-platform/forge:latest
docker run -it --rm -v ~/.forge:/home/forge/.forge forge# Initialize Forge (creates ~/.forge directory)
forge init
# Start the daemon (background service)
forge start
# Check status
forge status
# Open the Terminal UI
forge ui
# Record a metric
forge metric record cpu_usage 75.5 --tags host=server1
# Create a task
forge task create --type maintenance --payload '{"action": "cleanup"}'
# Chat with AI (requires Ollama)
forge ai chat "Analyze the last hour of metrics"
# Stop the daemon
forge stop| Document | Description |
|---|---|
| Architecture | Hexagonal architecture and design decisions |
| Development | Guide for contributors |
| Plugins | WebAssembly plugin development |
| Roadmap | Project roadmap and milestones |
Forge follows Hexagonal Architecture (Ports and Adapters) to maintain clean separation:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ADAPTERS (Drivers) β
β βββββββββββ βββββββββββ βββββββββββ βββββββββββββββββββββββ β
β β CLI β β TUI β β HTTP β β gRPC (Daemon) β β
β β (Cobra) β β(Bubble) β β (API) β β (Unix Socket) β β
β ββββββ¬βββββ ββββββ¬βββββ ββββββ¬βββββ ββββββββββββ¬βββββββββββ β
βββββββββΌβββββββββββββΌβββββββββββββΌβββββββββββββββββββΌβββββββββββββ
β β β β
βΌ βΌ βΌ βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β PORTS (Interfaces) β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββββββββββ β
β β TaskRepositoryβ βMetricRepositoryβ β WasmRuntime β β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β β β
βΌ βΌ βΌ βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β DOMAIN (Core) β
β ββββββββββ ββββββββββ ββββββββββ ββββββββββββ βββββββββββ β
β β Task β β Metric β β Plugin β βConversationβ βWorkflow β β
β ββββββββββ ββββββββββ ββββββββββ ββββββββββββ βββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β β β
βΌ βΌ βΌ βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ADAPTERS (Driven) β
β βββββββββββ βββββββββββ βββββββββββ βββββββββββββββββββββββ β
β β SQLite β β wazero β β Ollama β β File System β β
β β (TSDB) β β (Wasm) β β (AI) β β (Plugins) β β
β βββββββββββ βββββββββββ βββββββββββ βββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Forge uses a YAML configuration file at ~/.forge/config.yaml:
# Forge Platform Configuration
daemon:
socket: ~/.forge/forge.sock
pid_file: ~/.forge/forge.pid
tsdb:
path: ~/.forge/data/forge.db
wal_mode: true
cache_size: 100MB
retention:
raw: 7d
medium: 30d
long: 365d
ai:
provider: ollama
endpoint: http://localhost:11434
model: llama3.2
plugins:
directory: ~/.forge/plugins
auto_load: trueCreate powerful extensions with WebAssembly:
// plugin.go - Compile with TinyGo
package main
import "github.com/forge-platform/forge/pkg/sdk"
func main() {
sdk.Info("Plugin initialized!")
sdk.RecordMetric("custom_metric", 42.0)
}
//export on_tick
func onTick() {
// Called periodically by Forge
}Build and install:
tinygo build -o my-plugin.wasm -target wasi plugin.go
forge plugin install my-plugin.wasmForge integrates with local LLMs via Ollama:
# Install Ollama (if not installed)
curl -fsSL https://ollama.com/install.sh | sh
# Pull a model
ollama pull llama3.2
# Use AI in Forge
forge ai chat "What caused the CPU spike at 10am?"
forge ai analyze --metric cpu_usage --window 1h- UUIDv7 Primary Keys: Monotonic, time-ordered for optimal B-Tree performance
- WAL Mode: Concurrent reads/writes without blocking
- Automatic Downsampling: Raw β 1min β 1hour aggregations
- 100K+ writes/sec: Optimized for high-throughput ingestion
# Run tests
make test
# Run with coverage
make test-coverage
# Lint code
make lint
# Format code
make fmt
# Build for all platforms
make build-allWe welcome contributions! Please see our Contributing Guide.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Cobra - CLI framework
- Bubble Tea - TUI framework
- wazero - WebAssembly runtime
- LangChainGo - LLM orchestration
- SQLite - Embedded database