{"id":860,"slug":"client-bjf-repo-codebase-facts-v2","title":"B&J — repo and codebase facts (v2, verified 2026-05-24)","kind":"reference","scope":"client-case-studies","status":"current","audiences":["kevin","candid-team","client-prospect"],"topics":["client-boucher-jones","case-study-source","client-tech-stack","kpi-candidates"],"reference_body":"All counts below come from a direct query against the repo at `/home/kevin/projects/boucherjones-web` on **2026-05-24**.\n\n## Branch / commit shape\n\n| Item | Value |\n|---|---|\n| Branch | `marketing-site` |\n| Upstream | `origin/marketing-site` |\n| Total commits on branch | **185** |\n| First commit | **2026-05-08 22:25:59 UTC** — `9ed3c5f` *Stage 2: scaffold Next.js 16 + TS strict, reshape to Chasing Grip layout* |\n| Most recent commit | **2026-05-23 21:30:41 UTC** — `3514d02` *SEO / a11y / security: close third-party audit gaps in one structural pass* |\n| Repo age | **16 days** |\n\n## Code shape\n\n| Item | Value |\n|---|---|\n| App Router pages (`page.tsx`) | **37** |\n| Components under `src/components/` | **155** files (kit + sections + UI primitives) |\n| Kit primitives (`src/components/ui/kit/`) | **19** |\n| Section components (`src/components/sections/`) | **33** |\n| Service files (`src/lib/services/`) | **4** — `contact.ts`, `contactEmail.ts`, `ontarioDieselRate.ts`, `manifold.ts` |\n| Migration files | **0** SQL migrations in the marketing-site repo. The one production table (`contact_submissions`) was created out-of-band; the repo does not version DB schema. |\n| Production dependencies | **18** |\n| Dev dependencies | **19** |\n\n## Lines of code (project source — `src/`, `scripts/`, `docs/`)\n\n| Surface | Files | Lines |\n|---|---|---|\n| `src/**/*.ts` | 77 | 5,054 |\n| `src/**/*.tsx` | 201 | 27,455 |\n| `src/**/*.css` | 47 | 3,745 |\n| `src/content/**/*.mdx` | 12 | 2,190 |\n| `scripts/**` | 2 | 822 |\n| `docs/**` | 2 | 591 |\n| **Total project source (ts + tsx + css + mdx)** | **337** | **38,444 lines** |\n\n`cloc` is not installed; counts above come from `find … | xargs wc -l`.\n\n## Stack versions (verbatim from `package.json`)\n\n| Package | Version |\n|---|---|\n| `next` | `16.2.6` |\n| `react` | `19.2.4` |\n| `react-dom` | `19.2.4` |\n| `typescript` | `^5` |\n| `tailwindcss` | `^4.3.0` |\n| `eslint` | `^9` |\n| `prettier` | `^3.8.3` |\n| `husky` | `^9.1.7` |\n| `lint-staged` | `^17.0.3` |\n| `@next/bundle-analyzer` | **not installed** |\n\nTailwind v4 is used with **no `tailwind.config.js`** — tokens live in a `@theme` block inside `src/app/globals.css`. See [[client-bjf-craft-signals-structural-v2]] for the design-token discipline.\n\nThese versions are the canonical source of truth — see [[rule-bjf-stack-claude-md-source-of-truth]].","rationale_body":null,"metadata":null,"links":{"outgoing":[{"slug":"client-bjf-marketing-site-stack","title":"B&J marketing site stack (`bj-next`, dev URL `bjweb.candidcreative.ca`) — VERIFIED LIVE STACK","kind":"reference","scope":"client-case-studies","link_type":"relates-to"},{"slug":"rule-bjf-stack-claude-md-source-of-truth","title":"Rule (B&J): when describing the marketing site tech stack, the live repo CLAUDE.md is the source of truth — not the project-knowledge tech-stack doc","kind":"rule","scope":"client-case-studies","link_type":"relates-to"}],"incoming":[{"slug":"client-bjf-case-study-source-v2","title":"Boucher & Jones — case-study source material, v2 (technical facts, 2026-05-24)","kind":"reference","scope":"client-case-studies","link_type":"relates-to"}]},"created_at":"2026-05-24T01:16:37.117Z","updated_at":"2026-05-24T01:16:37.117Z"}