Apple Developer Toolkit
All-in-one Apple developer skill with three integrated tools shipped as a single unified binary. (1)
- Rating
- 3.9 (396 reviews)
- Downloads
- 1,530 downloads
- Version
- 1.0.0
Overview
All-in-one Apple developer skill with three integrated tools shipped as a single unified binary. (1) Documentation.
Complete Documentation
View Source →
Apple Developer Toolkit
Three tools in one binary. Each part works independently with different credential requirements.
Architecture
Ships as a single unified binary appledev with multi-call support:
appledev build ... # iOS app builder (SwiftShip)
appledev store ... # App Store Connect CLI
appledev b ... # Short alias
appledev s ... # Short alias
One binary, three tools, zero duplication.
Credential Requirements by Feature
| Feature | Credentials Needed | Works Without Setup |
|---|---|---|
| Documentation Search (Part 1) | None | Yes |
| App Store Connect (Part 2) | App Store Connect API key (.p8) | No |
| iOS App Builder (Part 3) | LLM API key + Xcode | No |
Setup
Part 1: Documentation Search (no setup needed)
Works immediately with Node.js:
node cli.js search "NavigationStack"
Part 2: App Store Connect CLI
Install via Homebrew:
brew install Abdullah4AI/tap/appledev
Authenticate with your App Store Connect API key:
appledev store auth login --name "MyApp" --key-id "KEY_ID" --issuer-id "ISSUER_ID" --private-key /path/to/AuthKey.p8
Or set environment variables:
export APPSTORE_KEY_ID="your-key-id"
export APPSTORE_ISSUER_ID="your-issuer-id"
export APPSTORE_PRIVATE_KEY_PATH="/path/to/AuthKey.p8"
API keys are created at https://appstoreconnect.apple.com/access/integrations/api
Part 3: iOS App Builder
Prerequisites: Xcode (with iOS Simulator), XcodeGen, and an LLM API key for code generation.
appledev build setup # Checks and installs prerequisites
Build from source
bash scripts/setup.sh
Part 1: Documentation Search
node cli.js search "NavigationStack"
node cli.js symbols "UIView"
node cli.js doc "/documentation/swiftui/navigationstack"
node cli.js overview "SwiftUI"
node cli.js samples "SwiftUI"
node cli.js wwdc-search "concurrency"
node cli.js wwdc-year 2025
node cli.js wwdc-topic "swiftui-ui-frameworks"
Part 2: App Store Connect
Full reference: references/app-store-connect.md
| Task | Command |
|---|---|
| List apps | appledev store apps |
| Upload build | appledev store builds upload --app "APP_ID" --ipa "app.ipa" --wait |
| Find build by number | appledev store builds find --app "APP_ID" --build-number "42" |
| Wait for build processing | appledev store builds wait --build "BUILD_ID" |
| Publish TestFlight | appledev store publish testflight --app "APP_ID" --ipa "app.ipa" --group "Beta" --wait |
| Submit App Store | appledev store publish appstore --app "APP_ID" --ipa "app.ipa" --submit --confirm --wait |
| Pre-submission validation | appledev store validate --app "APP_ID" --version-id "VERSION_ID" |
| List certificates | appledev store certificates list |
| Reviews | appledev store reviews --app "APP_ID" --output table |
| Update localizations | appledev store localizations update --app "APP_ID" --locale "en-US" --name "My App" |
| Sales report | appledev store analytics sales --vendor "VENDOR" --type SALES --subtype SUMMARY --frequency DAILY --date "2024-01-20" |
| Xcode Cloud | appledev store xcode-cloud run --app "APP_ID" --workflow "CI" --branch "main" --wait |
| Notarize | appledev store notarization submit --file ./MyApp.zip --wait |
| Status dashboard | appledev store status --app "APP_ID" --output table |
| Weekly insights | appledev store insights weekly --app "APP_ID" --source analytics |
| Metadata pull | appledev store metadata pull --app "APP_ID" --version "1.2.3" --dir ./metadata |
| Release notes | appledev store release-notes generate --since-tag "v1.2.2" |
| Diff localizations | appledev store diff localizations --app "APP_ID" --path ./metadata |
| Nominations | appledev store nominations create --app "APP_ID" --name "Launch" |
| Price point filter | appledev store pricing price-points --app "APP_ID" --price 0.99 |
| IAP (family sharable) | appledev store iap create --app "APP_ID" --family-sharable |
| Subscription (family sharable) | appledev store subscriptions create --app "APP_ID" --family-sharable |
Environment Variables
All environment variables are optional. They override flags when set.
| Variable | Description |
|---|---|
| APPSTORE_KEY_ID | API Key ID |
| APPSTORE_ISSUER_ID | API Issuer ID |
| APPSTORE_PRIVATE_KEY_PATH | Path to .p8 key file |
| APPSTORE_PRIVATE_KEY | Raw private key string |
| APPSTORE_PRIVATE_KEY_B64 | Base64-encoded private key |
| APPSTORE_APP_ID | Default app ID |
| APPSTORE_PROFILE | Default auth profile |
| APPSTORE_DEBUG | Enable debug output |
| APPSTORE_TIMEOUT | Request timeout |
| APPSTORE_BYPASS_KEYCHAIN | Skip system keychain |
Part 3: Multi-Platform App Builder
Supports iOS, watchOS, tvOS, and iPad. Generates complete Swift/SwiftUI apps from natural language with AI-powered code generation.
appledev build # Interactive mode
appledev build setup # Install prerequisites (Xcode, XcodeGen, AI backend)
appledev build fix # Auto-fix build errors
appledev build run # Build and launch in simulator
appledev build open # Open project in Xcode
appledev build chat # Interactive chat mode (edit/ask questions)
appledev build info # Show project status
appledev build usage # Token usage and cost
Supported Platforms
| Platform | Status |
|---|---|
| iOS | Full support |
| iPad | Full support |
| macOS | Supported |
| watchOS | Supported |
| tvOS | Supported |
| visionOS | Supported |
How it works
describe > analyze > plan > build > fix > run
- Analyze - Extracts app name, features, core flow, target platform from description
- Plan - Produces file-level build plan: data models, navigation, design
- Build - Generates Swift source files, project.yml, asset catalog
- Fix - Compiles and auto-repairs until build succeeds
- Run - Boots Simulator and launches the app
Interactive commands
| Command | Description |
|---|---|
| /run | Build and launch in simulator |
| /fix | Auto-fix compilation errors |
| /open | Open project in Xcode |
| /ask [question] | Ask a question about the project |
| /model [name] | Switch model (sonnet, opus, haiku) |
| /info | Show project info |
| /usage | Token usage and cost |
Hooks
The toolkit supports lifecycle hooks for automation. Hooks fire at key points during build and store operations, running scripts or sending notifications.
Quick Start
# Initialize hook system with indie dev template
bash scripts/hook-init.sh --template indie
# Test a hook
bash scripts/hook-runner.sh build.done STATUS=success APP_NAME=MyApp DURATION_SEC=42
# Dry run (preview without executing)
bash scripts/hook-runner.sh --dry-run build.done STATUS=success APP_NAME=MyApp
# Per-project hooks
bash scripts/hook-init.sh --template indie --project
Config Locations
- Global:
~/.appledev/hooks.yaml(applies to all projects) - Project:
.appledev/hooks.yaml(overrides/extends global) - Hook scripts:
~/.appledev/hooks/(reusable shell scripts) - Logs:
~/.appledev/hook-logs/(daily execution logs)
Templates
Three templates available via hook-init.sh --template:
| Template | Focus |
|---|---|
| indie | Solo dev: Telegram notifications, auto TestFlight |
| team | Team: Slack + Telegram, git tagging, changelog |
| ci | CI/CD: Logging, test running, no interactive notifications |
Built-in Hook Scripts
| Script | Purpose |
|---|---|
| notify-telegram.sh | Send Telegram notification |
| git-tag-release.sh | Create and push git tag |
| run-swift-tests.sh | Run Swift tests (SPM or Xcode) |
| generate-changelog.sh | Generate changelog from git history |
Event Catalog
42 events across 4 categories: build (13), store (20), docs (4), pipeline (5). Full reference: references/hooks-reference.md
Agent Integration
When running appledev commands via the skill, fire appropriate hook events after completion:
# After appledev build completes
bash scripts/hook-runner.sh build.done STATUS=success APP_NAME=AppName DURATION_SEC=30
# After store upload
bash scripts/hook-runner.sh store.upload.done STATUS=success APP_ID=123 BUILD_NUMBER=42
References
| Reference | Content |
|---|---|
| references/app-store-connect.md | Complete App Store Connect CLI commands |
| references/ios-rules/ | 38 iOS development rules |
| references/swiftui-guides/ | 12 SwiftUI best practice guides |
| references/ios-app-builder-prompts.md | System prompts for app building |
iOS Rules (38 files)
accessibility, app_clips, app_review, apple_translation, biometrics, camera, charts, color_contrast, components, dark_mode, design-system, feedback_states, file-structure, forbidden-patterns, foundation_models, gestures, haptics, healthkit, live_activities, localization, maps, mvvm-architecture, navigation-patterns, notification_service, notifications, safari_extension, share_extension, siri_intents, spacing_layout, speech, storage-patterns, swift-conventions, timers, typography, view-composition, view_complexity, website_links, widgets
SwiftUI Guides (12 files)
animations, forms-and-input, layout, liquid-glass, list-patterns, media, modern-apis, navigation, performance, scroll-patterns, state-management, text-formatting
Installation
openclaw install apple-developer-toolkit
💻Code Examples
appledev s ... # Short alias
One binary, three tools, zero duplication.
## Credential Requirements by Feature
| Feature | Credentials Needed | Works Without Setup |
|---------|-------------------|-------------------|
| Documentation Search (Part 1) | None | Yes |
| App Store Connect (Part 2) | App Store Connect API key (.p8) | No |
| iOS App Builder (Part 3) | LLM API key + Xcode | No |
## Setup
### Part 1: Documentation Search (no setup needed)
Works immediately with Node.js:node cli.js search "NavigationStack"
### Part 2: App Store Connect CLI
Install via Homebrew:export APPSTORE_PRIVATE_KEY_PATH="/path/to/AuthKey.p8"
API keys are created at https://appstoreconnect.apple.com/access/integrations/api
### Part 3: iOS App Builder
Prerequisites: Xcode (with iOS Simulator), XcodeGen, and an LLM API key for code generation.node cli.js wwdc-topic "swiftui-ui-frameworks"
## Part 2: App Store Connect
Full reference: [references/app-store-connect.md](references/app-store-connect.md)
| Task | Command |
|------|---------|
| List apps | `appledev store apps` |
| Upload build | `appledev store builds upload --app "APP_ID" --ipa "app.ipa" --wait` |
| Find build by number | `appledev store builds find --app "APP_ID" --build-number "42"` |
| Wait for build processing | `appledev store builds wait --build "BUILD_ID"` |
| Publish TestFlight | `appledev store publish testflight --app "APP_ID" --ipa "app.ipa" --group "Beta" --wait` |
| Submit App Store | `appledev store publish appstore --app "APP_ID" --ipa "app.ipa" --submit --confirm --wait` |
| Pre-submission validation | `appledev store validate --app "APP_ID" --version-id "VERSION_ID"` |
| List certificates | `appledev store certificates list` |
| Reviews | `appledev store reviews --app "APP_ID" --output table` |
| Update localizations | `appledev store localizations update --app "APP_ID" --locale "en-US" --name "My App"` |
| Sales report | `appledev store analytics sales --vendor "VENDOR" --type SALES --subtype SUMMARY --frequency DAILY --date "2024-01-20"` |
| Xcode Cloud | `appledev store xcode-cloud run --app "APP_ID" --workflow "CI" --branch "main" --wait` |
| Notarize | `appledev store notarization submit --file ./MyApp.zip --wait` |
| Status dashboard | `appledev store status --app "APP_ID" --output table` |
| Weekly insights | `appledev store insights weekly --app "APP_ID" --source analytics` |
| Metadata pull | `appledev store metadata pull --app "APP_ID" --version "1.2.3" --dir ./metadata` |
| Release notes | `appledev store release-notes generate --since-tag "v1.2.2"` |
| Diff localizations | `appledev store diff localizations --app "APP_ID" --path ./metadata` |
| Nominations | `appledev store nominations create --app "APP_ID" --name "Launch"` |
| Price point filter | `appledev store pricing price-points --app "APP_ID" --price 0.99` |
| IAP (family sharable) | `appledev store iap create --app "APP_ID" --family-sharable` |
| Subscription (family sharable) | `appledev store subscriptions create --app "APP_ID" --family-sharable` |
### Environment Variables
All environment variables are optional. They override flags when set.
| Variable | Description |
|----------|-------------|
| `APPSTORE_KEY_ID` | API Key ID |
| `APPSTORE_ISSUER_ID` | API Issuer ID |
| `APPSTORE_PRIVATE_KEY_PATH` | Path to .p8 key file |
| `APPSTORE_PRIVATE_KEY` | Raw private key string |
| `APPSTORE_PRIVATE_KEY_B64` | Base64-encoded private key |
| `APPSTORE_APP_ID` | Default app ID |
| `APPSTORE_PROFILE` | Default auth profile |
| `APPSTORE_DEBUG` | Enable debug output |
| `APPSTORE_TIMEOUT` | Request timeout |
| `APPSTORE_BYPASS_KEYCHAIN` | Skip system keychain |
## Part 3: Multi-Platform App Builder
Supports iOS, watchOS, tvOS, and iPad. Generates complete Swift/SwiftUI apps from natural language with AI-powered code generation.appledev build usage # Token usage and cost
### Supported Platforms
| Platform | Status |
|----------|--------|
| iOS | Full support |
| iPad | Full support |
| macOS | Supported |
| watchOS | Supported |
| tvOS | Supported |
| visionOS | Supported |
### How it worksdescribe > analyze > plan > build > fix > run
1. **Analyze** - Extracts app name, features, core flow, target platform from description
2. **Plan** - Produces file-level build plan: data models, navigation, design
3. **Build** - Generates Swift source files, project.yml, asset catalog
4. **Fix** - Compiles and auto-repairs until build succeeds
5. **Run** - Boots Simulator and launches the app
### Interactive commands
| Command | Description |
|---------|-------------|
| `/run` | Build and launch in simulator |
| `/fix` | Auto-fix compilation errors |
| `/open` | Open project in Xcode |
| `/ask [question]` | Ask a question about the project |
| `/model [name]` | Switch model (sonnet, opus, haiku) |
| `/info` | Show project info |
| `/usage` | Token usage and cost |
## Hooks
The toolkit supports lifecycle hooks for automation. Hooks fire at key points during build and store operations, running scripts or sending notifications.
### Quick Startbash scripts/hook-init.sh --template indie --project
### Config Locations
- **Global:** `~/.appledev/hooks.yaml` (applies to all projects)
- **Project:** `.appledev/hooks.yaml` (overrides/extends global)
- **Hook scripts:** `~/.appledev/hooks/` (reusable shell scripts)
- **Logs:** `~/.appledev/hook-logs/` (daily execution logs)
### Templates
Three templates available via `hook-init.sh --template`:
| Template | Focus |
|----------|-------|
| `indie` | Solo dev: Telegram notifications, auto TestFlight |
| `team` | Team: Slack + Telegram, git tagging, changelog |
| `ci` | CI/CD: Logging, test running, no interactive notifications |
### Built-in Hook Scripts
| Script | Purpose |
|--------|---------|
| `notify-telegram.sh` | Send Telegram notification |
| `git-tag-release.sh` | Create and push git tag |
| `run-swift-tests.sh` | Run Swift tests (SPM or Xcode) |
| `generate-changelog.sh` | Generate changelog from git history |
### Event Catalog
42 events across 4 categories: build (13), store (20), docs (4), pipeline (5). Full reference: [references/hooks-reference.md](references/hooks-reference.md)
### Agent Integration
When running `appledev` commands via the skill, fire appropriate hook events after completion:appledev build ... # iOS app builder (SwiftShip)
appledev store ... # App Store Connect CLI
appledev b ... # Short alias
appledev s ... # Short aliasexport APPSTORE_KEY_ID="your-key-id"
export APPSTORE_ISSUER_ID="your-issuer-id"
export APPSTORE_PRIVATE_KEY_PATH="/path/to/AuthKey.p8"node cli.js search "NavigationStack"
node cli.js symbols "UIView"
node cli.js doc "/documentation/swiftui/navigationstack"
node cli.js overview "SwiftUI"
node cli.js samples "SwiftUI"
node cli.js wwdc-search "concurrency"
node cli.js wwdc-year 2025
node cli.js wwdc-topic "swiftui-ui-frameworks"Tags
Quick Info
Ready to Install?
Get started with this skill in seconds
Related Skills
4claw
4claw — a moderated imageboard for AI agents.
Aap Passport
Agent Attestation Protocol - The Reverse Turing Test.
Acestep Lyrics Transcription
Transcribe audio to timestamped lyrics using OpenAI Whisper or ElevenLabs Scribe API.
Adaptive Suite
A continuously adaptive skill suite that empowers Clawdbot.