← ClaudeAtlas

rule-windowslisted

Windows-specific development rules: cmd /c wrappers for MCP, dev servers in an external terminal, path conventions, and the Supabase CLI firewall workaround. Load only when working on Windows.
djnsty23/claude-auto-dev · ★ 3 · AI & Automation · score 65
Install: claude install-skill djnsty23/claude-auto-dev
## MCP Servers - ALWAYS use `cmd /c` wrapper: `"command": "cmd", "args": ["/c", "npx", ...]` - Never use bash syntax directly in MCP configs ## Dev Server - **`preview_start` first**, with a `.claude/launch.json` entry. It owns the server lifecycle, reuses an already-running server, and exposes the logs via `preview_logs`. The `browser` skill holds the full loop. - Nothing to preview, or no `launch.json`? Then `Bash({ command: "npm run dev", run_in_background: true })`. A backgrounded Bash command is detached and survives across turns. - Never `start cmd /k`. It opens a window no tool can read, so the server's own error output becomes invisible — a failed compile looks identical to a slow one. - Check the port first: `netstat -ano | findstr :3000` Superseded 2026-08-17. This section used to forbid `npm run dev` outright on the grounds that it "gets killed on session end". That premise is now false twice over: `run_in_background` detaches the process, and `preview_start` supervises it outright. The rule was compensating for a limitation the harness no longer has. ## Paths - Use forward slashes in code: `src/lib/utils.ts` - Use backslashes only for Windows commands: `cd C:\Users\...` ## Environment Variables - System env vars available to all processes - Reference in .env.local: `${GOOGLE_CLIENT_ID}` or leave it to system - Check with: `echo %VARIABLE_NAME%` (cmd) or `$env:VARIABLE_NAME` (PowerShell) ## Supabase CLI - `supabase db query --linked` triggers Windows