This repository is mostly a content corpus (Markdown notes, claims, diagrams) for
the book From Copilot to Colleague. The only runnable application is the
website in website/ — a React 19 + Vite app rendered statically via
vite-react-ssg.
- Node 22 is required (see
website/Dockerfileand.github/workflows/website-ci.yml). - CI/Docker/Vercel use npm (
website/package-lock.json). Local development prefers bun (bun.lock) to save bandwidth — keep both lockfiles in sync when adding dependencies. - Standard commands (run inside
website/, already documented inwebsite/package.jsonandwebsite/README.md):- Dev server:
npm run dev(serves on port 3000, host 0.0.0.0). - Lint:
npm run lint(this is a type-check only —tsc --noEmit, there is no ESLint). - Tests:
npm test(Vitest, 95 tests across 19 files). - Build:
npm run build.
- Dev server:
- Non-obvious build caveat:
npm run buildruns aprebuildstep that syncs data from sibling repo directories (diagrams/,claims/,evidence/, etc.) viascripts/sync-diagrams.mjs,scripts/sync-audio.mjs,gen-data.mjs,gen-sitemap.mjs,gen-llms.mjs. Because of this, the website build depends on the full repo checkout being present — do not buildwebsite/in isolation without its sibling directories. - Reader navigation is intentionally unconventional: chapters are switched via the
READ/EVIDENCE view toggles and a
CH 01…CH 10selector, not simple prev/next buttons.
The Python scripts under 99_Meta/scripts/ (e.g. evidence/stats regeneration) are
stdlib-only and require no pip install.
Commit or explicitly park — never leave work untracked at session end.
Untracked files have been lost to cleanup twice in this repo (launch-kit docs,
2026-07-06; near-miss with ONBOARDING.md + launch-drafts/, 2026-07-31). Before
ending a session: git status — anything untracked either gets committed
(drafts and WIP are fine on main; this is a private lab) or moved to an
explicit parking location outside the repo with its path reported to the user.