aboutsummaryrefslogtreecommitdiff
path: root/AGENTS.md
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-09-11 15:35:35 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-09-11 15:35:35 +0300
commit2778411b6cc31ff804655753c2dee3efe78ad413 (patch)
tree9955c3b5d7ff40cd552e0b2b84d402aceaa3539c /AGENTS.md
parent03457913816b0e22e5fb7de5c83d199ee5ae7c51 (diff)
chore: add one-time windows cross-check setup
Diffstat (limited to 'AGENTS.md')
-rw-r--r--AGENTS.md14
1 files changed, 10 insertions, 4 deletions
diff --git a/AGENTS.md b/AGENTS.md
index acec3c03..92b29da9 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -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.