> ## Documentation Index
> Fetch the complete documentation index at: https://docs.svantic.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Forge

# Forge

Build agents in minutes, not days. Forge generates type-safe tool implementations from API specs, existing TypeScript code, or plain English descriptions, then composes them into deployable agents.

## How It Works

Every generation path follows the same pipeline:

```
Source  -->  Tool Spec (YAML)  -->  TypeScript capabilities  -->  Agent
```

You bring the source material. Forge produces a declarative Tool Spec, then materializes it into runnable TypeScript with full parameter schemas, auth handling, and trigger wiring.

## Two Ways to Generate Tools

### From an OpenAPI spec

Point Forge at a Swagger/OpenAPI file and pick the operations you need.

```bash theme={null}
svantic forge tool --spec zendesk-openapi.yaml --pick create_ticket,list_tickets --out ./tools/
```

See [Generate from OpenAPI](./from-openapi.md) for the full walkthrough.

### From natural language

Describe what you want. Forge proposes a set of tools, lets you review them, then generates the code.

```bash theme={null}
svantic forge tool --prompt "monitor alerts and create incidents in Datadog" --out ./tools/
```

See [Generate from Natural Language](./from-natural-language.md) for the full flow.

## Compose Into an Agent

Once you have tool specs from any combination of sources, merge them into a single agent:

```bash theme={null}
svantic forge agent --name support-bot --tools zendesk.yaml,slack.yaml --standalone
```

This generates a complete project: `server.ts`, `.env.template`, `package.json`, `Dockerfile`, and `tsconfig.json`. See [Composing Agents](./composing-agents.md).

## Programmatic API

Every CLI command has a corresponding SDK function:

```typescript theme={null}
import { generate_from_file } from '@svantic/sdk/forge';
import { propose_tools, generate_from_prompt } from '@svantic/sdk/forge';
import { compose, write_composed_agent } from '@svantic/sdk/forge';
```

## Iterative Generation

The Svantic terminal can orchestrate multi-step generation conversationally. Ask it to read your source code, propose tools, refine the list, and compose the final agent -- all in a single session. See [Iterative Generation](./iterative-generation.md).

## What's Next

* [Generate from OpenAPI](./from-openapi.md) -- turn API specs into agent tools
* [Generate from Natural Language](./from-natural-language.md) -- describe tools in plain English
* [Composing Agents](./composing-agents.md) -- merge tool sets into one agent
* [Tool Spec Format](./tool-spec-format.md) -- YAML reference
* [Iterative Generation](./iterative-generation.md) -- conversational multi-step workflows
