# Autonomous Mode (Bypass Permissions) When running in bypass/auto permission mode, follow these instructions to work end-to-end without human intervention. ## Available Tools The Nix devShell provides these tools for documentation and testing: - **`mmdc`** (mermaid-cli): Generate diagrams from Mermaid markup. Uses Nix-provided headless Chrome via `$PUPPETEER_EXECUTABLE_PATH`. - **`asciinema`**: Record terminal sessions as `.cast` files for demo videos. - **`playwright`** CLI: Take screenshots of the running frontend. ### When to Use Them - **Designing a feature**: Use `mmdc` to generate Mermaid diagrams (architecture, data flow, sequence diagrams) during the planning phase. Include them in the PR description. - **Frontend changes**: Take screenshots with the Playwright CLI after manual testing. Attach them to the PR. - **CLI / terminal changes**: Record a demo with `asciinema` showing the feature in action. Attach to the PR. ### Quick Reference ```bash # Generate a diagram echo 'graph LR; A-->B; B-->C;' | mmdc -i - -o diagram.png # Take a screenshot of a page playwright screenshot --browser chromium http://localhost:3000 screenshot.png # Record a terminal demo asciinema rec demo.cast # ... do the demo ... # ctrl-d to stop ``` ## Always Plan First Even in bypass mode, **enter plan mode before starting non-trivial work**. Ask all important questions upfront: - Clarify ambiguous requirements before writing code - Identify which files, crates, and features are affected - Read `docs/validation.md` to know what checks you'll need to run - Break large features into stages — commit each stage separately ## Manual Testing After code changes compile and type-check, verify the feature works: 1. **Check backend logs** (`tmux capture-pane -t .1 -p -S -50`) — confirm no panics or errors 2. **Check frontend logs** (`tmux capture-pane -t .2 -p -S -50`) — confirm no build errors 3. **Use Playwright MCP** to test the UI flow: - Navigate to `http://localhost:3000/user/login` - Click "Log in without third-party" - Login with `admin@windmill.dev` / `changeme` - Navigate to the page affected by your change - Verify the feature works as expected 4. **Test edge cases**: empty states, error states, permissions ### Playwright Gotchas - Backend takes ~60s to compile on first change; check logs for `health check completed` - Frontend rebuilds in ~5s - `critical_alerts` 404s are expected on CE builds (EE-only endpoint) — ignore them - VSCode worker 404s are dev-mode artifacts — ignore them - The `` component hides the checkbox (`sr-only`). Click the `