Guided Build Lab — Phase 01: Windows Development Environment & Professional Tooling
Purpose
Build and verify a reproducible Windows development environment without relying on hidden machine state.
Deliverable
A verified toolchain report showing shell, Git, Node, Corepack/pnpm, editor, PATH, ports, and diagnostic commands.
Before you touch the code
Open the previous phase checkpoint, run the repository's verification commands, and make sure Git is clean. A guided lab is useful only when you know which change introduced a failure. Write down the current browser/API/database behavior you expect before modifying anything.
Architecture trace
Windows user environment -> PowerShell -> PATH resolution -> Node runtime -> Corepack/pnpm -> Git -> Editor/terminal -> Project process
Read this flow left to right, then right to left. For each arrow, say what data crosses the boundary, which side trusts the other, and what evidence would prove that this boundary works. This habit prevents framework APIs from becoming disconnected memorization.
Step 1 — Open ordinary PowerShell and record pwd, whoami, and PATH-related observations.
Do the smallest version of this step first. After the change, stop and verify it before continuing. Use terminal output, HTTP responses, browser DevTools, tests, or database inspection depending on the boundary. If the result differs from your prediction, do not add more code; explain the mismatch and fix the earliest failing assumption.
Step 2 — Install or verify Git and VS Code with user-level installation where possible.
Do the smallest version of this step first. After the change, stop and verify it before continuing. Use terminal output, HTTP responses, browser DevTools, tests, or database inspection depending on the boundary. If the result differs from your prediction, do not add more code; explain the mismatch and fix the earliest failing assumption.
Step 3 — Install the course Node line with a version manager and prove which executable is active.
Do the smallest version of this step first. After the change, stop and verify it before continuing. Use terminal output, HTTP responses, browser DevTools, tests, or database inspection depending on the boundary. If the result differs from your prediction, do not add more code; explain the mismatch and fix the earliest failing assumption.
Step 4 — Enable Corepack and activate the repository package-manager version.
Do the smallest version of this step first. After the change, stop and verify it before continuing. Use terminal output, HTTP responses, browser DevTools, tests, or database inspection depending on the boundary. If the result differs from your prediction, do not add more code; explain the mismatch and fix the earliest failing assumption.
Step 5 — Verify git, node, npm/corepack, pnpm, and editor command availability from a fresh terminal.
Do the smallest version of this step first. After the change, stop and verify it before continuing. Use terminal output, HTTP responses, browser DevTools, tests, or database inspection depending on the boundary. If the result differs from your prediction, do not add more code; explain the mismatch and fix the earliest failing assumption.
Step 6 — Deliberately create a PATH or port conflict in a safe sandbox and diagnose it with Get-Command/Get-NetTCPConnection.
Do the smallest version of this step first. After the change, stop and verify it before continuing. Use terminal output, HTTP responses, browser DevTools, tests, or database inspection depending on the boundary. If the result differs from your prediction, do not add more code; explain the mismatch and fix the earliest failing assumption.
Useful verification commands
Get-Location
Get-Command node
node --version
corepack --version
pnpm --version
git --version
Do not run commands mechanically. Before each command, predict what successful output should prove. If it fails, capture the exact message and identify whether the failure is environment, dependency, compile-time, runtime, network, authorization, or persistence related.
Checkpoint
When the lab works, inspect git diff. Remove accidental debugging output and unrelated edits. Run type checking/tests/build commands relevant to this phase. Commit the checkpoint with a message that describes the capability added, not merely the files changed.
Explain-back
Without looking at the lesson, explain why each layer in the architecture trace exists, what this phase added to TaskFlow, and what would break if the new responsibility were moved to the wrong layer. If you cannot explain the boundary, repeat the trace before moving on.