This is a tiny command-line utility for interacting with Stainless API.
This project is in no way affiated Stainless API.
Download your platform's binary here.
Simply run (for Linux and MacOS):
git clone https://github.com/willmeyers/stainless-cli
cd stainless-cli
make build
mv build/stainless-[darwin|linux] /usr/local/bin/stainless-cli
Windows binaries are available as well.
Stainless does not have a complete API accessible via API keys. We must login, obtain the necessary session tokens.
To get started, run:
stainless-cli login
Complete the OAuth flow as you normally would.
After logging in, you can check your authentication status by listing your organizations with:
stainless-cli orgs
The CLI is great for quickly executing SDK generations. To get started, run:
stainless-cli generate --help
You'll need a few items on hand to generate an SDK:
- An existing organization and project
- Your OpenAPI schema spec (in yaml)
- You Stainless API config (in yaml)
From there you generate your project's SDKs with:
stainless-cli generate all --openapi ./openapi.yml --config ./stainless.yml
Finally, if an output directory (--out-dir
) is given, stainless-cli will perform a git clone/pull automatically once the generation is complete.
stainless-cli generate all --openapi ./openapi.yml --config ./stainless.yml --out-dir ./sdks
After each SDK generates, its GitHub repository is cloned or updated in a respective directory inside the specified out directory.
For your security, please consider running
stainless-cli logout
to remove any cached credentials saved on your filesystem. The credentials cached are session tokens and, if comprimised, can be used to login to your Stainless API account anywhere.