Skip to main content

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 Commands

The svantic forge subcommand generates tool specs and scaffolds agent services from OpenAPI specs or natural language prompts. All forge operations run locally — no mesh connection or authentication is required.
svantic forge --help

svantic forge tool

Generate tool specifications and TypeScript capability code from various sources.

From an OpenAPI Spec

svantic forge tool --spec openapi.yaml
This parses the OpenAPI document, converts operations to a Tool Spec YAML, and materializes TypeScript capability and trigger files:
  zendesk v1.0.0 -- 12 tools, 3 triggers
    * list_tickets -- GET /tickets
    * create_ticket -- POST /tickets
    * update_ticket -- PUT /tickets/{id}
    ...

  Spec written: ./zendesk.yaml
  Capabilities: ./zendesk_capabilities.ts
  Triggers: ./zendesk_triggers.ts

Filter with --pick

Select specific API paths or function names:
svantic forge tool --spec openapi.yaml --pick /tickets,/contacts

Override the Domain Name

svantic forge tool --spec openapi.yaml --domain helpdesk
Output files become helpdesk.yaml, helpdesk_capabilities.ts, etc.

Set the Output Directory

svantic forge tool --spec openapi.yaml --out ./generated

List Operations (Preview)

Preview what an OpenAPI spec contains without generating:
svantic forge tool --list openapi.yaml
Output:
  Zendesk Support API -- 24 operations

  GET     /tickets                      List all tickets
  POST    /tickets                      Create a ticket
  GET     /tickets/{id}                 Show a ticket
  PUT     /tickets/{id}                 Update a ticket
  DELETE  /tickets/{id}                 Delete a ticket
  ...

  Use --pick to select specific paths:
  svantic forge tool --spec openapi.yaml --pick /tickets,/contacts

From Natural Language (AI-Powered)

Use AI to generate tools from a description (requires GOOGLE_API_KEY):
svantic forge tool --prompt "Zendesk: list, create, update, and triage tickets"
Provide documentation for additional context:
svantic forge tool --prompt "Stripe: charges, refunds, customers" --docs https://stripe.com/docs/api

forge tool Flag Reference

FlagDescription
--spec <file>OpenAPI v3 spec (YAML/JSON) or existing Tool Spec YAML
--list <file>List all operations in the spec (no generation)
--prompt <text>AI-powered generation from natural language
--docs <url>Documentation URL for context (use with --prompt)
--pick <names>Comma-separated path prefixes or function names to include
--domain <name>Override domain name (default: derived from spec title)
--out <dir>Output directory (default: current directory)

svantic forge agent

Scaffold a complete agent service from one or more tool specs.

From a Single Spec

svantic forge agent --name zendesk-agent --spec zendesk.yaml
Output:
  Agent scaffolded: zendesk-agent
    zendesk-agent/
    +-- zendesk.yaml
    +-- zendesk_capabilities.ts
    +-- zendesk_triggers.ts
    +-- server.ts
    +-- .env.example

  Next steps:
    cd zendesk-agent
    cp .env.example .env  # fill in secrets
    npx tsx server.ts

With Full Project Files

Add --standalone to generate package.json, Dockerfile, and tsconfig.json:
svantic forge agent --name zendesk-agent --spec zendesk.yaml --standalone
Additional files:
    +-- package.json
    +-- Dockerfile
    +-- tsconfig.json
After scaffolding:
cd zendesk-agent
npm install
cp .env.example .env
npx tsx server.ts

Compose from Multiple Specs

Combine tools from multiple domains into one agent:
svantic forge agent --name support-agent --tools zendesk.yaml,hubspot.yaml --standalone

With Description and Port

svantic forge agent --name billing-agent --spec stripe.yaml \
  --description "Handles payment processing and invoicing" \
  --port 9200 --standalone

From an OpenAPI Spec Directly

Pass an OpenAPI spec directly — forge converts it automatically:
svantic forge agent --name api-agent --spec openapi.yaml --standalone

forge agent Flag Reference

FlagDescription
--name <name>Agent service name (required)
--spec <file>Tool Spec YAML or OpenAPI spec file
--tools <files>Comma-separated spec files for multi-domain compose
--standaloneGenerate full project scaffolding
--description <text>Agent description override
--port <number>Port override (default: 9100)
--out <dir>Output directory (default: ./<name>/)

Examples

Generate Tools, Then Scaffold an Agent

# Step 1: inspect the spec
svantic forge tool --list ./specs/zendesk-openapi.yaml

# Step 2: generate tools for the paths you need
svantic forge tool --spec ./specs/zendesk-openapi.yaml --pick /tickets --out ./specs

# Step 3: scaffold a standalone agent
svantic forge agent --name zendesk-agent --spec ./specs/zendesk.yaml --standalone

AI-Powered End-to-End

# Generate tools from a prompt
svantic forge tool --prompt "Jira: list, create, update, transition issues" --domain jira --out ./specs

# Scaffold the agent
svantic forge agent --name jira-agent --spec ./specs/jira.yaml --standalone --port 9300

Compose Multiple Domains

# Generate specs for each domain
svantic forge tool --spec zendesk-openapi.yaml --pick /tickets --out ./specs
svantic forge tool --spec hubspot-openapi.yaml --pick /contacts --out ./specs

# Compose into one agent
svantic forge agent --name crm-agent --tools ./specs/zendesk.yaml,./specs/hubspot.yaml --standalone