Configuration & Caching
TypeScript jobs are cache-aware. Cache inputs are declared per phase so --impacted and repeated local runs can skip work that has not changed.
Job dependencies
| Job | Depends on | Cache behavior |
|---|---|---|
generate |
^generate |
Cached from source, package metadata, and generation inputs |
build |
generate, ^build |
Cached from source, config, package metadata, and docs/assets |
test |
generate |
Cached from source, tests, and package metadata |
lint |
none | Cached from source, Biome config, and package metadata |
serve |
build --fast |
Never cached |
publish |
build --transpile --types, ^publish |
Uses build outputs |
Common cache inputs
Build and test cache keys include files such as:
src/**/*.tssrc/**/*.tsxtest/**/*.tstest/**/*.tsxpackage.jsontsconfig.jsontsconfig.app.jsontsconfig.lib.jsonbiome.jsondoc/**/*
Project options
Use project configuration for behavior that should be reproducible across local, CI, and preview runs:
- generated asset paths
- compile targets
- publish channels
- serve port choices
- coverage thresholds
- Biome config paths
Run the final branch check through Putnami, not a language-specific tool:
putnami lint,test,build --impacted