apple-developer-toolkit

module
v1.260328.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 28, 2026 License: MIT

README


Apple Developer Toolkit

Three tools, one binary. Docs, App Store, and app builder

Search Apple docs, manage App Store Connect, and build multi-platform apps from natural language


Node.js Swift macOS


$ appledev build

> A habit tracker with streak counting and weekly grid

  ✓ Analyzed: StreakGrid
  ✓ Plan ready (11 files, 3 models)
  ✓ Build complete — 11 files
  ✓ Launched on iPhone 17 Pro

Ships as a single unified binary appledev with three independent tools. Each works on its own with different credential requirements.

Install

brew install Abdullah4AI/tap/appledev
Install from source
git clone https://github.com/Abdullah4AI/apple-developer-toolkit.git
cd apple-developer-toolkit
bash scripts/setup.sh

Agent Skills

Add iOS and SwiftUI knowledge to any AI coding agent — Claude Code, Codex, Cursor, Windsurf, Gemini CLI, and more:

# Install both skills (recommended)
npx add-skill Abdullah4AI/apple-developer-toolkit

# Install a specific skill
npx add-skill Abdullah4AI/apple-developer-toolkit --skill ios-rules
npx add-skill Abdullah4AI/apple-developer-toolkit --skill swiftui-guides
Skill What it adds Token cost
ios-rules 38 iOS rules: accessibility, navigation, architecture, dark mode, localization, App Review ~20K tokens
swiftui-guides 12 SwiftUI guides: Liquid Glass, state management, animations, layout, performance ~20K tokens

Skills work out of the box with any agent that supports the Agent Skills format.

What's Inside


Documentation
Apple docs + 1,267 WWDC sessions (2014-2025)

node cli.js search

App Store Connect
120+ commands for builds, TestFlight, submissions

appledev store

App Builder
Natural language to compiled SwiftUI apps

appledev build
Feature Credentials Works Without Setup
Documentation Search None Yes
App Store Connect API key (.p8) No
App Builder LLM API key + Xcode No

Supported Platforms

Mention any Apple platform in your prompt — combine as many as you want:

iPhone
Default
iPad
"iPad"
Apple Watch
"Apple Watch"
Mac
"Mac"
Apple TV
"Apple TV"
Vision Pro
"Vision Pro"

Frameworks

Apps use Apple-first frameworks wherever possible:


SwiftUI

UI

SwiftData

Persistence

Swift Charts

Data viz

MapKit

Maps

HealthKit

Health

WidgetKit

Widgets

AVFoundation

Camera & media

PhotosUI

Photo picker

ActivityKit

Live Activities

CoreML

ML

ARKit

AR

RealityKit

3D & spatial

Deploy

Ship to the App Store and TestFlight without leaving the terminal.

App Store
App Store
Full submission
TestFlight
TestFlight
Beta distribution

Integrations

Mention authentication, a database, or a paid feature, and the toolkit wires up the supported backend automatically.

Feishu
Feishu / Lark
Team notifications

RevenueCat

Subscriptions & paywalls

Supabase

Auth, database, storage

Telegram
Build & review notifications
Slack
Slack
Team notifications

Git
Auto-tagging releases

Search Apple frameworks, symbols, and WWDC sessions locally. No API key needed.

node cli.js search "NavigationStack"        # Framework search
node cli.js symbols "UIView"                # Symbol lookup
node cli.js doc "/documentation/swiftui/view" # Full docs
node cli.js overview "SwiftUI"              # Framework overview
node cli.js samples "SwiftUI"               # Sample code
node cli.js wwdc-search "concurrency"       # Search WWDC talks
node cli.js wwdc-year 2025                  # Browse by year
node cli.js wwdc-topic "swiftui-ui-frameworks" # Browse by topic

App Store Connect

120+ commands covering the full App Store Connect API.

# Authenticate
appledev store auth login --name "MyApp" \
  --key-id "KEY_ID" --issuer-id "ISSUER_ID" \
  --private-key ./AuthKey.p8

# Ship to TestFlight
appledev store publish testflight \
  --app "APP_ID" --ipa app.ipa --group "Beta" --wait

# Submit to 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 "VER_ID"
All command categories
Category Commands
Getting Started auth, doctor, init, docs
Apps apps, app-setup, versions, localizations, screenshots, video-previews
TestFlight testflight, builds, sandbox, feedback, crashes
Review & Release review, reviews, submit, validate, publish, status
Signing signing, bundle-ids, certificates, profiles, notarization
Monetization iap, subscriptions, offer-codes, win-back-offers, pricing
Analytics analytics, insights, finance, performance
Automation xcode-cloud, webhooks, workflow, metadata, diff, migrate

App Builder

Build complete multi-platform Apple apps from natural language.

> A recipe app with ingredients list, step-by-step instructions, and a timer

  ✓ Analyzed: RecipeBook
  ✓ Plan ready (16 files, 4 models)
  ✓ Build complete — 16 files
  ✓ RecipeBook is ready!
How It Works
describe  →  analyze  →  plan  →  build  →  fix  →  run
   ↑            │          │        │        │       │
 prompt     app name    files    Swift    xcode-   iOS
            features    models   code     build    Simulator
Phase What happens
Analyze Extracts app name, features, and core flow from your description
Plan Produces a file-level build plan with models, navigation, and packages
Build Generates Swift source, asset catalog, and Xcode project
Fix Compiles with xcodebuild and auto-repairs until green
Run Boots the simulator and launches the app
Commands
Command
appledev build Interactive mode
appledev build chat Edit an existing project
appledev build fix Auto-fix compilation errors
appledev build run Build and launch in simulator
appledev build open Open in Xcode
appledev build setup Install prerequisites
Interactive commands
Command
/run Build and launch in simulator
/fix Auto-fix compilation errors
/ask <question> Query your project (read-only)
/open Open in Xcode
/model <name> Switch AI model
/info Show project info
/usage Token usage and cost

Lifecycle Hooks

42 events across 4 categories. Get notified on Telegram, auto-distribute to TestFlight, git-tag releases, and chain operations into pipelines.

# Set up hooks with a template
bash scripts/hook-init.sh --template indie

# Fire a hook manually
bash scripts/hook-runner.sh build.done STATUS=success APP_NAME=MyApp

# Dry run
bash scripts/hook-runner.sh --dry-run build.done STATUS=success
Templates
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
feishu Feishu/Lark — Webhook notifications for Chinese dev teams
Built-in Scripts
Script Purpose
notify-telegram.sh Send Telegram notification
notify-feishu.sh Send Feishu/Lark notification
git-tag-release.sh Create and push git tag
run-swift-tests.sh Run Swift tests
generate-changelog.sh Generate changelog from git history
Config example
version: 1
notifiers:
  telegram:
    enabled: true
    bot_token_keychain: "my-bot-token"
    chat_id: "123456"
  feishu:
    enabled: true
    webhook_url_env: "FEISHU_WEBHOOK_URL"

hooks:
  build.done:
    - name: notify-build
      notify: telegram
      template: "{{if eq .STATUS \"success\"}}✅{{else}}❌{{end}} {{.APP_NAME}} build"
    - name: notify-build-feishu
      notify: feishu
      template: "{{if eq .STATUS \"success\"}}✅{{else}}❌{{end}} {{.APP_NAME}} build"

  store.review.approved:
    - name: tag-release
      run: "git tag v{{.VERSION}} && git push origin v{{.VERSION}}"

Config locations:

  • Global: ~/.appledev/hooks.yaml
  • Project: .appledev/hooks.yaml

AI Agent References

52 reference files for AI-assisted development:

Reference Count Content
references/ios-rules/ 38 iOS development rules (accessibility, dark mode, localization, etc.)
references/swiftui-guides/ 12 SwiftUI best practices (Liquid Glass, navigation, state management, etc.)
references/app-store-connect.md 1 Complete CLI reference
references/hooks-reference.md 1 All hook events with context variables

Requirements

Feature Requires
Documentation Node.js 18+
App Store Connect API key (.p8 file)
App Builder Xcode + LLM API key
Hooks Nothing

License

MIT

Directories

Path Synopsis
appstore
cmd
internal/asc/types
Package types contains the core data types for the App Store Connect API.
Package types contains the core data types for the App Store Connect API.
internal/itunes
Package itunes provides a client for the iTunes Lookup API.
Package itunes provides a client for the iTunes Lookup API.
internal/workflow
Package workflow is a standalone workflow runner for .asc/workflow.json files.
Package workflow is a standalone workflow runner for .asc/workflow.json files.
cmd
appledev command
internal
swiftship
commands
Package commands re-exports the public surface of swiftship/internal/commands.
Package commands re-exports the public surface of swiftship/internal/commands.
internal/integrations/providers
Package providers registers all integration providers.
Package providers registers all integration providers.
internal/integrations/providers/revenuecat
Package revenuecat implements the integration Provider for RevenueCat.
Package revenuecat implements the integration Provider for RevenueCat.
internal/integrations/providers/supabase
Package supabase implements the integration Provider for Supabase.
Package supabase implements the integration Provider for Supabase.
internal/integrations/secrets
Package secrets provides secure storage for sensitive credentials like PATs.
Package secrets provides secure storage for sensitive credentials like PATs.
internal/mcpregistry
Package mcpregistry provides a service layer for internal MCP servers.
Package mcpregistry provides a service layer for internal MCP servers.
internal/nwtool
Package nwtool exposes nanowave capabilities as tools that any LLM runtime can invoke — either via MCP (Claude Code) or via CLI (Codex/OpenCode).
Package nwtool exposes nanowave capabilities as tools that any LLM runtime can invoke — either via MCP (Claude Code) or via CLI (Codex/OpenCode).
internal/skills
Package skills provides embedded skill files for all runtimes.
Package skills provides embedded skill files for all runtimes.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL