Skip to content

feat: pure-Swift AppIntents metadata generator for Linux#217

Open
foobisdweik wants to merge 1 commit into
xtool-org:mainfrom
foobisdweik:pr-appintents-gen
Open

feat: pure-Swift AppIntents metadata generator for Linux#217
foobisdweik wants to merge 1 commit into
xtool-org:mainfrom
foobisdweik:pr-appintents-gen

Conversation

@foobisdweik
Copy link
Copy Markdown

This PR introduces a pure-Swift, cross-platform AppIntents metadata generator (AppIntentsGen).

Currently, xtool relies on Xcode's appintentsmetadataprocessor, which restricts building AppIntents to macOS. This fallback parses @AppIntent and @AppShortcutsProvider declarations natively via SwiftSyntax and emits an Apple-compatible JSON schema for extract.actionsdata, allowing apps built on Linux and Windows to expose Shortcuts and Intents to the OS.

Features

  • Complete Swift syntax scanner for Intent discovery.
  • Cross-platform JSON metadata emitter matching Apple's internal schema.
  • Automatic mangled-name encoding and cross-module resolution.
  • Integrated into the existing Packer flow as a fallback when Xcode is unavailable.

Tested extensively on Linux (Ubuntu) targeting iOS 17+. Actions are discoverable in the Shortcuts app and support output/magic-variables.

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.

1 participant