Loading...
Loading...
Use when generating a new SDK from an OpenAPI spec. This is the PRIMARY skill for SDK generation. Triggers on "create SDK", "generate SDK", "new SDK", "quickstart", "TypeScript SDK", "Python SDK", "Go SDK", "Java SDK", "generate TypeScript", "generate Python", "generate Go", "make SDK", "build SDK", "SDK from OpenAPI", "SDK from spec", "initialize SDK project".
npx skill4agent add speakeasy-api/agent-skills start-new-sdk-projectspeakeasy quickstart.speakeasy/workflow.yaml⚠️ Never usefor new projects - it does not create the workflow file needed for maintainable SDK development.speakeasy generate sdk
.speakeasy/workflow.yaml| Input | Required | Description |
|---|---|---|
| OpenAPI spec | Yes | Local file, URL, or registry source |
| Target language | Yes | typescript, python, go, java, csharp, php, ruby, kotlin, terraform |
| SDK name | Yes (non-interactive) | PascalCase name (e.g., |
| Package name | Yes (non-interactive) | Package identifier (e.g., |
| Output | Location |
|---|---|
| Workflow config | |
| Generated SDK | Output directory (default: current dir) |
export SPEAKEASY_API_KEY="<your-api-key>"speakeasy auth loginSPEAKEASY_API_KEYspeakeasy quickstart --skip-interactive --output console -s <schema> -t <target> -n <name> -p <package-name>| Flag | Short | Description |
|---|---|---|
| Required for automation. Skips all prompts | |
| | OpenAPI spec source (see Schema Sources below) |
| | Target language (see Supported Targets) |
| | SDK name in PascalCase (e.g., |
| | Package name (language variants auto-inferred) |
| | Output directory (default: current dir) |
| Output format: | |
| Initialize git repo (omit to skip in non-interactive mode) |
--schema| Type | Format | Example |
|---|---|---|
| Local file | Path | |
| URL | HTTP(S) | |
| Registry source | | |
| Registry source (tagged) | | |
| Registry source (full) | | |
speakeasy pull --list --format json| Language | Target Flag |
|---|---|
| TypeScript | |
| Python | |
| Go | |
| Java | |
| C# | |
| PHP | |
| Ruby | |
| Kotlin | |
| Terraform | |
# From local OpenAPI file
speakeasy quickstart --skip-interactive --output console \
-s ./api/openapi.yaml \
-t typescript \
-n "AcmeSDK" \
-p "acme-sdk"
# From URL
speakeasy quickstart --skip-interactive --output console \
-s "https://api.example.com/openapi.json" \
-t python \
-n "AcmeSDK" \
-p "acme-sdk"
# From registry source (managed in your Speakeasy workspace)
speakeasy quickstart --skip-interactive --output console \
-s "my-api@latest" \
-t go \
-n "AcmeSDK" \
-p "acme-sdk"
# With custom output directory and git init
speakeasy quickstart --skip-interactive --output console \
-s ./api/openapi.yaml \
-t python \
-n "AcmeSDK" \
-p "acme-sdk" \
-o ./sdks/python \
--init-git.speakeasy/workflow.yaml.speakeasy/workflow.yamlspeakeasy run| Command | Purpose |
|---|---|
| Initialize new SDK project |
| Regenerate SDK from workflow |
| Validate OpenAPI spec |
| Authenticate with Speakeasy |
| List registry sources |
speakeasy generate sdk.speakeasy/workflow.yamlspeakeasy run--skip-interactive--output console| Command | Creates workflow.yaml | Use case |
|---|---|---|
| ✅ Yes | New projects - Always use this |
| ❌ No | One-off generation (rare, advanced use only) |
quickstart| Error | Cause | Solution |
|---|---|---|
| Workflow already exists | | Run |
| Unauthorized | Missing or invalid API key | Run |
| Schema not found | Invalid path, URL, or source name | Verify path exists or use |
diagnose-generation-failuremanage-openapi-overlaysconfigure-sdk-options