This is intended for “proven projects” you want to reuse as a baseline for future builds.
Input (pass paths only)
source_repo_root
Path to the real project
target_repo_root
Ship Faster repository root (where
templates/
lives)
run_dir
:
runs/template-extractor/active//
extract_spec.md
What to keep/remove/generalize (brand, copy, assets, integrations, auth gates)
Output (persisted)
03-plans/extract-plan.md
05-final/extract-summary.md
templates/-/
(runnable)
Workflow
0) Initialize
Create
run_dir
.
Decide
and
(next available template number).
Copy
source_repo_root
→
templates/-/
(no build outputs, no caches).
1) De-secrets + de-brand
Must do:
Remove secret values from all files (
.env*
, config, hard-coded tokens).
Replace project IDs (Stripe price IDs, Supabase URLs/keys, webhook secrets) with env var keys.
Replace branding (names/domains/logos) with neutral placeholders unless the template is intentionally branded.
2) Normalize template entry docs
Required files:
README.md
(5‑minute runnable)
.env.local.example
(keys only)
metadata.json
(name + description)
Recommended:
Ensure scripts exist for
dev
,
build
,
start
If lint/typecheck/format are missing and the repo is TS-heavy, add minimal guardrails (avoid heavy governance)
3) Verification
Document in
05-final/extract-summary.md
:
install works
dev
starts
build
succeeds (or clearly document why it can’t without credentials)
Constraints
Never commit secret values.
Extraction should be “copy + cleanup”, not a refactor project.