Forge is an early-stage, self-hosted control plane for organizing AI work. It records Projects, Requirements, Tasks, Workflow Runs, Node Runs, Artifacts, and acceptance decisions. Local or remote agents execute work through the Bridge.
The current implementation uses SQLite. Project records, workflow definitions, run output, Bridge output, and execution settings are stored on the Forge Server. Cloud Artifact storage and alternative SQL backends are not implemented. APIs, the storage schema, and UI details may change.
Requirements:
- Node.js 22+
- pnpm 9+
Install dependencies and start Forge:
pnpm install
pnpm startOpen http://localhost:3001. The Web console and API use the same port. A
health check is available at http://localhost:3001/api/health.
For development watch mode:
pnpm --filter @forge/forge devThe browser URL remains http://localhost:3001.
Requirement
-> Decomposition Result
-> Tasks
-> Task Workflow Runs
-> Node Runs
-> Artifacts
-> review / retry / accept
The current release supports:
- creating and selecting Projects;
- creating Requirements and generating editable Decomposition Results;
- generating Tasks from a confirmed decomposition;
- importing task-scope
.wfWorkflow Files; - starting Task Workflow Runs and inspecting Node Runs;
- viewing process output and Artifacts;
- retrying Workflow Nodes and accepting Task or Requirement output;
- configuring model providers and local Agent Bindings.
The Workflow engine is DAG-based and uses node-local retries. Arbitrary loops,
goto, and runtime node generation are outside the current model.
Build forgecli, bind the Bridge, register an agent, and start polling:
pnpm build:forgecli
apps/forgecli/dist/index.js bridge bind --server http://localhost:3001
apps/forgecli/dist/index.js agent add codex --connector mcp --command "codex mcp-server" --tool codex
apps/forgecli/dist/index.js agent add my-agent --connector cli --command "my-agent run"
apps/forgecli/dist/index.js bridge start
apps/forgecli/dist/index.js bridge statusCLI Connector agents receive the Bridge job payload as JSON on stdin and report
success or failure through their process exit code. MCP Connector agents are
started over stdio and invoked through tools/call.
Forge imports .wf files as Workflow Templates. A Workflow File can declare
Workflow Nodes, inputs, outputs, dependencies, Skills, Artifacts, Agent roles,
Exit Criteria, retry instructions, and optional human review.
Example templates are available through the Web console. Parsing, validation,
DAG planning, and workflow state transitions live in packages/core.
| Path | Purpose |
|---|---|
apps/forge |
Forge Web console and API server |
apps/forgecli |
forgecli command-line entry point and Bridge commands |
packages/core |
.wf parsing, DAG planning, output normalization, and workflow domain logic |
packages/db |
SQLite and Drizzle data access |
packages/sdk |
TypeScript client SDK |
packages/ui |
Shared React UI components |
docs/adr |
Architecture decision records |
docs/issues |
Historical local planning records |
The default SQLite database is:
apps/forge/.forge/forge.sqlite
| Setting | Description | Default |
|---|---|---|
PORT |
API and bundled Web server port | 3001 |
FORGE_HOST |
Server listen address | 127.0.0.1 |
FORGE_AUTH_TOKEN |
Server token; generated under ~/.forge/auth-token when omitted |
generated |
FORGE_WEB_ASSETS_ROOT |
Directory containing built Web assets | bundled app assets |
FORGE_SQLITE_PATH |
SQLite database file path | apps/forge/.forge/forge.sqlite |
Non-loopback listeners require the server token. Put TLS and additional network access controls in front of any remote deployment.
Provider API keys are stored unencrypted in the Forge Server SQLite database. Their values are omitted from settings API responses after saving. Protect the database, its backups, the host account, and generated Artifacts.
For the deployment boundary and private vulnerability reporting process, read SECURITY.md.
- SQLite is the only implemented database backend.
- Artifact and run output are stored by the Forge Server; Cloud Artifact storage is not implemented.
- APIs and persisted data structures are not yet stable.
- Agent Connector coverage and Exit Criteria behavior are still evolving.
pnpm test
pnpm typecheck
pnpm build
pnpm lintFocused checks:
pnpm --filter @forge/forge test -- src/app.test.ts web/src/App.test.tsx
pnpm --filter @forge/db test -- src/project-repository.test.ts
pnpm --filter @forge/sdk test -- src/index.test.ts
pnpm --filter @forge/forge typecheckForge is licensed under the Apache License 2.0.


