The Xcode 27 breakage shipped with no documentation at all, so the 1200+ star
audience had nothing to find. Worse, the documented install was incomplete:
README told users to install idb-companion but never the `idb` CLI, so anyone
following it ended up with a companion and no CLI - and every navigator.py /
gesture.py / keyboard.py call fails.
README:
- prerequisites become a table with real versions (macOS 15+, Xcode 26+,
Python 3.12+, idb 1.5.1+) instead of "Python 3" and "IDB (optional)"
- idb is stated as required for interactive scripts, installing BOTH the
companion and the CLI from Meta's facebook/fb tap
- calls out that `brew install idb-companion` no longer works at all, since
idb-companion was dropped from Homebrew core - the instruction every fork,
blog post and stale README still carries
- new "Updating idb" and "Xcode 27 notes" sections: the 1.5.1 floor, the
silent-tap symptom, no more Simulator.app (DeviceHub.app replaced it), and
the dead-companion `idb disconnect` recovery
SKILL.md (the file installed users actually get) gains matching requirements
and an inline troubleshooting section, so the fix is reachable without the
repo - references/ is not part of the distributed package. Also drops the link
to examples/, which does not exist.
references/troubleshooting.md leads with the Xcode 27 failure modes, and the
pre-existing "IDB not connecting" entry now says its fix does not apply to
them. Replaced `open -a Simulator` and `killall Simulator`, both dead on
Xcode 27.
Also corrected long-standing drift found while auditing: script count was 27
(README) / 21+ (DEV.md) / 22 (site) against an actual 29, and the macOS floor
disagreed between docs.
* Fix broken CI workflows and stale documentation
All three GitHub Actions workflows referenced skill/ — a directory that
no longer exists. The actual code lives in ios-simulator-skill/. CI has
been silently non-functional since the directory was renamed.
- Fix lint.yml, release.yml, validate-version.yml paths
- Fix pyproject.toml ruff include paths
- Update CLAUDE.md project structure to reflect actual layout
- Update DEV.md stats (21+ scripts, ~10k lines) and all path refs
- Remove stale SPECIFICATION.md (historical v1.0 planning doc)
- Remove examples/ check from release.yml (dir doesn't exist)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Fix pre-existing ruff lint error in cache_utils.py
Add maxsplit=1 to str.split() call (PLC0207). This error was hidden
because CI previously pointed at nonexistent skill/ directory.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>