Integrations

GitHub

Connect your API and package repositories for change review, automatic generation, and release pull requests.

The Typeship GitHub App connects the API contract you already keep in GitHub to the CLI, MCP server, and SDK packages you want Typeship to maintain.

Pull requests against the API contract review the change before it merges. After merge, each changed package receives its own release pull request in its destination repository.

FreeAvailable on every planOne linked API, every selected package, and the complete pull-request workflow are included on Free.

Connect GitHub

Install the GitHub App

Open the Project's Definition page. Under Definition source, choose GitHub repo. Install the Typeship GitHub App on the account or organization that owns the repository.

Grant access to the API repository. You can select all repositories or choose individual repositories in GitHub.

If source and destination repositories belong to different GitHub accounts or organizations, install the App in each and connect both installations to the same Typeship organization.

Select the API contract

Enter the repository as owner/repository, then select the OpenAPI or GraphQL entrypoint. Typeship follows the complete connected contract, including referenced documents.

Add package destinations

Choose a repository and directory for each generated package. A CLI, MCP server, or SDK can use the API repository or a dedicated package repository.

Install the App on every GitHub account or organization that owns a destination.

Generate and enable updates

Run the first generation and review the destination pull requests. When the packages look right, enable Automatic generation in Project settings.

Add the Typeship statuses to GitHub branch protection if they should block merging.

For AI agentsUse typeship projects create --help for the repository source and initial generated products. In the API, those products are targets and their destinations are deliveries.

Source review and destination release

Typeship publishes different information in the API source repository and generated-package repositories:

RepositoryQuestion being answeredGitHub surface
API sourceIs this API change understood and approved?One sticky report, Typeship – API change review, and Typeship – Preview Generations
Package destinationIs this exact generated package ready to release?Release pull request, changelog, and Typeship – release readiness

The Console provides the cross-repository view. Public pull requests contain only what their reviewers need, without billing, Project settings, or private Console links.

Review an API change

When a pull request changes the linked API contract, the sticky report shows:

  • API compatibility and blocking issues;
  • breaking changes grouped by consumer impact;
  • one result for each generated product; and
  • warnings, coverage, and the analyzed commit.

Typeship – API change review covers compatibility and blocking issues. An intentional breaking change still appears as breaking, but an authorized reviewer can acknowledge it with the typeship:breaking-approved label.

Typeship – Preview Generations confirms that every configured Target generated successfully. It remains separate so API-policy and generation failures are not collapsed into one check.

A pull request that does not change the linked API contract passes both statuses without adding a comment.

Release a generated package

After an API contract change merges, Typeship opens or updates one release pull request per changed package. It includes:

  • the proposed version and required version bump;
  • API and published-package changes;
  • removed generated files and warnings; and
  • an updated CHANGELOG.md.

Typeship – release readiness checks the exact generated commit and the cumulative change since the last release merged in that destination. If the version is too small, the status names the minimum required version.

Do not commit directly to a Typeship release branch. A human commit makes release readiness fail. Put repository-owned CI, security policy, and community files on the default branch, then regenerate.

If the generated tree already matches the destination, the Generation reports Destination current and does not open a pull request.

Typeship publishes packages through reviewed GitHub pull requests. Your repository's release workflow publishes to npm, PyPI, or a Go module registry after merge. Typeship never receives your registry credentials.

Require the checks

Typeship cannot change branch protection. Add these status names to the relevant GitHub ruleset:

RepositoryRequired statusWhat it prevents
API sourceTypeship – API change reviewUnapproved breaking changes or blocking issues
API sourceTypeship – Preview GenerationsAPI changes that fail to generate a configured Target
Each package destinationTypeship – release readinessEdited candidates or versions that do not match the release impact

Typeship uses commit statuses instead of requesting GitHub's broader Checks permission. Each status links to the public pull request it evaluates.

Details

Continue reading

On this page