Skip to content
Built with

Build this site ​

Build & Deploy

How to build implemented.stream from source, test it and get it live. To deploy your own SDK app instead, see Deploy your app.

On this pageInstall and run the site locally · Build and test 2–3 rounds · Deploy with the owner's approval

Requirements ​

  • Node.js 22.20.0, pinned in .nvmrc and .node-version.
  • npm. The repo uses workspaces: docs and packages/*.
  • For deploys only: access to the Cloudflare account that owns implemented.stream.

1. Install dependencies ​

This step installs the packages from the lockfile.

sh
npm ci

Example output: npm reports the packages added, for example added 1200 packages in 40s.

If you see an error: ERESOLVE or node-gyp errors mean .npmrc is missing or Node.js is not 22.20. Check node -v and confirm .npmrc exists.

.npmrc sets legacy-peer-deps and skips native install scripts. A plain npm ci works from a clean clone.

2. Run the site locally ​

This step starts the dev server so you can preview pages.

sh
npm run dev

Example output: a Local URL such as http://localhost:3000/.

3. Build the site ​

This step builds VitePress and checks for dead links.

sh
npm run build

Example output: a build complete line, then [build] Successfully populated root build artifacts.

scripts/build.mjs copies the output to dist/ and build/. Cloudflare uses dist/. Both folders are gitignored.

4. Test the deploy ​

This step checks the deploy config without logging in.

sh
npx wrangler deploy --config wrangler.jsonc --dry-run

Example output: Wrangler reads the files in ./dist, then prints --dry-run: exiting now.

This optional step runs the zip-merge test.

sh
ZIP_MERGE_FIXTURE_ROOT=/tmp/zips npx tsx rollspace/scripts/merge-two-zips.test.mjs

Example output: the test script finishes without failures.

5. Deploy with approval ​

The usual path is Cloudflare Workers Builds. Push to main and Cloudflare builds and deploys. DEPLOY.md lists the settings.

To deploy by hand, log in first.

Requires: Cloudflare login

Run the login on its own. It opens your browser. Never paste tokens into chat or code.

sh
npx wrangler login

Example output: Successfully logged in.

This step uploads the build to Cloudflare.

sh
npx wrangler deploy --config wrangler.jsonc

Example output: upload progress, then the implemented.stream routes.

If you see an error: name does not match means the Worker name differs from wrangler.jsonc. Authentication error means you should run npx wrangler login again.

wrangler.jsonc fieldValue
nameimplemented-stream
assets.directory./dist
Custom domainsimplemented.stream, www.implemented.stream

Keep the Cloudflare token and account ID in environment secrets. Never commit them.

For Cloudflare Workers Builds settings, see DEPLOY.md in the repo root.

Troubleshooting ​

ProblemFix
assets.directory missingRun npm run build first
Peer dependency errorsMake sure .npmrc is present, then npm ci
better-sqlite3 / node-gyp build fails.npmrc sets ignore-scripts=true; the docs build does not need it
Old page still showsHard refresh. The cache can lag for a minute after a deploy.

Next steps ​

implemented.stream AI