No description
  • TypeScript 78.4%
  • Go 19.3%
  • Shell 1.2%
  • CSS 0.5%
  • JavaScript 0.4%
  • Other 0.1%
Find a file
gmackie d1fd3a804d
All checks were successful
CI / ci (push) Successful in 15m49s
Deploy ForgeGraf / test (push) Successful in 3m19s
Deploy ForgeGraf / deploy (push) Successful in 1m46s
feat(fg): fix SSH push + Forgejo token minting + reliable key sync (#13)
2026-06-08 12:20:55 +00:00
.agents/skills/react-doctor feat: DB-driven public feed overlays and API fixes (#3) 2026-05-12 18:42:38 -07:00
.bob/skills/react-doctor feat: DB-driven public feed overlays and API fixes (#3) 2026-05-12 18:42:38 -07:00
.claude feat(ci): CI & runner monitoring — capacity view, live Actions CI, thin alerting (#3) 2026-06-05 05:15:12 +00:00
.forgejo/workflows feat(ci): CI & runner monitoring — capacity view, live Actions CI, thin alerting (#3) 2026-06-05 05:15:12 +00:00
.gitea fix: sync control-plane schema during deploy 2026-04-10 20:13:50 -07:00
.github/workflows feat(cli): add GoReleaser config and Homebrew tap release workflow 2026-05-21 15:36:18 -07:00
.kiro/skills/react-doctor feat: DB-driven public feed overlays and API fixes (#3) 2026-05-12 18:42:38 -07:00
agent feat(fg): fix SSH push + Forgejo token minting + reliable key sync (#13) 2026-06-08 12:20:55 +00:00
apps feat(fg): fix SSH push + Forgejo token minting + reliable key sync (#13) 2026-06-08 12:20:55 +00:00
docs fix(agent): generate systemd-safe bwrap ExecStart (#11) 2026-06-08 09:12:08 +00:00
infra docs: DNS-only route design and promtail install script 2026-05-17 17:39:02 -07:00
npm feat: launch prep — npm packages, Nix outputs, production hardening 2026-03-25 06:38:41 -07:00
packages feat(fg): fix SSH push + Forgejo token minting + reliable key sync (#13) 2026-06-08 12:20:55 +00:00
patches fix(deps): upgrade next, better-auth, and override minimatch for security 2026-05-17 17:45:32 -07:00
plans feat: add app resource experience across web and mobile 2026-05-13 14:53:44 -07:00
scripts fix(ci): fix db:push auth and npx resolution in deploy pipeline 2026-05-18 18:55:52 -07:00
skills feat: DB-driven public feed overlays and API fixes (#3) 2026-05-12 18:42:38 -07:00
tooling fix(tests): update stale test expectations and pin plugin-react < 6 2026-05-20 04:16:39 -07:00
.dockerignore feat: add Dockerfile and production deployment config 2026-03-20 12:23:48 -07:00
.env.example refactor(public-feed): retire data.gmac.io, reframe as workspace-specific 2026-04-20 16:45:00 -07:00
.env.production.example refactor(public-feed): retire data.gmac.io, reframe as workspace-specific 2026-04-20 16:45:00 -07:00
.forgegraph.yaml feat: add wrangler-based deploy path for CF Workers apps 2026-05-06 05:38:05 -07:00
.gitignore feat(pipeline): evidence-driven CF Worker auto-deploy (Model B) + deploy fixes 2026-06-01 16:41:09 -07:00
.nvmrc chore: bump Node 22 → 24 across Dockerfile, .nvmrc, engines, CI templates 2026-05-06 05:38:04 -07:00
ARCHITECTURE.md feat(design-system): ship Storybook-backed design system + WIP rollup 2026-04-20 16:45:00 -07:00
CHANGELOG.md feat: one-click setup Phase 1 — bootstrap, config migration, register UI 2026-04-14 12:25:12 -07:00
CLAUDE.md docs: update repo browser roadmap with shipped status 2026-04-20 16:44:28 -07:00
CONTEXT.md docs: add ADRs, design plans, and contract specifications 2026-05-27 00:33:00 -07:00
DESIGN.md feat(design-system): ship Storybook-backed design system + WIP rollup 2026-04-20 16:45:00 -07:00
docker-compose.prod.yml feat: add Dockerfile and production deployment config 2026-03-20 12:23:48 -07:00
docker-compose.yml feat(db): switch to local Postgres via Docker, generate initial migration 2026-03-19 14:41:31 -07:00
Dockerfile chore: bump Node 22 → 24 across Dockerfile, .nvmrc, engines, CI templates 2026-05-06 05:38:04 -07:00
FAB_DESIGN.md docs: add ADRs, design plans, and contract specifications 2026-05-27 00:33:00 -07:00
flake.lock feat: add Nix flake for ForgeGraph closure build 2026-03-22 13:51:47 -07:00
flake.nix feat(registry): add npm registry with quarantine gate and trust computation 2026-05-14 13:47:44 -07:00
package.json fix(deps): resolve Dependabot security alerts 2026-05-21 15:44:22 -07:00
pnpm-lock.yaml chore(preflight): remove stale Preflight footprint + fix CI green (#6) 2026-06-05 08:03:29 +00:00
pnpm-workspace.yaml chore: linter fixes and pending changes 2026-03-31 10:21:49 -07:00
README.md docs(fg): document db list/url/connect commands and smoke checklist 2026-04-14 14:56:25 -07:00
TODOS.md docs(todos): OIDC consent page fails for non-trusted clients (session cookie not forwarded) 2026-06-03 18:23:41 -07:00
turbo.json feat: migrate from ESLint to Oxlint 2026-03-25 21:27:12 -07:00

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