Skip to content

feat(segkit): add doctor command with Homebrew/applesimutils auto-install#71

Merged
abueide merged 7 commits intomainfrom
fix/ios-pure-path
May 8, 2026
Merged

feat(segkit): add doctor command with Homebrew/applesimutils auto-install#71
abueide merged 7 commits intomainfrom
fix/ios-pure-path

Conversation

@abueide
Copy link
Copy Markdown
Contributor

@abueide abueide commented May 8, 2026

Summary

  • Replaces segkit setup with segkit doctor (report) and segkit doctor --fix (auto-remediate)
  • Adds Homebrew bin dirs (/opt/homebrew/bin, /usr/local/bin) to PATH during iOS plugin init so applesimutils works in --pure mode
  • Adds applesimutils check to iOS doctor scripts

Changes

  • segkit doctor checks: devbox, Homebrew, applesimutils
  • segkit doctor --fix auto-installs missing deps (Homebrew via official installer, applesimutils via brew tap wix/brew && brew install applesimutils)
  • iOS core.sh: includes Homebrew paths in native toolchain PATH setup
  • iOS doctor.sh (init + user): warns if applesimutils is missing

Why

Running Detox iOS tests in devbox run --pure mode fails because applesimutils (a Wix/Detox dependency only available via Homebrew) isn't on PATH. This makes the iOS development experience seamless — download Xcode, run segkit doctor --fix, and everything works.


🤖 Generated with Claude Code

@abueide abueide added the feature New feature or functionality label May 8, 2026
abueide and others added 6 commits May 8, 2026 16:14
Replaces `segkit setup` with `segkit doctor` / `segkit doctor --fix`.
Doctor checks for devbox, Homebrew, and applesimutils, and --fix
auto-installs anything missing. Also adds Homebrew bin dirs to PATH
during iOS plugin init so applesimutils is discoverable in --pure mode.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Ensures Homebrew and applesimutils are installed on first devbox shell
entry. Subsequent runs are a no-op since deps are already present.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Symlinks only the tools we need (applesimutils) into a private
brew-shims dir rather than adding all of /opt/homebrew/bin to PATH.
Prevents Homebrew-installed node/python/etc from shadowing Nix packages.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Doctor --fix now produces no output when all dependencies are present
(silent no-op for init hook). When something is installed, prints what
was fixed and asks the user to retry their command.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Doctor now prints "segkit: installing X..." before each install so
users know what's happening and can cancel if needed. Exits SUCCESS
when deps are fixed (init hook continues). Silent no-op when all
deps are already present.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@abueide abueide force-pushed the fix/ios-pure-path branch from 7514df4 to 47e5031 Compare May 8, 2026 21:15
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@abueide abueide marked this pull request as ready for review May 8, 2026 21:45
@abueide abueide merged commit 139c499 into main May 8, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New feature or functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant