rule-windowslisted
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