packwise-skills 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/.cursorrules +23 -23
  2. package/CLAUDE.md +25 -25
  3. package/LICENSE +21 -0
  4. package/README.md +404 -295
  5. package/audit.md +224 -224
  6. package/bin/packwise.js +322 -155
  7. package/install.sh +123 -0
  8. package/package.json +32 -31
  9. package/skill.md +944 -719
  10. package/sub-skills/ai/local-llm.md +183 -183
  11. package/sub-skills/ai/python-ml.md +164 -164
  12. package/sub-skills/backend/go-server.md +184 -184
  13. package/sub-skills/backend/java-spring.md +241 -241
  14. package/sub-skills/backend/node-server.md +164 -164
  15. package/sub-skills/backend/php-laravel.md +175 -175
  16. package/sub-skills/backend/python-server.md +164 -164
  17. package/sub-skills/backend/rust-backend.md +118 -118
  18. package/sub-skills/cli/python-cli.md +236 -236
  19. package/sub-skills/cli/sdk-library.md +497 -497
  20. package/sub-skills/cloud/ci-cd-pipelines.md +350 -350
  21. package/sub-skills/cloud/docker.md +191 -191
  22. package/sub-skills/cloud/kubernetes.md +277 -277
  23. package/sub-skills/cloud/payment-integration.md +307 -307
  24. package/sub-skills/cross-platform/multiplatform.md +252 -252
  25. package/sub-skills/desktop/electron.md +783 -783
  26. package/sub-skills/desktop/game-dev.md +443 -443
  27. package/sub-skills/desktop/native-app.md +123 -123
  28. package/sub-skills/desktop/scenarios.md +443 -443
  29. package/sub-skills/desktop/smart-platforms.md +324 -324
  30. package/sub-skills/desktop/tauri.md +428 -428
  31. package/sub-skills/desktop/vr-ar.md +252 -252
  32. package/sub-skills/desktop/web-to-desktop.md +153 -153
  33. package/sub-skills/embedded/car-infotainment.md +129 -129
  34. package/sub-skills/embedded/esp32.md +184 -184
  35. package/sub-skills/embedded/ros.md +150 -150
  36. package/sub-skills/embedded/stm32.md +160 -160
  37. package/sub-skills/mobile/android.md +322 -322
  38. package/sub-skills/mobile/capacitor.md +232 -232
  39. package/sub-skills/mobile/flutter-mobile.md +138 -138
  40. package/sub-skills/mobile/harmonyos.md +150 -150
  41. package/sub-skills/mobile/ios.md +245 -245
  42. package/sub-skills/mobile/react-native.md +443 -443
  43. package/sub-skills/mobile/wearables.md +230 -230
  44. package/sub-skills/plugins/browser-extension.md +308 -308
  45. package/sub-skills/plugins/jetbrains-plugin.md +226 -226
  46. package/sub-skills/plugins/vscode-extension.md +204 -204
  47. package/sub-skills/security/security-tools.md +174 -174
  48. package/sub-skills/web/monorepo.md +274 -274
  49. package/sub-skills/web/pwa.md +220 -220
  50. package/sub-skills/web/serverless-edge.md +295 -295
  51. package/sub-skills/web/spa.md +266 -266
  52. package/sub-skills/web/ssr.md +228 -228
  53. package/sub-skills/web/wasm.md +243 -243
@@ -1,245 +1,245 @@
1
- # iOS / iPadOS Build Sub-Skill
2
-
3
- Build and publish Swift/ObjC native iOS and iPadOS applications. **Must build on macOS.**
4
-
5
- **Current version**: iOS 18 / iPadOS 18 / Xcode 16 / Swift 6.0 (2025-2026)
6
-
7
- ## When to Use
8
-
9
- - Native iOS/iPadOS applications (SwiftUI or UIKit)
10
- - Apps requiring deep Apple ecosystem integration (HealthKit, CoreML, ARKit)
11
- - Apps published to the App Store
12
- - iPad-optimized applications (split view, pencil support, Stage Manager)
13
-
14
- ## Prerequisites
15
-
16
- - macOS 14+ with Xcode 16 (free from App Store)
17
- - Apple Developer Program ($99/year, required for App Store distribution)
18
- - Apple Developer Certificate + Provisioning Profile
19
- - Physical iOS device for testing (recommended; Simulator available)
20
-
21
- ## Build
22
-
23
- ### Command Line Build
24
-
25
- ```bash
26
- # Archive (production build)
27
- xcodebuild -workspace MyApp.xcworkspace \
28
- -scheme MyApp \
29
- -configuration Release \
30
- -archivePath build/MyApp.xcarchive \
31
- -destination "generic/platform=iOS" \
32
- archive
33
-
34
- # Export IPA
35
- xcodebuild -exportArchive \
36
- -archivePath build/MyApp.xcarchive \
37
- -exportOptionsPlist ExportOptions.plist \
38
- -exportPath build/
39
- ```
40
-
41
- ```xml
42
- <!-- ExportOptions.plist -->
43
- <?xml version="1.0" encoding="UTF-8"?>
44
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
45
- <plist version="1.0">
46
- <dict>
47
- <key>method</key>
48
- <string>app-store</string>
49
- <key>teamID</key>
50
- <string>YOUR_TEAM_ID</string>
51
- <key>uploadBitcode</key>
52
- <false/>
53
- <key>uploadSymbols</key>
54
- <true/>
55
- </dict>
56
- </plist>
57
- ```
58
-
59
- ### Build Targets
60
-
61
- | Target | Command | Output |
62
- |--------|---------|--------|
63
- | Simulator | `xcodebuild -sdk iphonesimulator` | .app (for testing) |
64
- | Device | `xcodebuild -sdk iphoneos` | .app (unsigned) |
65
- | Archive | `xcodebuild archive` | .xcarchive |
66
- | IPA | `xcodebuild -exportArchive` | .ipa (for distribution) |
67
- | TestFlight | Upload .ipa via Xcode Organizer or `altool` | On App Store Connect |
68
- | App Store | Submit via App Store Connect | Public release |
69
-
70
- ## Signing & Provisioning
71
-
72
- ### Automatic Signing (Xcode-managed, recommended for small teams)
73
-
74
- ```
75
- Xcode → Target → Signing & Capabilities:
76
- ✅ Automatically manage signing
77
- Team: [Select your team]
78
- Bundle Identifier: com.yourcompany.yourapp
79
- ```
80
-
81
- ### Manual Signing (CI/CD, enterprise)
82
-
83
- ```bash
84
- # Install certificate
85
- security import certificate.p12 -P password -k ~/Library/Keychains/login.keychain-db
86
-
87
- # Install provisioning profile
88
- cp profile.mobileprovision ~/Library/MobileDevice/Provisioning\ Profiles/
89
-
90
- # Verify
91
- security find-identity -v -p codesigning
92
- ```
93
-
94
- ### fastlane (Automated Signing + Build + Upload)
95
-
96
- ```bash
97
- # Install
98
- gem install fastlane
99
-
100
- # Initialize
101
- cd ios && fastlane init
102
- ```
103
-
104
- ```ruby
105
- # ios/fastlane/Fastfile
106
- default_platform(:ios)
107
-
108
- platform :ios do
109
- desc "Push to TestFlight"
110
- lane :beta do
111
- increment_build_number(xcodeproj: "MyApp.xcodeproj")
112
- build_app(
113
- workspace: "MyApp.xcworkspace",
114
- scheme: "MyApp",
115
- export_method: "app-store"
116
- )
117
- upload_to_testflight
118
- end
119
-
120
- desc "Push to App Store"
121
- lane :release do
122
- build_app(
123
- workspace: "MyApp.xcworkspace",
124
- scheme: "MyApp",
125
- export_method: "app-store"
126
- )
127
- upload_to_app_store(force: true)
128
- end
129
- end
130
- ```
131
-
132
- ```bash
133
- # Run
134
- cd ios && fastlane beta # Upload to TestFlight
135
- cd ios && fastlane release # Upload to App Store
136
- ```
137
-
138
- ## App Store Upload
139
-
140
- ```bash
141
- # Method 1: Xcode Organizer (GUI)
142
- # Product → Archive → Distribute App → App Store Connect → Upload
143
-
144
- # Method 2: altool (CLI)
145
- xcrun altool --upload-app \
146
- -f build/MyApp.ipa \
147
- --type ios \
148
- --apiKey YOUR_API_KEY \
149
- --apiIssuer YOUR_ISSUER_ID
150
-
151
- # Method 3: Transporter app (Apple's upload tool from App Store)
152
-
153
- # Method 4: fastlane (automated)
154
- fastlane deliver --ipa build/MyApp.ipa
155
- ```
156
-
157
- ## Publishing Checklist
158
-
159
- | Step | Description |
160
- |------|-------------|
161
- | 1. Apple Developer Program | $99/year at developer.apple.com |
162
- | 2. Create App ID | Apple Developer Portal → Identifiers |
163
- | 3. Create Provisioning Profile | Development + Distribution |
164
- | 4. Build Archive | Xcode → Product → Archive |
165
- | 5. Upload to App Store Connect | Xcode Organizer or Transporter |
166
- | 6. Fill app info | Description, screenshots (6.7", 6.5", 5.5"), keywords, privacy policy URL |
167
- | 7. Set pricing | Free or paid; tier selection |
168
- | 8. Submit review | Typically 24–48 hours; can be expedited |
169
- | 9. Release | Automatic after approval, or manual release |
170
-
171
- ## iPadOS Adaptation
172
-
173
- ```swift
174
- // Info.plist — Universal app (iPhone + iPad)
175
- <key>UIDeviceFamily</key>
176
- <array>
177
- <integer>1</integer> <!-- iPhone -->
178
- <integer>2</integer> <!-- iPad -->
179
- </array>
180
- ```
181
-
182
- ### iPadOS-Specific Considerations
183
-
184
- | Feature | Implementation |
185
- |---------|---------------|
186
- | Split View / Slide Over | Auto Layout with size classes; handle `traitCollectionDidChange` |
187
- | Stage Manager (M1+ iPad) | Support multiple window sizes; `UIWindowScene` API |
188
- | Apple Pencil | `UIPencilInteraction` for double-tap; `UIHoverGestureRecognizer` for hover |
189
- | Keyboard & Trackpad | `UIKeyCommand` for keyboard shortcuts; pointer interaction |
190
- | External Display | `UIScreen.screens` for multi-display; `UIWindowScene` per display |
191
- | Drag & Drop | `UIDragInteraction` / `UIDropInteraction` |
192
- | Multitasking | Design for any width (compact/regular); test in Simulator |
193
-
194
- ## TestFlight (Beta Distribution)
195
-
196
- ```
197
- 1. Upload build via Xcode or fastlane
198
- 2. App Store Connect → TestFlight → Builds
199
- 3. Internal testing: up to 100 testers (instant, no review)
200
- 4. External testing: up to 10,000 testers (requires Beta App Review, ~24h)
201
- 5. Public link: share TestFlight link for anyone to join
202
- ```
203
-
204
- ## CI/CD — GitHub Actions
205
-
206
- ```yaml
207
- name: iOS Build
208
- on:
209
- push:
210
- tags: ['v*']
211
- jobs:
212
- build:
213
- runs-on: macos-latest
214
- steps:
215
- - uses: actions/checkout@v4
216
- - uses: ruby/setup-ruby@v1
217
- with:
218
- ruby-version: '3.3'
219
- - run: gem install fastlane
220
- - uses: apple-actions/import-codesign-certs@v3
221
- with:
222
- p12-file-base64: ${{ secrets.CERTIFICATES_P12 }}
223
- p12-password: ${{ secrets.CERTIFICATES_PASSWORD }}
224
- - run: cd ios && fastlane beta
225
- env:
226
- APP_STORE_CONNECT_API_KEY_ID: ${{ secrets.API_KEY_ID }}
227
- APP_STORE_CONNECT_API_ISSUER_ID: ${{ secrets.API_ISSUER_ID }}
228
- APP_STORE_CONNECT_API_KEY: ${{ secrets.API_KEY }}
229
- ```
230
-
231
- ## Common Pitfalls
232
-
233
- | Issue | Fix |
234
- |-------|-----|
235
- | Certificate expired | Renew via Apple Developer Portal; re-download provisioning profile |
236
- | Profile mismatch | Regenerate profile; ensure Bundle ID matches exactly |
237
- | App Store rejection | Read App Review Guidelines; ensure privacy policy URL is live |
238
- | Test device limit | Development Profile: max 100 devices per type; Enterprise: unlimited |
239
- | iPadOS layout broken | Test with all iPad sizes in Simulator; use size classes |
240
- | "Missing push notification entitlement" | Add Push Notification capability in Xcode; or remove if not needed |
241
- | "Unsupported Architecture" | Ensure only arm64 in Build Settings (no armv7) |
242
- | Bitcode warning | Bitcode is deprecated since Xcode 14; disable in build settings |
243
- | Swift version mismatch | Set Swift Language Version in Build Settings to match your code |
244
- | Simulator builds failing | Ensure Xcode Command Line Tools installed: `xcode-select --install` |
245
- | Screenshot requirements | Must include 6.7" (iPhone 15 Pro Max), 6.5" (iPhone 11), 5.5" (iPhone 8 Plus) |
1
+ # iOS / iPadOS Build Sub-Skill
2
+
3
+ Build and publish Swift/ObjC native iOS and iPadOS applications. **Must build on macOS.**
4
+
5
+ **Current version**: iOS 18 / iPadOS 18 / Xcode 16 / Swift 6.0 (2025-2026)
6
+
7
+ ## When to Use
8
+
9
+ - Native iOS/iPadOS applications (SwiftUI or UIKit)
10
+ - Apps requiring deep Apple ecosystem integration (HealthKit, CoreML, ARKit)
11
+ - Apps published to the App Store
12
+ - iPad-optimized applications (split view, pencil support, Stage Manager)
13
+
14
+ ## Prerequisites
15
+
16
+ - macOS 14+ with Xcode 16 (free from App Store)
17
+ - Apple Developer Program ($99/year, required for App Store distribution)
18
+ - Apple Developer Certificate + Provisioning Profile
19
+ - Physical iOS device for testing (recommended; Simulator available)
20
+
21
+ ## Build
22
+
23
+ ### Command Line Build
24
+
25
+ ```bash
26
+ # Archive (production build)
27
+ xcodebuild -workspace MyApp.xcworkspace \
28
+ -scheme MyApp \
29
+ -configuration Release \
30
+ -archivePath build/MyApp.xcarchive \
31
+ -destination "generic/platform=iOS" \
32
+ archive
33
+
34
+ # Export IPA
35
+ xcodebuild -exportArchive \
36
+ -archivePath build/MyApp.xcarchive \
37
+ -exportOptionsPlist ExportOptions.plist \
38
+ -exportPath build/
39
+ ```
40
+
41
+ ```xml
42
+ <!-- ExportOptions.plist -->
43
+ <?xml version="1.0" encoding="UTF-8"?>
44
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
45
+ <plist version="1.0">
46
+ <dict>
47
+ <key>method</key>
48
+ <string>app-store</string>
49
+ <key>teamID</key>
50
+ <string>YOUR_TEAM_ID</string>
51
+ <key>uploadBitcode</key>
52
+ <false/>
53
+ <key>uploadSymbols</key>
54
+ <true/>
55
+ </dict>
56
+ </plist>
57
+ ```
58
+
59
+ ### Build Targets
60
+
61
+ | Target | Command | Output |
62
+ |--------|---------|--------|
63
+ | Simulator | `xcodebuild -sdk iphonesimulator` | .app (for testing) |
64
+ | Device | `xcodebuild -sdk iphoneos` | .app (unsigned) |
65
+ | Archive | `xcodebuild archive` | .xcarchive |
66
+ | IPA | `xcodebuild -exportArchive` | .ipa (for distribution) |
67
+ | TestFlight | Upload .ipa via Xcode Organizer or `altool` | On App Store Connect |
68
+ | App Store | Submit via App Store Connect | Public release |
69
+
70
+ ## Signing & Provisioning
71
+
72
+ ### Automatic Signing (Xcode-managed, recommended for small teams)
73
+
74
+ ```
75
+ Xcode → Target → Signing & Capabilities:
76
+ ✅ Automatically manage signing
77
+ Team: [Select your team]
78
+ Bundle Identifier: com.yourcompany.yourapp
79
+ ```
80
+
81
+ ### Manual Signing (CI/CD, enterprise)
82
+
83
+ ```bash
84
+ # Install certificate
85
+ security import certificate.p12 -P password -k ~/Library/Keychains/login.keychain-db
86
+
87
+ # Install provisioning profile
88
+ cp profile.mobileprovision ~/Library/MobileDevice/Provisioning\ Profiles/
89
+
90
+ # Verify
91
+ security find-identity -v -p codesigning
92
+ ```
93
+
94
+ ### fastlane (Automated Signing + Build + Upload)
95
+
96
+ ```bash
97
+ # Install
98
+ gem install fastlane
99
+
100
+ # Initialize
101
+ cd ios && fastlane init
102
+ ```
103
+
104
+ ```ruby
105
+ # ios/fastlane/Fastfile
106
+ default_platform(:ios)
107
+
108
+ platform :ios do
109
+ desc "Push to TestFlight"
110
+ lane :beta do
111
+ increment_build_number(xcodeproj: "MyApp.xcodeproj")
112
+ build_app(
113
+ workspace: "MyApp.xcworkspace",
114
+ scheme: "MyApp",
115
+ export_method: "app-store"
116
+ )
117
+ upload_to_testflight
118
+ end
119
+
120
+ desc "Push to App Store"
121
+ lane :release do
122
+ build_app(
123
+ workspace: "MyApp.xcworkspace",
124
+ scheme: "MyApp",
125
+ export_method: "app-store"
126
+ )
127
+ upload_to_app_store(force: true)
128
+ end
129
+ end
130
+ ```
131
+
132
+ ```bash
133
+ # Run
134
+ cd ios && fastlane beta # Upload to TestFlight
135
+ cd ios && fastlane release # Upload to App Store
136
+ ```
137
+
138
+ ## App Store Upload
139
+
140
+ ```bash
141
+ # Method 1: Xcode Organizer (GUI)
142
+ # Product → Archive → Distribute App → App Store Connect → Upload
143
+
144
+ # Method 2: altool (CLI)
145
+ xcrun altool --upload-app \
146
+ -f build/MyApp.ipa \
147
+ --type ios \
148
+ --apiKey YOUR_API_KEY \
149
+ --apiIssuer YOUR_ISSUER_ID
150
+
151
+ # Method 3: Transporter app (Apple's upload tool from App Store)
152
+
153
+ # Method 4: fastlane (automated)
154
+ fastlane deliver --ipa build/MyApp.ipa
155
+ ```
156
+
157
+ ## Publishing Checklist
158
+
159
+ | Step | Description |
160
+ |------|-------------|
161
+ | 1. Apple Developer Program | $99/year at developer.apple.com |
162
+ | 2. Create App ID | Apple Developer Portal → Identifiers |
163
+ | 3. Create Provisioning Profile | Development + Distribution |
164
+ | 4. Build Archive | Xcode → Product → Archive |
165
+ | 5. Upload to App Store Connect | Xcode Organizer or Transporter |
166
+ | 6. Fill app info | Description, screenshots (6.7", 6.5", 5.5"), keywords, privacy policy URL |
167
+ | 7. Set pricing | Free or paid; tier selection |
168
+ | 8. Submit review | Typically 24–48 hours; can be expedited |
169
+ | 9. Release | Automatic after approval, or manual release |
170
+
171
+ ## iPadOS Adaptation
172
+
173
+ ```swift
174
+ // Info.plist — Universal app (iPhone + iPad)
175
+ <key>UIDeviceFamily</key>
176
+ <array>
177
+ <integer>1</integer> <!-- iPhone -->
178
+ <integer>2</integer> <!-- iPad -->
179
+ </array>
180
+ ```
181
+
182
+ ### iPadOS-Specific Considerations
183
+
184
+ | Feature | Implementation |
185
+ |---------|---------------|
186
+ | Split View / Slide Over | Auto Layout with size classes; handle `traitCollectionDidChange` |
187
+ | Stage Manager (M1+ iPad) | Support multiple window sizes; `UIWindowScene` API |
188
+ | Apple Pencil | `UIPencilInteraction` for double-tap; `UIHoverGestureRecognizer` for hover |
189
+ | Keyboard & Trackpad | `UIKeyCommand` for keyboard shortcuts; pointer interaction |
190
+ | External Display | `UIScreen.screens` for multi-display; `UIWindowScene` per display |
191
+ | Drag & Drop | `UIDragInteraction` / `UIDropInteraction` |
192
+ | Multitasking | Design for any width (compact/regular); test in Simulator |
193
+
194
+ ## TestFlight (Beta Distribution)
195
+
196
+ ```
197
+ 1. Upload build via Xcode or fastlane
198
+ 2. App Store Connect → TestFlight → Builds
199
+ 3. Internal testing: up to 100 testers (instant, no review)
200
+ 4. External testing: up to 10,000 testers (requires Beta App Review, ~24h)
201
+ 5. Public link: share TestFlight link for anyone to join
202
+ ```
203
+
204
+ ## CI/CD — GitHub Actions
205
+
206
+ ```yaml
207
+ name: iOS Build
208
+ on:
209
+ push:
210
+ tags: ['v*']
211
+ jobs:
212
+ build:
213
+ runs-on: macos-latest
214
+ steps:
215
+ - uses: actions/checkout@v4
216
+ - uses: ruby/setup-ruby@v1
217
+ with:
218
+ ruby-version: '3.3'
219
+ - run: gem install fastlane
220
+ - uses: apple-actions/import-codesign-certs@v3
221
+ with:
222
+ p12-file-base64: ${{ secrets.CERTIFICATES_P12 }}
223
+ p12-password: ${{ secrets.CERTIFICATES_PASSWORD }}
224
+ - run: cd ios && fastlane beta
225
+ env:
226
+ APP_STORE_CONNECT_API_KEY_ID: ${{ secrets.API_KEY_ID }}
227
+ APP_STORE_CONNECT_API_ISSUER_ID: ${{ secrets.API_ISSUER_ID }}
228
+ APP_STORE_CONNECT_API_KEY: ${{ secrets.API_KEY }}
229
+ ```
230
+
231
+ ## Common Pitfalls
232
+
233
+ | Issue | Fix |
234
+ |-------|-----|
235
+ | Certificate expired | Renew via Apple Developer Portal; re-download provisioning profile |
236
+ | Profile mismatch | Regenerate profile; ensure Bundle ID matches exactly |
237
+ | App Store rejection | Read App Review Guidelines; ensure privacy policy URL is live |
238
+ | Test device limit | Development Profile: max 100 devices per type; Enterprise: unlimited |
239
+ | iPadOS layout broken | Test with all iPad sizes in Simulator; use size classes |
240
+ | "Missing push notification entitlement" | Add Push Notification capability in Xcode; or remove if not needed |
241
+ | "Unsupported Architecture" | Ensure only arm64 in Build Settings (no armv7) |
242
+ | Bitcode warning | Bitcode is deprecated since Xcode 14; disable in build settings |
243
+ | Swift version mismatch | Set Swift Language Version in Build Settings to match your code |
244
+ | Simulator builds failing | Ensure Xcode Command Line Tools installed: `xcode-select --install` |
245
+ | Screenshot requirements | Must include 6.7" (iPhone 15 Pro Max), 6.5" (iPhone 11), 5.5" (iPhone 8 Plus) |