diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-09-11 15:35:35 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-09-11 15:35:35 +0300 |
| commit | 2778411b6cc31ff804655753c2dee3efe78ad413 (patch) | |
| tree | 9955c3b5d7ff40cd552e0b2b84d402aceaa3539c /AGENTS.md | |
| parent | 03457913816b0e22e5fb7de5c83d199ee5ae7c51 (diff) | |
chore: add one-time windows cross-check setup
Diffstat (limited to 'AGENTS.md')
| -rw-r--r-- | AGENTS.md | 14 |
1 files changed, 10 insertions, 4 deletions
@@ -141,10 +141,16 @@ just check # formatting check + cargo nextest + maintenance script Run `just check` before committing unless Can explicitly accepts narrower validation. Do not bypass failing checks; fix the failure or explain exactly why a narrower check is enough. Windows MSVC cross-compilation from Unix requires SDK/CRT headers and libraries. -Set `LIBGHOSTTY_VT_WINDOWS_LIBC` to a Zig libc configuration file whose directories -point to that SDK (the format is shown by `zig libc` on Windows). `just windows-lint` -and the Windows stage of `just check` use this configuration. Native Windows builds -auto-detect their installed SDK and do not require the override. +Install `xwin` with `cargo install xwin --locked`, then run +`just setup-windows-cross` once and accept Microsoft's SDK license when prompted. +This downloads the SDK directly from Microsoft; no Windows machine is required. +The SDK and Zig libc configuration live at `~/.local/share/herdr/windows-cross/`, +shared by worktrees. `just windows-lint` and the Windows stage of `just check` +use this configuration automatically. To use another SDK, set +`LIBGHOSTTY_VT_WINDOWS_LIBC` to its Zig libc configuration file. +Setup accepts `--accept-license` for explicit noninteractive license acceptance; +normal checks never download the SDK. Native Windows builds auto-detect their +installed SDK. Native Linux/macOS builds do not need the Windows SDK. Unit tests live next to the code (`#[cfg(test)] mod tests`). New `AppState` or `Workspace` behavior should be testable with `AppState::test_new()` and `Workspace::test_new()` without PTYs. |
