No description
- TypeScript 78.4%
- Go 19.3%
- Shell 1.2%
- CSS 0.5%
- JavaScript 0.4%
- Other 0.1%
| .agents/skills/react-doctor | ||
| .bob/skills/react-doctor | ||
| .claude | ||
| .forgejo/workflows | ||
| .gitea | ||
| .github/workflows | ||
| .kiro/skills/react-doctor | ||
| agent | ||
| apps | ||
| docs | ||
| infra | ||
| npm | ||
| packages | ||
| patches | ||
| plans | ||
| scripts | ||
| skills | ||
| tooling | ||
| .dockerignore | ||
| .env.example | ||
| .env.production.example | ||
| .forgegraph.yaml | ||
| .gitignore | ||
| .nvmrc | ||
| ARCHITECTURE.md | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| CONTEXT.md | ||
| DESIGN.md | ||
| docker-compose.prod.yml | ||
| docker-compose.yml | ||
| Dockerfile | ||
| FAB_DESIGN.md | ||
| flake.lock | ||
| flake.nix | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| TODOS.md | ||
| turbo.json | ||
ForgeGraph
Your delivery graph, not your deployment log.
ForgeGraph is a Nix-native delivery and configuration platform. It tracks work items, changesets, and runtime evidence from first draft through production with real evidence — builds, tests, coverage, deployments, health checks, and alerts — all linked by stable work and changeset identity.
Built on Jujutsu's changeset model. Deploys Nix closures. No Docker. No Kubernetes. No YAML.
Quick Start
1. Bootstrap a node
curl https://forgegraph.example.com/bootstrap | sh
Installs the ForgeGraph agent on any Linux machine with Nix and systemd (Ubuntu, Debian, NixOS).
2. Install the CLI
npm install -g @forgegraph/cli
fg login --server https://forgegraph.example.com --token YOUR_TOKEN
Or via Nix:
nix run github:gmackorg/ForgeGraph#fg -- login --server https://forgegraph.example.com
nix run github:gmackorg/ForgeGraph#cli -- login --server https://forgegraph.example.com
3. Deploy
fg deploy my-app --stage production
See docs/forge-cli.md for the full fg CLI reference,
including the fg db list, fg db url, and fg db connect commands for
connecting to managed Postgres databases over Tailscale.
Features
- Work graph — canonical work items, planning artifacts, and task/decomposition relationships
- Changeset tracking — JJ-native identity that persists through rebases, amendments, and force-pushes
- Delivery evidence — builds, tests, coverage, artifacts, deployments as an append-only graph
- Release gates — evidence-based promotion through staging, canary, production
- Nix deployments — pre-built closures distributed via binary cache, deployed in seconds
- NixOS configuration — visual editor for NixOS system configs with drift detection
- Fleet management — interactive topology view, rolling updates, blue-green deployments
- Real observability — Prometheus metrics, Loki logs, Grafana dashboards
- Alerting — configurable alert rules with Slack/Discord/webhook notifications
- Teams & billing — multi-user with Free/Pro/Enterprise tiers
- Security — AES-256-GCM secret encryption, constant-time token verification
Architecture
Bob / Operators → ForgeGraph (work + delivery graph) → Agent (deploy)
↓ ↓
Gitea / JJ / Git Binary Cache (nix-serve)
↓ ↓
CI / Builds Deploy Nodes (systemd activation)
Install from Nix
{
inputs.forgegraph.url = "github:gmackorg/ForgeGraph";
# The agent
environment.systemPackages = [ inputs.forgegraph.packages.${system}.agent ];
# The CLI
environment.systemPackages = [ inputs.forgegraph.packages.${system}.cli ];
# Backward-compatible alias: inputs.forgegraph.packages.${system}.fg
# ForgeGraph as a NixOS service
imports = [ inputs.forgegraph.nixosModules.default ];
services.forgegraph = {
enable = true;
environmentFile = "/etc/forgegraph/env";
agent.enable = true;
agent.environmentFile = "/etc/forgegraph/agent.json";
};
}
Development
pnpm install # Install dependencies
pnpm dev # Start development server
pnpm build # Production build
cd agent && go build -o forgegraph-agent ./... # Build agent
cd cli && go build -o fg ./... # Build CLI
Stack
| Component | Technology |
|---|---|
| Web | Next.js 16, React 19, Tailwind CSS 4 |
| API | tRPC, Drizzle ORM, PostgreSQL 17 |
| Agent | Go 1.23 (stdlib only, 10MB binary) |
| Deploy | Nix flakes, systemd |
| Monitor | Prometheus, Loki, Grafana |
| Design | Newsreader, Public Sans, IBM Plex Mono |
License
MIT