smithery/neversight
start-new-sdk-project
Use when starting a new SDK project or first-time Speakeasy setup. Triggers on "create SDK", "generate SDK", "new SDK", "quickstart", "get started with Speakeasy", "initialize SDK project
Design & UI
Use judgment
Installs
0
Stars
—
Security
No audit
Freshness
Unknown
Updated
—
Installation
Project
Global
Entire repo
Entire repo (global)
$
npx skills add smithery/neversight --skill start-new-sdk-project
Copy
SKILL.md
start-new-sdk-project
Use speakeasy quickstart to initialize a new SDK project with workflow configuration and generate the SDK.
When to Use
Starting a brand new SDK project
No .speakeasy/workflow.yaml exists yet
First-time Speakeasy setup
User says: "create SDK", "new SDK", "quickstart", "get started with Speakeasy"
Inputs
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., AcmeSDK)
Package name
Yes (non-interactive)
Package identifier (e.g., acme-sdk)
Outputs
Output
Location
Workflow config
.speakeasy/workflow.yaml
Generated SDK
Output directory (default: current dir)
Prerequisites
For non-interactive environments (CI/CD, AI agents), set:
export SPEAKEASY_API_KEY="<your-api-key>"
Run speakeasy auth login to authenticate interactively, or set the SPEAKEASYAPI KEY environment variable.
Command
speakeasy quickstart --skip-interactive --output console -s <schema> -t <target> -n <name> -p <package-name>
Flags
Flag
Short
Description
--skip-interactive
Required for AI agents. Skips all prompts
--schema
-s
OpenAPI spec source (see Schema Sources below)
--target
-t
Target language (see Supported Targets)
--name
-n
SDK name in PascalCase (e.g., MyCompanySDK)
--package-name
-p
Package name (language variants auto-inferred)
--out-dir
-o
Output directory (default: current dir)
--output
Output format: summary, console, mermaid. Use console for AI agents
--init-git
Initialize git repo (omit to skip in non-interactive mode)
Schema Sources
The --schema flag accepts multiple source types:
Type
Format
Example
Local file
Path
./api/openapi.yaml
URL
HTTP(S)
https://api.example.com/openapi.json
Registry source
source-name
my-api
Registry source (tagged)
source-name@tag
my-api@latest
Registry source (full)
org/workspace/source@tag
acme/prod/my-api@v2
Registry sources are OpenAPI specs you manage in your Speakeasy workspace. Use speakeasy pull --list --format json to see available sources. This lets you generate SDKs from specs managed in Speakeasy without needing local files.
Supported Targets
Language
Target Flag
TypeScript
typescript
Python
python
Go
go
Java
java
C#
csharp
PHP
php
Ruby
ruby
Kotlin
kotlin
Terraform
terraform
Example
# 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
What It Creates
Workflow configuration : .speakeasy/workflow.yaml
Generated SDK : Full SDK in the output directory, ready to use
Next Steps After Quickstart
Review the generated SDK in the output directory
Add more targets to .speakeasy/workflow.yaml for multi-language support
Run speakeasy run to regenerate after spec or config changes
Troubleshooting
Error
Cause
Solution
Workflow already exists
.speakeasy/workflow.yaml already present
Run speakeasy run to regenerate the existing SDK instead
Unauthorized
Missing or invalid API key
Run speakeasy auth login or set SPEAKEASYAPI KEY
Schema not found
Invalid path, URL, or source name
Verify path exists or use speakeasy pull --list for sources