Skip to content

doctor + _common: Windows onboarding fixes and toolkit.env — DRAFT until the Windows field run is cited - #25

Draft
MendixMau wants to merge 2 commits into
masterfrom
queue/doctor-windows-onboarding
Draft

doctor + _common: Windows onboarding fixes and toolkit.env — DRAFT until the Windows field run is cited#25
MendixMau wants to merge 2 commits into
masterfrom
queue/doctor-windows-onboarding

Conversation

@MendixMau

Copy link
Copy Markdown
Owner

Direct lane — instrument change, held for field proof

What changed and why: the instrument half of PR #12 (its three docs commits landed in #22), cherry-picked with -x. project-bin/_common.sh: mxtk_posix_path, a toolkit.env loader (<project>/.claude/toolkit.env, then ~/.mxcli-toolkit.env; env vars win), mxtk_is_elf, find_project_mxcli (on Git Bash prefers mxcli.exe, refuses an ELF mxcli left by a Dev Container), and a rewritten find_sp_app that no longer ranks a glued path (gradle-8.5//c/Program Files/Mendix/10.24…) highest. bin/doctor.sh: reports which toolkit.env loaded, --install fetches mxcli.exe beside an ELF mxcli, JRE-without-javac note, macOS-only sections become notes elsewhere, self-gitignores /.claude/toolkit.env. Six project-bin/* scripts resolve the binary the same way. check-scripts.sh warns instead of failing on a project without bin/.

Merge-queue review (2026-09-08): merged with four small fixes — the .exe probe pasted into page-scope.sh and fixture-manifest.sh now calls find_project_mxcli (one resolver, not three copies); dead MXCLI_LINUX_SEEN dropped; the _common.sh comment claiming init-project gitignores toolkit.env corrected (doctor appends it); the WARN verdict no longer calls a missing .mpr "optional". Five gates green; doctor.sh --quick runs clean on this container.

Why draft — CLAUDE.md "Shipping an instrument", rules 1 and 4. The branch's own changelog says fixture-proven here; Windows field run pending, and no fixture is committed. This is a Windows-path instrument written from a non-Windows session — exactly the F-042 shape. Two things convert it to mergeable:

  1. One Windows field run, cited: on the colleague's Git Bash machine, bin/doctor.sh --install then bin/doctor.sh, output pasted here (redact nothing but usernames), and the CHANGELOG line updated from "still owed" to what it measured.
  2. A golden capture for find_sp_app: the verbatim ls -d listing that produced the glued path, committed under tests/ beside a fixture asserting the expected winner.

Closes #12 (superseded: docs in #22, instrument here).

  • No client data in the diff (a colleague is credited by name in CHANGELOG, per the credit convention)
  • Instrument: field run owed, golden input owed; both layouts via _common.sh; bash-3.2 clean
  • No new skill
  • CHANGELOG line present, credited

🤖 Generated with Claude Code

https://claude.ai/code/session_01VJgWP5vEoAsNsJYqCDMGNw


Generated by Claude Code

…l locations

- find_sp_app: newline-join listings, dedupe identical Program Files roots,
  accept only version-shaped dirs (gradle-8.5 was winning sort -V glued to
  the next entry)
- check-scripts: project without bin/ is a WARN pointing at init-project
- find_project_mxcli: mxcli.exe first on Git Bash; an ELF ./mxcli (the Dev
  Container's) is named, not chmod-ed; --install fetches the .exe beside it;
  exec.sh, lint-gate, review-module, conformance-check, fixture-manifest,
  page-scope resolve the same way
- save-sp/restart-sp section is a note off macOS, not a WARN
- toolkit.env (<project>/.claude/toolkit.env, ~/.mxcli-toolkit.env) loaded
  by _common.sh: MENDIX_APP, JAVA_HOME, MXBUILD_PATH, MXCLI_VERSION, PYTHON;
  Windows paths pasted as-is; doctor reports, self-gitignores, flags a JRE
  without javac; gate/verdict wording guides instead of alarms

Fixture-proven here; Windows field run pending.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Qixv73qXUUHwVDv7fJW8Zv
(cherry picked from commit 41af6f6)
… verdict wording corrected

The Windows field run this instrument change needs is still owed; the PR
stays draft until it is cited.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VJgWP5vEoAsNsJYqCDMGNw
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.

2 participants