This is the source of https://survivejs.com/.
First, clone this repository:
git clone https://github.com/survivejs/website-v3Set up a .dev.vars file:
GET_IMAGES_ENDPOINT=TODO
GET_IMAGES_TOKEN=TODO
IMAGES_API_URL=TODO
IMAGES_ROOT=TODOBootstrap the project:
npm run bootstrapStart the development server:
npm run startNow you can open the local Wrangler URL.
Build using the following command:
npm run buildValidate the Cloudflare Worker bundle:
npm run worker:dry-runRun local Lighthouse audits for mobile and desktop:
npm run lighthouse:localThe command builds the site, serves ./build locally, and writes HTML/JSON
reports to reports/lighthouse/.
If Chromium is missing, install the pinned browser first:
npm run playwright:installFor local Agent CI and more Lighthouse options, see
docs/development.md.
When book routes move, generate a Disqus URL Mapper CSV from a Disqus export:
node utils/generate-disqus-rewrites.js \
../site-disqus/survivejs-2026-05-16T09_44_20.025877-all.xml \
/tmp/disqus-url-map.csvUpload the generated CSV in Disqus under Discussions > Tools > Migrate Threads
Upload URL Map. Disqus documents this as the required path when a thread URL changes by more than the base domain.
The site content is available under CC BY-NC-ND license. So, as long as there's a proper attribution, you can reuse the content. Ideally, you would contribute your improvements back, but that's not necessary.
The site source is available under MIT license.