Files
windmill/docs/enterprise.md
centdix bd5239fb7e 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

1.6 KiB

Enterprise (EE) Development

File Conventions

  • Enterprise files use the *_ee.rs suffix
  • Source lives in windmill-ee-private (sibling repo), symlinked into each crate's src/
  • _ee.rs files are gitignored in the main windmill repo — tracked only in windmill-ee-private
  • Use feature flags: #[cfg(feature = "enterprise")] for enterprise logic
  • The private feature flag gates compilation of *_ee.rs files
  • The license feature flag gates features that require a valid license key at runtime
  • Isolate enterprise code in separate modules

Finding the EE Repo

  • Standard location: ~/windmill-ee-private
  • Worktree location: ~/windmill-ee-private__worktrees/<branch-name>/

EE PR Workflow (MUST DO when modifying *_ee.rs files)

When you modify any *_ee.rs file and create a PR on windmill:

  1. Create a matching branch in windmill-ee-private (same branch name)
  2. Commit and push the _ee.rs changes in that branch
  3. Create a PR on windmill-ee-private with a link to the companion windmill PR
  4. Update ee-repo-ref.txt: Run bash write_latest_ee_ref.sh from backend/
    • Verify it wrote the correct commit hash from your branch, not from main (the script may fall back to ~/windmill-ee-private on main)
    • If wrong, manually write the correct hash
  5. Commit ee-repo-ref.txt in the windmill repo so CI picks up the correct EE ref

Validation

# EE code (always include private to compile *_ee.rs files)
cargo check --features enterprise,private

# EE code that also requires license validation
cargo check --features enterprise,private,license