Skip to content

disk0Dancer/climate

climate

CI Release Go Reference Go Report Card Homebrew skills.sh License

Any API becomes a tool. Give climate an OpenAPI spec — it builds a CLI and a skill. Works for humans. Works for AI agents. One spec → unlimited new tools.

climate generate --name petstore https://petstore3.swagger.io/api/v3/openapi.json
petstore pet get --pet-id 1

Install

brew tap disk0Dancer/tap && brew install climate

Or go install github.com/disk0Dancer/climate/cmd/climate@latest.

Enable local shell completion:

climate completion install --shell zsh

How it works

One command turns an OpenAPI 3.x spec into a compiled Go binary with auth, JSON output, and structured errors.

climate generate --name myapi https://api.example.com/openapi.json
myapi <group> <operation> [flags] --output=json|table|raw

Generated CLIs also ship with spec-aware event commands:

myapi events list
myapi config profiles create work
myapi config profiles use work
myapi auth login
myapi config set --secret events.signing_secret supersecret
myapi events listen payment-succeeded --port 8081 --tunnel auto --signature-mode hmac
myapi events emit payment-succeeded --target-url http://localhost:8081/webhooks/payment-succeeded --signature-mode hmac

Agent skill

An agent with climate can build its own tools. Point it at any OpenAPI spec — it generates a CLI, creates a skill, and starts using the API. No human required.

climate skill generate myapi          # skill prompt for a generated CLI
climate skill generator               # skill for climate itself
npx skills add https://github.com/disk0Dancer/climate --skill climate-generator

Publish

Push a generated CLI to GitHub with CI, CI auto-fix, and release workflows:

climate publish myapi --owner disk0Dancer

Demo: disk0Dancer/github — 1 100+ endpoint CLI from the GitHub REST API spec.

Commands

Command Purpose
generate Create CLI from OpenAPI spec
compose Merge multiple specs (with prefixes) into one facade CLI
mock Run local mock HTTP server from OpenAPI spec
completion Print shell completions or install/uninstall them locally
list Show registered CLIs
remove Interactively delete a generated CLI
uninstall Remove the climate CLI itself, optionally with full cleanup
upgrade Regenerate from updated spec
publish Push CLI to GitHub with CI/auto-fix/release
skill generate Emit agent skill prompt

Shell completion

# print a completion script
climate completion zsh

# install it into your local shell setup
climate completion install --shell zsh

# remove climate-managed completion wiring later
climate completion uninstall --shell zsh

# remove one generated CLI with confirmation
climate remove petstore

# uninstall only the climate executable
climate uninstall

# uninstall climate plus generated CLIs, manifest, and completions
climate uninstall --full

Docs

Development

go build ./...
go test ./...

Star History

Star History Chart

License

Apache 2.0