apple-agent-kit 1.0.3 → 2.0.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.
- package/README.md +37 -62
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
[](CHANGELOG.md)
|
|
6
6
|
|
|
7
7
|
Status: Stable
|
|
8
|
-
Version:
|
|
8
|
+
Version: 2.0.0
|
|
9
9
|
|
|
10
10
|
## Overview
|
|
11
11
|
|
|
@@ -51,72 +51,47 @@ Workflows
|
|
|
51
51
|
|
|
52
52
|
Skills route a task to the minimum set of Knowledge Contracts it needs. Invoke them with a specific task, not a broad topic request — name the concrete thing you're doing (e.g. "check this screen's layout against HIG"), not "tell me about HIG."
|
|
53
53
|
|
|
54
|
-
- **`authentication`** —
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
- **`
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
- **`
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
- **`
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
- **`
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
- **`
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
- **`
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
- **`
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
- **`
|
|
85
|
-
Example: `"this icon-only button has no VoiceOver label"` → `accessibility-labels.md`
|
|
86
|
-
Example: `"swipe-to-delete row needs a VoiceOver alternative"` → `custom-accessibility-actions.md`
|
|
87
|
-
|
|
88
|
-
- **`uikit`** — Routes UIKit screen-scaffolding implementation tasks (view controller lifecycle/composition, programmatic Auto Layout, navigation, diffable table/collection views, modal presentation) to UIKit Knowledge Contracts.
|
|
89
|
-
Example: `"my child view controller's view isn't showing up correctly"` → `view-controller-composition.md`
|
|
90
|
-
Example: `"how do I animate row insertion in a UITableView"` → `table-view-diffable.md`
|
|
91
|
-
|
|
92
|
-
- **`sf-symbols`** — Routes SF Symbols API implementation tasks (rendering modes, symbol variants, variable value, weight/scale, color/tinting mechanics, custom symbol usage, UIKit SymbolConfiguration) to SF Symbols Knowledge Contracts, across SwiftUI and UIKit.
|
|
93
|
-
Example: `"this status icon should use two colors, one per layer"` → `rendering-modes.md`
|
|
94
|
-
Example: `"how do I show wifi signal strength as a symbol"` → `variable-value-symbols.md`
|
|
95
|
-
|
|
96
|
-
- **`networking`** — Routes URLSession async/await networking implementation tasks (request construction, data fetching, Codable decoding, error handling, task cancellation, session configuration, App Transport Security, authenticated requests) to Networking Knowledge Contracts.
|
|
97
|
-
Example: `"my JSON response isn't decoding, dates are failing"` → `codable-decoding.md`
|
|
98
|
-
Example: `"how do I retry a request after a 401 without an infinite loop"` → `authenticated-requests.md`
|
|
99
|
-
|
|
100
|
-
- **`xcode`** — Routes Xcode project-configuration implementation tasks (build configurations, xcconfig files, schemes/targets, automatic and manual code signing, entitlements/capabilities, archive process, export options) to Xcode Knowledge Contracts.
|
|
101
|
-
Example: `"my archive won't export, wrong provisioning profile"` → `manual-signing-provisioning-profiles.md`
|
|
102
|
-
Example: `"Product > Archive is greyed out"` → `archive-process.md`
|
|
103
|
-
|
|
104
|
-
- **`local-authentication`** — Routes Face ID/Touch ID/device-passcode implementation tasks (availability and biometry-type detection, policy evaluation, reason strings and Info.plist, error handling, LAContext lifecycle, Keychain-biometric binding, fallback UX) to Local Authentication Knowledge Contracts.
|
|
105
|
-
Example: `"Face ID prompt shows the wrong icon"` → `availability-and-biometry-type.md`
|
|
106
|
-
Example: `"user is locked out of Face ID after too many failed attempts"` → `error-handling.md`
|
|
107
|
-
|
|
108
|
-
- **`app-tracking-transparency`** — Routes App Tracking Transparency / IDFA implementation tasks (authorization-request mechanics, authorization status handling, IDFA access, NSUserTrackingUsageDescription) to App Tracking Transparency Knowledge Contracts.
|
|
109
|
-
Example: `"how do I ask for tracking permission without re-prompting every launch"` → `authorization-request.md`
|
|
110
|
-
Example: `"advertisingIdentifier is returning all zeros"` → `status-and-idfa-access.md`
|
|
54
|
+
- **`authentication`** — Sign-in, sign-up, credential, and biometric implementation. → [SKILL.md](skills/authentication/SKILL.md)
|
|
55
|
+
- **`style-guide`** — UI copy and wording: labels, error text, capitalization, formatting. → [SKILL.md](skills/style-guide/SKILL.md)
|
|
56
|
+
- **`human-interface-guidelines`** — Visual design: layout, color, typography, dark mode, motion, icons. → [SKILL.md](skills/human-interface-guidelines/SKILL.md)
|
|
57
|
+
- **`human-interface-guidelines-components`** — HIG Components/Inputs: lists, buttons, sheets, alerts, navigation, pickers, gestures. → [SKILL.md](skills/human-interface-guidelines-components/SKILL.md)
|
|
58
|
+
- **`human-interface-guidelines-patterns`** — HIG Patterns: onboarding, search, settings, notifications, feedback, undo/redo. → [SKILL.md](skills/human-interface-guidelines-patterns/SKILL.md)
|
|
59
|
+
- **`app-store-review-guidelines`** — App Store submission compliance: metadata, IAP, privacy manifest, spam/duplicate. → [SKILL.md](skills/app-store-review-guidelines/SKILL.md)
|
|
60
|
+
- **`swiftui`** — SwiftUI view composition, navigation, layout, state management. → [SKILL.md](skills/swiftui/SKILL.md)
|
|
61
|
+
- **`swiftui-interaction`** — SwiftUI animation and gestures. → [SKILL.md](skills/swiftui-interaction/SKILL.md)
|
|
62
|
+
- **`accessibility`** — Accessibility API (labels, traits, Dynamic Type, VoiceOver, audits) across SwiftUI/UIKit. → [SKILL.md](skills/accessibility/SKILL.md)
|
|
63
|
+
- **`uikit`** — UIKit screen scaffolding: view controllers, Auto Layout, navigation, diffable views. → [SKILL.md](skills/uikit/SKILL.md)
|
|
64
|
+
- **`sf-symbols`** — SF Symbols rendering, variants, and configuration across SwiftUI/UIKit. → [SKILL.md](skills/sf-symbols/SKILL.md)
|
|
65
|
+
- **`networking`** — URLSession async/await networking and Codable decoding. → [SKILL.md](skills/networking/SKILL.md)
|
|
66
|
+
- **`xcode`** — Xcode project configuration: build settings, signing, entitlements, archive/export. → [SKILL.md](skills/xcode/SKILL.md)
|
|
67
|
+
- **`local-authentication`** — Face ID/Touch ID implementation. → [SKILL.md](skills/local-authentication/SKILL.md)
|
|
68
|
+
- **`app-tracking-transparency`** — App Tracking Transparency / IDFA authorization. → [SKILL.md](skills/app-tracking-transparency/SKILL.md)
|
|
69
|
+
- **`usernotifications`** — UserNotifications framework: local/push scheduling, delegate handling, actions. → [SKILL.md](skills/usernotifications/SKILL.md)
|
|
70
|
+
- **`privacy`** — Privacy Manifest (`PrivacyInfo.xcprivacy`) implementation. → [SKILL.md](skills/privacy/SKILL.md)
|
|
71
|
+
- **`foundation`** — Swift Foundation essentials: date/measurement formatting, Codable, FileManager. → [SKILL.md](skills/foundation/SKILL.md)
|
|
72
|
+
- **`security`** — Keychain Services item CRUD, accessibility levels, sharing. → [SKILL.md](skills/security/SKILL.md)
|
|
73
|
+
- **`storekit`** — StoreKit 2 in-app purchase: purchase, entitlements, subscriptions. → [SKILL.md](skills/storekit/SKILL.md)
|
|
74
|
+
- **`authenticationservices`** — Sign in with Apple implementation. → [SKILL.md](skills/authenticationservices/SKILL.md)
|
|
75
|
+
- **`widgetkit`** — WidgetKit: declaration, timelines, interactivity, refresh. → [SKILL.md](skills/widgetkit/SKILL.md)
|
|
76
|
+
- **`app-intents`** — App Intents: intent authoring, entities, App Shortcuts, Siri. → [SKILL.md](skills/app-intents/SKILL.md)
|
|
77
|
+
- **`backgroundtasks`** — BackgroundTasks scheduling and execution. → [SKILL.md](skills/backgroundtasks/SKILL.md)
|
|
78
|
+
- **`eventkit`** — EventKit calendar/reminder access and EventKitUI hand-off. → [SKILL.md](skills/eventkit/SKILL.md)
|
|
79
|
+
- **`tipkit`** — TipKit in-app feature tips. → [SKILL.md](skills/tipkit/SKILL.md)
|
|
80
|
+
- **`passkit`** — PassKit Wallet passes and Apple Pay. → [SKILL.md](skills/passkit/SKILL.md)
|
|
81
|
+
- **`swiftdata`** — SwiftData model definition, querying, relationships. → [SKILL.md](skills/swiftdata/SKILL.md)
|
|
82
|
+
- **`core-data`** — Core Data model definition, fetching, relationships. → [SKILL.md](skills/core-data/SKILL.md)
|
|
83
|
+
- **`combine`** — Combine publishers/subscribers, `@Published`, operators. → [SKILL.md](skills/combine/SKILL.md)
|
|
84
|
+
- **`testing`** — XCTest, Swift Testing, and XCUITest implementation. → [SKILL.md](skills/testing/SKILL.md)
|
|
111
85
|
|
|
112
86
|
Full routing tables: [skills/index.md](skills/index.md). Domain build order and scope: [docs/architecture/domain-map.md](docs/architecture/domain-map.md).
|
|
113
87
|
|
|
114
88
|
## What's New
|
|
115
89
|
|
|
116
|
-
- 2026-08-
|
|
117
|
-
- 2026-08-
|
|
118
|
-
- 2026-08-
|
|
119
|
-
|
|
90
|
+
- 2026-08-07 — Added `testing` Skill (`XCTestCase` structure and assertions, Swift Testing fundamentals, parameterized and async tests, UI testing with `XCUIApplication`, expectations for asynchronous code; curated v1 subset of XCTest/Swift Testing/XCUITest, not exhaustive) — 5 Knowledge Contracts. Sixteenth Tier 2 domain. Two clean, proactively-scoped handoffs rather than discovered conflicts: Xcode Test Plans/code coverage config remain `xcode`'s territory, and `performAccessibilityAudit()` remains `accessibility`'s territory. Corrects several natural-but-wrong assumptions: `setUp()`/`tearDown()` has a same-named once-per-class `class func` overload distinct from the per-test instance methods; `XCUIApplication`/`XCUIElement` are now documented under the XCUIAutomation framework, not XCTest; the `app.buttons["x"]`-style subscript matches any of an element's identifying properties, not only `accessibilityIdentifier`; `@Test(arguments:)` over two bare collections produces a Cartesian product while a `zip`-wrapped single argument produces paired invocations; and `wait(for:timeout:)` is guided-away-from in favor of `await fulfillment(of:timeout:)`, not deprecated. Performance testing, snapshot testing, UI test recording, and mocking/DI patterns remain out of scope.
|
|
91
|
+
- 2026-08-07 — Added `combine` Skill (publishers and subscribers, `@Published`/`ObservableObject`, subjects, transforming/combining operators, assign and memory management; Combine framework API v1) — 5 Knowledge Contracts. Fifteenth Tier 2 domain, resolving the `swiftui`/`combine` state-management boundary this repo had left open pending `combine`'s build. No corrections to the approved scope beyond citation-precision notes (the full `debounce(for:scheduler:options:)` signature, and citing `Publishers.Merge`'s type page for `merge(with:)`). Async/await interop, custom `Publisher`/`Subscriber` conformances, backpressure, and SwiftData/Core Data interop remain out of scope.
|
|
92
|
+
- 2026-08-06 — Added `core-data` Skill (model definition, persistent container setup, managed object context CRUD, fetching with `NSFetchRequest`, relationships and delete rules; Core Data framework API v1) — 5 Knowledge Contracts. Fourteenth Tier 2 domain, closing the persistence seam left open by `swiftdata`. Corrects a natural-but-wrong assumption: `NSDeleteRule`'s case names carry a `DeleteRule` suffix (`.cascadeDeleteRule`/`.nullifyDeleteRule`/`.denyDeleteRule`/`.noActionDeleteRule`), distinct from SwiftData's shorter `.cascade`/`.nullify`/`.deny`/`.noAction` spellings for the same four concepts. CloudKit sync, migration, `NSFetchedResultsController`, and SwiftData interop remain out of scope.
|
|
93
|
+
|
|
94
|
+
Only the 3 most recent entries live here — see [CHANGELOG.md](CHANGELOG.md) for the full release history.
|
|
120
95
|
|
|
121
96
|
## Contributing
|
|
122
97
|
|