Keep a generated package current
What regenerates when, how to force a run, how to read what changed, and how to handle a spec change that breaks the client.
Quick reference
typeship projects get <project_id> # source, languages, platforms, auto_regen, destinations
typeship projects generate <project_id> # force a run now (URL-sourced projects)
typeship projects list-generations <project_id> # history with status, trigger, file counts
typeship generations get <generation_id> # one run: meta, warnings, files (or files_index when large)
typeship spec-versions list <project_id> # every distinct spec the project generated from
typeship projects update <project_id> --auto-regen false # pause automatic regenerationWhy these commands
Regeneration is change-driven. Auto-regen (on by default) compares the spec's hash with the last generation: a repository source regenerates on pushes that touch the spec, a URL source on a 30-minute poll. An unchanged spec is skipped. projects generate always runs. See Regeneration.
A pull request per language is the unit of change. Its body lists the API changes (new operations, changed types, removed fields) so review is about the API, not the diff. If a pull request cannot be opened (no destination, app not installed), the generation still records and the project page says why.
History is the audit trail. list-generations and spec-versions tell you which spec produced which package, with warnings per run. Large generations return files_omitted: true and a files_index; fetch one file with generations get-file <id> --path <p>.
When a spec change breaks the client, fix it at the source: a spec patch (rename, retype, remove at a JSON Pointer) is applied before every generation and survives, where an edit to the output does not. Preview builds on spec pull requests surface the break before the spec merges.
projects get and list-generations, compare the latest generation's spec version with spec-versions list. Never edit generated files; propose a spec patch.Add typeship to an existing API repository
The repository already has the API and its spec. Put the generated package beside it, wire a linked project, and let pull requests keep it current.
Connect a generated MCP server to a client
Your API's MCP server, generated by typeship: the local package, the hosted endpoint, and one command that registers either with every agent client on a machine.