specweave 0.23.16 → 0.24.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 (227) hide show
  1. package/.claude-plugin/marketplace.json +93 -38
  2. package/CLAUDE.md +159 -11
  3. package/dist/plugins/specweave-github/lib/github-spec-content-sync.d.ts.map +1 -1
  4. package/dist/plugins/specweave-github/lib/github-spec-content-sync.js +57 -0
  5. package/dist/plugins/specweave-github/lib/github-spec-content-sync.js.map +1 -1
  6. package/dist/src/cli/commands/sync-spec-content.js +3 -0
  7. package/dist/src/cli/commands/sync-spec-content.js.map +1 -1
  8. package/dist/src/cli/helpers/ado-area-path-mapper.d.ts +89 -0
  9. package/dist/src/cli/helpers/ado-area-path-mapper.d.ts.map +1 -0
  10. package/dist/src/cli/helpers/ado-area-path-mapper.js +213 -0
  11. package/dist/src/cli/helpers/ado-area-path-mapper.js.map +1 -0
  12. package/dist/src/cli/helpers/issue-tracker/ado-auto-discover.d.ts +29 -0
  13. package/dist/src/cli/helpers/issue-tracker/ado-auto-discover.d.ts.map +1 -0
  14. package/dist/src/cli/helpers/issue-tracker/ado-auto-discover.js +109 -0
  15. package/dist/src/cli/helpers/issue-tracker/ado-auto-discover.js.map +1 -0
  16. package/dist/src/cli/helpers/issue-tracker/ado.d.ts +1 -0
  17. package/dist/src/cli/helpers/issue-tracker/ado.d.ts.map +1 -1
  18. package/dist/src/cli/helpers/issue-tracker/ado.js +2 -0
  19. package/dist/src/cli/helpers/issue-tracker/ado.js.map +1 -1
  20. package/dist/src/cli/helpers/smart-filter.d.ts +83 -0
  21. package/dist/src/cli/helpers/smart-filter.d.ts.map +1 -0
  22. package/dist/src/cli/helpers/smart-filter.js +265 -0
  23. package/dist/src/cli/helpers/smart-filter.js.map +1 -0
  24. package/dist/src/core/progress/progress-tracker.d.ts +4 -1
  25. package/dist/src/core/progress/progress-tracker.d.ts.map +1 -1
  26. package/dist/src/core/progress/progress-tracker.js +33 -4
  27. package/dist/src/core/progress/progress-tracker.js.map +1 -1
  28. package/dist/src/core/qa/quality-gate-decider.d.ts +1 -1
  29. package/dist/src/core/qa/quality-gate-decider.js +2 -2
  30. package/dist/src/core/qa/quality-gate-decider.js.map +1 -1
  31. package/dist/src/core/qa/risk-calculator.d.ts +2 -2
  32. package/dist/src/core/qa/risk-calculator.js +2 -2
  33. package/dist/src/core/spec-content-sync.d.ts +1 -1
  34. package/dist/src/core/spec-content-sync.d.ts.map +1 -1
  35. package/dist/src/core/validators/ac-presence-validator.d.ts +56 -0
  36. package/dist/src/core/validators/ac-presence-validator.d.ts.map +1 -0
  37. package/dist/src/core/validators/ac-presence-validator.js +149 -0
  38. package/dist/src/core/validators/ac-presence-validator.js.map +1 -0
  39. package/dist/src/integrations/ado/ado-dependency-loader.d.ts +1 -1
  40. package/dist/src/integrations/ado/ado-dependency-loader.d.ts.map +1 -1
  41. package/dist/src/integrations/ado/ado-dependency-loader.js +39 -7
  42. package/dist/src/integrations/ado/ado-dependency-loader.js.map +1 -1
  43. package/dist/src/integrations/ado/area-path-mapper.d.ts +137 -0
  44. package/dist/src/integrations/ado/area-path-mapper.d.ts.map +1 -0
  45. package/dist/src/integrations/ado/area-path-mapper.js +267 -0
  46. package/dist/src/integrations/ado/area-path-mapper.js.map +1 -0
  47. package/dist/src/integrations/jira/filter-processor.d.ts +126 -0
  48. package/dist/src/integrations/jira/filter-processor.d.ts.map +1 -0
  49. package/dist/src/integrations/jira/filter-processor.js +207 -0
  50. package/dist/src/integrations/jira/filter-processor.js.map +1 -0
  51. package/dist/src/integrations/jira/jira-client.d.ts +13 -0
  52. package/dist/src/integrations/jira/jira-client.d.ts.map +1 -1
  53. package/dist/src/integrations/jira/jira-client.js +33 -0
  54. package/dist/src/integrations/jira/jira-client.js.map +1 -1
  55. package/dist/src/utils/ac-embedder.d.ts +63 -0
  56. package/dist/src/utils/ac-embedder.d.ts.map +1 -0
  57. package/dist/src/utils/ac-embedder.js +217 -0
  58. package/dist/src/utils/ac-embedder.js.map +1 -0
  59. package/dist/src/utils/env-manager.d.ts +86 -0
  60. package/dist/src/utils/env-manager.d.ts.map +1 -0
  61. package/dist/src/utils/env-manager.js +188 -0
  62. package/dist/src/utils/env-manager.js.map +1 -0
  63. package/package.json +1 -1
  64. package/plugins/specweave/.claude-plugin/plugin.json +1 -1
  65. package/plugins/specweave/agents/AGENTS-INDEX.md +1 -1
  66. package/plugins/specweave/agents/increment-quality-judge-v2/AGENT.md +9 -9
  67. package/plugins/specweave/commands/specweave-do.md +37 -0
  68. package/plugins/specweave/commands/specweave-done.md +159 -0
  69. package/plugins/specweave/commands/specweave-embed-acs.md +446 -0
  70. package/plugins/specweave/commands/specweave-next.md +148 -3
  71. package/plugins/specweave/commands/specweave-qa.md +2 -2
  72. package/plugins/specweave/hooks/lib/migrate-increment-work.sh +1 -1
  73. package/plugins/specweave/hooks/lib/migrate-increment-work.sh.bak +245 -0
  74. package/plugins/specweave/hooks/lib/sync-spec-content.sh +2 -2
  75. package/plugins/specweave/hooks/lib/sync-spec-content.sh.bak +149 -0
  76. package/plugins/specweave/hooks/lib/update-status-line.sh +34 -4
  77. package/plugins/specweave/hooks/lib/validate-spec-status.sh +1 -1
  78. package/plugins/specweave/hooks/lib/validate-spec-status.sh.bak +163 -0
  79. package/plugins/specweave/hooks/post-first-increment.sh +1 -1
  80. package/plugins/specweave/hooks/post-first-increment.sh.bak +61 -0
  81. package/plugins/specweave/hooks/post-spec-update.sh +1 -1
  82. package/plugins/specweave/hooks/post-spec-update.sh.bak +158 -0
  83. package/plugins/specweave/hooks/post-user-story-complete.sh +1 -1
  84. package/plugins/specweave/hooks/post-user-story-complete.sh.bak +179 -0
  85. package/plugins/specweave/hooks/pre-command-deduplication.sh +1 -1
  86. package/plugins/specweave/hooks/pre-command-deduplication.sh.bak +83 -0
  87. package/plugins/specweave/hooks/pre-increment-start.sh +168 -0
  88. package/plugins/specweave/hooks/user-prompt-submit.sh +1 -1
  89. package/plugins/specweave/hooks/user-prompt-submit.sh.bak +386 -0
  90. package/plugins/specweave/skills/SKILLS-INDEX.md +1 -1
  91. package/plugins/specweave/skills/specweave-framework/SKILL.md +1 -1
  92. package/plugins/specweave-ado/.claude-plugin/plugin.json +1 -1
  93. package/plugins/specweave-ado/agents/ado-manager/AGENT.md +23 -0
  94. package/plugins/specweave-ado/agents/ado-multi-project-mapper/AGENT.md +23 -0
  95. package/plugins/specweave-ado/agents/ado-sync-judge/AGENT.md +23 -0
  96. package/plugins/specweave-ado/commands/specweave-ado-import-projects.md +331 -0
  97. package/plugins/specweave-alternatives/.claude-plugin/plugin.json +10 -0
  98. package/plugins/specweave-alternatives/commands/alternatives-analyze.md +336 -0
  99. package/plugins/specweave-alternatives/skills/architecture-alternatives/SKILL.md +651 -0
  100. package/plugins/specweave-alternatives/skills/bmad-method/SKILL.md +420 -0
  101. package/plugins/specweave-alternatives/skills/spec-kit-expert/SKILL.md +487 -0
  102. package/plugins/specweave-backend/agents/database-optimizer/AGENT.md +23 -0
  103. package/plugins/specweave-backend/commands/api-scaffold.md +80 -0
  104. package/plugins/specweave-backend/commands/crud-generate.md +109 -0
  105. package/plugins/specweave-backend/commands/migration-generate.md +139 -0
  106. package/plugins/specweave-confluent/agents/confluent-architect/AGENT.md +23 -0
  107. package/plugins/specweave-confluent/commands/connector-deploy.md +154 -0
  108. package/plugins/specweave-confluent/commands/ksqldb-query.md +179 -0
  109. package/plugins/specweave-confluent/commands/schema-register.md +123 -0
  110. package/plugins/specweave-core/.claude-plugin/plugin.json +21 -0
  111. package/plugins/specweave-core/commands/architecture-review.md +288 -0
  112. package/plugins/specweave-core/commands/code-review.md +213 -0
  113. package/plugins/specweave-core/commands/refactor-plan.md +249 -0
  114. package/plugins/specweave-core/skills/code-quality/SKILL.md +157 -0
  115. package/plugins/specweave-core/skills/design-patterns/SKILL.md +244 -0
  116. package/plugins/specweave-core/skills/software-architecture/SKILL.md +83 -0
  117. package/plugins/specweave-cost-optimizer/.claude-plugin/plugin.json +22 -0
  118. package/plugins/specweave-cost-optimizer/commands/cost-analyze.md +360 -0
  119. package/plugins/specweave-cost-optimizer/commands/cost-optimize.md +480 -0
  120. package/plugins/specweave-cost-optimizer/skills/aws-cost-expert/SKILL.md +416 -0
  121. package/plugins/specweave-cost-optimizer/skills/cloud-pricing/SKILL.md +325 -0
  122. package/plugins/specweave-cost-optimizer/skills/cost-optimization/SKILL.md +337 -0
  123. package/plugins/specweave-diagrams/.claude-plugin/plugin.json +1 -1
  124. package/plugins/specweave-diagrams/agents/diagrams-architect/AGENT.md +23 -0
  125. package/plugins/specweave-diagrams/commands/diagrams-generate.md +168 -0
  126. package/plugins/specweave-docs/.claude-plugin/plugin.json +10 -0
  127. package/plugins/specweave-docs/commands/docs-generate.md +441 -0
  128. package/plugins/specweave-docs/commands/docs-init.md +334 -0
  129. package/plugins/specweave-docs/skills/docusaurus/SKILL.md +581 -0
  130. package/plugins/specweave-docs/skills/spec-driven-brainstorming/SKILL.md +689 -0
  131. package/plugins/specweave-docs/skills/technical-writing/SKILL.md +1039 -0
  132. package/plugins/specweave-docs-preview/.claude-plugin/plugin.json +1 -1
  133. package/plugins/specweave-figma/.claude-plugin/plugin.json +23 -0
  134. package/plugins/specweave-figma/commands/figma-import.md +690 -0
  135. package/plugins/specweave-figma/commands/figma-to-react.md +834 -0
  136. package/plugins/specweave-figma/commands/figma-tokens.md +815 -0
  137. package/plugins/specweave-frontend/.claude-plugin/plugin.json +21 -0
  138. package/plugins/specweave-frontend/agents/frontend-architect/AGENT.md +387 -0
  139. package/plugins/specweave-frontend/agents/frontend-architect/README.md +385 -0
  140. package/plugins/specweave-frontend/agents/frontend-architect/examples.md +590 -0
  141. package/plugins/specweave-frontend/agents/frontend-architect/templates/component-template.tsx +152 -0
  142. package/plugins/specweave-frontend/agents/frontend-architect/templates/hook-template.ts +311 -0
  143. package/plugins/specweave-frontend/agents/frontend-architect/templates/page-template.tsx +228 -0
  144. package/plugins/specweave-frontend/commands/component-generate.md +510 -0
  145. package/plugins/specweave-frontend/commands/design-system-init.md +494 -0
  146. package/plugins/specweave-frontend/commands/frontend-scaffold.md +207 -0
  147. package/plugins/specweave-frontend/commands/nextjs-setup.md +396 -0
  148. package/plugins/specweave-frontend/skills/design-system-architect/SKILL.md +278 -0
  149. package/plugins/specweave-frontend/skills/frontend/SKILL.md +420 -0
  150. package/plugins/specweave-frontend/skills/nextjs/SKILL.md +546 -0
  151. package/plugins/specweave-github/.claude-plugin/plugin.json +1 -1
  152. package/plugins/specweave-github/agents/github-manager/AGENT.md +23 -0
  153. package/plugins/specweave-github/agents/github-task-splitter/AGENT.md +25 -0
  154. package/plugins/specweave-github/agents/user-story-updater/AGENT.md +25 -0
  155. package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +194 -0
  156. package/plugins/specweave-github/lib/github-spec-content-sync.js +49 -0
  157. package/plugins/specweave-github/lib/github-spec-content-sync.ts +67 -0
  158. package/plugins/specweave-infrastructure/.claude-plugin/plugin.json +1 -1
  159. package/plugins/specweave-infrastructure/agents/devops/AGENT.md +26 -0
  160. package/plugins/specweave-infrastructure/agents/network-engineer/AGENT.md +26 -0
  161. package/plugins/specweave-infrastructure/agents/observability-engineer/AGENT.md +26 -0
  162. package/plugins/specweave-infrastructure/agents/performance-engineer/AGENT.md +26 -0
  163. package/plugins/specweave-infrastructure/agents/sre/AGENT.md +26 -0
  164. package/plugins/specweave-jira/.claude-plugin/plugin.json +1 -1
  165. package/plugins/specweave-jira/agents/jira-manager/AGENT.md +26 -0
  166. package/plugins/specweave-jira/commands/import-projects.js +183 -0
  167. package/plugins/specweave-jira/commands/import-projects.md +97 -0
  168. package/plugins/specweave-jira/commands/import-projects.ts +288 -0
  169. package/plugins/specweave-jira/commands/specweave-jira-import-projects.md +298 -0
  170. package/plugins/specweave-kafka/.claude-plugin/plugin.json +1 -1
  171. package/plugins/specweave-kafka/agents/kafka-architect/AGENT.md +26 -0
  172. package/plugins/specweave-kafka/agents/kafka-devops/AGENT.md +26 -0
  173. package/plugins/specweave-kafka/agents/kafka-observability/AGENT.md +26 -0
  174. package/plugins/specweave-kafka-streams/.claude-plugin/plugin.json +1 -1
  175. package/plugins/specweave-kubernetes/agents/kubernetes-architect/AGENT.md +26 -0
  176. package/plugins/specweave-kubernetes/commands/cluster-setup.md +262 -0
  177. package/plugins/specweave-kubernetes/commands/deployment-generate.md +242 -0
  178. package/plugins/specweave-kubernetes/commands/helm-scaffold.md +333 -0
  179. package/plugins/specweave-ml/.claude-plugin/plugin.json +3 -3
  180. package/plugins/specweave-ml/agents/data-scientist/AGENT.md +26 -0
  181. package/plugins/specweave-ml/agents/ml-engineer/AGENT.md +26 -0
  182. package/plugins/specweave-ml/agents/mlops-engineer/AGENT.md +26 -0
  183. package/plugins/specweave-mobile/agents/mobile-architect/AGENT.md +26 -0
  184. package/plugins/specweave-mobile/commands/app-scaffold.md +233 -0
  185. package/plugins/specweave-mobile/commands/build-config.md +256 -0
  186. package/plugins/specweave-mobile/commands/screen-generate.md +289 -0
  187. package/plugins/specweave-n8n/.claude-plugin/plugin.json +1 -1
  188. package/plugins/specweave-payments/agents/payment-integration/AGENT.md +26 -0
  189. package/plugins/specweave-plugin-dev/.claude-plugin/plugin.json +20 -0
  190. package/plugins/specweave-plugin-dev/commands/plugin-create.md +333 -0
  191. package/plugins/specweave-plugin-dev/commands/plugin-publish.md +339 -0
  192. package/plugins/specweave-plugin-dev/commands/plugin-test.md +293 -0
  193. package/plugins/specweave-plugin-dev/skills/claude-sdk/SKILL.md +162 -0
  194. package/plugins/specweave-plugin-dev/skills/marketplace-publishing/SKILL.md +263 -0
  195. package/plugins/specweave-plugin-dev/skills/plugin-development/SKILL.md +316 -0
  196. package/plugins/specweave-release/.claude-plugin/plugin.json +1 -1
  197. package/plugins/specweave-release/agents/release-manager/AGENT.md +27 -0
  198. package/plugins/specweave-release/commands/specweave-release-npm.md +110 -0
  199. package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +168 -0
  200. package/plugins/specweave-testing/.claude-plugin/plugin.json +21 -0
  201. package/plugins/specweave-testing/agents/qa-engineer/AGENT.md +797 -0
  202. package/plugins/specweave-testing/agents/qa-engineer/README.md +443 -0
  203. package/plugins/specweave-testing/agents/qa-engineer/templates/playwright-e2e-test.ts +470 -0
  204. package/plugins/specweave-testing/agents/qa-engineer/templates/test-data-factory.ts +507 -0
  205. package/plugins/specweave-testing/agents/qa-engineer/templates/vitest-unit-test.ts +400 -0
  206. package/plugins/specweave-testing/agents/qa-engineer/test-strategies.md +726 -0
  207. package/plugins/specweave-testing/commands/e2e-setup.md +1081 -0
  208. package/plugins/specweave-testing/commands/test-coverage.md +979 -0
  209. package/plugins/specweave-testing/commands/test-generate.md +1156 -0
  210. package/plugins/specweave-testing/commands/test-init.md +409 -0
  211. package/plugins/specweave-testing/skills/e2e-playwright/SKILL.md +769 -0
  212. package/plugins/specweave-testing/skills/tdd-expert/SKILL.md +934 -0
  213. package/plugins/specweave-testing/skills/unit-testing-expert/SKILL.md +1011 -0
  214. package/plugins/specweave-tooling/.claude-plugin/plugin.json +22 -0
  215. package/plugins/specweave-tooling/commands/specweave-tooling-skill-create.md +691 -0
  216. package/plugins/specweave-tooling/commands/specweave-tooling-skill-package.md +751 -0
  217. package/plugins/specweave-tooling/commands/specweave-tooling-skill-validate.md +858 -0
  218. package/plugins/specweave-ui/.claude-plugin/plugin.json +10 -0
  219. package/plugins/specweave-ui/commands/ui-automate.md +199 -0
  220. package/plugins/specweave-ui/commands/ui-inspect.md +70 -0
  221. package/plugins/specweave-ui/skills/browser-automation/SKILL.md +314 -0
  222. package/plugins/specweave-ui/skills/ui-testing/SKILL.md +716 -0
  223. package/plugins/specweave-ui/skills/visual-regression/SKILL.md +728 -0
  224. package/plugins/specweave/commands/check-hooks.md +0 -257
  225. package/plugins/specweave/commands/specweave-archive-increments.md +0 -82
  226. package/plugins/specweave/skills/plugin-expert/SKILL.md +0 -340
  227. /package/plugins/specweave/{agents/code-reviewer.md → skills/code-reviewer/SKILL.md} +0 -0
@@ -0,0 +1,256 @@
1
+ # Build Configuration
2
+
3
+ Generate build configurations for iOS and Android.
4
+
5
+ ## Task
6
+
7
+ You are a React Native build expert. Generate complete build configurations for production releases.
8
+
9
+ ### Steps:
10
+
11
+ 1. **Ask for Requirements**:
12
+ - App identifier/bundle ID
13
+ - Environment (dev, staging, prod)
14
+ - Code signing details
15
+ - Push notification setup
16
+
17
+ 2. **Generate app.json** (Expo):
18
+
19
+ ```json
20
+ {
21
+ "expo": {
22
+ "name": "My App",
23
+ "slug": "my-app",
24
+ "version": "1.0.0",
25
+ "orientation": "portrait",
26
+ "icon": "./assets/icon.png",
27
+ "userInterfaceStyle": "automatic",
28
+ "splash": {
29
+ "image": "./assets/splash.png",
30
+ "resizeMode": "contain",
31
+ "backgroundColor": "#ffffff"
32
+ },
33
+ "assetBundlePatterns": [
34
+ "**/*"
35
+ ],
36
+ "ios": {
37
+ "supportsTablet": true,
38
+ "bundleIdentifier": "com.company.myapp",
39
+ "buildNumber": "1",
40
+ "infoPlist": {
41
+ "NSCameraUsageDescription": "This app uses the camera to...",
42
+ "NSPhotoLibraryUsageDescription": "This app accesses photos to...",
43
+ "NSLocationWhenInUseUsageDescription": "This app uses location to..."
44
+ },
45
+ "config": {
46
+ "googleMapsApiKey": "YOUR_KEY_HERE"
47
+ }
48
+ },
49
+ "android": {
50
+ "adaptiveIcon": {
51
+ "foregroundImage": "./assets/adaptive-icon.png",
52
+ "backgroundColor": "#ffffff"
53
+ },
54
+ "package": "com.company.myapp",
55
+ "versionCode": 1,
56
+ "permissions": [
57
+ "CAMERA",
58
+ "READ_EXTERNAL_STORAGE",
59
+ "WRITE_EXTERNAL_STORAGE",
60
+ "ACCESS_FINE_LOCATION"
61
+ ],
62
+ "config": {
63
+ "googleMaps": {
64
+ "apiKey": "YOUR_KEY_HERE"
65
+ }
66
+ }
67
+ },
68
+ "plugins": [
69
+ "expo-camera",
70
+ "expo-location",
71
+ [
72
+ "expo-notifications",
73
+ {
74
+ "icon": "./assets/notification-icon.png",
75
+ "color": "#ffffff"
76
+ }
77
+ ]
78
+ ],
79
+ "extra": {
80
+ "eas": {
81
+ "projectId": "your-project-id"
82
+ }
83
+ }
84
+ }
85
+ }
86
+ ```
87
+
88
+ 3. **Generate eas.json** (Expo EAS Build):
89
+
90
+ ```json
91
+ {
92
+ "cli": {
93
+ "version": ">= 5.0.0"
94
+ },
95
+ "build": {
96
+ "development": {
97
+ "developmentClient": true,
98
+ "distribution": "internal",
99
+ "ios": {
100
+ "simulator": true
101
+ }
102
+ },
103
+ "preview": {
104
+ "distribution": "internal",
105
+ "ios": {
106
+ "simulator": false,
107
+ "resourceClass": "m-medium"
108
+ },
109
+ "android": {
110
+ "buildType": "apk",
111
+ "gradleCommand": ":app:assembleRelease"
112
+ }
113
+ },
114
+ "production": {
115
+ "ios": {
116
+ "resourceClass": "m-medium",
117
+ "autoIncrement BuildNumber": true
118
+ },
119
+ "android": {
120
+ "buildType": "app-bundle",
121
+ "autoIncrement VersionCode": true
122
+ }
123
+ }
124
+ },
125
+ "submit": {
126
+ "production": {
127
+ "ios": {
128
+ "appleId": "your@email.com",
129
+ "ascAppId": "1234567890",
130
+ "appleTeamId": "ABCD1234"
131
+ },
132
+ "android": {
133
+ "serviceAccountKeyPath": "./service-account.json",
134
+ "track": "production"
135
+ }
136
+ }
137
+ }
138
+ }
139
+ ```
140
+
141
+ 4. **Generate Environment Variables**:
142
+
143
+ ```typescript
144
+ // config/env.ts
145
+ import Constants from 'expo-constants';
146
+
147
+ const ENV = {
148
+ dev: {
149
+ apiUrl: 'http://localhost:3000',
150
+ environment: 'development',
151
+ },
152
+ staging: {
153
+ apiUrl: 'https://staging-api.example.com',
154
+ environment: 'staging',
155
+ },
156
+ prod: {
157
+ apiUrl: 'https://api.example.com',
158
+ environment: 'production',
159
+ },
160
+ };
161
+
162
+ const getEnvVars = (env = Constants.manifest?.releaseChannel) => {
163
+ if (__DEV__) return ENV.dev;
164
+ if (env === 'staging') return ENV.staging;
165
+ return ENV.prod;
166
+ };
167
+
168
+ export default getEnvVars();
169
+ ```
170
+
171
+ 5. **Generate Build Scripts**:
172
+
173
+ ```json
174
+ // package.json scripts
175
+ {
176
+ "scripts": {
177
+ "build:dev:ios": "eas build --profile development --platform ios",
178
+ "build:dev:android": "eas build --profile development --platform android",
179
+ "build:preview:ios": "eas build --profile preview --platform ios",
180
+ "build:preview:android": "eas build --profile preview --platform android",
181
+ "build:prod:ios": "eas build --profile production --platform ios",
182
+ "build:prod:android": "eas build --profile production --platform android",
183
+ "build:prod:all": "eas build --profile production --platform all",
184
+ "submit:ios": "eas submit --platform ios",
185
+ "submit:android": "eas submit --platform android"
186
+ }
187
+ }
188
+ ```
189
+
190
+ 6. **Generate CI/CD Configuration** (GitHub Actions):
191
+
192
+ ```yaml
193
+ name: EAS Build
194
+
195
+ on:
196
+ push:
197
+ branches: [main, develop]
198
+ pull_request:
199
+ branches: [main]
200
+
201
+ jobs:
202
+ build:
203
+ runs-on: ubuntu-latest
204
+ steps:
205
+ - uses: actions/checkout@v3
206
+
207
+ - name: Setup Node
208
+ uses: actions/setup-node@v3
209
+ with:
210
+ node-version: 18
211
+ cache: 'npm'
212
+
213
+ - name: Setup Expo
214
+ uses: expo/expo-github-action@v8
215
+ with:
216
+ expo-version: latest
217
+ eas-version: latest
218
+ token: ${{ secrets.EXPO_TOKEN }}
219
+
220
+ - name: Install dependencies
221
+ run: npm ci
222
+
223
+ - name: Run tests
224
+ run: npm test
225
+
226
+ - name: Build iOS
227
+ run: eas build --profile production --platform ios --non-interactive
228
+ if: github.ref == 'refs/heads/main'
229
+
230
+ - name: Build Android
231
+ run: eas build --profile production --platform android --non-interactive
232
+ if: github.ref == 'refs/heads/main'
233
+
234
+ - name: Submit to stores
235
+ run: |
236
+ eas submit --platform ios --non-interactive
237
+ eas submit --platform android --non-interactive
238
+ if: github.ref == 'refs/heads/main'
239
+ ```
240
+
241
+ ### Best Practices Included:
242
+
243
+ - Multi-environment configuration
244
+ - Proper permissions setup
245
+ - Code signing automation
246
+ - CI/CD integration
247
+ - Auto-increment version numbers
248
+ - Proper asset management
249
+ - Push notification setup
250
+
251
+ ### Example Usage:
252
+
253
+ ```
254
+ User: "Set up production build for iOS and Android"
255
+ Result: Complete build configuration with EAS, CI/CD, environment management
256
+ ```
@@ -0,0 +1,289 @@
1
+ # Screen Generator
2
+
3
+ Generate React Native screens with navigation integration.
4
+
5
+ ## Task
6
+
7
+ You are a React Native expert. Generate complete, production-ready screens with proper typing and navigation.
8
+
9
+ ### Steps:
10
+
11
+ 1. **Ask for Requirements**:
12
+ - Screen name and purpose
13
+ - Required data/API calls
14
+ - Form inputs (if any)
15
+ - Navigation params
16
+
17
+ 2. **Generate Screen Component**:
18
+
19
+ ```typescript
20
+ import React, { useEffect, useState } from 'react';
21
+ import {
22
+ View,
23
+ Text,
24
+ StyleSheet,
25
+ FlatList,
26
+ RefreshControl,
27
+ ActivityIndicator,
28
+ } from 'react-native';
29
+ import { NativeStackScreenProps } from '@react-navigation/native-stack';
30
+ import { useQuery, useMutation } from '@tanstack/react-query';
31
+
32
+ import { api } from '../../services/api';
33
+ import { Product } from '../../types';
34
+ import { ProductCard } from '../../components/ProductCard';
35
+ import { RootStackParamList } from '../../navigation/types';
36
+
37
+ type Props = NativeStackScreenProps<RootStackParamList, 'ProductList'>;
38
+
39
+ export function ProductListScreen({ navigation, route }: Props) {
40
+ const { category } = route.params;
41
+
42
+ // Fetch data with React Query
43
+ const {
44
+ data: products,
45
+ isLoading,
46
+ error,
47
+ refetch,
48
+ isRefetching,
49
+ } = useQuery({
50
+ queryKey: ['products', category],
51
+ queryFn: () => api.getProducts({ category }),
52
+ });
53
+
54
+ // Handle item press
55
+ const handleProductPress = (productId: string) => {
56
+ navigation.navigate('ProductDetail', { productId });
57
+ };
58
+
59
+ // Render loading state
60
+ if (isLoading) {
61
+ return (
62
+ <View style={styles.centerContainer}>
63
+ <ActivityIndicator size="large" />
64
+ </View>
65
+ );
66
+ }
67
+
68
+ // Render error state
69
+ if (error) {
70
+ return (
71
+ <View style={styles.centerContainer}>
72
+ <Text style={styles.errorText}>
73
+ Failed to load products
74
+ </Text>
75
+ </View>
76
+ );
77
+ }
78
+
79
+ // Render list
80
+ return (
81
+ <View style={styles.container}>
82
+ <FlatList
83
+ data={products}
84
+ keyExtractor={(item) => item.id}
85
+ renderItem={({ item }) => (
86
+ <ProductCard
87
+ product={item}
88
+ onPress={() => handleProductPress(item.id)}
89
+ />
90
+ )}
91
+ contentContainerStyle={styles.listContent}
92
+ refreshControl={
93
+ <RefreshControl
94
+ refreshing={isRefetching}
95
+ onRefresh={refetch}
96
+ />
97
+ }
98
+ ListEmptyComponent={
99
+ <Text style={styles.emptyText}>
100
+ No products found
101
+ </Text>
102
+ }
103
+ />
104
+ </View>
105
+ );
106
+ }
107
+
108
+ const styles = StyleSheet.create({
109
+ container: {
110
+ flex: 1,
111
+ backgroundColor: '#fff',
112
+ },
113
+ centerContainer: {
114
+ flex: 1,
115
+ justifyContent: 'center',
116
+ alignItems: 'center',
117
+ },
118
+ listContent: {
119
+ padding: 16,
120
+ },
121
+ errorText: {
122
+ fontSize: 16,
123
+ color: 'red',
124
+ },
125
+ emptyText: {
126
+ fontSize: 16,
127
+ textAlign: 'center',
128
+ marginTop: 32,
129
+ },
130
+ });
131
+ ```
132
+
133
+ 3. **Generate Form Screen**:
134
+
135
+ ```typescript
136
+ import React from 'react';
137
+ import {
138
+ View,
139
+ StyleSheet,
140
+ ScrollView,
141
+ KeyboardAvoidingView,
142
+ Platform,
143
+ } from 'react-native';
144
+ import { useForm, Controller } from 'react-hook-form';
145
+ import { zodResolver } from '@hookform/resolvers/zod';
146
+ import * as z from 'zod';
147
+
148
+ import { Input } from '../../components/Input';
149
+ import { Button } from '../../components/Button';
150
+ import { api } from '../../services/api';
151
+
152
+ const schema = z.object({
153
+ name: z.string().min(1, 'Name is required'),
154
+ email: z.string().email('Invalid email'),
155
+ phone: z.string().regex(/^\d{10}$/, 'Invalid phone number'),
156
+ });
157
+
158
+ type FormData = z.infer<typeof schema>;
159
+
160
+ export function ProfileEditScreen({ navigation }: Props) {
161
+ const {
162
+ control,
163
+ handleSubmit,
164
+ formState: { errors, isSubmitting },
165
+ } = useForm<FormData>({
166
+ resolver: zodResolver(schema),
167
+ defaultValues: {
168
+ name: '',
169
+ email: '',
170
+ phone: '',
171
+ },
172
+ });
173
+
174
+ const onSubmit = async (data: FormData) => {
175
+ try {
176
+ await api.updateProfile(data);
177
+ navigation.goBack();
178
+ } catch (error) {
179
+ console.error('Failed to update profile', error);
180
+ }
181
+ };
182
+
183
+ return (
184
+ <KeyboardAvoidingView
185
+ style={styles.container}
186
+ behavior={Platform.OS === 'ios' ? 'padding' : undefined}
187
+ >
188
+ <ScrollView
189
+ contentContainerStyle={styles.content}
190
+ keyboardShouldPersistTaps="handled"
191
+ >
192
+ <Controller
193
+ control={control}
194
+ name="name"
195
+ render={({ field: { onChange, value } }) => (
196
+ <Input
197
+ label="Name"
198
+ value={value}
199
+ onChangeText={onChange}
200
+ error={errors.name?.message}
201
+ />
202
+ )}
203
+ />
204
+
205
+ <Controller
206
+ control={control}
207
+ name="email"
208
+ render={({ field: { onChange, value } }) => (
209
+ <Input
210
+ label="Email"
211
+ value={value}
212
+ onChangeText={onChange}
213
+ keyboardType="email-address"
214
+ autoCapitalize="none"
215
+ error={errors.email?.message}
216
+ />
217
+ )}
218
+ />
219
+
220
+ <Controller
221
+ control={control}
222
+ name="phone"
223
+ render={({ field: { onChange, value } }) => (
224
+ <Input
225
+ label="Phone"
226
+ value={value}
227
+ onChangeText={onChange}
228
+ keyboardType="phone-pad"
229
+ error={errors.phone?.message}
230
+ />
231
+ )}
232
+ />
233
+
234
+ <Button
235
+ title="Save"
236
+ onPress={handleSubmit(onSubmit)}
237
+ loading={isSubmitting}
238
+ />
239
+ </ScrollView>
240
+ </KeyboardAvoidingView>
241
+ );
242
+ }
243
+
244
+ const styles = StyleSheet.create({
245
+ container: {
246
+ flex: 1,
247
+ backgroundColor: '#fff',
248
+ },
249
+ content: {
250
+ padding: 16,
251
+ },
252
+ });
253
+ ```
254
+
255
+ 4. **Generate Navigation Types**:
256
+
257
+ ```typescript
258
+ // navigation/types.ts
259
+ export type RootStackParamList = {
260
+ ProductList: { category: string };
261
+ ProductDetail: { productId: string };
262
+ ProfileEdit: undefined;
263
+ };
264
+
265
+ declare global {
266
+ namespace ReactNavigation {
267
+ interface RootParamList extends RootStackParamList {}
268
+ }
269
+ }
270
+ ```
271
+
272
+ ### Best Practices Included:
273
+
274
+ - TypeScript types
275
+ - React Query for data fetching
276
+ - React Hook Form for forms
277
+ - Zod validation
278
+ - Proper error handling
279
+ - Loading states
280
+ - Pull-to-refresh
281
+ - Keyboard handling
282
+ - Responsive styling
283
+
284
+ ### Example Usage:
285
+
286
+ ```
287
+ User: "Generate product list screen with pull-to-refresh"
288
+ Result: Complete screen with navigation, data fetching, error handling
289
+ ```
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "specweave-n8n",
3
3
  "description": "n8n workflow automation integration with Kafka - Event-driven workflows, Kafka triggers, producers, consumers, and workflow patterns for no-code/low-code event processing",
4
- "version": "0.22.14",
4
+ "version": "0.24.0",
5
5
  "author": {
6
6
  "name": "SpecWeave Team",
7
7
  "url": "https://spec-weave.com"
@@ -9,6 +9,32 @@ fallback_behavior: flexible
9
9
 
10
10
  You are a payment integration specialist focused on secure, reliable payment processing.
11
11
 
12
+ ## 🚀 How to Invoke This Agent
13
+
14
+ **Subagent Type**: `specweave-payments:payment-integration:payment-integration`
15
+
16
+ **Usage Example**:
17
+
18
+ ```typescript
19
+ Task({
20
+ subagent_type: "specweave-payments:payment-integration:payment-integration",
21
+ prompt: "Implement Stripe payment integration with checkout flow, webhook handling, and subscription billing",
22
+ model: "haiku" // optional: haiku, sonnet, opus
23
+ });
24
+ ```
25
+
26
+ **Naming Convention**: `{plugin}:{directory}:{yaml-name-or-directory-name}`
27
+ - **Plugin**: specweave-payments
28
+ - **Directory**: payment-integration
29
+ - **Agent Name**: payment-integration
30
+
31
+ **When to Use**:
32
+ - You're implementing payment processing with Stripe or PayPal
33
+ - You need to build checkout flows and payment forms
34
+ - You want to set up recurring billing and subscriptions
35
+ - You need to handle payment webhooks and events
36
+ - You want to ensure PCI compliance and security best practices
37
+
12
38
  ## Focus Areas
13
39
  - Stripe/PayPal/Square API integration
14
40
  - Checkout flows and payment forms
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "specweave-plugin-dev",
3
+ "description": "Claude Code plugin development tools including plugin creation, testing, marketplace publishing, skill authoring, agent development, and CLI command integration.",
4
+ "version": "0.24.0",
5
+ "author": {
6
+ "name": "Anton Abyzov",
7
+ "email": "anton.abyzov@gmail.com"
8
+ },
9
+ "homepage": "https://spec-weave.com",
10
+ "repository": "https://github.com/anton-abyzov/specweave",
11
+ "license": "MIT",
12
+ "keywords": [
13
+ "plugin-development",
14
+ "claude-sdk",
15
+ "marketplace",
16
+ "skills",
17
+ "agents",
18
+ "specweave"
19
+ ]
20
+ }