Porter
One-command site porting pipeline.
GitHub Actions workflow (workflow_dispatch: url, name) that ports a Webflow site end to end. Triggered from the console’s Port a site page (accepts any https URL) or gh workflow run.
Pipeline
clone.pycrawls and mirrors the site (asset localization, SRI strip, badge removal, filename decoding).- Umami registration + script injection (
umami.py): webflow.io sources register as<name>.vercel.app, custom-domain sources as their apex. Idempotent both ways. - Create private GitHub repo, push.
- Create Vercel project, deploy to production, connect the repo, disable deployment protection (public previews).
- Append the site to the console’s registry.json (approval list).
Notes
- Repo currently public because personal-account Actions billing is broken; goes private after the org migration (ADR 10).
- Secrets: PORTER_GH_PAT, VERCEL_TOKEN, UMAMI_USERNAME, UMAMI_PASSWORD.
- After porting, the site appears in the console automatically. DNS cutover is a separate playbook.