Skip to content

plugin: update Things security and XcodeGen defaults - #177

Merged
gaelic-ghost merged 3 commits into
mainfrom
fix/things-security-and-xcodegen
Aug 11, 2026
Merged

plugin: update Things security and XcodeGen defaults#177
gaelic-ghost merged 3 commits into
mainfrom
fix/things-security-and-xcodegen

Conversation

@gaelic-ghost

@gaelic-ghost gaelic-ghost commented Aug 11, 2026

Copy link
Copy Markdown
Owner

No description provided.

@gaelic-ghost gaelic-ghost added the dependencies Pull requests that update a dependency file label Aug 11, 2026
@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@gaelic-ghost, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 48 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 55c5f240-c1a2-48c8-b3fd-c6d389e51037

📥 Commits

Reviewing files that changed from the base of the PR and between 742f416 and c2874b6.

📒 Files selected for processing (3)
  • plugins/apple-dev-skills/ROADMAP.md
  • plugins/apple-dev-skills/skills/bootstrap-xcode-app-project/references/project-generators.md
  • plugins/apple-dev-skills/tests/test_xcode_app_bootstrap_workflow.py
📝 Walkthrough

Walkthrough

The XcodeGen SwiftUI app template now enables string catalog defaults, generates test-target Info.plists, excludes .gitkeep files from synced sources, and validates these settings in bootstrap workflow tests.

Changes

XcodeGen template defaults

Layer / File(s) Summary
Build and bootstrap settings
plugins/apple-dev-skills/templates/xcodegen/swiftui-app/Configurations/Shared.xcconfig.tmpl, plugins/apple-dev-skills/templates/xcodegen/swiftui-app/Configurations/Tests.xcconfig.tmpl, plugins/apple-dev-skills/tests/test_xcode_app_bootstrap_workflow.py
Shared settings enable string catalogs, localization symbols, and emitted localized strings. Test settings enable automatic Info.plist generation. Bootstrap tests verify the generated settings.
Synced source exclusions
plugins/apple-dev-skills/templates/xcodegen/swiftui-app/project.yml.tmpl, plugins/apple-dev-skills/tests/test_xcode_app_bootstrap_workflow.py
The application Sources synced folder excludes **/.gitkeep. Tests verify the expected .gitkeep entries in generated and checked-in templates.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested labels: enhancement

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning The test Info.plist setting and related validation appear unrelated to the linked issue about catalog symbol defaults. Remove the unrelated test-bundle Info.plist changes or link them to a requirement that justifies their inclusion.
Linked Issues check ❓ Inconclusive The summary confirms the string settings but does not verify all #176 acceptance criteria, including asset symbols, catalogs, build settings, and generated sources. Provide evidence for every #176 acceptance criterion, including asset catalogs, Localizable.xcstrings, showBuildSettings, and both generated symbol files.
✅ Passed checks (3 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the dependency security update and XcodeGen default changes.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/things-security-and-xcodegen

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.

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 742f4165c6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@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.

🧹 Nitpick comments (1)
plugins/apple-dev-skills/tests/test_xcode_app_bootstrap_workflow.py (1)

321-332: 🗄️ Data Integrity & Integration | 🔵 Trivial | 🏗️ Heavy lift

Add separate Xcode integration coverage for the generated project.

Keep this tool-free unit test. Add a separately gated macOS integration test that runs real xcodegen generate, checks xcodebuild -showBuildSettings, builds the generated scheme, and checks the generated symbol sources.

🤖 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 `@plugins/apple-dev-skills/tests/test_xcode_app_bootstrap_workflow.py` around
lines 321 - 332, Add a separately gated macOS integration test alongside the
existing tool-free assertions in the Xcode app bootstrap workflow tests. Have it
invoke real xcodegen generate, inspect xcodebuild -showBuildSettings, build the
generated scheme, and verify the generated localization symbol sources; leave
the current unit test unchanged.
🤖 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.

Nitpick comments:
In `@plugins/apple-dev-skills/tests/test_xcode_app_bootstrap_workflow.py`:
- Around line 321-332: Add a separately gated macOS integration test alongside
the existing tool-free assertions in the Xcode app bootstrap workflow tests.
Have it invoke real xcodegen generate, inspect xcodebuild -showBuildSettings,
build the generated scheme, and verify the generated localization symbol
sources; leave the current unit test unchanged.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 10d6bc0d-5449-4293-9678-9a1f85f240c7

📥 Commits

Reviewing files that changed from the base of the PR and between 687eaf9 and 742f416.

⛔ Files ignored due to path filters (1)
  • plugins/things-app/mcp/uv.lock is excluded by !**/*.lock
📒 Files selected for processing (4)
  • plugins/apple-dev-skills/templates/xcodegen/swiftui-app/Configurations/Shared.xcconfig.tmpl
  • plugins/apple-dev-skills/templates/xcodegen/swiftui-app/Configurations/Tests.xcconfig.tmpl
  • plugins/apple-dev-skills/templates/xcodegen/swiftui-app/project.yml.tmpl
  • plugins/apple-dev-skills/tests/test_xcode_app_bootstrap_workflow.py

@gaelic-ghost

Copy link
Copy Markdown
Owner Author

Addressed the integration-coverage suggestion in 5adb89c. The opt-in macOS test now bootstraps a real XcodeGen app, checks all four requested build settings through xcodebuild -showBuildSettings, runs xcodebuild test, and verifies GeneratedAssetSymbols.swift plus GeneratedStringSymbols_Localizable.swift. The existing bootstrap tests also verify the checked-in Assets.xcassets and Localizable.xcstrings templates.

Verified locally: the opt-in integration test passed (9 tests), the normal Apple Dev suite passed (290 plus one intentionally skipped), and Socket metadata validation passed.

@gaelic-ghost

Copy link
Copy Markdown
Owner Author

Addressed the documentation finding in c2874b6. The bootstrap generator reference now documents the default String Catalog, generated localization-symbol settings, test-bundle Info.plist requirement, and placeholder exclusion; the Apple Dev roadmap records the completed scaffold contract. The test-bundle setting and .gitkeep exclusion are necessary to make a freshly generated app pass the required xcodebuild test acceptance path.

@gaelic-ghost
gaelic-ghost merged commit 3f2ada9 into main Aug 11, 2026
2 checks passed
@gaelic-ghost
gaelic-ghost deleted the fix/things-security-and-xcodegen branch August 11, 2026 03:24

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c2874b63a5

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

"-scheme",
"TemplateProbe",
"-destination",
"platform=macOS,arch=arm64",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Select the host architecture for the macOS test

In the new opt-in XcodeGen integration test, hard-coding the destination to arch=arm64 makes APPLE_DEV_SKILLS_RUN_XCODEGEN_INTEGRATION=1 fail on Intel macOS hosts and Intel GitHub runners because they cannot execute the generated ARM test bundle. Omit the architecture so Xcode selects the host Mac, or derive it from the current machine.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant