* 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>
56 lines
2.5 KiB
Markdown
56 lines
2.5 KiB
Markdown
# 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
|