Keep a shipped app current

You scaffolded an app weeks ago and kept building on it. The templates have improved since. pnpm upgrade-app brings the improvements in without touching your work.

1. Preview

pnpm upgrade-app my-app --dry-run

Reads apps/my-app/.scaffold.json (the inputs + per-file hashes recorded at scaffold time), re-scaffolds those inputs against the current templates in a temp dir, and reports what would change — nothing is written.

2. Apply

pnpm upgrade-app my-app
  • Files you never touched and that changed upstream → updated in place.
  • Files you edited that also changed upstream → the new version lands as <file>.upgraded next to yours; merge by hand, then delete it.
  • Everything you changed and the template did not → untouched.

3. Verify + commit

cd apps/my-app && pnpm exec tsc --noEmit && cd ../..
git add -A && git commit -m "upgrade to latest templates"
Only apps scaffolded after 2026-07-21 carry a baseline. The baseline re-stamps on every apply, so the next upgrade compares against what you now have.