A mise env plugin that selects an installed Xcode and exports DEVELOPER_DIR.
It does not download or install Xcode; it only points to what is already on disk.
Add the plugin and configure it in your mise.toml:
[plugins]
xcode = "https://github.com/hisaac/mise-xcode.git"
[env._.xcode]
version = "16.4"Then load the environment:
mise envThe plugin supports these options under [env._.xcode]:
version(string, required unlessversion_fileis set): desired Xcode version, can be partial like16or16.4.version_file(string, optional): path to a file containing the desired version.additional_search_paths(string or array, optional): extra directories to scan forXcode*.app.debug(bool, optional): print detected installations and selection details.
Example with a version file and extra search paths:
[env._.xcode]
version_file = ".xcode-version"
additional_search_paths = ["~/Applications", "/Volumes/SDKs"]
debug = truehooks/mise_env.lua: selects the best matching installed Xcode and setsDEVELOPER_DIR.hooks/mise_path.lua: no PATH changes.lib/: core logic for version parsing, Xcode representation, and selection.tests/: LuaUnit tests and a runner attests/run.lua.
Bootstrap dev dependencies (LuaUnit + Luacheck):
mise run bootstrapRun unit tests:
mise run test-unitRun integration tests (macOS/Linux expectations):
mise run test-integration