autoworkflow 3.1.5 → 3.6.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 (124) hide show
  1. package/.claude/commands/analyze.md +19 -0
  2. package/.claude/commands/audit.md +26 -0
  3. package/.claude/commands/build.md +39 -0
  4. package/.claude/commands/commit.md +25 -0
  5. package/.claude/commands/fix.md +23 -0
  6. package/.claude/commands/plan.md +18 -0
  7. package/.claude/commands/suggest.md +23 -0
  8. package/.claude/commands/verify.md +18 -0
  9. package/.claude/hooks/post-bash-router.sh +20 -0
  10. package/.claude/hooks/post-commit.sh +140 -0
  11. package/.claude/hooks/post-edit.sh +190 -17
  12. package/.claude/hooks/pre-edit.sh +221 -0
  13. package/.claude/hooks/session-check.sh +90 -0
  14. package/.claude/settings.json +56 -6
  15. package/.claude/settings.local.json +5 -1
  16. package/.claude/skills/actix.md +337 -0
  17. package/.claude/skills/alembic.md +504 -0
  18. package/.claude/skills/angular.md +237 -0
  19. package/.claude/skills/api-design.md +187 -0
  20. package/.claude/skills/aspnet-core.md +377 -0
  21. package/.claude/skills/astro.md +245 -0
  22. package/.claude/skills/auth-clerk.md +327 -0
  23. package/.claude/skills/auth-firebase.md +367 -0
  24. package/.claude/skills/auth-nextauth.md +359 -0
  25. package/.claude/skills/auth-supabase.md +368 -0
  26. package/.claude/skills/axum.md +386 -0
  27. package/.claude/skills/blazor.md +456 -0
  28. package/.claude/skills/chi.md +348 -0
  29. package/.claude/skills/code-review.md +133 -0
  30. package/.claude/skills/csharp.md +296 -0
  31. package/.claude/skills/css-modules.md +325 -0
  32. package/.claude/skills/cypress.md +343 -0
  33. package/.claude/skills/debugging.md +133 -0
  34. package/.claude/skills/diesel.md +392 -0
  35. package/.claude/skills/django.md +301 -0
  36. package/.claude/skills/docker.md +319 -0
  37. package/.claude/skills/doctrine.md +473 -0
  38. package/.claude/skills/documentation.md +182 -0
  39. package/.claude/skills/dotnet.md +409 -0
  40. package/.claude/skills/drizzle.md +293 -0
  41. package/.claude/skills/echo.md +321 -0
  42. package/.claude/skills/eloquent.md +256 -0
  43. package/.claude/skills/emotion.md +426 -0
  44. package/.claude/skills/entity-framework.md +370 -0
  45. package/.claude/skills/express.md +316 -0
  46. package/.claude/skills/fastapi.md +329 -0
  47. package/.claude/skills/fastify.md +299 -0
  48. package/.claude/skills/fiber.md +315 -0
  49. package/.claude/skills/flask.md +322 -0
  50. package/.claude/skills/gin.md +342 -0
  51. package/.claude/skills/git.md +116 -0
  52. package/.claude/skills/github-actions.md +353 -0
  53. package/.claude/skills/go.md +377 -0
  54. package/.claude/skills/gorm.md +409 -0
  55. package/.claude/skills/graphql.md +478 -0
  56. package/.claude/skills/hibernate.md +379 -0
  57. package/.claude/skills/hono.md +306 -0
  58. package/.claude/skills/java.md +400 -0
  59. package/.claude/skills/jest.md +313 -0
  60. package/.claude/skills/jpa.md +282 -0
  61. package/.claude/skills/kotlin.md +347 -0
  62. package/.claude/skills/kubernetes.md +363 -0
  63. package/.claude/skills/laravel.md +414 -0
  64. package/.claude/skills/mcp-browser.md +320 -0
  65. package/.claude/skills/mcp-database.md +219 -0
  66. package/.claude/skills/mcp-fetch.md +241 -0
  67. package/.claude/skills/mcp-filesystem.md +204 -0
  68. package/.claude/skills/mcp-github.md +217 -0
  69. package/.claude/skills/mcp-memory.md +240 -0
  70. package/.claude/skills/mcp-search.md +218 -0
  71. package/.claude/skills/mcp-slack.md +262 -0
  72. package/.claude/skills/micronaut.md +388 -0
  73. package/.claude/skills/mongodb.md +319 -0
  74. package/.claude/skills/mongoose.md +355 -0
  75. package/.claude/skills/mysql.md +281 -0
  76. package/.claude/skills/nestjs.md +335 -0
  77. package/.claude/skills/nextjs-app-router.md +260 -0
  78. package/.claude/skills/nextjs-pages.md +172 -0
  79. package/.claude/skills/nuxt.md +202 -0
  80. package/.claude/skills/openapi.md +489 -0
  81. package/.claude/skills/performance.md +199 -0
  82. package/.claude/skills/php.md +398 -0
  83. package/.claude/skills/playwright.md +371 -0
  84. package/.claude/skills/postgresql.md +257 -0
  85. package/.claude/skills/prisma.md +293 -0
  86. package/.claude/skills/pydantic.md +304 -0
  87. package/.claude/skills/pytest.md +313 -0
  88. package/.claude/skills/python.md +272 -0
  89. package/.claude/skills/quarkus.md +377 -0
  90. package/.claude/skills/react.md +230 -0
  91. package/.claude/skills/redis.md +391 -0
  92. package/.claude/skills/refactoring.md +143 -0
  93. package/.claude/skills/remix.md +246 -0
  94. package/.claude/skills/rest-api.md +490 -0
  95. package/.claude/skills/rocket.md +366 -0
  96. package/.claude/skills/rust.md +341 -0
  97. package/.claude/skills/sass.md +380 -0
  98. package/.claude/skills/sea-orm.md +382 -0
  99. package/.claude/skills/security.md +167 -0
  100. package/.claude/skills/sequelize.md +395 -0
  101. package/.claude/skills/spring-boot.md +416 -0
  102. package/.claude/skills/sqlalchemy.md +269 -0
  103. package/.claude/skills/sqlx-rust.md +408 -0
  104. package/.claude/skills/state-jotai.md +346 -0
  105. package/.claude/skills/state-mobx.md +353 -0
  106. package/.claude/skills/state-pinia.md +431 -0
  107. package/.claude/skills/state-redux.md +337 -0
  108. package/.claude/skills/state-tanstack-query.md +434 -0
  109. package/.claude/skills/state-zustand.md +340 -0
  110. package/.claude/skills/styled-components.md +403 -0
  111. package/.claude/skills/svelte.md +238 -0
  112. package/.claude/skills/sveltekit.md +207 -0
  113. package/.claude/skills/symfony.md +437 -0
  114. package/.claude/skills/tailwind.md +279 -0
  115. package/.claude/skills/terraform.md +394 -0
  116. package/.claude/skills/testing-library.md +371 -0
  117. package/.claude/skills/trpc.md +426 -0
  118. package/.claude/skills/typeorm.md +368 -0
  119. package/.claude/skills/vitest.md +330 -0
  120. package/.claude/skills/vue.md +202 -0
  121. package/.claude/skills/warp.md +365 -0
  122. package/README.md +163 -52
  123. package/package.json +1 -1
  124. package/system/triggers.md +256 -17
@@ -0,0 +1,363 @@
1
+ # Kubernetes Skill
2
+
3
+ ## Complete Deployment
4
+ \`\`\`yaml
5
+ apiVersion: apps/v1
6
+ kind: Deployment
7
+ metadata:
8
+ name: myapp
9
+ labels:
10
+ app: myapp
11
+ spec:
12
+ replicas: 3
13
+ selector:
14
+ matchLabels:
15
+ app: myapp
16
+ strategy:
17
+ type: RollingUpdate
18
+ rollingUpdate:
19
+ maxSurge: 1
20
+ maxUnavailable: 0
21
+ template:
22
+ metadata:
23
+ labels:
24
+ app: myapp
25
+ spec:
26
+ containers:
27
+ - name: myapp
28
+ image: myapp:v1.0.0
29
+ ports:
30
+ - containerPort: 3000
31
+ env:
32
+ - name: NODE_ENV
33
+ value: "production"
34
+ - name: DATABASE_URL
35
+ valueFrom:
36
+ secretKeyRef:
37
+ name: myapp-secrets
38
+ key: database-url
39
+ envFrom:
40
+ - configMapRef:
41
+ name: myapp-config
42
+ resources:
43
+ requests:
44
+ memory: "128Mi"
45
+ cpu: "100m"
46
+ limits:
47
+ memory: "256Mi"
48
+ cpu: "500m"
49
+ livenessProbe:
50
+ httpGet:
51
+ path: /health
52
+ port: 3000
53
+ initialDelaySeconds: 10
54
+ periodSeconds: 10
55
+ readinessProbe:
56
+ httpGet:
57
+ path: /ready
58
+ port: 3000
59
+ initialDelaySeconds: 5
60
+ periodSeconds: 5
61
+ volumeMounts:
62
+ - name: config-volume
63
+ mountPath: /app/config
64
+ readOnly: true
65
+ volumes:
66
+ - name: config-volume
67
+ configMap:
68
+ name: myapp-files
69
+ imagePullSecrets:
70
+ - name: regcred
71
+ \`\`\`
72
+
73
+ ## Service (ClusterIP & LoadBalancer)
74
+ \`\`\`yaml
75
+ # Internal service (ClusterIP - default)
76
+ apiVersion: v1
77
+ kind: Service
78
+ metadata:
79
+ name: myapp
80
+ spec:
81
+ selector:
82
+ app: myapp
83
+ ports:
84
+ - port: 80
85
+ targetPort: 3000
86
+ type: ClusterIP
87
+
88
+ ---
89
+ # External service (LoadBalancer)
90
+ apiVersion: v1
91
+ kind: Service
92
+ metadata:
93
+ name: myapp-public
94
+ spec:
95
+ selector:
96
+ app: myapp
97
+ ports:
98
+ - port: 80
99
+ targetPort: 3000
100
+ type: LoadBalancer
101
+ \`\`\`
102
+
103
+ ## Ingress (NGINX)
104
+ \`\`\`yaml
105
+ apiVersion: networking.k8s.io/v1
106
+ kind: Ingress
107
+ metadata:
108
+ name: myapp-ingress
109
+ annotations:
110
+ nginx.ingress.kubernetes.io/ssl-redirect: "true"
111
+ nginx.ingress.kubernetes.io/proxy-body-size: "50m"
112
+ cert-manager.io/cluster-issuer: "letsencrypt-prod"
113
+ spec:
114
+ ingressClassName: nginx
115
+ tls:
116
+ - hosts:
117
+ - myapp.example.com
118
+ secretName: myapp-tls
119
+ rules:
120
+ - host: myapp.example.com
121
+ http:
122
+ paths:
123
+ - path: /
124
+ pathType: Prefix
125
+ backend:
126
+ service:
127
+ name: myapp
128
+ port:
129
+ number: 80
130
+ - path: /api
131
+ pathType: Prefix
132
+ backend:
133
+ service:
134
+ name: myapp-api
135
+ port:
136
+ number: 80
137
+ \`\`\`
138
+
139
+ ## ConfigMap
140
+ \`\`\`yaml
141
+ apiVersion: v1
142
+ kind: ConfigMap
143
+ metadata:
144
+ name: myapp-config
145
+ data:
146
+ LOG_LEVEL: "info"
147
+ API_TIMEOUT: "30000"
148
+ FEATURE_FLAGS: "new-dashboard,dark-mode"
149
+
150
+ ---
151
+ # ConfigMap from file
152
+ apiVersion: v1
153
+ kind: ConfigMap
154
+ metadata:
155
+ name: myapp-files
156
+ data:
157
+ config.json: |
158
+ {
159
+ "cache": {
160
+ "ttl": 3600,
161
+ "maxSize": 1000
162
+ }
163
+ }
164
+ \`\`\`
165
+
166
+ ## Secrets
167
+ \`\`\`yaml
168
+ apiVersion: v1
169
+ kind: Secret
170
+ metadata:
171
+ name: myapp-secrets
172
+ type: Opaque
173
+ stringData:
174
+ database-url: "postgresql://user:password@db:5432/myapp"
175
+ api-key: "sk-xxxxxxxxxxxx"
176
+
177
+ ---
178
+ # Docker registry credentials
179
+ apiVersion: v1
180
+ kind: Secret
181
+ metadata:
182
+ name: regcred
183
+ type: kubernetes.io/dockerconfigjson
184
+ data:
185
+ .dockerconfigjson: <base64-encoded-docker-config>
186
+ \`\`\`
187
+
188
+ ## Horizontal Pod Autoscaler
189
+ \`\`\`yaml
190
+ apiVersion: autoscaling/v2
191
+ kind: HorizontalPodAutoscaler
192
+ metadata:
193
+ name: myapp-hpa
194
+ spec:
195
+ scaleTargetRef:
196
+ apiVersion: apps/v1
197
+ kind: Deployment
198
+ name: myapp
199
+ minReplicas: 2
200
+ maxReplicas: 10
201
+ metrics:
202
+ - type: Resource
203
+ resource:
204
+ name: cpu
205
+ target:
206
+ type: Utilization
207
+ averageUtilization: 70
208
+ - type: Resource
209
+ resource:
210
+ name: memory
211
+ target:
212
+ type: Utilization
213
+ averageUtilization: 80
214
+ behavior:
215
+ scaleDown:
216
+ stabilizationWindowSeconds: 300
217
+ \`\`\`
218
+
219
+ ## PersistentVolumeClaim
220
+ \`\`\`yaml
221
+ apiVersion: v1
222
+ kind: PersistentVolumeClaim
223
+ metadata:
224
+ name: myapp-data
225
+ spec:
226
+ accessModes:
227
+ - ReadWriteOnce
228
+ resources:
229
+ requests:
230
+ storage: 10Gi
231
+ storageClassName: standard
232
+ \`\`\`
233
+
234
+ ## CronJob
235
+ \`\`\`yaml
236
+ apiVersion: batch/v1
237
+ kind: CronJob
238
+ metadata:
239
+ name: myapp-cleanup
240
+ spec:
241
+ schedule: "0 2 * * *" # 2 AM daily
242
+ jobTemplate:
243
+ spec:
244
+ template:
245
+ spec:
246
+ containers:
247
+ - name: cleanup
248
+ image: myapp:v1.0.0
249
+ command: ["node", "scripts/cleanup.js"]
250
+ envFrom:
251
+ - secretRef:
252
+ name: myapp-secrets
253
+ restartPolicy: OnFailure
254
+ \`\`\`
255
+
256
+ ## kubectl Commands
257
+ \`\`\`bash
258
+ # Apply manifests
259
+ kubectl apply -f deployment.yaml
260
+ kubectl apply -f k8s/ # Apply all in directory
261
+ kubectl apply -k overlays/production/ # Kustomize
262
+
263
+ # Get resources
264
+ kubectl get pods
265
+ kubectl get pods -o wide # More details
266
+ kubectl get all -n myapp # All resources in namespace
267
+ kubectl get pods -l app=myapp # By label
268
+
269
+ # Describe & Debug
270
+ kubectl describe pod myapp-xxx
271
+ kubectl logs myapp-xxx
272
+ kubectl logs -f myapp-xxx # Follow
273
+ kubectl logs myapp-xxx -c container-name # Specific container
274
+ kubectl logs --previous myapp-xxx # Previous instance
275
+
276
+ # Exec into pod
277
+ kubectl exec -it myapp-xxx -- sh
278
+ kubectl exec -it myapp-xxx -c container-name -- sh
279
+
280
+ # Port forward
281
+ kubectl port-forward svc/myapp 3000:80
282
+ kubectl port-forward pod/myapp-xxx 3000:3000
283
+
284
+ # Scale
285
+ kubectl scale deployment myapp --replicas=5
286
+
287
+ # Rollout
288
+ kubectl rollout status deployment/myapp
289
+ kubectl rollout history deployment/myapp
290
+ kubectl rollout undo deployment/myapp
291
+ kubectl rollout restart deployment/myapp
292
+
293
+ # Config & Secrets
294
+ kubectl create secret generic myapp-secrets --from-literal=key=value
295
+ kubectl create configmap myapp-config --from-file=config.json
296
+
297
+ # Delete
298
+ kubectl delete pod myapp-xxx
299
+ kubectl delete -f deployment.yaml
300
+ \`\`\`
301
+
302
+ ## Namespace Setup
303
+ \`\`\`yaml
304
+ apiVersion: v1
305
+ kind: Namespace
306
+ metadata:
307
+ name: myapp
308
+ labels:
309
+ name: myapp
310
+
311
+ ---
312
+ # Resource Quota
313
+ apiVersion: v1
314
+ kind: ResourceQuota
315
+ metadata:
316
+ name: myapp-quota
317
+ namespace: myapp
318
+ spec:
319
+ hard:
320
+ requests.cpu: "10"
321
+ requests.memory: 20Gi
322
+ limits.cpu: "20"
323
+ limits.memory: 40Gi
324
+ pods: "50"
325
+ \`\`\`
326
+
327
+ ## Kustomize Structure
328
+ \`\`\`
329
+ k8s/
330
+ ├── base/
331
+ │ ├── kustomization.yaml
332
+ │ ├── deployment.yaml
333
+ │ ├── service.yaml
334
+ │ └── configmap.yaml
335
+ └── overlays/
336
+ ├── development/
337
+ │ ├── kustomization.yaml
338
+ │ └── replicas-patch.yaml
339
+ └── production/
340
+ ├── kustomization.yaml
341
+ ├── replicas-patch.yaml
342
+ └── resources-patch.yaml
343
+ \`\`\`
344
+
345
+ ## ❌ DON'T
346
+ - Use \`:latest\` tag in production
347
+ - Store secrets in plain ConfigMaps
348
+ - Skip resource limits
349
+ - Run containers as root
350
+ - Forget liveness/readiness probes
351
+ - Use NodePort for production traffic
352
+ - Commit secrets to version control
353
+
354
+ ## ✅ DO
355
+ - Use specific image tags
356
+ - Set resource requests AND limits
357
+ - Use namespaces for isolation
358
+ - Configure health probes
359
+ - Use Secrets for sensitive data
360
+ - Enable HPA for scaling
361
+ - Use Ingress for external traffic
362
+ - Apply network policies
363
+ - Use Kustomize or Helm for environments