Tagging a release on this repository will update the following clients:
This repository contains
- Vellum's Fern API Definition which lives in the definition folder
- Generators (see generators.yml)
The API Definition contains an OpenAPI Specification adapted to be compatible with Fern.
To make sure that the definition is valid, you can use the Fern CLI.
npm install -g fern-api # Installs CLI
fern check # Checks if the definition is valid
Generators read in your API Definition and output artifacts (e.g. the TypeScript SDK Generator) and are tracked in generators.yml.
To trigger the generators run:
# output generated files locally
fern generate
# publish generated files
fern generate --group publish --version <version>
The publish command currently runs in a GitHub workflow (see ci.yml)
Here are the steps required to publish a new version of our API clients.
- cd into the
django
directory from within the main vellum repo - Run
make generate-swagger-api-client
- Open the generated
schema_api_client_v1.yaml
file - Copy the contents of the file and paste it into the definition within this repo: fern/api/openai/openapi.yaml
- Check the diff and selectively add everything except for deletions to
server
. These were manually added. Note: We should automate the step of addingserver
related info back as part ofmake generate-swagger-api-client
. - Run
fern check
to make sure all is good. - Optionally run
fern generate
to see the newly generated clients locally. - Commit and push the changes to the
main
branch. - Create a new Release within Github. This will trigger a github action that will publish the new clients to their respective repos.