--- id: 01-vite-kitchen-fixture epic: walking-skeleton title: vite-kitchen fixture + git-serving test helpers type: technical-story status: done feature: core-testing depends-on: [] blocks: [04-runner-app-protocol-clone-install] created: 2026-07-12T10:24:14Z updated: 2026-07-12T19:44:14.557Z --- ## Goal Land `fixtures/vite-kitchen` — a minimal Vite + React + TS + Tailwind repo with a `Button` component — at the repo root, outside the pnpm workspace and turbo graph, plus `core-testing` helpers that serve any fixture as a local bare repo over the git protocol so integration tests can drive a real `git clone` without cloud resources. ## Why The protocol integration suite (the load-bearing test tier of this epic) spawns a real runner against a `git daemon`-served `vite-kitchen` (tech spec §15). The fixture and its serving helpers are the substrate every runner story's tests stand on, so they land first. **Sequencing note (cross-epic):** the sibling `platform-retrofit` epic (clean floor, ADR-022 traces, scaffolded optional cores incl. `core-events` + `core-realtime`, pre-approved editor deps) must complete before this epic starts — the PRD's "Builds on" names it. Cross-epic `depends-on` frontmatter is not supported; this note is the dependency record. ## Done when - `fixtures/vite-kitchen` exists at the repo root: minimal Vite + React + TS + Tailwind app with a `Button` component (typed props for the docgen scan), invisible to pnpm workspace resolution and the turbo graph. - `core-testing` exports helpers that serve a fixture directory as a local bare repo / `git daemon` remote (setup/teardown, clone URL), with tests exercising a real `git clone` of `vite-kitchen`. - `pnpm typecheck && pnpm lint && pnpm test && pnpm conformance && pnpm fallow:audit && pnpm coverage:diff` all pass after each task. ## In scope - `fixtures/` directory at repo root, outside pnpm workspace and turbo graph (PRD Implementation decisions). - The `Button` component with props the react-docgen-typescript scan can discover (name + props). - `core-testing` bare-repo/`git daemon` serving helpers for tests. ## Out of scope - The runner's clone/install/scan of the fixture (stories 04–05). - PAT-authenticated fixture hosting beyond what the leak-assertion tests need (real GitHub/GitLab connections are out of PRD scope). - Additional fixtures (Next.js fixture arrives with `preview-and-nextjs-depth`). ## Tasks - [x] Create `fixtures/vite-kitchen` at the repo root — minimal Vite + React + TS + Tailwind app with a `Button` component (typed props) — outside the pnpm workspace and turbo graph; confirm `pnpm install` and turbo ignore it and all gates stay green. - [x] Add `core-testing` helpers that serve a fixture directory as a local bare repo / `git daemon` remote (setup/teardown, clone URL) with tests exercising a real `git clone` of `vite-kitchen`. _Landed: 1ae4a23 (fixture) + 2bd882e (git-serving helpers), reviewer-approved — real git-daemon clones over git:// and file://, all four ignore surfaces + allowlist test, zero lockfile diff._