* refactor: slim down claude instructions for lean context and fast iteration Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: add private and license feature flags to enterprise validation docs Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: add /refine skill for end-of-session doc evolution Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * refactor: remove architecture.md overview doc per research findings General codebase overviews distract agents and trigger unnecessary exploration. Keep only operational docs (validation, enterprise). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: add autonomous mode doc for bypass permission workflows Covers: plan-first requirement, tmux pane usage for checking backend/frontend logs, manual testing via Playwright MCP, Playwright gotchas, and end-of-task summary expectations. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: add mermaid, playwright, and asciinema tools to autonomous mode doc Claude should use mmdc for diagrams during planning, playwright CLI for screenshots of frontend changes, and asciinema for terminal recordings of CLI changes. All attached to the PR. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: use pastebin for screenshot/recording uploads Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: address PR review findings - Remove stale docs/architecture.md reference from /refine skill - Fix script name: ./update-sqlx -> ./update_sqlx.sh - Remove .claude/settings.local.json mention from enterprise doc Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2.5 KiB
2.5 KiB
Validation Check Matrix
After making changes, run the appropriate checks and fix all errors before considering work done.
Backend: What to Check
| What changed | Command | Notes |
|---|---|---|
| Core code (no feature gates) | cargo check |
|
Enterprise code (*_ee.rs) |
cargo check --features enterprise,private |
Also do EE PR workflow (see docs/enterprise.md) |
| Enterprise + license-gated code | cargo check --features enterprise,private,license |
When the feature requires a valid license key |
| Kafka trigger code | cargo check --features kafka |
|
| Native trigger code | cargo check --features native_trigger |
|
| Parquet code | cargo check --features parquet |
|
| Multiple gated modules | cargo check --features enterprise,parquet |
Combine only the flags you need |
| API route changes | cargo check |
Then update openapi.yaml and run npm run generate-backend-client |
| Database migrations | cargo check |
Test migration applies cleanly with sqlx migrate run |
Never use --features all_sqlx_features — it compiles everything and is very slow. Check backend/Cargo.toml [features] to find the right flags.
Never use SQLX_OFFLINE=true — a live database is always available.
After all code changes are done, run ./update_sqlx.sh from backend/ to regenerate the offline query cache.
Frontend: What to Check
| When | Command | Time |
|---|---|---|
| During iteration | npm run check:fast |
~2s |
| Final PR validation | npm run check |
~50s |
| After backend API changes | npm run generate-backend-client first |
Cross-Cutting Checks
| Situation | Extra step |
|---|---|
| Added/modified API endpoints | Update backend/windmill-api/openapi.yaml, regenerate client |
| Modified Flow structures | Also update openflow.openapi.yaml |
| Changed DB schema | Update backend/summarized_schema.txt if needed |
| Enterprise file changes | Companion PR in windmill-ee-private (see docs/enterprise.md) |
When to Write Tests
- New utility functions in
windmill-common: always add unit tests - New API endpoints with complex logic: add integration test
- Bug fixes for non-obvious bugs: add regression test
- Pure UI changes: no tests required (rely on type checking)
- Refactoring: ensure existing tests pass, don't add new ones
When to Check Performance
Run EXPLAIN ANALYZE on new/modified queries when touching:
- Job queue tables (
v2_job,v2_job_completed) - Hot-path queries (polling, scheduling)
- Added/removed indexes