# CLAUDE.md — read this first You are building **Tested**, a website that answers hard questions about the Bible with the evidence laid out in the open. "Tested" is a working name taken from 1 Thessalonians 5:21 ("Test everything; hold fast what is good"). It lives in one place (`src/site.config.ts`) so it can be renamed later. The owner is Joshua, a developer (JS, Java, C#, SQL) working in WebStorm. He likes iterative work, short updates, and an explanation of *why* alongside each change. ## Read these before writing any code 1. `docs/01-brief.md` — what the site is, who it's for, and the honesty rules that make it credible. 2. `docs/02-design-system.md` — tokens, type, layout and the one signature visual. Follow it exactly; don't drift into generic defaults. 3. `docs/03-architecture.md` — stack, folder structure, data model, routes. 4. `docs/04-build-plan.md` — phased tasks with acceptance criteria. Work through them in order. 5. `docs/05-content-rules.md` — how answers are written and how the Green / Yellow / Red status works. Brand assets are in `brand/` (SVG favicon, logo, social card). The question index data comes from `content/source/` via `scripts/import-index.mjs`. ## How to work - Do one phase of `docs/04-build-plan.md` at a time. At the end of each phase, stop and summarize what changed and why, then wait for a go-ahead. - Before starting, check the current stable versions of Astro, Pagefind and D3 in their docs rather than assuming. Pin versions in `package.json`. - Keep the build static (no server). Everything must work on a free static host. - Never invent content. Questions, statuses, domains, answers and related links come from the imported index. If something is missing, leave a visible TODO in the data, not made-up text. - Never change a question's status, answer or the owner's notes yourself. Flag concerns in your summary instead. - Owner notes (`authorNotes`) are private drafting notes. They must never render on public pages; show them only in dev mode (see architecture doc). - Accessibility is part of "done": keyboard focus visible, status never conveyed by color alone, `prefers-reduced-motion` respected, contrast AA or better. - Run `npm run build` and fix all errors and warnings before reporting a phase complete. ## Commands (once Phase 1 is done) - `npm run dev` — local dev server - `npm run import` — rebuild `src/data/questions.json` from `content/source/question-index.md` - `npm run build` — static build plus Pagefind search index - `npm run preview` — preview the built site - `npm run a11y` — accessibility check of the built site (run after a build) - `npm run publish -- 7.9 3B.10` — publish reviewed articles (`--all`, `--draft` to unpublish, `--list` to see status)