Files
windmill/docs/autonomous-mode.md
centdix e0d35ade72 chore: fix Claude action + add skills for codex + update autonomous mode docs (#8489)
* chore: fix Claude action overlap with /ai-fast

* chore: add Codex skills under .agents

* chore: remove user_invocable from Codex skills

* docs: require draft PR creation in autonomous mode
2026-03-24 09:23:06 +00:00

77 lines
3.3 KiB
Markdown

# 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 `<Toggle>` component hides the checkbox (`sr-only`). Click the `<label>` wrapper, not the checkbox
## End-of-Task Summary
When done, directly open or update a **draft PR** against `main` once the work and validation are complete. Do not stop at a local summary or ask a human to create the PR manually.
In your final summary, provide:
- What was changed and why (files modified, approach taken)
- What checks passed (cargo check, npm run check, etc.)
- What was manually tested and the results
- **Screenshots** of UI changes (via `playwright screenshot`)
- **Terminal recordings** of CLI changes (via asciinema)
- Any known limitations or follow-up work needed
Upload images via pastebin (e.g., `curl -F 'file=@screenshot.png' https://0x0.st`) and include the URLs in the PR description or comments.