WI-001: Set up WSL2 and relocate the repository
WI-001: Set up WSL2 and relocate the repository
Problem
Development is currently on the Windows filesystem. ADR-0014 requires WSL2 with the repository inside the Linux filesystem, because Wrangler and Expo tooling are materially more reliable there and /mnt/c file-watching is unreliable in ways that present as flaky tooling.
Doing this before any real work exists avoids re-treading it later mid-feature.
In scope
- WSL2 with Ubuntu installed and set as default.
- Repository cloned fresh to
~/code/tabletop-trackerinside the WSL filesystem (cloning is cleaner than moving files across the boundary — the remote already exists). - Node pinned via
.nvmrc; pnpm enabled viacorepack. - Docker Desktop with WSL2 integration enabled for the distro.
ghCLI installed and authenticated.git config core.hooksPath .githooksset in the WSL clone — without it there is no protection onmainat all (ADR-0018).docs/standards/environment.mdverified accurate against what was actually done.
Out of scope
- Any application code, dependency, or package scaffolding — that is WI-002.
- Docker Compose Postgres definition — that is WI-006.
- CI configuration — that is WI-003.
Definition of done
-
wsl -l -vshows Ubuntu running WSL version 2. -
pwdinside WSL returns a path under~, and does not contain/mnt/c. -
node --versionmatches.nvmrc. -
pnpm --versionresolves, installed via corepack (not a global npm install). -
docker run --rm hello-worldsucceeds from inside WSL. -
gh auth statusreports an authenticated account. -
git config core.hooksPathreturns.githooks, andgit push origin mainis rejected by the pre-push hook. - Editor connects over the WSL remote, not through
\\wsl$\. - Any step in
docs/standards/environment.mdthat turned out wrong is corrected in the same PR.
Verification
wsl -l -v # from PowerShell# then, inside WSL:pwd # must be under ~, not /mnt/cnode --version && cat .nvmrcpnpm --versiondocker run --rm hello-worldgh auth statusNotes
Much of this is human-performed setup rather than agent work — installing WSL2, authenticating gh, enabling Docker integration. The agent-owned part is verifying the result and correcting docs/standards/environment.md.
Windows files stay reachable at /mnt/c for occasional copies. Nothing in the working set lives there.