Workflows

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 regeneration

Why 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.

For AI agentsTo know if a package is current: projects get and list-generations, compare the latest generation's spec version with spec-versions list. Never edit generated files; propose a spec patch.

On this page