gsd-pi 2.35.0-dev.cd3b7ea → 2.36.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 (164) hide show
  1. package/README.md +3 -1
  2. package/dist/cli.js +7 -2
  3. package/dist/resource-loader.d.ts +1 -1
  4. package/dist/resource-loader.js +13 -1
  5. package/dist/resources/extensions/async-jobs/await-tool.js +0 -2
  6. package/dist/resources/extensions/async-jobs/job-manager.js +0 -6
  7. package/dist/resources/extensions/bg-shell/output-formatter.js +1 -19
  8. package/dist/resources/extensions/bg-shell/process-manager.js +0 -4
  9. package/dist/resources/extensions/bg-shell/types.js +0 -2
  10. package/dist/resources/extensions/context7/index.js +5 -0
  11. package/dist/resources/extensions/get-secrets-from-user.js +2 -30
  12. package/dist/resources/extensions/google-search/index.js +5 -0
  13. package/dist/resources/extensions/gsd/auto-dispatch.js +43 -1
  14. package/dist/resources/extensions/gsd/auto-loop.js +17 -3
  15. package/dist/resources/extensions/gsd/auto-model-selection.js +15 -3
  16. package/dist/resources/extensions/gsd/auto-recovery.js +35 -0
  17. package/dist/resources/extensions/gsd/auto-start.js +35 -2
  18. package/dist/resources/extensions/gsd/auto.js +59 -4
  19. package/dist/resources/extensions/gsd/commands-handlers.js +2 -2
  20. package/dist/resources/extensions/gsd/commands-inspect.js +10 -3
  21. package/dist/resources/extensions/gsd/commands-rate.js +31 -0
  22. package/dist/resources/extensions/gsd/commands.js +43 -1
  23. package/dist/resources/extensions/gsd/doctor-environment.js +26 -17
  24. package/dist/resources/extensions/gsd/files.js +11 -2
  25. package/dist/resources/extensions/gsd/gitignore.js +54 -7
  26. package/dist/resources/extensions/gsd/guided-flow.js +8 -2
  27. package/dist/resources/extensions/gsd/health-widget-core.js +96 -0
  28. package/dist/resources/extensions/gsd/health-widget.js +97 -46
  29. package/dist/resources/extensions/gsd/index.js +26 -33
  30. package/dist/resources/extensions/gsd/migrate-external.js +55 -2
  31. package/dist/resources/extensions/gsd/milestone-ids.js +3 -2
  32. package/dist/resources/extensions/gsd/paths.js +74 -7
  33. package/dist/resources/extensions/gsd/post-unit-hooks.js +4 -1
  34. package/dist/resources/extensions/gsd/preferences-validation.js +16 -1
  35. package/dist/resources/extensions/gsd/preferences.js +12 -0
  36. package/dist/resources/extensions/gsd/prompts/complete-milestone.md +2 -0
  37. package/dist/resources/extensions/gsd/prompts/validate-milestone.md +2 -0
  38. package/dist/resources/extensions/gsd/roadmap-mutations.js +55 -0
  39. package/dist/resources/extensions/gsd/session-lock.js +53 -2
  40. package/dist/resources/extensions/gsd/state.js +2 -1
  41. package/dist/resources/extensions/gsd/templates/plan.md +8 -0
  42. package/dist/resources/extensions/gsd/worktree-resolver.js +12 -0
  43. package/dist/resources/extensions/remote-questions/remote-command.js +2 -22
  44. package/dist/resources/extensions/shared/mod.js +1 -1
  45. package/dist/resources/extensions/shared/sanitize.js +30 -0
  46. package/dist/resources/extensions/subagent/index.js +6 -14
  47. package/dist/resources/skills/core-web-vitals/SKILL.md +1 -1
  48. package/dist/resources/skills/create-gsd-extension/workflows/debug-extension.md +1 -1
  49. package/dist/resources/skills/github-workflows/SKILL.md +0 -2
  50. package/dist/resources/skills/web-quality-audit/SKILL.md +0 -2
  51. package/package.json +2 -1
  52. package/packages/pi-agent-core/dist/agent.d.ts +10 -2
  53. package/packages/pi-agent-core/dist/agent.d.ts.map +1 -1
  54. package/packages/pi-agent-core/dist/agent.js +19 -8
  55. package/packages/pi-agent-core/dist/agent.js.map +1 -1
  56. package/packages/pi-agent-core/src/agent.ts +31 -10
  57. package/packages/pi-ai/dist/providers/openai-responses.js +1 -1
  58. package/packages/pi-ai/dist/providers/openai-responses.js.map +1 -1
  59. package/packages/pi-ai/src/providers/openai-responses.ts +1 -1
  60. package/packages/pi-coding-agent/dist/core/agent-session.d.ts.map +1 -1
  61. package/packages/pi-coding-agent/dist/core/agent-session.js +20 -4
  62. package/packages/pi-coding-agent/dist/core/agent-session.js.map +1 -1
  63. package/packages/pi-coding-agent/dist/core/resource-loader.d.ts.map +1 -1
  64. package/packages/pi-coding-agent/dist/core/resource-loader.js +13 -2
  65. package/packages/pi-coding-agent/dist/core/resource-loader.js.map +1 -1
  66. package/packages/pi-coding-agent/package.json +1 -1
  67. package/packages/pi-coding-agent/src/core/agent-session.ts +36 -12
  68. package/packages/pi-coding-agent/src/core/resource-loader.ts +13 -2
  69. package/pkg/package.json +1 -1
  70. package/src/resources/extensions/async-jobs/await-tool.ts +0 -2
  71. package/src/resources/extensions/async-jobs/job-manager.ts +0 -7
  72. package/src/resources/extensions/bg-shell/output-formatter.ts +0 -17
  73. package/src/resources/extensions/bg-shell/process-manager.ts +0 -4
  74. package/src/resources/extensions/bg-shell/types.ts +0 -12
  75. package/src/resources/extensions/context7/index.ts +7 -0
  76. package/src/resources/extensions/get-secrets-from-user.ts +2 -35
  77. package/src/resources/extensions/google-search/index.ts +7 -0
  78. package/src/resources/extensions/gsd/auto-dispatch.ts +49 -1
  79. package/src/resources/extensions/gsd/auto-loop.ts +22 -2
  80. package/src/resources/extensions/gsd/auto-model-selection.ts +23 -2
  81. package/src/resources/extensions/gsd/auto-recovery.ts +39 -0
  82. package/src/resources/extensions/gsd/auto-start.ts +42 -2
  83. package/src/resources/extensions/gsd/auto.ts +61 -3
  84. package/src/resources/extensions/gsd/commands-handlers.ts +2 -2
  85. package/src/resources/extensions/gsd/commands-inspect.ts +10 -3
  86. package/src/resources/extensions/gsd/commands-rate.ts +55 -0
  87. package/src/resources/extensions/gsd/commands.ts +43 -1
  88. package/src/resources/extensions/gsd/doctor-environment.ts +26 -16
  89. package/src/resources/extensions/gsd/files.ts +12 -2
  90. package/src/resources/extensions/gsd/gitignore.ts +54 -7
  91. package/src/resources/extensions/gsd/guided-flow.ts +8 -2
  92. package/src/resources/extensions/gsd/health-widget-core.ts +129 -0
  93. package/src/resources/extensions/gsd/health-widget.ts +103 -59
  94. package/src/resources/extensions/gsd/index.ts +30 -33
  95. package/src/resources/extensions/gsd/migrate-external.ts +47 -2
  96. package/src/resources/extensions/gsd/milestone-ids.ts +3 -2
  97. package/src/resources/extensions/gsd/paths.ts +73 -7
  98. package/src/resources/extensions/gsd/post-unit-hooks.ts +5 -1
  99. package/src/resources/extensions/gsd/preferences-validation.ts +16 -1
  100. package/src/resources/extensions/gsd/preferences.ts +14 -1
  101. package/src/resources/extensions/gsd/prompts/complete-milestone.md +2 -0
  102. package/src/resources/extensions/gsd/prompts/validate-milestone.md +2 -0
  103. package/src/resources/extensions/gsd/roadmap-mutations.ts +66 -0
  104. package/src/resources/extensions/gsd/session-lock.ts +59 -2
  105. package/src/resources/extensions/gsd/state.ts +2 -1
  106. package/src/resources/extensions/gsd/templates/plan.md +8 -0
  107. package/src/resources/extensions/gsd/tests/commands-inspect-open-db.test.ts +46 -0
  108. package/src/resources/extensions/gsd/tests/files-loadfile-eisdir.test.ts +20 -0
  109. package/src/resources/extensions/gsd/tests/gitignore-tracked-gsd.test.ts +214 -0
  110. package/src/resources/extensions/gsd/tests/health-widget.test.ts +158 -0
  111. package/src/resources/extensions/gsd/tests/paths.test.ts +113 -0
  112. package/src/resources/extensions/gsd/tests/preferences.test.ts +12 -2
  113. package/src/resources/extensions/gsd/tests/queue-reorder-e2e.test.ts +26 -0
  114. package/src/resources/extensions/gsd/tests/test-utils.ts +165 -0
  115. package/src/resources/extensions/gsd/tests/validate-directory.test.ts +15 -0
  116. package/src/resources/extensions/gsd/tests/validate-milestone.test.ts +7 -0
  117. package/src/resources/extensions/gsd/tests/worktree-sync-milestones.test.ts +32 -0
  118. package/src/resources/extensions/gsd/worktree-resolver.ts +11 -0
  119. package/src/resources/extensions/remote-questions/remote-command.ts +2 -23
  120. package/src/resources/extensions/shared/mod.ts +1 -1
  121. package/src/resources/extensions/shared/sanitize.ts +36 -0
  122. package/src/resources/extensions/subagent/index.ts +6 -12
  123. package/src/resources/skills/core-web-vitals/SKILL.md +1 -1
  124. package/src/resources/skills/create-gsd-extension/workflows/debug-extension.md +1 -1
  125. package/src/resources/skills/github-workflows/SKILL.md +0 -2
  126. package/src/resources/skills/web-quality-audit/SKILL.md +0 -2
  127. package/dist/resources/extensions/shared/wizard-ui.js +0 -478
  128. package/dist/resources/skills/swiftui/SKILL.md +0 -208
  129. package/dist/resources/skills/swiftui/references/animations.md +0 -921
  130. package/dist/resources/skills/swiftui/references/architecture.md +0 -1561
  131. package/dist/resources/skills/swiftui/references/layout-system.md +0 -1186
  132. package/dist/resources/skills/swiftui/references/navigation.md +0 -1492
  133. package/dist/resources/skills/swiftui/references/networking-async.md +0 -214
  134. package/dist/resources/skills/swiftui/references/performance.md +0 -1706
  135. package/dist/resources/skills/swiftui/references/platform-integration.md +0 -204
  136. package/dist/resources/skills/swiftui/references/state-management.md +0 -1443
  137. package/dist/resources/skills/swiftui/references/swiftdata.md +0 -297
  138. package/dist/resources/skills/swiftui/references/testing-debugging.md +0 -247
  139. package/dist/resources/skills/swiftui/references/uikit-appkit-interop.md +0 -218
  140. package/dist/resources/skills/swiftui/workflows/add-feature.md +0 -191
  141. package/dist/resources/skills/swiftui/workflows/build-new-app.md +0 -311
  142. package/dist/resources/skills/swiftui/workflows/debug-swiftui.md +0 -192
  143. package/dist/resources/skills/swiftui/workflows/optimize-performance.md +0 -197
  144. package/dist/resources/skills/swiftui/workflows/ship-app.md +0 -203
  145. package/dist/resources/skills/swiftui/workflows/write-tests.md +0 -235
  146. package/src/resources/extensions/shared/wizard-ui.ts +0 -551
  147. package/src/resources/skills/swiftui/SKILL.md +0 -208
  148. package/src/resources/skills/swiftui/references/animations.md +0 -921
  149. package/src/resources/skills/swiftui/references/architecture.md +0 -1561
  150. package/src/resources/skills/swiftui/references/layout-system.md +0 -1186
  151. package/src/resources/skills/swiftui/references/navigation.md +0 -1492
  152. package/src/resources/skills/swiftui/references/networking-async.md +0 -214
  153. package/src/resources/skills/swiftui/references/performance.md +0 -1706
  154. package/src/resources/skills/swiftui/references/platform-integration.md +0 -204
  155. package/src/resources/skills/swiftui/references/state-management.md +0 -1443
  156. package/src/resources/skills/swiftui/references/swiftdata.md +0 -297
  157. package/src/resources/skills/swiftui/references/testing-debugging.md +0 -247
  158. package/src/resources/skills/swiftui/references/uikit-appkit-interop.md +0 -218
  159. package/src/resources/skills/swiftui/workflows/add-feature.md +0 -191
  160. package/src/resources/skills/swiftui/workflows/build-new-app.md +0 -311
  161. package/src/resources/skills/swiftui/workflows/debug-swiftui.md +0 -192
  162. package/src/resources/skills/swiftui/workflows/optimize-performance.md +0 -197
  163. package/src/resources/skills/swiftui/workflows/ship-app.md +0 -203
  164. package/src/resources/skills/swiftui/workflows/write-tests.md +0 -235
@@ -1,204 +0,0 @@
1
- <overview>
2
- SwiftUI enables true multiplatform development: write once, adapt per platform. A single codebase can target iOS, iPadOS, macOS, watchOS, tvOS, and visionOS while respecting each platform's unique conventions and capabilities.
3
-
4
- **Key insight:** SwiftUI's declarative syntax works everywhere, but each platform has distinct interaction models. iOS uses touch and gestures, macOS has precise mouse input and keyboard shortcuts, watchOS centers on the Digital Crown, and visionOS introduces spatial computing with gaze and hand tracking.
5
-
6
- **When to read this:**
7
- - Building multiplatform apps with shared logic but platform-specific UI
8
- - Implementing macOS menu bar utilities or Settings windows
9
- - Creating watchOS complications or Digital Crown interactions
10
- - Developing visionOS apps with immersive spaces and ornaments
11
- - Adapting layouts responsively across iPhone, iPad, and Mac
12
- </overview>
13
-
14
- <platform_conditionals>
15
- ## Platform Conditionals
16
-
17
- **Compile-time platform checks:**
18
- ```swift
19
- #if os(iOS)
20
- // iOS-only code
21
- #elseif os(macOS)
22
- // macOS-only code
23
- #elseif os(watchOS)
24
- // watchOS-only code
25
- #elseif os(visionOS)
26
- // visionOS-only code
27
- #endif
28
- ```
29
-
30
- **Runtime API availability:**
31
- ```swift
32
- if #available(iOS 17, macOS 14, *) {
33
- // Use iOS 17+/macOS 14+ API
34
- }
35
- ```
36
-
37
- **Target environment:**
38
- ```swift
39
- #if targetEnvironment(simulator)
40
- // Running in simulator
41
- #endif
42
-
43
- #if canImport(UIKit)
44
- // UIKit available
45
- #endif
46
- ```
47
- </platform_conditionals>
48
-
49
- <ios_specifics>
50
- ## iOS-Specific Features
51
-
52
- **Navigation patterns:**
53
- - Tab bar at bottom
54
- - Full-screen covers
55
- - Pull-to-refresh with .refreshable
56
-
57
- **System integration:**
58
- - Push notifications
59
- - Widgets and Live Activities
60
- - App Intents / Siri
61
-
62
- **Device variations:**
63
- ```swift
64
- @Environment(\.horizontalSizeClass) var horizontalSizeClass
65
-
66
- if horizontalSizeClass == .regular {
67
- // iPad layout
68
- }
69
- ```
70
- </ios_specifics>
71
-
72
- <macos_specifics>
73
- ## macOS-Specific Features
74
-
75
- **Window management:**
76
- ```swift
77
- WindowGroup("Main") { ContentView() }
78
- .defaultSize(width: 800, height: 600)
79
-
80
- Window("Settings") { SettingsView() }
81
-
82
- Settings { SettingsView() }
83
- ```
84
-
85
- **MenuBarExtra:**
86
- ```swift
87
- MenuBarExtra("App Name", systemImage: "star") {
88
- MenuBarContentView()
89
- }
90
- .menuBarExtraStyle(.window)
91
- ```
92
-
93
- **Commands:**
94
- ```swift
95
- .commands {
96
- CommandGroup(replacing: .newItem) {
97
- Button("New Document") { }
98
- }
99
- CommandMenu("Custom") {
100
- Button("Action") { }
101
- }
102
- }
103
- ```
104
- </macos_specifics>
105
-
106
- <watchos_specifics>
107
- ## watchOS-Specific Features
108
-
109
- **Digital Crown:**
110
- ```swift
111
- @State private var crownValue: Double = 0.0
112
-
113
- VStack { Text("\(crownValue)") }
114
- .focusable()
115
- .digitalCrownRotation($crownValue)
116
- ```
117
-
118
- **Always-on display:**
119
- ```swift
120
- @Environment(\.isLuminanceReduced) var isLuminanceReduced
121
- ```
122
- </watchos_specifics>
123
-
124
- <visionos_specifics>
125
- ## visionOS-Specific Features
126
-
127
- **Immersive spaces:**
128
- ```swift
129
- ImmersiveSpace(id: "immersive") {
130
- RealityView { content in
131
- // 3D content
132
- }
133
- }
134
- ```
135
-
136
- **Window styles:**
137
- ```swift
138
- .windowStyle(.volumetric)
139
- ```
140
-
141
- **Ornaments:**
142
- ```swift
143
- .ornament(attachmentAnchor: .scene(.bottom)) {
144
- BottomControls()
145
- }
146
- ```
147
- </visionos_specifics>
148
-
149
- <responsive_design>
150
- ## Responsive Design
151
-
152
- **Size classes:**
153
- ```swift
154
- @Environment(\.horizontalSizeClass) var horizontalSizeClass
155
- @Environment(\.verticalSizeClass) var verticalSizeClass
156
- ```
157
-
158
- **ViewThatFits (iOS 16+):**
159
- ```swift
160
- ViewThatFits {
161
- WideLayout()
162
- CompactLayout()
163
- }
164
- ```
165
-
166
- **containerRelativeFrame (iOS 17+):**
167
- ```swift
168
- .containerRelativeFrame(.horizontal) { length, axis in
169
- length * 0.8
170
- }
171
- ```
172
- </responsive_design>
173
-
174
- <decision_tree>
175
- ## Platform Strategy
176
-
177
- **Shared codebase structure:**
178
- - Models, ViewModels, Services: All platforms
179
- - Views: Platform-specific where needed
180
-
181
- **When to use conditionals:**
182
- - Platform-exclusive APIs
183
- - Different navigation patterns
184
- - Different default sizes
185
- </decision_tree>
186
-
187
- <anti_patterns>
188
- ## What NOT to Do
189
-
190
- <anti_pattern name="Scattered #if os() conditionals">
191
- **Problem:** Platform checks everywhere
192
- **Instead:** Extract to platform-specific files
193
- </anti_pattern>
194
-
195
- <anti_pattern name="Ignoring platform idioms">
196
- **Problem:** iOS patterns on macOS
197
- **Instead:** Respect each platform's conventions
198
- </anti_pattern>
199
-
200
- <anti_pattern name="Testing only in simulator">
201
- **Problem:** Missing real device behaviors
202
- **Instead:** Test on physical devices
203
- </anti_pattern>
204
- </anti_patterns>