Welcome to Forge
Build, run, and operate durable agent platforms in TypeScript.
Forge is a provider-neutral SDK for applications that need more than a one-off model call. Define agents and flows, attach typed tools and context, then run them through an embedded library or a durable server runtime.
Choose the right primitive
| Primitive | Use it when | Forge handles |
|---|---|---|
| Agent | One model-driven program can own the task | Context assembly, model calls, tool execution, session state, memory, and guardrails |
| Flow | The work needs fixed steps, recovery, or explicit approvals | Queuing, checkpoints, retries, resumable streaming, and idempotent external writes |
| Tool | An agent needs a capability outside the model | Typed inputs, authorization, validation, effect classification, and approval policy |
Start with an agent. Add a tool when it needs to act or retrieve information. Use a flow when the process needs repeatable, durable control.
What you can add
| Capability | What it adds |
|---|---|
| Memory and sessions | Conversation history plus user and tenant facts, assembled within a context budget |
| Knowledge and retrieval | Permission-aware search with exact source citations |
| Human-in-the-loop | A durable approval gate before an external action executes |
| Guardrails | Input, context, and output controls for model-facing data |
| Integrations | Optional tool packages for GitHub, Slack, search, and other external services |
| Operations | Worker processes, queues, persistence adapters, tracing, usage, and cost accounting |
Find your way by what you are trying to do
Nobody arrives at documentation wanting section four. Start from the question:
| What you want | Where to go |
|---|---|
| Get something running in five minutes | Installation → Quick start |
| Let the agent do something, not just talk | Your first tool |
| Stop it doing something irreversible without a human | Human-in-the-loop, and confirms() in Your first tool |
| Stop it saying something, or seeing something | Guardrails |
| Have it remember a person between conversations | Persistent memory → Memory |
| Answer from my documents, with citations | Retrieval |
| Connect GitHub, Slack, or web search | Integrations |
| Run a multi-step process that survives a restart | Your first flow → Durable runtime |
| Serve many users, with a queue and a database | Configuration |
| Know what a turn cost | Usage and accounting |
| Build the UI | Frontend |
| Understand why something behaves as it does | Specifications — the design decisions and what was rejected |
| Look up a type or a function | API reference — generated from the source |
How the docs are organized
| Section | For |
|---|---|
| Getting Started | Install → first agent → first tool → first flow. Every sample on these pages is typechecked against the published package on every build |
| Build | Agent manifests, tools, and the practical guides for composing them |
| Context & Knowledge | Memory, sessions, and retrieval |
| Safety & Operations | Durable execution, approval gates, guardrails, frontend integration, and deployment configuration |
| Integrations | The shipped toolkits, all on one page template |
| Examples | Copy-paste starting points |
| API Reference | Generated from the TypeScript types |
| Specifications | The internal design specs — decisions, reasoning, and rejected alternatives |
Status
Forge is under active development. Concept docs describe the settled design; code examples show the intended public API as it comes online.