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,333 @@
1
+ # Helm Chart Scaffolding
2
+
3
+ Generate production-ready Helm charts with best practices.
4
+
5
+ ## Task
6
+
7
+ You are a Helm expert. Generate complete Helm chart structure for applications.
8
+
9
+ ### Steps:
10
+
11
+ 1. **Ask for Information**:
12
+ - Chart name
13
+ - Application type (web app, API, worker, etc.)
14
+ - Dependencies (databases, caches, etc.)
15
+
16
+ 2. **Generate Chart Structure**:
17
+
18
+ ```
19
+ my-app/
20
+ ├── Chart.yaml
21
+ ├── values.yaml
22
+ ├── values-dev.yaml
23
+ ├── values-staging.yaml
24
+ ├── values-prod.yaml
25
+ ├── templates/
26
+ │ ├── NOTES.txt
27
+ │ ├── _helpers.tpl
28
+ │ ├── deployment.yaml
29
+ │ ├── service.yaml
30
+ │ ├── ingress.yaml
31
+ │ ├── configmap.yaml
32
+ │ ├── secret.yaml
33
+ │ ├── hpa.yaml
34
+ │ ├── serviceaccount.yaml
35
+ │ ├── networkpolicy.yaml
36
+ │ └── tests/
37
+ │ └── test-connection.yaml
38
+ ├── charts/ # Subcharts
39
+ └── .helmignore
40
+ ```
41
+
42
+ 3. **Generate Chart.yaml**:
43
+
44
+ ```yaml
45
+ apiVersion: v2
46
+ name: my-app
47
+ description: A Helm chart for my-app
48
+ type: application
49
+ version: 1.0.0 # Chart version
50
+ appVersion: "1.0.0" # Application version
51
+
52
+ keywords:
53
+ - application
54
+ - api
55
+
56
+ home: https://github.com/myorg/my-app
57
+ sources:
58
+ - https://github.com/myorg/my-app
59
+
60
+ maintainers:
61
+ - name: Your Name
62
+ email: you@example.com
63
+ url: https://example.com
64
+
65
+ dependencies:
66
+ - name: postgresql
67
+ version: "12.x.x"
68
+ repository: https://charts.bitnami.com/bitnami
69
+ condition: postgresql.enabled
70
+ - name: redis
71
+ version: "17.x.x"
72
+ repository: https://charts.bitnami.com/bitnami
73
+ condition: redis.enabled
74
+ ```
75
+
76
+ 4. **Generate values.yaml**:
77
+
78
+ ```yaml
79
+ # Default values for my-app
80
+ # This is a YAML-formatted file
81
+
82
+ replicaCount: 3
83
+
84
+ image:
85
+ repository: myapp
86
+ pullPolicy: IfNotPresent
87
+ tag: "" # Overrides appVersion
88
+
89
+ imagePullSecrets: []
90
+
91
+ nameOverride: ""
92
+ fullnameOverride: ""
93
+
94
+ serviceAccount:
95
+ create: true
96
+ annotations: {}
97
+ name: ""
98
+
99
+ podAnnotations:
100
+ prometheus.io/scrape: "true"
101
+ prometheus.io/port: "8080"
102
+
103
+ podSecurityContext:
104
+ runAsNonRoot: true
105
+ runAsUser: 1000
106
+ fsGroup: 2000
107
+
108
+ securityContext:
109
+ capabilities:
110
+ drop:
111
+ - ALL
112
+ readOnlyRootFilesystem: true
113
+ allowPrivilegeEscalation: false
114
+
115
+ service:
116
+ type: ClusterIP
117
+ port: 80
118
+ targetPort: 8080
119
+
120
+ ingress:
121
+ enabled: true
122
+ className: "nginx"
123
+ annotations:
124
+ cert-manager.io/cluster-issuer: "letsencrypt-prod"
125
+ hosts:
126
+ - host: myapp.example.com
127
+ paths:
128
+ - path: /
129
+ pathType: Prefix
130
+ tls:
131
+ - secretName: myapp-tls
132
+ hosts:
133
+ - myapp.example.com
134
+
135
+ resources:
136
+ limits:
137
+ cpu: 500m
138
+ memory: 512Mi
139
+ requests:
140
+ cpu: 250m
141
+ memory: 256Mi
142
+
143
+ autoscaling:
144
+ enabled: true
145
+ minReplicas: 3
146
+ maxReplicas: 10
147
+ targetCPUUtilizationPercentage: 70
148
+ targetMemoryUtilizationPercentage: 80
149
+
150
+ nodeSelector: {}
151
+
152
+ tolerations: []
153
+
154
+ affinity:
155
+ podAntiAffinity:
156
+ preferredDuringSchedulingIgnoredDuringExecution:
157
+ - weight: 100
158
+ podAffinityTerm:
159
+ labelSelector:
160
+ matchExpressions:
161
+ - key: app.kubernetes.io/name
162
+ operator: In
163
+ values:
164
+ - my-app
165
+ topologyKey: kubernetes.io/hostname
166
+
167
+ # Application-specific configs
168
+ config:
169
+ logLevel: info
170
+ nodeEnv: production
171
+
172
+ # Dependencies
173
+ postgresql:
174
+ enabled: true
175
+ auth:
176
+ database: myapp
177
+ username: myapp
178
+ primary:
179
+ persistence:
180
+ enabled: true
181
+ size: 10Gi
182
+
183
+ redis:
184
+ enabled: true
185
+ architecture: standalone
186
+ auth:
187
+ enabled: true
188
+ ```
189
+
190
+ 5. **Generate deployment.yaml (templated)**:
191
+
192
+ ```yaml
193
+ apiVersion: apps/v1
194
+ kind: Deployment
195
+ metadata:
196
+ name: {{ include "my-app.fullname" . }}
197
+ labels:
198
+ {{- include "my-app.labels" . | nindent 4 }}
199
+ spec:
200
+ {{- if not .Values.autoscaling.enabled }}
201
+ replicas: {{ .Values.replicaCount }}
202
+ {{- end }}
203
+ selector:
204
+ matchLabels:
205
+ {{- include "my-app.selectorLabels" . | nindent 6 }}
206
+ template:
207
+ metadata:
208
+ annotations:
209
+ checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
210
+ {{- with .Values.podAnnotations }}
211
+ {{- toYaml . | nindent 8 }}
212
+ {{- end }}
213
+ labels:
214
+ {{- include "my-app.selectorLabels" . | nindent 8 }}
215
+ spec:
216
+ {{- with .Values.imagePullSecrets }}
217
+ imagePullSecrets:
218
+ {{- toYaml . | nindent 8 }}
219
+ {{- end }}
220
+ serviceAccountName: {{ include "my-app.serviceAccountName" . }}
221
+ securityContext:
222
+ {{- toYaml .Values.podSecurityContext | nindent 8 }}
223
+ containers:
224
+ - name: {{ .Chart.Name }}
225
+ securityContext:
226
+ {{- toYaml .Values.securityContext | nindent 12 }}
227
+ image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
228
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
229
+ ports:
230
+ - name: http
231
+ containerPort: {{ .Values.service.targetPort }}
232
+ protocol: TCP
233
+ livenessProbe:
234
+ httpGet:
235
+ path: /health
236
+ port: http
237
+ readinessProbe:
238
+ httpGet:
239
+ path: /ready
240
+ port: http
241
+ resources:
242
+ {{- toYaml .Values.resources | nindent 12 }}
243
+ env:
244
+ - name: NODE_ENV
245
+ value: {{ .Values.config.nodeEnv }}
246
+ - name: LOG_LEVEL
247
+ value: {{ .Values.config.logLevel }}
248
+ {{- if .Values.postgresql.enabled }}
249
+ - name: DB_HOST
250
+ value: {{ include "my-app.fullname" . }}-postgresql
251
+ - name: DB_PASSWORD
252
+ valueFrom:
253
+ secretKeyRef:
254
+ name: {{ include "my-app.fullname" . }}-postgresql
255
+ key: password
256
+ {{- end }}
257
+ ```
258
+
259
+ 6. **Generate _helpers.tpl**:
260
+
261
+ ```yaml
262
+ {{/*
263
+ Expand the name of the chart.
264
+ */}}
265
+ {{- define "my-app.name" -}}
266
+ {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
267
+ {{- end }}
268
+
269
+ {{/*
270
+ Create a default fully qualified app name.
271
+ */}}
272
+ {{- define "my-app.fullname" -}}
273
+ {{- if .Values.fullnameOverride }}
274
+ {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
275
+ {{- else }}
276
+ {{- $name := default .Chart.Name .Values.nameOverride }}
277
+ {{- if contains $name .Release.Name }}
278
+ {{- .Release.Name | trunc 63 | trimSuffix "-" }}
279
+ {{- else }}
280
+ {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
281
+ {{- end }}
282
+ {{- end }}
283
+ {{- end }}
284
+
285
+ {{/*
286
+ Common labels
287
+ */}}
288
+ {{- define "my-app.labels" -}}
289
+ helm.sh/chart: {{ include "my-app.chart" . }}
290
+ {{ include "my-app.selectorLabels" . }}
291
+ {{- if .Chart.AppVersion }}
292
+ app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
293
+ {{- end }}
294
+ app.kubernetes.io/managed-by: {{ .Release.Service }}
295
+ {{- end }}
296
+
297
+ {{/*
298
+ Selector labels
299
+ */}}
300
+ {{- define "my-app.selectorLabels" -}}
301
+ app.kubernetes.io/name: {{ include "my-app.name" . }}
302
+ app.kubernetes.io/instance: {{ .Release.Name }}
303
+ {{- end }}
304
+ ```
305
+
306
+ ### Deployment Commands:
307
+
308
+ ```bash
309
+ # Install chart
310
+ helm install my-app ./my-app -f values-dev.yaml
311
+
312
+ # Upgrade
313
+ helm upgrade my-app ./my-app -f values-prod.yaml
314
+
315
+ # Template (dry-run)
316
+ helm template my-app ./my-app -f values-prod.yaml
317
+
318
+ # Lint
319
+ helm lint ./my-app
320
+
321
+ # Package
322
+ helm package ./my-app
323
+
324
+ # Test
325
+ helm test my-app
326
+ ```
327
+
328
+ ### Example Usage:
329
+
330
+ ```
331
+ User: "Create Helm chart for Node.js API with PostgreSQL"
332
+ Result: Complete Helm chart with all templates and values files
333
+ ```
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "specweave-ml",
3
- "version": "0.22.14",
3
+ "version": "0.24.0",
4
4
  "description": "Complete ML/AI workflow integration for SpecWeave - from experiment tracking to production deployment. Includes 13 comprehensive skills covering the full ML lifecycle: pipeline orchestration, experiment tracking, model evaluation, explainability, deployment, feature engineering, AutoML, computer vision, NLP, time series forecasting, anomaly detection, data visualization, and model registry.",
5
5
  "author": {
6
- "name": "SpecWeave Team",
7
- "email": "[email protected]",
6
+ "name": "Anton Abyzov",
7
+ "email": "anton.abyzov@gmail.com",
8
8
  "url": "https://spec-weave.com"
9
9
  },
10
10
  "homepage": "https://spec-weave.com",
@@ -9,6 +9,32 @@ fallback_behavior: strict
9
9
 
10
10
  You are a data scientist specializing in advanced analytics, machine learning, statistical modeling, and data-driven business insights.
11
11
 
12
+ ## 🚀 How to Invoke This Agent
13
+
14
+ **Subagent Type**: `specweave-ml:data-scientist:data-scientist`
15
+
16
+ **Usage Example**:
17
+
18
+ ```typescript
19
+ Task({
20
+ subagent_type: "specweave-ml:data-scientist:data-scientist",
21
+ prompt: "Analyze customer churn patterns and build predictive model to identify at-risk customers",
22
+ model: "haiku" // optional: haiku, sonnet, opus
23
+ });
24
+ ```
25
+
26
+ **Naming Convention**: `{plugin}:{directory}:{yaml-name-or-directory-name}`
27
+ - **Plugin**: specweave-ml
28
+ - **Directory**: data-scientist
29
+ - **Agent Name**: data-scientist
30
+
31
+ **When to Use**:
32
+ - You need to perform exploratory data analysis and statistical analysis
33
+ - You want to build machine learning models for prediction or classification
34
+ - You need to design A/B tests or experiments
35
+ - You want to create data visualizations and dashboards
36
+ - You need actionable insights from complex data
37
+
12
38
  ## Purpose
13
39
  Expert data scientist combining strong statistical foundations with modern machine learning techniques and business acumen. Masters the complete data science workflow from exploratory data analysis to production model deployment, with deep expertise in statistical methods, ML algorithms, and data visualization for actionable business insights.
14
40
 
@@ -5,6 +5,32 @@ model_preference: sonnet
5
5
 
6
6
  # ML Engineer Agent
7
7
 
8
+ ## 🚀 How to Invoke This Agent
9
+
10
+ **Subagent Type**: `specweave-ml:ml-engineer:ml-engineer`
11
+
12
+ **Usage Example**:
13
+
14
+ ```typescript
15
+ Task({
16
+ subagent_type: "specweave-ml:ml-engineer:ml-engineer",
17
+ prompt: "Build fraud detection model for transactions with baseline comparison, hyperparameter tuning, and explainability",
18
+ model: "haiku" // optional: haiku, sonnet, opus
19
+ });
20
+ ```
21
+
22
+ **Naming Convention**: `{plugin}:{directory}:{yaml-name-or-directory-name}`
23
+ - **Plugin**: specweave-ml
24
+ - **Directory**: ml-engineer
25
+ - **Agent Name**: ml-engineer
26
+
27
+ **When to Use**:
28
+ - You need to plan and implement ML features with SpecWeave increments
29
+ - You want to enforce ML best practices (baseline comparison, cross-validation, explainability)
30
+ - You're selecting appropriate algorithms and handling hyperparameter tuning
31
+ - You need production-ready ML systems with proper evaluation
32
+ - You want to integrate ML with SpecWeave's living documentation
33
+
8
34
  You are a Machine Learning Engineer specializing in end-to-end ML system design, implementation, and deployment. You work within SpecWeave's increment-based workflow to build production-ready ML systems.
9
35
 
10
36
  ## Your Expertise
@@ -9,6 +9,32 @@ fallback_behavior: flexible
9
9
 
10
10
  You are an MLOps engineer specializing in ML infrastructure, automation, and production ML systems across cloud platforms.
11
11
 
12
+ ## 🚀 How to Invoke This Agent
13
+
14
+ **Subagent Type**: `specweave-ml:mlops-engineer:mlops-engineer`
15
+
16
+ **Usage Example**:
17
+
18
+ ```typescript
19
+ Task({
20
+ subagent_type: "specweave-ml:mlops-engineer:mlops-engineer",
21
+ prompt: "Build complete MLOps platform on AWS with automated training pipelines, experiment tracking with MLflow, and model deployment",
22
+ model: "haiku" // optional: haiku, sonnet, opus
23
+ });
24
+ ```
25
+
26
+ **Naming Convention**: `{plugin}:{directory}:{yaml-name-or-directory-name}`
27
+ - **Plugin**: specweave-ml
28
+ - **Directory**: mlops-engineer
29
+ - **Agent Name**: mlops-engineer
30
+
31
+ **When to Use**:
32
+ - You need to build ML infrastructure and pipelines
33
+ - You want to set up experiment tracking and model registry
34
+ - You're implementing CI/CD for ML models
35
+ - You need to configure monitoring for model drift and performance
36
+ - You're deploying ML models to cloud platforms (AWS, Azure, GCP)
37
+
12
38
  ## Purpose
13
39
  Expert MLOps engineer specializing in building scalable ML infrastructure and automation pipelines. Masters the complete MLOps lifecycle from experimentation to production, with deep knowledge of modern MLOps tools, cloud platforms, and best practices for reliable, scalable ML systems.
14
40
 
@@ -6,6 +6,32 @@ tools: Read, Write, Edit, Bash, Glob, Grep
6
6
 
7
7
  # Mobile Architect Agent
8
8
 
9
+ ## 🚀 How to Invoke This Agent
10
+
11
+ **Subagent Type**: `specweave-mobile:mobile-architect:mobile-architect`
12
+
13
+ **Usage Example**:
14
+
15
+ ```typescript
16
+ Task({
17
+ subagent_type: "specweave-mobile:mobile-architect:mobile-architect",
18
+ prompt: "Design React Native application architecture with state management, navigation, and offline-first capabilities",
19
+ model: "haiku" // optional: haiku, sonnet, opus
20
+ });
21
+ ```
22
+
23
+ **Naming Convention**: `{plugin}:{directory}:{yaml-name-or-directory-name}`
24
+ - **Plugin**: specweave-mobile
25
+ - **Directory**: mobile-architect
26
+ - **Agent Name**: mobile-architect
27
+
28
+ **When to Use**:
29
+ - You're designing mobile application architecture from scratch
30
+ - You need guidance on state management (Redux, Zustand, Context)
31
+ - You want to optimize performance and bundle size
32
+ - You're implementing navigation patterns and deep linking
33
+ - You need platform-specific (iOS/Android) implementation strategies
34
+
9
35
  Elite mobile application architect specializing in React Native and Expo applications. Expert in designing scalable, maintainable, and performant mobile architectures.
10
36
 
11
37
  ## Role & Responsibilities
@@ -0,0 +1,233 @@
1
+ # React Native App Scaffolding
2
+
3
+ Generate production-ready React Native application structure.
4
+
5
+ ## Task
6
+
7
+ You are a React Native expert. Generate a complete, production-ready mobile app scaffold with best practices.
8
+
9
+ ### Steps:
10
+
11
+ 1. **Ask for Requirements**:
12
+ - App name
13
+ - Platform: Expo or bare React Native
14
+ - Navigation library: React Navigation or Expo Router
15
+ - State management: Redux, Zustand, or Context API
16
+ - UI library: React Native Paper, NativeBase, or custom
17
+
18
+ 2. **Generate Project Structure**:
19
+
20
+ ```
21
+ my-app/
22
+ ├── app.json / package.json
23
+ ├── babel.config.js
24
+ ├── tsconfig.json
25
+ ├── App.tsx
26
+ ├── src/
27
+ │ ├── screens/
28
+ │ │ ├── HomeScreen.tsx
29
+ │ │ ├── ProfileScreen.tsx
30
+ │ │ └── SettingsScreen.tsx
31
+ │ ├── components/
32
+ │ │ ├── common/
33
+ │ │ │ ├── Button.tsx
34
+ │ │ │ ├── Input.tsx
35
+ │ │ │ └── Card.tsx
36
+ │ │ └── specific/
37
+ │ ├── navigation/
38
+ │ │ ├── AppNavigator.tsx
39
+ │ │ ├── AuthNavigator.tsx
40
+ │ │ └── types.ts
41
+ │ ├── store/ # Redux/Zustand
42
+ │ │ ├── slices/
43
+ │ │ ├── hooks.ts
44
+ │ │ └── index.ts
45
+ │ ├── services/
46
+ │ │ ├── api/
47
+ │ │ │ ├── client.ts
48
+ │ │ │ └── endpoints/
49
+ │ │ └── storage/
50
+ │ ├── hooks/
51
+ │ │ ├── useAuth.ts
52
+ │ │ ├── useAsync.ts
53
+ │ │ └── useDebounce.ts
54
+ │ ├── utils/
55
+ │ │ ├── validation.ts
56
+ │ │ └── formatting.ts
57
+ │ ├── constants/
58
+ │ │ ├── colors.ts
59
+ │ │ ├── sizes.ts
60
+ │ │ └── api.ts
61
+ │ ├── types/
62
+ │ │ └── index.ts
63
+ │ └── assets/
64
+ │ ├── images/
65
+ │ └── fonts/
66
+ ├── __tests__/
67
+ └── .env.example
68
+ ```
69
+
70
+ 3. **Generate App Entry Point** (Expo):
71
+
72
+ ```typescript
73
+ import 'react-native-gesture-handler';
74
+ import { StatusBar } from 'expo-status-bar';
75
+ import { Provider } from 'react-redux';
76
+ import { SafeAreaProvider } from 'react-native-safe-area-context';
77
+ import { NavigationContainer } from '@react-navigation/native';
78
+ import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
79
+
80
+ import { store } from './src/store';
81
+ import AppNavigator from './src/navigation/AppNavigator';
82
+ import { ErrorBoundary } from './src/components/ErrorBoundary';
83
+
84
+ const queryClient = new QueryClient();
85
+
86
+ export default function App() {
87
+ return (
88
+ <ErrorBoundary>
89
+ <Provider store={store}>
90
+ <QueryClientProvider client={queryClient}>
91
+ <SafeAreaProvider>
92
+ <NavigationContainer>
93
+ <AppNavigator />
94
+ <StatusBar style="auto" />
95
+ </NavigationContainer>
96
+ </SafeAreaProvider>
97
+ </QueryClientProvider>
98
+ </Provider>
99
+ </ErrorBoundary>
100
+ );
101
+ }
102
+ ```
103
+
104
+ 4. **Generate Navigation**:
105
+
106
+ ```typescript
107
+ import { createNativeStackNavigator } from '@react-navigation/native-stack';
108
+ import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
109
+ import { HomeScreen, ProfileScreen, SettingsScreen } from '../screens';
110
+
111
+ const Stack = createNativeStackNavigator();
112
+ const Tab = createBottomTabNavigator();
113
+
114
+ function TabNavigator() {
115
+ return (
116
+ <Tab.Navigator screenOptions={{ headerShown: false }}>
117
+ <Tab.Screen name="Home" component={HomeScreen} />
118
+ <Tab.Screen name="Profile" component={ProfileScreen} />
119
+ <Tab.Screen name="Settings" component={SettingsScreen} />
120
+ </Tab.Navigator>
121
+ );
122
+ }
123
+
124
+ export default function AppNavigator() {
125
+ const isAuthenticated = useSelector(state => state.auth.isAuthenticated);
126
+
127
+ return (
128
+ <Stack.Navigator>
129
+ {isAuthenticated ? (
130
+ <Stack.Screen name="Main" component={TabNavigator} />
131
+ ) : (
132
+ <Stack.Screen name="Auth" component={AuthScreen} />
133
+ )}
134
+ </Stack.Navigator>
135
+ );
136
+ }
137
+ ```
138
+
139
+ 5. **Generate API Client**:
140
+
141
+ ```typescript
142
+ import axios from 'axios';
143
+ import AsyncStorage from '@react-native-async-storage/async-storage';
144
+ import { API_BASE_URL } from '../constants/api';
145
+
146
+ const api = axios.create({
147
+ baseURL: API_BASE_URL,
148
+ timeout: 10000,
149
+ });
150
+
151
+ // Request interceptor
152
+ api.interceptors.request.use(async (config) => {
153
+ const token = await AsyncStorage.getItem('auth_token');
154
+ if (token) {
155
+ config.headers.Authorization = `Bearer ${token}`;
156
+ }
157
+ return config;
158
+ });
159
+
160
+ // Response interceptor
161
+ api.interceptors.response.use(
162
+ (response) => response,
163
+ async (error) => {
164
+ if (error.response?.status === 401) {
165
+ await AsyncStorage.removeItem('auth_token');
166
+ // Navigate to login
167
+ }
168
+ return Promise.reject(error);
169
+ }
170
+ );
171
+
172
+ export default api;
173
+ ```
174
+
175
+ 6. **Generate package.json**:
176
+
177
+ ```json
178
+ {
179
+ "name": "my-app",
180
+ "version": "1.0.0",
181
+ "main": "node_modules/expo/AppEntry.js",
182
+ "scripts": {
183
+ "start": "expo start",
184
+ "android": "expo run:android",
185
+ "ios": "expo run:ios",
186
+ "web": "expo start --web",
187
+ "test": "jest",
188
+ "lint": "eslint .",
189
+ "type-check": "tsc --noEmit"
190
+ },
191
+ "dependencies": {
192
+ "expo": "~49.0.0",
193
+ "react": "18.2.0",
194
+ "react-native": "0.72.0",
195
+ "@react-navigation/native": "^6.1.0",
196
+ "@react-navigation/native-stack": "^6.9.0",
197
+ "@react-navigation/bottom-tabs": "^6.5.0",
198
+ "react-native-safe-area-context": "4.6.3",
199
+ "react-native-screens": "~3.22.0",
200
+ "@reduxjs/toolkit": "^1.9.0",
201
+ "react-redux": "^8.1.0",
202
+ "@tanstack/react-query": "^4.35.0",
203
+ "axios": "^1.5.0",
204
+ "@react-native-async-storage/async-storage": "1.18.2",
205
+ "react-native-gesture-handler": "~2.12.0"
206
+ },
207
+ "devDependencies": {
208
+ "@types/react": "~18.2.14",
209
+ "typescript": "^5.1.3",
210
+ "@testing-library/react-native": "^12.3.0",
211
+ "jest": "^29.2.1"
212
+ }
213
+ }
214
+ ```
215
+
216
+ ### Best Practices Included:
217
+
218
+ - TypeScript configuration
219
+ - Navigation setup
220
+ - State management
221
+ - API client with interceptors
222
+ - Error boundaries
223
+ - Proper folder structure
224
+ - AsyncStorage for persistence
225
+ - Testing setup
226
+ - ESLint and TypeScript
227
+
228
+ ### Example Usage:
229
+
230
+ ```
231
+ User: "Scaffold Expo app with Redux and React Navigation"
232
+ Result: Complete Expo project with all configurations
233
+ ```