Skip to content

plugin: add Swift language tooling workflows#153

Merged
gaelic-ghost merged 3 commits into
mainfrom
plugin/swift-language-tooling
Jul 18, 2026
Merged

plugin: add Swift language tooling workflows#153
gaelic-ghost merged 3 commits into
mainfrom
plugin/swift-language-tooling

Conversation

@gaelic-ghost

Copy link
Copy Markdown
Owner

Summary

  • add five Swift language tooling workflows across SwiftSyntax, compiler inspection, SourceKit semantics, indexing, and SourceKit-LSP
  • add the Swift package extension workflow for plugins, macros, traits, generated sources, permissions, and Xcode handoffs
  • prepare shared Socket version 9.17.0 and align Codex, Hermes, Claude Code, and Cowork metadata

Verification

  • Apple Dev Skills: 263 tests passed
  • Socket root: 102 tests passed, 1 skipped
  • metadata, docs, Ruff, mypy, Hermes, and Claude compatibility validation passed

Why:
Give agents explicit syntax, compiler, semantic-index, and LSP paths while preserving Swiftly and Xcode toolchain ownership.

Verification:
Validated all five skill folders with the skill-creator validator.
Why:
Publish the Swift language-tooling expansion across Socket's Codex, Claude, Cowork, and Hermes surfaces and reserve the API-analysis second wave in the roadmap.

Verification:
- five skill-creator validations
- 102 pytest tests passed; 1 skipped
- Ruff passed
- mypy passed
- Socket metadata, Hermes, and Claude compatibility validators passed
@gaelic-ghost gaelic-ghost added the enhancement New feature or request label Jul 18, 2026
@coderabbitai

coderabbitai Bot commented Jul 18, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 135 files, which is 35 over the limit of 100.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

Upgrade to a paid plan to raise the limit.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 9a3be2b7-c481-445c-9b7d-629c7728c579

📥 Commits

Reviewing files that changed from the base of the PR and between d192fa3 and d41d5a4.

⛔ Files ignored due to path filters (8)
  • plugins/agent-portability-skills/uv.lock is excluded by !**/*.lock
  • plugins/apple-dev-skills/uv.lock is excluded by !**/*.lock
  • plugins/cardhop-app/mcp/uv.lock is excluded by !**/*.lock
  • plugins/productivity-skills/uv.lock is excluded by !**/*.lock
  • plugins/python-skills/uv.lock is excluded by !**/*.lock
  • plugins/things-app/mcp/uv.lock is excluded by !**/*.lock
  • plugins/things-app/uv.lock is excluded by !**/*.lock
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (135)
  • .claude-plugin/marketplace.json
  • README.md
  • ROADMAP.md
  • docs/maintainers/hermes-compatibility.md
  • docs/maintainers/swift-lang-plugin-plan.md
  • plugins/agent-portability-skills/.codex-plugin/plugin.json
  • plugins/agent-portability-skills/pyproject.toml
  • plugins/agentdeck/.codex-plugin/plugin.json
  • plugins/android-dev-skills/.codex-plugin/plugin.json
  • plugins/apple-creator-studio-skills/.codex-plugin/plugin.json
  • plugins/apple-dev-skills/.codex-plugin/plugin.json
  • plugins/apple-dev-skills/.github/scripts/sync_shared_snippets.sh
  • plugins/apple-dev-skills/.github/scripts/validate_repo_docs.sh
  • plugins/apple-dev-skills/README.md
  • plugins/apple-dev-skills/ROADMAP.md
  • plugins/apple-dev-skills/docs/maintainers/customization-consolidation-review.md
  • plugins/apple-dev-skills/pyproject.toml
  • plugins/apple-dev-skills/shared/agents-snippets/apple-swift-package-core.md
  • plugins/apple-dev-skills/skills/bootstrap-swift-package/assets/AGENTS.md
  • plugins/apple-dev-skills/skills/bootstrap-swift-package/references/snippets/apple-swift-package-core.md
  • plugins/apple-dev-skills/skills/format-swift-sources/SKILL.md
  • plugins/apple-dev-skills/skills/swift-package-build-run-workflow/SKILL.md
  • plugins/apple-dev-skills/skills/swift-package-build-run-workflow/references/snippets/apple-swift-package-core.md
  • plugins/apple-dev-skills/skills/swift-package-build-run-workflow/scripts/run_workflow.py
  • plugins/apple-dev-skills/skills/swift-package-extension-workflow/SKILL.md
  • plugins/apple-dev-skills/skills/swift-package-extension-workflow/agents/openai.yaml
  • plugins/apple-dev-skills/skills/swift-package-extension-workflow/references/cli-command-matrix.md
  • plugins/apple-dev-skills/skills/swift-package-extension-workflow/references/customization-flow.md
  • plugins/apple-dev-skills/skills/swift-package-extension-workflow/references/customization.template.yaml
  • plugins/apple-dev-skills/skills/swift-package-extension-workflow/references/generated-source-and-build-products.md
  • plugins/apple-dev-skills/skills/swift-package-extension-workflow/references/package-plugins-build-command-and-xcode.md
  • plugins/apple-dev-skills/skills/swift-package-extension-workflow/references/package-traits-feature-flags.md
  • plugins/apple-dev-skills/skills/swift-package-extension-workflow/references/plugin-permissions-sandbox-and-outputs.md
  • plugins/apple-dev-skills/skills/swift-package-extension-workflow/references/snippets/apple-swift-package-core.md
  • plugins/apple-dev-skills/skills/swift-package-extension-workflow/references/swift-macros-package-shape.md
  • plugins/apple-dev-skills/skills/swift-package-extension-workflow/references/xcode-handoff-conditions.md
  • plugins/apple-dev-skills/skills/swift-package-extension-workflow/scripts/customization_config.py
  • plugins/apple-dev-skills/skills/swift-package-extension-workflow/scripts/run_workflow.py
  • plugins/apple-dev-skills/skills/swift-package-testing-workflow/SKILL.md
  • plugins/apple-dev-skills/skills/swift-package-testing-workflow/references/snippets/apple-swift-package-core.md
  • plugins/apple-dev-skills/skills/swift-package-testing-workflow/scripts/run_workflow.py
  • plugins/apple-dev-skills/skills/swift-package-workflow/SKILL.md
  • plugins/apple-dev-skills/skills/swift-package-workflow/references/snippets/apple-swift-package-core.md
  • plugins/apple-dev-skills/skills/swift-package-workflow/scripts/run_workflow.py
  • plugins/apple-dev-skills/skills/sync-swift-package-guidance/assets/AGENTS.md
  • plugins/apple-dev-skills/skills/sync-swift-package-guidance/references/snippets/apple-swift-package-core.md
  • plugins/apple-dev-skills/tests/test_app_extension_workflows.py
  • plugins/apple-dev-skills/tests/test_apple_developer_provisioning_workflow.py
  • plugins/apple-dev-skills/tests/test_arkit_spatial_face_body_workflows.py
  • plugins/apple-dev-skills/tests/test_camera_capture_depth_workflow.py
  • plugins/apple-dev-skills/tests/test_customization_consolidation_review.py
  • plugins/apple-dev-skills/tests/test_devicecheck_app_attest_workflow.py
  • plugins/apple-dev-skills/tests/test_imaging_foundation_workflows.py
  • plugins/apple-dev-skills/tests/test_photos_library_editing_workflow.py
  • plugins/apple-dev-skills/tests/test_swift_package_build_run_workflow.py
  • plugins/apple-dev-skills/tests/test_swift_package_extension_workflow.py
  • plugins/apple-dev-skills/tests/test_swift_package_testing_workflow.py
  • plugins/apple-dev-skills/tests/test_swift_package_workflow.py
  • plugins/apple-dev-skills/tests/test_tipkit_workflow.py
  • plugins/apple-dev-skills/tests/test_video_codec_processing_workflow.py
  • plugins/apple-dev-skills/tests/test_vision_recognition_workflows.py
  • plugins/apple-dev-skills/tests/test_xcode_localization_workflow.py
  • plugins/cardhop-app/.codex-plugin/plugin.json
  • plugins/cardhop-app/mcp/pyproject.toml
  • plugins/cloud-deployment-skills/.codex-plugin/plugin.json
  • plugins/cloud-inference-skills/.codex-plugin/plugin.json
  • plugins/cybersecurity-skills/.codex-plugin/plugin.json
  • plugins/dotnet-skills/.codex-plugin/plugin.json
  • plugins/game-dev-skills/.codex-plugin/plugin.json
  • plugins/messaging-collaboration-skills/.codex-plugin/plugin.json
  • plugins/network-protocol-skills/.codex-plugin/plugin.json
  • plugins/productivity-skills/.codex-plugin/plugin.json
  • plugins/productivity-skills/pyproject.toml
  • plugins/python-skills/.codex-plugin/plugin.json
  • plugins/python-skills/pyproject.toml
  • plugins/reverse-engineering-skills/.codex-plugin/plugin.json
  • plugins/rust-skills/.codex-plugin/plugin.json
  • plugins/server-side-jvm/.codex-plugin/plugin.json
  • plugins/server-side-swift/.codex-plugin/plugin.json
  • plugins/spotify/.codex-plugin/plugin.json
  • plugins/swift-lang/.codex-plugin/plugin.json
  • plugins/swift-lang/AGENTS.md
  • plugins/swift-lang/skills/choose-swift-language-tooling/SKILL.md
  • plugins/swift-lang/skills/choose-swift-language-tooling/agents/openai.yaml
  • plugins/swift-lang/skills/choose-swift-language-tooling/references/tool-selection-matrix.md
  • plugins/swift-lang/skills/sourcekit-lsp-workflow/SKILL.md
  • plugins/swift-lang/skills/sourcekit-lsp-workflow/agents/openai.yaml
  • plugins/swift-lang/skills/sourcekit-lsp-workflow/references/sourcekit-lsp-diagnostics.md
  • plugins/swift-lang/skills/swift-compiler-inspection-workflow/SKILL.md
  • plugins/swift-lang/skills/swift-compiler-inspection-workflow/agents/openai.yaml
  • plugins/swift-lang/skills/swift-compiler-inspection-workflow/references/compiler-surfaces.md
  • plugins/swift-lang/skills/swift-semantic-indexing-workflow/SKILL.md
  • plugins/swift-lang/skills/swift-semantic-indexing-workflow/agents/openai.yaml
  • plugins/swift-lang/skills/swift-semantic-indexing-workflow/references/semantic-index-surfaces.md
  • plugins/swift-lang/skills/swift-syntax-tooling-workflow/SKILL.md
  • plugins/swift-lang/skills/swift-syntax-tooling-workflow/agents/openai.yaml
  • plugins/swift-lang/skills/swift-syntax-tooling-workflow/references/swift-syntax-components.md
  • plugins/swiftasb-skills/.codex-plugin/plugin.json
  • plugins/things-app/.codex-plugin/plugin.json
  • plugins/things-app/mcp/pyproject.toml
  • plugins/things-app/pyproject.toml
  • plugins/web-dev-skills/.codex-plugin/plugin.json
  • pyproject.toml
  • scripts/export_hermes_skills.py
  • skills.sh.json
  • skills/choose-swift-language-tooling/SKILL.md
  • skills/choose-swift-language-tooling/agents/openai.yaml
  • skills/choose-swift-language-tooling/references/tool-selection-matrix.md
  • skills/sourcekit-lsp-workflow/SKILL.md
  • skills/sourcekit-lsp-workflow/agents/openai.yaml
  • skills/sourcekit-lsp-workflow/references/sourcekit-lsp-diagnostics.md
  • skills/swift-compiler-inspection-workflow/SKILL.md
  • skills/swift-compiler-inspection-workflow/agents/openai.yaml
  • skills/swift-compiler-inspection-workflow/references/compiler-surfaces.md
  • skills/swift-package-extension-workflow/SKILL.md
  • skills/swift-package-extension-workflow/agents/openai.yaml
  • skills/swift-package-extension-workflow/references/cli-command-matrix.md
  • skills/swift-package-extension-workflow/references/customization-flow.md
  • skills/swift-package-extension-workflow/references/customization.template.yaml
  • skills/swift-package-extension-workflow/references/generated-source-and-build-products.md
  • skills/swift-package-extension-workflow/references/package-plugins-build-command-and-xcode.md
  • skills/swift-package-extension-workflow/references/package-traits-feature-flags.md
  • skills/swift-package-extension-workflow/references/plugin-permissions-sandbox-and-outputs.md
  • skills/swift-package-extension-workflow/references/snippets/apple-swift-package-core.md
  • skills/swift-package-extension-workflow/references/swift-macros-package-shape.md
  • skills/swift-package-extension-workflow/references/xcode-handoff-conditions.md
  • skills/swift-package-extension-workflow/scripts/customization_config.py
  • skills/swift-package-extension-workflow/scripts/run_workflow.py
  • skills/swift-semantic-indexing-workflow/SKILL.md
  • skills/swift-semantic-indexing-workflow/agents/openai.yaml
  • skills/swift-semantic-indexing-workflow/references/semantic-index-surfaces.md
  • skills/swift-syntax-tooling-workflow/SKILL.md
  • skills/swift-syntax-tooling-workflow/agents/openai.yaml
  • skills/swift-syntax-tooling-workflow/references/swift-syntax-components.md
  • tests/test_validate_hermes_compatibility.py

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Review on demand using usage pricing
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch plugin/swift-language-tooling

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.

@gaelic-ghost
gaelic-ghost merged commit c722b4e into main Jul 18, 2026
2 checks passed
@gaelic-ghost
gaelic-ghost deleted the plugin/swift-language-tooling branch July 18, 2026 23:27

@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: d41d5a4b61

ℹ️ 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".

Comment on lines +103 to +107
commands = ["swift package plugin --list", "swift package init --type build-tool-plugin"]
elif extension_type == "command-plugin":
commands = ["swift package plugin --list", "swift package plugin --help", "swift package init --type command-plugin"]
elif extension_type == "macro":
commands = ["swift package init --type macro", "swift build", "swift test"]

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 Replace package init commands for existing packages

For plugin and macro requests this workflow only reaches success after Package.swift is present, but these planned commands initialize a new package template. I checked Swift 6.2.4: swift package init --help describes initializing a new package, and running it in a package reports a manifest file already exists, so users following a successful existing-package plan will hit a dead command instead of adding plugin or macro targets. Gate these template commands to an empty bootstrap path or plan the manifest/target edits needed for the existing package.

Useful? React with 👍 / 👎.

commands = ["swift package init --type macro", "swift build", "swift test"]
elif extension_type == "traits":
commands = [
"swift package show-traits --format json",

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 Use a real SwiftPM trait inspection command

For trait requests the first planned command is not supported by the SwiftPM floor this workflow advertises. I checked Swift 6.2.4: swift package --help lists trait options such as --traits, --enable-all-traits, and --disable-default-traits, but no show-traits subcommand, and invoking swift package show-traits --help in a package errors with Unknown subcommand or plugin name. Users following the trait inventory path will fail before the build/test matrix, so this should use a supported inspection path.

Useful? React with 👍 / 👎.

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

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant