Start here
Core primitives
Start with one agent. Add tools, then use a flow when the process needs explicit, recoverable steps.
Agents
Declare instructions, model policy, tools, skills, and limits in a versioned manifest. Forge builds context, invokes tools, and records each run.
Explore →Flows
Build repeatable, durable multi-step processes. Runs checkpoint, resume after failures, and never repeat an approved external write.
Explore →Tools
Give agents typed capabilities with authorization, validation, idempotency, and approval policy applied at execution time.
Explore →Your first agent
The embedded path runs in one process with in-memory adapters—ideal for learning, scripts, and tests.
Read the five-minute quickstart →import { createAgent } from "@forge/agentkit/providers";
const agent = createAgent({
manifest: {
id: "assistant",
name: "Assistant",
instructions: "Be helpful and concise.",
modelPolicy: { role: "smart" },
},
});
const result = await agent.run({
conversationId: "welcome",
message: "What can you help me with?",
});
console.log(result.text);Build for production
Memory & sessions
Carry conversation state forward and retain user facts under an explicit context budget.
Explore →Knowledge & retrieval
Ground answers in permission-aware sources with cited retrieval results.
Explore →Safety & approval
Pause external actions for a human decision and apply guardrails before data reaches a model.
Explore →Durable runtime
Run work through queues, checkpoints, recovery, and resumable streaming across worker processes.
Explore →Integrations
Connect provider-backed tools for GitHub, Slack, search, and other services without coupling the runtime to them.
Explore →API reference
Look up the generated public TypeScript surface when you need an exact type or method.
Explore →Choose how to run Forge
Connect the services your work uses
Install only the optional integration packages your application needs. Every integration enters through the same authorization and effect-gating path as a custom tool.
Ready to build?
Start with one embedded agent, then add the capabilities your application needs.
Read the quickstart