• TypeScript 91.6%
  • JavaScript 3.8%
  • CSS 3.2%
  • Shell 0.8%
  • Nunjucks 0.6%
Find a file
florian 6e1f181842
All checks were successful
Pages / deploy (push) Successful in 11s
Merge pull request 'chore: Configure Renovate' (#35) from renovate/configure into main
Reviewed-on: #35
2026-06-14 02:52:45 +02:00
.agents/skills chore: checkpoint current worktree state 2026-03-31 18:57:09 +02:00
.changeset Release: version packages 2026-03-31 21:36:31 +02:00
.codex Add DoD-backed task verification workflow 2026-03-31 02:29:24 +02:00
.forgejo/workflows add forgejo pages deploy 2026-06-14 02:45:01 +02:00
.github fix: upload bundles to scoped release tags 2026-03-31 21:46:00 +02:00
.swarm Restore task DAG and auto-plan verifier rework 2026-03-31 09:50:28 +02:00
apps fix: preserve worker retry context after verification 2026-04-02 21:36:18 +02:00
docs Ship release-1 auth and bootstrap flow 2026-04-02 21:23:23 +02:00
frontend Merge branch 'main' into fix/release-publish-step 2026-04-02 21:29:16 +02:00
ops Ship release-1 auth and bootstrap flow 2026-04-02 21:23:23 +02:00
packages fix: return failed verification to the originating worker 2026-04-02 21:27:12 +02:00
scripts feat: add one-command installer 2026-03-31 20:35:23 +02:00
templates Recut orchestration, project teams, and skills 2026-03-30 22:09:23 +02:00
.env.example Implement automatic GitHub handoff flow 2026-03-30 12:01:07 +02:00
.gitignore Add tailnet-only hosted deployment runbook 2026-03-29 10:26:55 +02:00
.markdownlint.json chore: checkpoint current worktree state 2026-03-31 18:57:09 +02:00
.markdownlintignore chore: checkpoint current worktree state 2026-03-31 18:57:09 +02:00
.nvmrc Standardize monorepo CI baseline 2026-03-28 21:07:42 +01:00
.prettierignore chore: checkpoint current worktree state 2026-03-31 18:57:09 +02:00
.prettierrc.json chore: checkpoint current worktree state 2026-03-31 18:57:09 +02:00
AGENT.md chore: checkpoint current worktree state 2026-03-31 18:57:09 +02:00
AGENTS.md docs: clarify commit and release guidance 2026-03-31 20:28:14 +02:00
CLAUDE.md chore: checkpoint current worktree state 2026-03-31 18:57:09 +02:00
CONTRIBUTING.md docs: clarify commit and release guidance 2026-03-31 20:28:14 +02:00
LICENSE chore: checkpoint current worktree state 2026-03-31 18:57:09 +02:00
LLMS.md chore: checkpoint current worktree state 2026-03-31 18:57:09 +02:00
package.json fix: run release publish step in workflow 2026-03-31 21:39:34 +02:00
pnpm-lock.yaml Ship release-1 auth and bootstrap flow 2026-04-02 21:23:23 +02:00
pnpm-workspace.yaml Standardize monorepo CI baseline 2026-03-28 21:07:42 +01:00
PRD.md chore: checkpoint current worktree state 2026-03-31 18:57:09 +02:00
README.md Ship release-1 auth and bootstrap flow 2026-04-02 21:23:23 +02:00
RELEASING.md feat: publish cli through github packages 2026-03-31 21:32:25 +02:00
renovate.json Add renovate.json 2026-06-14 00:43:13 +00:00
ROADMAP.md chore: checkpoint current worktree state 2026-03-31 18:57:09 +02:00
SECURITY.md chore: checkpoint current worktree state 2026-03-31 18:57:09 +02:00
SUPPORT.md chore: checkpoint current worktree state 2026-03-31 18:57:09 +02:00
tsconfig.json Standardize monorepo CI baseline 2026-03-28 21:07:42 +01:00

Codex Swarm

Codex Swarm logo

Codex Swarm is a multi-agent software delivery control plane. It combines a workflow-oriented API, a worker runtime that supervises Codex sessions in isolated worktrees, and operator interfaces for planning, execution, review, approvals, governance, and publish handoff.

GitHub repository Product and operations docs Operator journey storyboard Operator guide

Node 22+ pnpm 10.28+ Fastify React and Vite Postgres

Codex Swarm hero artwork showing a multi-agent control surface

Codex Swarm is built for a concrete operator loop:

  • onboard a repository with trust, policy, and provider context
  • define a delivery goal and dependency-safe task graph
  • dispatch slices across Codex-backed agent sessions and worker nodes
  • monitor progress, approvals, validations, artifacts, and worker placement in one control surface
  • review evidence, resolve approvals, and track branch publish or PR handoff state
  • prove governance posture, retention policy, secret boundary, and audit export evidence without dropping to raw storage

Quick Install

The intended release-1 deployment target is:

  • private self-hosted
  • single-host managed deployment
  • installable codex-swarm CLI plus GitHub Releases

One-command installer:

curl -fsSL https://raw.githubusercontent.com/beisel-it/codex-swarm/main/ops/deploy/install-single-host-remote.sh | sh

The remote installer is review-first by default: it resolves the published release bundle, prints the exact URL and delegated command, asks whether you want to continue reviewing, and then asks again before it mutates the host.

Non-interactive install:

curl -fsSL https://raw.githubusercontent.com/beisel-it/codex-swarm/main/ops/deploy/install-single-host-remote.sh | sh -s -- --yes --start

CLI-first alternative:

npm login --scope=@beisel-it --auth-type=legacy --registry=https://npm.pkg.github.com
npm install -g @beisel-it/codex-swarm --registry=https://npm.pkg.github.com
codex-swarm install --version latest --dry-run
codex-swarm install --version latest

The direct package path uses GitHub Packages. The one-command installer above remains the preferred path because it does not depend on npm registry setup or a preinstalled global CLI. Use a GitHub identity with package read access when npm login prompts.

After reviewing and editing ~/.config/codex-swarm/single-host.env, start the stack if you did not already pass --start:

codex-swarm install --install-root ~/.local/share/codex-swarm/install --start --yes

Bootstrap the first workspace admin after the stack is up:

codex-swarm auth bootstrap-admin \
  --email admin@example.com \
  --password 'change-me-now' \
  --display-name 'Initial Admin' \
  --yes

Then validate the install and log in through the browser UI:

codex-swarm doctor --install-root ~/.local/share/codex-swarm/install
curl http://127.0.0.1:4300/health

Release-1 auth defaults:

  • public without login: GET /health, /webhooks/*, and the landing site
  • login required: the operational UI and all non-webhook /api/v1/* routes
  • browser auth: email/password login backed by an HttpOnly session cookie
  • dev-only fallback: legacy bearer-token auth is disabled by default and only works when AUTH_ENABLE_LEGACY_DEV_BEARER=true

If you want a checked-in local shell entrypoint instead of the remote one-liner, inspect the wrapper first:

./ops/deploy/install-single-host.sh

The local wrapper intentionally does not execute immediately. After review, rerun it with --run, or call the CLI directly.

More detail:

What Ships In This Repo

Codex Swarm ships a working product and the operator materials needed to run it:

  • apps/api: control-plane API for repositories, runs, tasks, agents, sessions, approvals, validations, artifacts, worker fleet state, cleanup, governance, and audit export
  • apps/worker: worker runtime for worktree provisioning, Codex session supervision, validation execution, session recovery, and local or distributed dispatch
  • frontend: browser console for projects, ad-hoc runs, run board/lifecycle/review workspaces, automation setup, settings, and publish handoff tracking
  • apps/tui: terminal UI for operator workflows and capture support
  • packages/contracts: shared Zod schemas and API contract types
  • packages/orchestration: planning and orchestration helpers for dependency-safe execution
  • packages/database: shared database package and Prisma schema support
  • .codex/agents and .agents/skills: checked-in role pack and reusable operator workflows for running codex-swarm from Codex

The control-plane contract direction is documented in docs/architecture/control-plane-api-contract.md.

Major UI Surfaces

Projects

Projects are the primary organizational surface. Operators can scan configured workspaces, see recent activity, and move directly into project-specific repositories, runs, automation, and settings.

Projects view showing the operator shell and project inventory

Project Runs

Project runs keep historical and active delivery work inside project context instead of mixing run navigation with the global shell. This is where operators open the relevant run workspace or create a project-scoped run.

Project runs view showing project-scoped run inventory and actions

Project Automation

Automation holds repeatable runs and webhook-trigger setup for a project. The webhook flow now keeps the core trigger model generic while offering preset-driven UI helpers for provider-shaped payloads such as GitHub.

Project automation view showing repeatable runs and webhook trigger configuration

Ad-Hoc Runs

Ad-hoc runs are isolated from project-owned delivery work. The surface stays intentionally compact and renders a lightweight empty state when no unassigned runs are present.

Ad-hoc runs view showing the compact empty state for runs without project ownership

Run Board

The run board is the primary work surface inside a selected run. It prioritizes the task board first, with blockers and diagnostics following as supporting context.

Run board view showing the compact run header, task board, blockers, and diagnostics

Run Lifecycle

Lifecycle is the operational deep-dive surface for a run. It collects placement, recovery, recent events, transcript context, and other runtime diagnostics without competing with the board for primary attention.

Run lifecycle view showing placement, recovery, and recent event diagnostics

Settings

Settings replaces the old global admin framing and keeps workspace, policy, and provider controls in one global area while leaving run-specific governance inside the run workspaces where it belongs.

Settings view showing workspace identity, governance summary, and policy inventory

Core Capabilities

Workflow-first control plane

Codex Swarm models delivery state directly instead of forcing operators to reconstruct it from generic CRUD records:

  • repositories carry provider, trust, workspace, and policy posture
  • runs hold goal, branch, handoff status, concurrency, budget posture, and completion state
  • tasks persist a dependency-safe DAG instead of a flat checklist
  • approvals, validations, artifacts, and audit exports are first-class evidence

Codex-backed execution with supervised workers

The worker runtime covers the difficult execution path:

  • isolated worktree materialization
  • Codex session launch and thread tracking
  • validation execution and artifact persistence
  • local or distributed node dispatch with heartbeat, drain, and placement awareness
  • session recovery cues for stale or failed work

Operator interfaces for browser and terminal workflows

The shipped interfaces are organized around the real operating loop:

  • project and ad-hoc run inventory with contextual navigation
  • board-first run workspaces for active and blocked work
  • lifecycle diagnostics for placement, recovery, events, and transcript context
  • review handling plus governance, provenance, retention, and audit visibility
  • terminal workflows through apps/tui and the root pnpm tui helpers

Checked-in operator pack

This repo also ships the assets needed to operate codex-swarm from Codex:

Operator Workflow

  1. Onboard or select a repository with provider, trust, and policy metadata.
  2. Create a run with a concrete goal, branch context, and dependency-safe task graph.
  3. Dispatch work across agents and worker nodes while the board tracks blockers, approvals, validations, and handoff state.
  4. Use run lifecycle to inspect placement, transcript history, artifacts, and recovery clues when a slice stalls or fails.
  5. Use review to resolve approvals against diff evidence, validation status, and artifact output.
  6. Use settings and run-scoped governance surfaces to confirm policy posture, approval provenance, retention state, and audit export evidence.
  7. Publish the branch and attach provider PR metadata or a manual handoff artifact when the run is ready for external review. Runs can also opt into automatic branch publish and GitHub PR creation at completion time.

The end-to-end visual version of this flow is documented in docs/operator-journey.md.

Release Readiness

The current release-readiness cut is documented in docs/architecture/release-readiness-exploration.md.

The recommended release-1 target is:

  • private self-hosted
  • single-host managed deployment
  • installable codex-swarm CLI plus GitHub Releases as the primary distribution story

At the time of writing, the repo still contains a mix of evaluation-oriented and operator-internal paths. The release-readiness exploration document is the source of truth for what must change before the project should be presented as a credible installable release.

Local Evaluation

Install dependencies, configure local environment, and start the main services:

corepack pnpm install
cp .env.example .env
corepack pnpm dev:api
corepack pnpm dev:worker
corepack pnpm dev:frontend

This path is for local evaluation and repo development. It is not the intended release-1 managed deployment path.

Important local environment values include:

  • DATABASE_URL
  • AUTH_ENABLE_LEGACY_DEV_BEARER
  • DEV_AUTH_TOKEN for explicit local dev fallback only
  • GIT_COMMAND
  • GITHUB_CLI_COMMAND
  • artifact storage settings for your deployment mode

Automatic GitHub handoff uses the local git and gh CLIs from the API host. gh must already be authenticated for the target repository if a run is configured with automatic handoff enabled.

If you are running remote or shared-worker deployments, also set:

  • ARTIFACT_STORAGE_ROOT
  • ARTIFACT_BASE_URL

Release installs do not use pasted bearer tokens for the browser UI. The frontend logs in through POST /api/v1/auth/login, receives an HttpOnly session cookie, and probes GET /api/v1/auth/session on load.

For local development only, when AUTH_ENABLE_LEGACY_DEV_BEARER=true, you can still call protected routes with:

Authorization: Bearer <DEV_AUTH_TOKEN>

The current README screenshots are captured from the shared staging environment so the docs reflect real data and the shipped IA. The staging capture flow and approved surface list are documented in docs/operations/frontend-readme-screenshot-capture.md.

Deployment Direction

If you are evaluating deployment rather than local development, start with:

The intended release-1 deployment target is a managed single-host private self-hosted installation. Public-browser hosting and generalized remote-worker onboarding are not yet part of the recommended release story.

CLI Direction

The repository now includes an initial installable CLI package at apps/cli, intended to become the public codex-swarm command.

The intended command surface is:

codex-swarm doctor
codex-swarm install --version latest --dry-run
codex-swarm auth bootstrap-admin --email <email> --password <password> --display-name <name> --yes
codex-swarm api start
codex-swarm worker start
codex-swarm db migrate
codex-swarm tui

This is now centered on a release-bundle install path. The intended deployment flow is:

npm login --scope=@beisel-it --auth-type=legacy --registry=https://npm.pkg.github.com
npm install -g @beisel-it/codex-swarm --registry=https://npm.pkg.github.com
codex-swarm install --version latest --dry-run
codex-swarm install --version latest
codex-swarm install --install-root ~/.local/share/codex-swarm/install --start --yes
codex-swarm auth bootstrap-admin --email admin@example.com --password 'change-me-now' --display-name 'Initial Admin' --yes

The local repo scripts remain for evaluation and development. The Quick Install section near the top of this README is the intended release install story.

Verification

Workspace-level checks:

corepack pnpm run ci:lint
corepack pnpm run ci:typecheck
corepack pnpm run ci:test
corepack pnpm run ci:build

Useful targeted commands:

corepack pnpm --dir apps/api typecheck
corepack pnpm --dir apps/api test
corepack pnpm --dir apps/worker test
corepack pnpm --dir frontend build
corepack pnpm --dir packages/contracts typecheck
corepack pnpm --dir packages/orchestration typecheck

Operator helpers:

corepack pnpm tui
corepack pnpm tui:capture
corepack pnpm ops:smoke
corepack pnpm ops:backup
corepack pnpm ops:restore
corepack pnpm ops:drill
corepack pnpm ops:tailnet:status

Repository Layout

Path Responsibility
apps/api Control-plane API, persistence, governance, audit, scheduling, cleanup
apps/worker Worker runtime, worktree provisioning, Codex supervision, validation runner
apps/tui Terminal UI, run summaries, and capture-oriented operator views
frontend Browser projects, ad-hoc runs, board/lifecycle/review workspaces, automation, and settings UI
packages/contracts Shared schemas and API contract types
packages/orchestration DAG and orchestration helpers
packages/database Shared database package and schema assets
.codex/agents Checked-in role pack
.agents/skills Checked-in codex-swarm workflow skills
templates/repo-profiles Starter repository profiles by stack
docs Product, operator, architecture, operations, and support docs