Skip to content

docs: fix outdated Xcode/macOS/Rust prerequisites in CONTRIBUTING - #8982

Closed
with-geun wants to merge 2 commits into
manaflow-ai:mainfrom
with-geun:fix/contributing-xcode-version
Closed

with-geun wants to merge 2 commits into
manaflow-ai:mainfrom
with-geun:fix/contributing-xcode-version

Conversation

@with-geun

@with-geun with-geun commented Jul 27, 2026 •

Copy link
Copy Markdown

Summary

  • CONTRIBUTING.md listed macOS 14+ / Xcode 15+ as prerequisites and didn't mention Rust
  • `.xcode-version` pins Xcode 26 (enforced by `scripts/check-pbxproj.sh` as a CI guard on `objectVersion`), and `scripts/setup.sh` requires Rust to be installed
  • Updated the prerequisites section to match what setup.sh actually checks for, so new contributors don't hit build errors from an outdated toolchain

Test plan

  • Doc-only change, no build/test impact

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.


Summary by cubic

Update CONTRIBUTING prerequisites to match the current toolchain. Replace macOS 14+/Xcode 15+ with macOS 15.6+ and Xcode 26.0 (pinned in .xcode-version and enforced by scripts/check-pbxproj.sh), and add Rust to avoid setup errors.

Written for commit 5974cbd. Summary will update on new commits.

Review in cubic

Summary by CodeRabbit

  • Documentation
    • Updated developer environment prerequisites: macOS now requires 15.6+ and the minimum supported Xcode version is now 26.0.
    • Added guidance to use the project’s pinned Xcode version.
    • Noted that CI enforces the required Xcode version.

setup.sh requires Xcode 26 (per .xcode-version) and Rust, but the doc
still listed Xcode 15+ / macOS 14+ and omitted Rust entirely.
@coderabbitai

coderabbitai Bot commented Jul 27, 2026 •

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Changes

Developer prerequisites

Layer / File(s) Summary
Prerequisite version requirements
CONTRIBUTING.md
Updates minimum requirements to macOS 15.6+ and Xcode 26.0, references .xcode-version, and notes CI enforcement via scripts/check-pbxproj.sh. The Zig prerequisite remains unchanged.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Suggested reviewers: lawrencecchen

🚥 Pre-merge checks | ✅ 25
✅ Passed checks (25 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Cmux Swift Actor Isolation ✅ Passed Only CONTRIBUTING.md changed; no Swift sources or isolation-sensitive code were modified, so this check is not applicable.
Cmux Swift Blocking Runtime ✅ Passed Only CONTRIBUTING.md changed; no production Swift code or blocking runtime sync was introduced.
Cmux Browser Automation Off-Main ✅ Passed Diff only changes CONTRIBUTING.md prerequisites; no browser automation code, routing, or tests were modified, so the off-main WebKit wait policy is not implicated.
Cmux Expensive Synchronous Load ✅ Passed PASS: The PR only changes CONTRIBUTING.md; no Swift or agent-history load code is touched, so the expensive sync-load rule is not applicable.
Cmux Cache Substitution Correctness ✅ Passed Only CONTRIBUTING.md changed; no production Swift/TS/JS cache path was modified, so the cache-substitution rule is not applicable.
Cmux No Hacky Sleeps ✅ Passed Only CONTRIBUTING.md changed; no TypeScript, JavaScript, shell, or runtime script diff to which the sleep rule applies.
Cmux Algorithmic Complexity ✅ Passed PASS: PR only updates CONTRIBUTING.md; no production Swift/TS/JS/shell/runtime code changed, so algorithmic-complexity rule is not implicated.
Cmux Swift Concurrency ✅ Passed Only CONTRIBUTING.md changed; no Swift code or async patterns were introduced.
Cmux Swift @Concurrent ✅ Passed Only CONTRIBUTING.md changed; no Swift files, async call sites, or @concurrent annotations were touched, so the rule doesn’t apply.
Cmux Swift Package Boundaries ✅ Passed Only CONTRIBUTING.md changed; no Swift production code was touched, so the package-boundary rule is not applicable.
Cmux Swiftpm Lockfiles ✅ Passed Only CONTRIBUTING.md changed; no SwiftPM, Xcode project, .gitignore, or Package.resolved files were modified.
Cmux Swift Logging ✅ Passed PASS: The PR only changes CONTRIBUTING.md; no Swift/runtime files or logging statements were added or modified, so the Swift logging rule does not apply.
Cmux User-Facing Error Privacy ✅ Passed Doc-only CONTRIBUTING.md updates are explicitly allowed and don't alter any user-facing error, alert, or output text.
Cmux Full Internationalization ✅ Passed Only CONTRIBUTING.md changed, and the policy explicitly allows operational docs not shown to end users; no locale or user-facing files were touched.
Cmux Swiftui State Layout ✅ Passed Diff only updates CONTRIBUTING.md; no SwiftUI state or layout code was changed.
Cmux Architecture Rethink ✅ Passed Doc-only PR: only CONTRIBUTING.md changed; no Swift files or architecture changes touched, so the Swift rethink rule is not implicated.
Cmux Swift Auxiliary Window Close Shortcuts ✅ Passed Doc-only change: the commit only edits CONTRIBUTING.md; no Swift files or auxiliary-window code changed, so the shortcut rule is not applicable.
Cmux Source Artifacts ✅ Passed Only CONTRIBUTING.md changed, and it’s an intentional docs update with no local/generated artifact content.
Cmux No Test Or Debug Seam In Production Source ✅ Passed Only CONTRIBUTING.md changed; no Swift Sources/Tests files were touched, so no production debug/test seam could be introduced.
Cmux No Ambient Global State ✅ Passed Diff only updates CONTRIBUTING.md; no Swift or runtime-state code changed, so the ambient-global-state rule isn’t implicated.
Title check ✅ Passed The title clearly summarizes the doc update to CONTRIBUTING prerequisites for Xcode/macOS/Rust.
Description check ✅ Passed Summary and test plan are present and specific; missing demo, review trigger, and checklist sections are non-critical here.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@greptile-apps

greptile-apps Bot commented Jul 27, 2026 •

Copy link
Copy Markdown
Contributor

Greptile Summary

Updates contributor prerequisites to match the development toolchain:

  • Documents macOS 15.6+ as the host requirement for Xcode 26.
  • Documents the pinned Xcode 26.0 version and its CI enforcement.
  • Adds Rust as a required dependency.

Confidence Score: 5/5

The documentation-only change appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
CONTRIBUTING.md Corrects the development-host prerequisites and resolves the previously overstated macOS 26+ requirement.

Reviews (2): Last reviewed commit: "docs: correct macOS/Xcode version number..." | Re-trigger Greptile

Comment thread CONTRIBUTING.md Outdated

- macOS 14+
- Xcode 15+
- macOS 26+

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 macOS minimum is overstated

The project still targets macOS 14 and its compatibility workflow exercises macOS 14, 15, and 26, so documenting macOS 26+ as a prerequisite incorrectly directs contributors with supported macOS 14 or 15 environments to upgrade.

Context Used: CLAUDE.md (source)

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@CONTRIBUTING.md`:
- Around line 5-6: Update the Xcode requirement in CONTRIBUTING.md to state the
precisely supported pinned version, Xcode 26.0, instead of implying that all
newer major versions are supported. Keep the existing macOS requirement
unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 429e066a-daa5-4fbb-bf28-0de56bb48b2c

📥 Commits

Reviewing files that changed from the base of the PR and between 440f5d1 and 832dc2d.

📒 Files selected for processing (1)
  • CONTRIBUTING.md

Comment thread CONTRIBUTING.md Outdated
Comment on lines +5 to +6
- macOS 26+
- Xcode 26+ (see `.xcode-version` for the exact pinned version)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Document the supported Xcode version precisely

The repository pins Xcode to 26.0, and scripts/check-pbxproj.sh currently rejects any major version other than 26. Writing Xcode 26+ implies newer majors are supported when they are not validated.

Suggested fix
-- Xcode 26+ (see `.xcode-version` for the exact pinned version)
+- Xcode 26.0 (see `.xcode-version` for the exact pinned version)
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- macOS 26+
- Xcode 26+ (see `.xcode-version` for the exact pinned version)
- macOS 26+
- Xcode 26.0 (see `.xcode-version` for the exact pinned version)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@CONTRIBUTING.md` around lines 5 - 6, Update the Xcode requirement in
CONTRIBUTING.md to state the precisely supported pinned version, Xcode 26.0,
instead of implying that all newer major versions are supported. Keep the
existing macOS requirement unchanged.

Xcode 26.0 requires macOS 15.6+, not macOS 26 — the App Store gate
that suggested macOS 26.2 was for a later Xcode point release, not
the 26.0 version this repo pins. Also state the Xcode requirement as
the exact pinned 26.0 rather than an open-ended "26+".
@teamleaderleo

Copy link
Copy Markdown
Collaborator

Thank you for this! Main ended up getting the same fix in #11922 and #12352, so I'm closing this one as done. Appreciate you jumping in :)

@github-project-automation github-project-automation Bot moved this from Todo to Done in cmux backlog Sep 25, 2026
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