Forge Commands
Thesvantic 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 tool
Generate tool specifications and TypeScript capability code from various sources.
From an OpenAPI Spec
Filter with --pick
Select specific API paths or function names:
Override the Domain Name
helpdesk.yaml, helpdesk_capabilities.ts, etc.
Set the Output Directory
List Operations (Preview)
Preview what an OpenAPI spec contains without generating:From Natural Language (AI-Powered)
Use AI to generate tools from a description (requiresGOOGLE_API_KEY):
forge tool Flag Reference
| Flag | Description |
|---|---|
--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
With Full Project Files
Add--standalone to generate package.json, Dockerfile, and tsconfig.json:
Compose from Multiple Specs
Combine tools from multiple domains into one agent:With Description and Port
From an OpenAPI Spec Directly
Pass an OpenAPI spec directly — forge converts it automatically:forge agent Flag Reference
| Flag | Description |
|---|---|
--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 |
--standalone | Generate full project scaffolding |
--description <text> | Agent description override |
--port <number> | Port override (default: 9100) |
--out <dir> | Output directory (default: ./<name>/) |
