TanstackTemplate
Adoption

Adoption Manifest

The adoption manifest is the checklist that turns a copied repository into a reviewable replacement plan. It contains role names, resource names, URLs, and release choices, not secret values.

Create The Local Manifest

cp docs/template-adoption.manifest.example.json template-adoption.local.json

Do not commit the local manifest if it contains downstream private deployment details. Keep secret values out of it completely.

Required Sections

Fill these sections first:

SectionWhat It Controls
githubDestination organization and repository slug.
productPublic product name, slug, package scope, and positioning.
cloudflare.workersDevSubdomainAccount workers.dev subdomain used by staging and canary URLs.
cloudflare.workerScriptPrefixWorker script prefix for staging, production, and canary Workers.
cloudflare.sourceBucketPrefixR2 source bucket prefix.
cloudflare.outputBucketPrefixR2 output bucket prefix.
cloudflare.d1Local, staging, and production D1 names and database IDs.
smokeDefault staging and canary smoke base URLs.
urls.productionOriginFuture custom-domain production origin.
landingProof.artifactIdPrefixPrefix for regenerated public landing proof artifacts.

Fill release posture explicitly:

{
  "release": {
    "environment": "staging",
    "runPostDeploySmokeAfterDeploy": true
  },
  "auth": {
    "mode": "demo-auth"
  },
  "provider": {
    "default": "workers-ai"
  }
}

For a first downstream staging deploy, keep the provider on workers-ai and prove Replicate through a canary later.

Validate The Plan

pnpm template:plan-adoption -- --manifest template-adoption.local.json
pnpm template:plan-adoption -- --manifest template-adoption.local.json --json
pnpm template:scan-instance-markers

The planner validates release posture, smoke URL shape, required secret role names, D1/R2 replacement values, source/output bucket separation, and public positioning safety. The marker scanner reports original template markers that still need replacement.

After replacement work is complete, use strict marker scanning:

pnpm template:scan-instance-markers -- --fail-on-markers

Common Manifest Mistakes

  • Do not use the same bucket name for source and output storage.
  • Do not point canary smoke URLs at the default staging Worker.
  • Do not leave the source template D1 database IDs in a copied product.
  • Do not use plain http:// smoke URLs for remote staging.
  • Do not include secret values.
  • Do not point production origin at a domain before DNS and custom-domain evidence exists.

On this page