tribunal-kit 3.0.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. package/.agent/ARCHITECTURE.md +99 -99
  2. package/.agent/GEMINI.md +52 -52
  3. package/.agent/agents/accessibility-reviewer.md +187 -220
  4. package/.agent/agents/ai-code-reviewer.md +199 -233
  5. package/.agent/agents/backend-specialist.md +215 -238
  6. package/.agent/agents/code-archaeologist.md +161 -181
  7. package/.agent/agents/database-architect.md +184 -207
  8. package/.agent/agents/debugger.md +191 -218
  9. package/.agent/agents/dependency-reviewer.md +103 -136
  10. package/.agent/agents/devops-engineer.md +218 -238
  11. package/.agent/agents/documentation-writer.md +201 -221
  12. package/.agent/agents/explorer-agent.md +160 -180
  13. package/.agent/agents/frontend-reviewer.md +160 -194
  14. package/.agent/agents/frontend-specialist.md +248 -237
  15. package/.agent/agents/game-developer.md +48 -52
  16. package/.agent/agents/logic-reviewer.md +116 -149
  17. package/.agent/agents/mobile-developer.md +200 -223
  18. package/.agent/agents/mobile-reviewer.md +162 -195
  19. package/.agent/agents/orchestrator.md +181 -211
  20. package/.agent/agents/penetration-tester.md +157 -174
  21. package/.agent/agents/performance-optimizer.md +183 -203
  22. package/.agent/agents/performance-reviewer.md +178 -211
  23. package/.agent/agents/precedence-reviewer.md +213 -0
  24. package/.agent/agents/product-manager.md +142 -162
  25. package/.agent/agents/product-owner.md +6 -25
  26. package/.agent/agents/project-planner.md +142 -162
  27. package/.agent/agents/qa-automation-engineer.md +225 -242
  28. package/.agent/agents/security-auditor.md +174 -194
  29. package/.agent/agents/seo-specialist.md +193 -213
  30. package/.agent/agents/sql-reviewer.md +161 -194
  31. package/.agent/agents/supervisor-agent.md +184 -203
  32. package/.agent/agents/swarm-worker-contracts.md +17 -17
  33. package/.agent/agents/swarm-worker-registry.md +46 -46
  34. package/.agent/agents/test-coverage-reviewer.md +160 -193
  35. package/.agent/agents/test-engineer.md +0 -21
  36. package/.agent/agents/type-safety-reviewer.md +175 -208
  37. package/.agent/patterns/generator.md +9 -9
  38. package/.agent/patterns/inversion.md +12 -12
  39. package/.agent/patterns/pipeline.md +9 -9
  40. package/.agent/patterns/reviewer.md +13 -13
  41. package/.agent/patterns/tool-wrapper.md +9 -9
  42. package/.agent/rules/GEMINI.md +63 -63
  43. package/.agent/scripts/append_flow.js +72 -0
  44. package/.agent/scripts/case_law_manager.py +525 -0
  45. package/.agent/scripts/compress_skills.py +167 -0
  46. package/.agent/scripts/consolidate_skills.py +173 -0
  47. package/.agent/scripts/deep_compress.py +202 -0
  48. package/.agent/scripts/minify_context.py +80 -0
  49. package/.agent/scripts/security_scan.py +1 -1
  50. package/.agent/scripts/skill_evolution.py +563 -0
  51. package/.agent/scripts/strip_tribunal.py +41 -0
  52. package/.agent/skills/agent-organizer/SKILL.md +100 -126
  53. package/.agent/skills/agentic-patterns/SKILL.md +0 -70
  54. package/.agent/skills/ai-prompt-injection-defense/SKILL.md +134 -160
  55. package/.agent/skills/api-patterns/SKILL.md +123 -215
  56. package/.agent/skills/api-security-auditor/SKILL.md +143 -177
  57. package/.agent/skills/app-builder/SKILL.md +334 -50
  58. package/.agent/skills/app-builder/templates/SKILL.md +13 -15
  59. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +16 -16
  60. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +22 -22
  61. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +18 -18
  62. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +20 -20
  63. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +17 -17
  64. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +18 -18
  65. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +21 -21
  66. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +19 -19
  67. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +26 -26
  68. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +26 -26
  69. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +19 -19
  70. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +18 -18
  71. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +20 -20
  72. package/.agent/skills/appflow-wireframe/SKILL.md +95 -121
  73. package/.agent/skills/architecture/SKILL.md +169 -331
  74. package/.agent/skills/authentication-best-practices/SKILL.md +139 -173
  75. package/.agent/skills/bash-linux/SKILL.md +129 -154
  76. package/.agent/skills/behavioral-modes/SKILL.md +8 -69
  77. package/.agent/skills/brainstorming/SKILL.md +436 -104
  78. package/.agent/skills/building-native-ui/SKILL.md +152 -174
  79. package/.agent/skills/clean-code/SKILL.md +331 -360
  80. package/.agent/skills/code-review-checklist/SKILL.md +0 -62
  81. package/.agent/skills/config-validator/SKILL.md +115 -141
  82. package/.agent/skills/csharp-developer/SKILL.md +468 -528
  83. package/.agent/skills/database-design/SKILL.md +104 -369
  84. package/.agent/skills/deployment-procedures/SKILL.md +119 -145
  85. package/.agent/skills/devops-engineer/SKILL.md +295 -332
  86. package/.agent/skills/devops-incident-responder/SKILL.md +87 -113
  87. package/.agent/skills/doc.md +5 -5
  88. package/.agent/skills/documentation-templates/SKILL.md +27 -63
  89. package/.agent/skills/edge-computing/SKILL.md +131 -157
  90. package/.agent/skills/extract-design-system/SKILL.md +108 -134
  91. package/.agent/skills/framer-motion-expert/SKILL.md +111 -855
  92. package/.agent/skills/frontend-design/SKILL.md +151 -499
  93. package/.agent/skills/game-design-expert/SKILL.md +79 -105
  94. package/.agent/skills/game-engineering-expert/SKILL.md +96 -122
  95. package/.agent/skills/geo-fundamentals/SKILL.md +97 -124
  96. package/.agent/skills/github-operations/SKILL.md +279 -314
  97. package/.agent/skills/gsap-expert/SKILL.md +119 -826
  98. package/.agent/skills/i18n-localization/SKILL.md +113 -138
  99. package/.agent/skills/intelligent-routing/SKILL.md +167 -127
  100. package/.agent/skills/lint-and-validate/SKILL.md +16 -52
  101. package/.agent/skills/llm-engineering/SKILL.md +344 -357
  102. package/.agent/skills/local-first/SKILL.md +128 -154
  103. package/.agent/skills/mcp-builder/SKILL.md +92 -118
  104. package/.agent/skills/mobile-design/SKILL.md +213 -219
  105. package/.agent/skills/motion-engineering/SKILL.md +184 -0
  106. package/.agent/skills/nextjs-react-expert/SKILL.md +99 -698
  107. package/.agent/skills/nodejs-best-practices/SKILL.md +498 -559
  108. package/.agent/skills/observability/SKILL.md +293 -330
  109. package/.agent/skills/parallel-agents/SKILL.md +96 -122
  110. package/.agent/skills/performance-profiling/SKILL.md +217 -254
  111. package/.agent/skills/plan-writing/SKILL.md +92 -118
  112. package/.agent/skills/platform-engineer/SKILL.md +97 -123
  113. package/.agent/skills/playwright-best-practices/SKILL.md +137 -162
  114. package/.agent/skills/powershell-windows/SKILL.md +112 -146
  115. package/.agent/skills/project-idioms/SKILL.md +87 -0
  116. package/.agent/skills/python-patterns/SKILL.md +15 -35
  117. package/.agent/skills/python-pro/SKILL.md +148 -754
  118. package/.agent/skills/react-specialist/SKILL.md +123 -827
  119. package/.agent/skills/readme-builder/SKILL.md +23 -85
  120. package/.agent/skills/realtime-patterns/SKILL.md +269 -304
  121. package/.agent/skills/red-team-tactics/SKILL.md +18 -51
  122. package/.agent/skills/rust-pro/SKILL.md +623 -701
  123. package/.agent/skills/seo-fundamentals/SKILL.md +129 -154
  124. package/.agent/skills/server-management/SKILL.md +164 -190
  125. package/.agent/skills/shadcn-ui-expert/SKILL.md +181 -206
  126. package/.agent/skills/skill-creator/SKILL.md +24 -56
  127. package/.agent/skills/sql-pro/SKILL.md +579 -633
  128. package/.agent/skills/supabase-postgres-best-practices/SKILL.md +35 -66
  129. package/.agent/skills/swiftui-expert/SKILL.md +151 -176
  130. package/.agent/skills/systematic-debugging/SKILL.md +92 -118
  131. package/.agent/skills/tailwind-patterns/SKILL.md +516 -576
  132. package/.agent/skills/tdd-workflow/SKILL.md +111 -137
  133. package/.agent/skills/test-result-analyzer/SKILL.md +33 -73
  134. package/.agent/skills/testing-patterns/SKILL.md +512 -573
  135. package/.agent/skills/trend-researcher/SKILL.md +30 -71
  136. package/.agent/skills/ui-ux-pro-max/SKILL.md +8 -41
  137. package/.agent/skills/ui-ux-researcher/SKILL.md +51 -91
  138. package/.agent/skills/vue-expert/SKILL.md +127 -866
  139. package/.agent/skills/vulnerability-scanner/SKILL.md +354 -269
  140. package/.agent/skills/web-accessibility-auditor/SKILL.md +168 -193
  141. package/.agent/skills/web-design-guidelines/SKILL.md +25 -61
  142. package/.agent/skills/webapp-testing/SKILL.md +119 -145
  143. package/.agent/skills/whimsy-injector/SKILL.md +58 -132
  144. package/.agent/skills/workflow-optimizer/SKILL.md +28 -68
  145. package/.agent/workflows/api-tester.md +151 -151
  146. package/.agent/workflows/audit.md +127 -138
  147. package/.agent/workflows/brainstorm.md +110 -110
  148. package/.agent/workflows/changelog.md +112 -112
  149. package/.agent/workflows/create.md +124 -124
  150. package/.agent/workflows/debug.md +165 -189
  151. package/.agent/workflows/deploy.md +180 -189
  152. package/.agent/workflows/enhance.md +128 -151
  153. package/.agent/workflows/fix.md +114 -135
  154. package/.agent/workflows/generate.md +13 -4
  155. package/.agent/workflows/migrate.md +160 -160
  156. package/.agent/workflows/orchestrate.md +168 -168
  157. package/.agent/workflows/performance-benchmarker.md +114 -123
  158. package/.agent/workflows/plan.md +173 -173
  159. package/.agent/workflows/preview.md +80 -80
  160. package/.agent/workflows/refactor.md +161 -183
  161. package/.agent/workflows/review-ai.md +101 -129
  162. package/.agent/workflows/review.md +116 -116
  163. package/.agent/workflows/session.md +94 -94
  164. package/.agent/workflows/status.md +79 -79
  165. package/.agent/workflows/strengthen-skills.md +138 -139
  166. package/.agent/workflows/swarm.md +179 -179
  167. package/.agent/workflows/test.md +189 -211
  168. package/.agent/workflows/tribunal-backend.md +94 -113
  169. package/.agent/workflows/tribunal-database.md +95 -115
  170. package/.agent/workflows/tribunal-frontend.md +96 -118
  171. package/.agent/workflows/tribunal-full.md +93 -133
  172. package/.agent/workflows/tribunal-mobile.md +95 -119
  173. package/.agent/workflows/tribunal-performance.md +110 -133
  174. package/.agent/workflows/ui-ux-pro-max.md +122 -143
  175. package/README.md +30 -1
  176. package/bin/tribunal-kit.js +175 -12
  177. package/package.json +25 -4
  178. package/.agent/skills/api-patterns/api-style.md +0 -42
  179. package/.agent/skills/api-patterns/auth.md +0 -24
  180. package/.agent/skills/api-patterns/documentation.md +0 -26
  181. package/.agent/skills/api-patterns/graphql.md +0 -41
  182. package/.agent/skills/api-patterns/rate-limiting.md +0 -31
  183. package/.agent/skills/api-patterns/response.md +0 -37
  184. package/.agent/skills/api-patterns/rest.md +0 -40
  185. package/.agent/skills/api-patterns/security-testing.md +0 -122
  186. package/.agent/skills/api-patterns/trpc.md +0 -41
  187. package/.agent/skills/api-patterns/versioning.md +0 -22
  188. package/.agent/skills/app-builder/agent-coordination.md +0 -71
  189. package/.agent/skills/app-builder/feature-building.md +0 -53
  190. package/.agent/skills/app-builder/project-detection.md +0 -34
  191. package/.agent/skills/app-builder/scaffolding.md +0 -118
  192. package/.agent/skills/app-builder/tech-stack.md +0 -40
  193. package/.agent/skills/architecture/context-discovery.md +0 -43
  194. package/.agent/skills/architecture/examples.md +0 -94
  195. package/.agent/skills/architecture/pattern-selection.md +0 -68
  196. package/.agent/skills/architecture/patterns-reference.md +0 -50
  197. package/.agent/skills/architecture/trade-off-analysis.md +0 -77
  198. package/.agent/skills/brainstorming/dynamic-questioning.md +0 -360
  199. package/.agent/skills/database-design/database-selection.md +0 -43
  200. package/.agent/skills/database-design/indexing.md +0 -39
  201. package/.agent/skills/database-design/migrations.md +0 -48
  202. package/.agent/skills/database-design/optimization.md +0 -36
  203. package/.agent/skills/database-design/orm-selection.md +0 -30
  204. package/.agent/skills/database-design/schema-design.md +0 -56
  205. package/.agent/skills/frontend-design/animation-guide.md +0 -331
  206. package/.agent/skills/frontend-design/color-system.md +0 -329
  207. package/.agent/skills/frontend-design/decision-trees.md +0 -418
  208. package/.agent/skills/frontend-design/motion-graphics.md +0 -306
  209. package/.agent/skills/frontend-design/typography-system.md +0 -363
  210. package/.agent/skills/frontend-design/ux-psychology.md +0 -1116
  211. package/.agent/skills/frontend-design/visual-effects.md +0 -383
  212. package/.agent/skills/intelligent-routing/router-manifest.md +0 -65
  213. package/.agent/skills/mobile-design/decision-trees.md +0 -516
  214. package/.agent/skills/mobile-design/mobile-backend.md +0 -491
  215. package/.agent/skills/mobile-design/mobile-color-system.md +0 -420
  216. package/.agent/skills/mobile-design/mobile-debugging.md +0 -122
  217. package/.agent/skills/mobile-design/mobile-design-thinking.md +0 -357
  218. package/.agent/skills/mobile-design/mobile-navigation.md +0 -458
  219. package/.agent/skills/mobile-design/mobile-performance.md +0 -767
  220. package/.agent/skills/mobile-design/mobile-testing.md +0 -356
  221. package/.agent/skills/mobile-design/mobile-typography.md +0 -433
  222. package/.agent/skills/mobile-design/platform-android.md +0 -666
  223. package/.agent/skills/mobile-design/platform-ios.md +0 -561
  224. package/.agent/skills/mobile-design/touch-psychology.md +0 -537
  225. package/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +0 -312
  226. package/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +0 -240
  227. package/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +0 -490
  228. package/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +0 -264
  229. package/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +0 -581
  230. package/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +0 -432
  231. package/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +0 -684
  232. package/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +0 -150
  233. package/.agent/skills/vulnerability-scanner/checklists.md +0 -121
@@ -1,332 +1,295 @@
1
- ---
2
- name: devops-engineer
3
- description: DevOps engineering mastery. Docker containerization, Docker Compose, CI/CD with GitHub Actions, Kubernetes basics, infrastructure as code (Terraform), monitoring/alerting, deployment strategies (blue/green, canary, rolling), secrets management, and production readiness checklists. Use when building CI/CD pipelines, containerizing apps, or managing infrastructure.
4
- allowed-tools: Read, Write, Edit, Glob, Grep
5
- version: 2.0.0
6
- last-updated: 2026-04-01
7
- applies-to-model: gemini-2.5-pro, claude-3-7-sonnet
8
- ---
9
-
10
- # DevOps Engineer — CI/CD & Infrastructure Mastery
11
-
12
- > Infrastructure is code. Deployments are automated. Rollbacks are instant.
13
- > If you can't deploy on Friday afternoon with confidence, your pipeline is broken.
14
-
15
- ---
16
-
17
- ## Docker
18
-
19
- ### Dockerfile (Production-Ready)
20
-
21
- ```dockerfile
22
- # ✅ Multi-stage build — minimal final image
23
- FROM node:22-alpine AS builder
24
- WORKDIR /app
25
-
26
- # Install deps first (cache layer)
27
- COPY package.json package-lock.json ./
28
- RUN npm ci --ignore-scripts
29
-
30
- # Build
31
- COPY . .
32
- RUN npm run build
33
-
34
- # ──── Production stage ────
35
- FROM node:22-alpine AS runner
36
- WORKDIR /app
37
-
38
- # Security: non-root user
39
- RUN addgroup --system --gid 1001 appgroup && \
40
- adduser --system --uid 1001 appuser
41
-
42
- # Copy only production artifacts
43
- COPY --from=builder /app/dist ./dist
44
- COPY --from=builder /app/node_modules ./node_modules
45
- COPY --from=builder /app/package.json ./
46
-
47
- USER appuser
48
- EXPOSE 3000
49
- ENV NODE_ENV=production
50
-
51
- HEALTHCHECK --interval=30s --timeout=3s --retries=3 \
52
- CMD wget --quiet --tries=1 --spider http://localhost:3000/health || exit 1
53
-
54
- CMD ["node", "dist/index.js"]
55
- ```
56
-
57
- ```dockerfile
58
- # HALLUCINATION TRAP: Common Dockerfile mistakes
59
- # ❌ FROM node:22 1GB+ image (use alpine: ~150MB)
60
- # RUN npm install installs devDependencies, no lockfile
61
- # RUN npm ci deterministic, production-only
62
- # COPY . . copies node_modules, .git, secrets
63
- # ✅ Use .dockerignore ← exclude node_modules, .env, .git
64
- # ❌ Running as root ← security vulnerability
65
- # ✅ USER appuser ← non-root user
66
- ```
67
-
68
- ### .dockerignore
69
-
70
- ```
71
- node_modules
72
- .git
73
- .env
74
- .env.*
75
- *.md
76
- .github
77
- coverage
78
- dist
79
- ```
80
-
81
- ### Docker Compose
82
-
83
- ```yaml
84
- # docker-compose.yml
85
- services:
86
- app:
87
- build:
88
- context: .
89
- target: runner
90
- ports:
91
- - "3000:3000"
92
- environment:
93
- - DATABASE_URL=postgres://postgres:postgres@db:5432/myapp
94
- - REDIS_URL=redis://redis:6379
95
- depends_on:
96
- db:
97
- condition: service_healthy
98
- redis:
99
- condition: service_started
100
- restart: unless-stopped
101
-
102
- db:
103
- image: postgres:16-alpine
104
- environment:
105
- POSTGRES_DB: myapp
106
- POSTGRES_USER: postgres
107
- POSTGRES_PASSWORD: postgres
108
- volumes:
109
- - pgdata:/var/lib/postgresql/data
110
- healthcheck:
111
- test: ["CMD-SHELL", "pg_isready -U postgres"]
112
- interval: 5s
113
- timeout: 3s
114
- retries: 5
115
-
116
- redis:
117
- image: redis:7-alpine
118
- volumes:
119
- - redisdata:/data
120
-
121
- volumes:
122
- pgdata:
123
- redisdata:
124
- ```
125
-
126
- ---
127
-
128
- ## CI/CD with GitHub Actions
129
-
130
- ### Standard Pipeline
131
-
132
- ```yaml
133
- # .github/workflows/ci.yml
134
- name: CI
135
-
136
- on:
137
- push:
138
- branches: [main]
139
- pull_request:
140
- branches: [main]
141
-
142
- concurrency:
143
- group: ${{ github.workflow }}-${{ github.ref }}
144
- cancel-in-progress: true # cancel stale runs on same PR
145
-
146
- jobs:
147
- lint-and-test:
148
- runs-on: ubuntu-latest
149
- steps:
150
- - uses: actions/checkout@v4
151
-
152
- - uses: actions/setup-node@v4
153
- with:
154
- node-version: 22
155
- cache: npm
156
-
157
- - run: npm ci
158
- - run: npm run lint
159
- - run: npm run typecheck
160
- - run: npm run test -- --coverage
161
-
162
- - uses: actions/upload-artifact@v4
163
- if: always()
164
- with:
165
- name: coverage
166
- path: coverage/
167
-
168
- build:
169
- runs-on: ubuntu-latest
170
- needs: lint-and-test
171
- steps:
172
- - uses: actions/checkout@v4
173
- - uses: actions/setup-node@v4
174
- with:
175
- node-version: 22
176
- cache: npm
177
- - run: npm ci
178
- - run: npm run build
179
-
180
- deploy:
181
- runs-on: ubuntu-latest
182
- needs: build
183
- if: github.ref == 'refs/heads/main'
184
- environment: production
185
- steps:
186
- - uses: actions/checkout@v4
187
-
188
- # Deploy to your platform (Vercel, Railway, Fly.io, etc.)
189
- - run: npx vercel deploy --prod --token=${{ secrets.VERCEL_TOKEN }}
190
- ```
191
-
192
- ### Security Scanning
193
-
194
- ```yaml
195
- security:
196
- runs-on: ubuntu-latest
197
- steps:
198
- - uses: actions/checkout@v4
199
- - run: npm audit --audit-level=high
200
- - uses: github/codeql-action/analyze@v3
201
- with:
202
- languages: javascript-typescript
203
- ```
204
-
205
- ---
206
-
207
- ## Deployment Strategies
208
-
209
- ```
210
- Rolling Update (default):
211
- Old ████████ ██████░░ → ████░░░░ → ░░░░░░░░
212
- New ░░░░░░░░ → ░░██████ → ░░░░████ → ████████
213
- - Gradual replacement, zero downtime
214
- - Rollback: redeploy previous version
215
-
216
- Blue/Green:
217
- Blue ████████ (live) → ░░░░░░░░ (idle)
218
- Green ░░░░░░░░ (staging) → ████████ (live)
219
- - Instant switch via load balancer
220
- - Instant rollback (switch back)
221
- - Requires 2x infrastructure
222
-
223
- Canary:
224
- Stable ████████ (95%) → ████████ (90%) → ████████ (0%)
225
- Canary ░░░░░░░░ (5%) → ░░░░░░░░ (10%) → ████████ (100%)
226
- - Gradual traffic shift
227
- - Monitor error rates/latency at each stage
228
- - Rollback: stop canary traffic
229
-
230
- Feature Flags:
231
- - Deploy code, control activation separately
232
- - Risk-free deploys — flag is off by default
233
- - A/B testing capability
234
- ```
235
-
236
- ---
237
-
238
- ## Secrets Management
239
-
240
- ```yaml
241
- # NEVER:
242
- # - Hardcode secrets in code
243
- # - Commit .env files to git
244
- # - Use plain text in CI/CD configs
245
- # - Share secrets via Slack/email
246
-
247
- # ALWAYS:
248
- # GitHub Actions: Repository Secrets
249
- # - Settings Secrets Actions → New repository secret
250
- # - Reference: ${{ secrets.MY_SECRET }}
251
-
252
- # Production: Use your platform's secret manager
253
- # - AWS Secrets Manager / SSM Parameter Store
254
- # - GCP Secret Manager
255
- # - Azure Key Vault
256
- # - Doppler / Infisical (cross-platform)
257
-
258
- # .env management:
259
- # .env → git-ignored, local development
260
- # .env.example → committed, shows required keys (no values)
261
- ```
262
-
263
- ---
264
-
265
- ## Production Readiness Checklist
266
-
267
- ```
268
- Pre-Deploy:
269
- All tests passing (unit, integration, E2E)
270
- Security scan clean (npm audit, CodeQL)
271
- Build succeeds in CI (not just locally)
272
- □ Database migrations tested against production-size data
273
- □ Environment variables verified in target environment
274
- Rollback plan documented
275
-
276
- Monitoring:
277
- Health check endpoint (/health)
278
- Structured logging (JSON, not console.log)
279
- □ Error tracking (Sentry, Datadog)
280
- □ Uptime monitoring (external)
281
- Alerting configured (PagerDuty, OpsGenie)
282
-
283
- Performance:
284
- Response time P95 < 500ms
285
- Error rate < 0.1%
286
- □ Database connection pooling configured
287
- □ CDN for static assets
288
- Compression enabled (gzip/brotli)
289
-
290
- Security:
291
- HTTPS only (HSTS enabled)
292
- Rate limiting on all public endpoints
293
- □ CORS configured (not wildcard *)
294
- □ Security headers (helmet)
295
- □ No secrets in code or logs
296
- ```
297
-
298
- ---
299
-
300
- ## 🤖 LLM-Specific Traps
301
-
302
- 1. **`FROM node:22` (Not Alpine):** Base Node image is 1GB+. Use `node:22-alpine` (~150MB).
303
- 2. **`npm install` in Docker:** Use `npm ci` for deterministic, lockfile-based installs.
304
- 3. **Running as Root:** Containers must run as non-root user. Add `USER appuser`.
305
- 4. **Missing `.dockerignore`:** Without it, `COPY . .` includes `node_modules`, `.git`, `.env`.
306
- 5. **Secrets in Docker ENV:** Don't bake secrets into Docker images. Use runtime environment variables.
307
- 6. **Missing `concurrency` in CI:** Without `cancel-in-progress`, every push queues a new CI run.
308
- 7. **`npm audit` Without Level:** `npm audit` returns non-zero for ANY vulnerability. Use `--audit-level=high`.
309
- 8. **No Health Check:** Containers without HEALTHCHECK are assumed healthy even when crashed.
310
- 9. **Deploying Without Rollback Plan:** Every deploy must have a documented rollback procedure.
311
- 10. **Direct Production Database Access:** Never give CI/CD direct production DB access. Use migration-specific credentials.
312
-
313
- ---
314
-
315
- ## 🏛️ Tribunal Integration
316
-
317
- **Slash command: `/tribunal-backend`**
318
-
319
- ### ✅ Pre-Flight Self-Audit
320
-
321
- ```
322
- ✅ Is the Dockerfile multi-stage with alpine base?
323
- ✅ Does the container run as non-root?
324
- ✅ Is .dockerignore configured?
325
- ✅ Does CI run lint, typecheck, test, and build?
326
- ✅ Are secrets in GitHub Secrets (not hardcoded)?
327
- ✅ Is there a health check endpoint?
328
- ✅ Is there a rollback plan?
329
- ✅ Are database migrations tested before deploy?
330
- ✅ Is concurrency configured in CI (cancel stale runs)?
331
- ✅ Is there monitoring and alerting in production?
332
- ```
1
+ ---
2
+ name: devops-engineer
3
+ description: DevOps engineering mastery. Docker containerization, Docker Compose, CI/CD with GitHub Actions, Kubernetes basics, infrastructure as code (Terraform), monitoring/alerting, deployment strategies (blue/green, canary, rolling), secrets management, and production readiness checklists. Use when building CI/CD pipelines, containerizing apps, or managing infrastructure.
4
+ allowed-tools: Read, Write, Edit, Glob, Grep
5
+ version: 2.0.0
6
+ last-updated: 2026-04-01
7
+ applies-to-model: gemini-2.5-pro, claude-3-7-sonnet
8
+ ---
9
+
10
+ # DevOps Engineer — CI/CD & Infrastructure Mastery
11
+
12
+ ---
13
+
14
+ ## Docker
15
+
16
+ ### Dockerfile (Production-Ready)
17
+
18
+ ```dockerfile
19
+ # Multi-stage build — minimal final image
20
+ FROM node:22-alpine AS builder
21
+ WORKDIR /app
22
+
23
+ # Install deps first (cache layer)
24
+ COPY package.json package-lock.json ./
25
+ RUN npm ci --ignore-scripts
26
+
27
+ # Build
28
+ COPY . .
29
+ RUN npm run build
30
+
31
+ # ──── Production stage ────
32
+ FROM node:22-alpine AS runner
33
+ WORKDIR /app
34
+
35
+ # Security: non-root user
36
+ RUN addgroup --system --gid 1001 appgroup && \
37
+ adduser --system --uid 1001 appuser
38
+
39
+ # Copy only production artifacts
40
+ COPY --from=builder /app/dist ./dist
41
+ COPY --from=builder /app/node_modules ./node_modules
42
+ COPY --from=builder /app/package.json ./
43
+
44
+ USER appuser
45
+ EXPOSE 3000
46
+ ENV NODE_ENV=production
47
+
48
+ HEALTHCHECK --interval=30s --timeout=3s --retries=3 \
49
+ CMD wget --quiet --tries=1 --spider http://localhost:3000/health || exit 1
50
+
51
+ CMD ["node", "dist/index.js"]
52
+ ```
53
+
54
+ ```dockerfile
55
+ # ❌ HALLUCINATION TRAP: Common Dockerfile mistakes
56
+ # ❌ FROM node:22 ← 1GB+ image (use alpine: ~150MB)
57
+ # ❌ RUN npm install ← installs devDependencies, no lockfile
58
+ # RUN npm ci ← deterministic, production-only
59
+ # ❌ COPY . . copies node_modules, .git, secrets
60
+ # Use .dockerignore exclude node_modules, .env, .git
61
+ # Running as root security vulnerability
62
+ # USER appuser non-root user
63
+ ```
64
+
65
+ ### .dockerignore
66
+
67
+ ```
68
+ node_modules
69
+ .git
70
+ .env
71
+ .env.*
72
+ *.md
73
+ .github
74
+ coverage
75
+ dist
76
+ ```
77
+
78
+ ### Docker Compose
79
+
80
+ ```yaml
81
+ # docker-compose.yml
82
+ services:
83
+ app:
84
+ build:
85
+ context: .
86
+ target: runner
87
+ ports:
88
+ - "3000:3000"
89
+ environment:
90
+ - DATABASE_URL=postgres://postgres:postgres@db:5432/myapp
91
+ - REDIS_URL=redis://redis:6379
92
+ depends_on:
93
+ db:
94
+ condition: service_healthy
95
+ redis:
96
+ condition: service_started
97
+ restart: unless-stopped
98
+
99
+ db:
100
+ image: postgres:16-alpine
101
+ environment:
102
+ POSTGRES_DB: myapp
103
+ POSTGRES_USER: postgres
104
+ POSTGRES_PASSWORD: postgres
105
+ volumes:
106
+ - pgdata:/var/lib/postgresql/data
107
+ healthcheck:
108
+ test: ["CMD-SHELL", "pg_isready -U postgres"]
109
+ interval: 5s
110
+ timeout: 3s
111
+ retries: 5
112
+
113
+ redis:
114
+ image: redis:7-alpine
115
+ volumes:
116
+ - redisdata:/data
117
+
118
+ volumes:
119
+ pgdata:
120
+ redisdata:
121
+ ```
122
+
123
+ ---
124
+
125
+ ## CI/CD with GitHub Actions
126
+
127
+ ### Standard Pipeline
128
+
129
+ ```yaml
130
+ # .github/workflows/ci.yml
131
+ name: CI
132
+
133
+ on:
134
+ push:
135
+ branches: [main]
136
+ pull_request:
137
+ branches: [main]
138
+
139
+ concurrency:
140
+ group: ${{ github.workflow }}-${{ github.ref }}
141
+ cancel-in-progress: true # cancel stale runs on same PR
142
+
143
+ jobs:
144
+ lint-and-test:
145
+ runs-on: ubuntu-latest
146
+ steps:
147
+ - uses: actions/checkout@v4
148
+
149
+ - uses: actions/setup-node@v4
150
+ with:
151
+ node-version: 22
152
+ cache: npm
153
+
154
+ - run: npm ci
155
+ - run: npm run lint
156
+ - run: npm run typecheck
157
+ - run: npm run test -- --coverage
158
+
159
+ - uses: actions/upload-artifact@v4
160
+ if: always()
161
+ with:
162
+ name: coverage
163
+ path: coverage/
164
+
165
+ build:
166
+ runs-on: ubuntu-latest
167
+ needs: lint-and-test
168
+ steps:
169
+ - uses: actions/checkout@v4
170
+ - uses: actions/setup-node@v4
171
+ with:
172
+ node-version: 22
173
+ cache: npm
174
+ - run: npm ci
175
+ - run: npm run build
176
+
177
+ deploy:
178
+ runs-on: ubuntu-latest
179
+ needs: build
180
+ if: github.ref == 'refs/heads/main'
181
+ environment: production
182
+ steps:
183
+ - uses: actions/checkout@v4
184
+
185
+ # Deploy to your platform (Vercel, Railway, Fly.io, etc.)
186
+ - run: npx vercel deploy --prod --token=${{ secrets.VERCEL_TOKEN }}
187
+ ```
188
+
189
+ ### Security Scanning
190
+
191
+ ```yaml
192
+ security:
193
+ runs-on: ubuntu-latest
194
+ steps:
195
+ - uses: actions/checkout@v4
196
+ - run: npm audit --audit-level=high
197
+ - uses: github/codeql-action/analyze@v3
198
+ with:
199
+ languages: javascript-typescript
200
+ ```
201
+
202
+ ---
203
+
204
+ ## Deployment Strategies
205
+
206
+ ```
207
+ Rolling Update (default):
208
+ Old ████████ → ██████░░ → ████░░░░ → ░░░░░░░░
209
+ New ░░░░░░░░ → ░░██████ → ░░░░████ → ████████
210
+ - Gradual replacement, zero downtime
211
+ - Rollback: redeploy previous version
212
+
213
+ Blue/Green:
214
+ Blue ████████ (live) → ░░░░░░░░ (idle)
215
+ Green ░░░░░░░░ (staging) → ████████ (live)
216
+ - Instant switch via load balancer
217
+ - Instant rollback (switch back)
218
+ - Requires 2x infrastructure
219
+
220
+ Canary:
221
+ Stable ████████ (95%) → ████████ (90%) → ████████ (0%)
222
+ Canary ░░░░░░░░ (5%) → ░░░░░░░░ (10%) → ████████ (100%)
223
+ - Gradual traffic shift
224
+ - Monitor error rates/latency at each stage
225
+ - Rollback: stop canary traffic
226
+
227
+ Feature Flags:
228
+ - Deploy code, control activation separately
229
+ - Risk-free deploys — flag is off by default
230
+ - A/B testing capability
231
+ ```
232
+
233
+ ---
234
+
235
+ ## Secrets Management
236
+
237
+ ```yaml
238
+ # NEVER:
239
+ # - Hardcode secrets in code
240
+ # - Commit .env files to git
241
+ # - Use plain text in CI/CD configs
242
+ # - Share secrets via Slack/email
243
+
244
+ # ALWAYS:
245
+ # GitHub Actions: Repository Secrets
246
+ # - Settings → Secrets → Actions → New repository secret
247
+ # - Reference: ${{ secrets.MY_SECRET }}
248
+
249
+ # Production: Use your platform's secret manager
250
+ # - AWS Secrets Manager / SSM Parameter Store
251
+ # - GCP Secret Manager
252
+ # - Azure Key Vault
253
+ # - Doppler / Infisical (cross-platform)
254
+
255
+ # .env management:
256
+ # .env → git-ignored, local development
257
+ # .env.example → committed, shows required keys (no values)
258
+ ```
259
+
260
+ ---
261
+
262
+ ## Production Readiness Checklist
263
+
264
+ ```
265
+ Pre-Deploy:
266
+ □ All tests passing (unit, integration, E2E)
267
+ □ Security scan clean (npm audit, CodeQL)
268
+ □ Build succeeds in CI (not just locally)
269
+ Database migrations tested against production-size data
270
+ Environment variables verified in target environment
271
+ Rollback plan documented
272
+
273
+ Monitoring:
274
+ Health check endpoint (/health)
275
+ □ Structured logging (JSON, not console.log)
276
+ □ Error tracking (Sentry, Datadog)
277
+ Uptime monitoring (external)
278
+ Alerting configured (PagerDuty, OpsGenie)
279
+
280
+ Performance:
281
+ Response time P95 < 500ms
282
+ □ Error rate < 0.1%
283
+ □ Database connection pooling configured
284
+ CDN for static assets
285
+ Compression enabled (gzip/brotli)
286
+
287
+ Security:
288
+ HTTPS only (HSTS enabled)
289
+ □ Rate limiting on all public endpoints
290
+ □ CORS configured (not wildcard *)
291
+ Security headers (helmet)
292
+ No secrets in code or logs
293
+ ```
294
+
295
+ ---