Files
windmill/docs/validation.md
centdix ff180de4de refactor: slim down claude instructions for lean context and fast iteration (#8136)
* 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>
2026-02-28 07:00:19 +00:00

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