Skip to content

Windows 0.4.2: extensionless ade launcher for Git Bash panes - #10

Merged
boostedchaos merged 3 commits into
mainfrom
windows-0.4.2
Aug 11, 2026
Merged

Windows 0.4.2: extensionless ade launcher for Git Bash panes#10
boostedchaos merged 3 commits into
mainfrom
windows-0.4.2

Conversation

@boostedchaos

Copy link
Copy Markdown
Owner

Micro-release: bare ade in Windows bash panes.

ADE's Windows agent panes default to Git Bash, and bash does not append .cmd
to a bare command name — with ~/.ade\bin on PATH, ade exited 127 while
ade.cmd worked. macOS has always had an extensionless launcher.

Fix: createAdeCliBin writes <dataDir>\bin\ade on win32 in addition to
ade.cmd, generated by the existing POSIX builder (buildAdeBinScript) with
the same staged entry, ADE_CLI_ENTRY override and guard exits (127 entry
missing, 2 bun missing). LF-only, BOM-free, mode 0755, rewritten every boot.
The builder now escapes the baked entry for sh's double-quoted context so a
C:\... path survives to bun. No other launcher gained a shim.

Canary: the four new tests fail against main and pass here.

Live on the release box, against the running installed 0.4.1 app: the real
builder wrote a shim into a temp bin dir; from a Git Bash subshell with that dir
on PATH, bare ade list-workspaces returned the workspace table, exit 0.
Guards: missing entry (via ADE_CLI_ENTRY and via a deleted baked entry) → 127;
PATH without bun → 2.

CI: the installed-CLI pipe smoke gains a second leg through
C:\Program Files\Git\bin\bash.exe — bare ade, profile bin on PATH,
USERNAME/USER still stripped — and polls for the shim like it polls for
ade.cmd. Both legs must pass.

Verification: server-core 489 pass / 20 skip / 0 fail (baseline 485/20/0),
pinned tsc -p packages/server-core exit 0, biome clean.

Release prep on the branch: version 0.4.2, CHANGELOG entry, WINDOWS.md CLI
section, build-report addendum. No tag, no release — that is the gate holder's
call.

boostedchaos and others added 3 commits August 11, 2026 12:08
Windows agent panes default to Git Bash, and bash does not append .cmd to a
bare command name — with ~/.ade\bin on PATH, `ade` exited 127 while `ade.cmd`
worked. macOS has always had an extensionless launcher.

createAdeCliBin now writes a second file on win32 only, generated by the
existing POSIX builder with the same staged entry and the same guard exits
(127 entry missing, 2 bun missing), LF-only and mode 0755 through the same
writeFileIfChanged path, so every boot refreshes it. The builder now escapes
the baked entry for sh's double-quoted context so a C:\... path (and any $ or
backtick in it) reaches bun intact.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The pipe smoke ran the launcher only through cmd.exe, so a bash pane's bare
`ade` — the way ADE's own Windows terminals invoke it — was never exercised.
Second leg: Git Bash, bare name resolved from the profile's bin dir, USERNAME
and USER still stripped. Polls for the shim like it polls for ade.cmd, and
both legs must set their marker or the step fails.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@boostedchaos
boostedchaos marked this pull request as ready for review August 11, 2026 17:24
@boostedchaos
boostedchaos merged commit 9b90ef7 into main Aug 11, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant