tribunal-kit 3.0.0 → 3.1.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 (226) 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/product-manager.md +142 -162
  24. package/.agent/agents/product-owner.md +6 -25
  25. package/.agent/agents/project-planner.md +142 -162
  26. package/.agent/agents/qa-automation-engineer.md +225 -242
  27. package/.agent/agents/security-auditor.md +174 -194
  28. package/.agent/agents/seo-specialist.md +193 -213
  29. package/.agent/agents/sql-reviewer.md +161 -194
  30. package/.agent/agents/supervisor-agent.md +184 -203
  31. package/.agent/agents/swarm-worker-contracts.md +17 -17
  32. package/.agent/agents/swarm-worker-registry.md +46 -46
  33. package/.agent/agents/test-coverage-reviewer.md +160 -193
  34. package/.agent/agents/test-engineer.md +0 -21
  35. package/.agent/agents/type-safety-reviewer.md +175 -208
  36. package/.agent/patterns/generator.md +9 -9
  37. package/.agent/patterns/inversion.md +12 -12
  38. package/.agent/patterns/pipeline.md +9 -9
  39. package/.agent/patterns/reviewer.md +13 -13
  40. package/.agent/patterns/tool-wrapper.md +9 -9
  41. package/.agent/rules/GEMINI.md +63 -63
  42. package/.agent/scripts/compress_skills.py +167 -0
  43. package/.agent/scripts/consolidate_skills.py +173 -0
  44. package/.agent/scripts/deep_compress.py +202 -0
  45. package/.agent/scripts/minify_context.py +80 -0
  46. package/.agent/scripts/security_scan.py +1 -1
  47. package/.agent/scripts/strip_tribunal.py +41 -0
  48. package/.agent/skills/agent-organizer/SKILL.md +92 -126
  49. package/.agent/skills/agentic-patterns/SKILL.md +0 -70
  50. package/.agent/skills/ai-prompt-injection-defense/SKILL.md +126 -160
  51. package/.agent/skills/api-patterns/SKILL.md +123 -215
  52. package/.agent/skills/api-security-auditor/SKILL.md +143 -177
  53. package/.agent/skills/app-builder/SKILL.md +326 -50
  54. package/.agent/skills/app-builder/templates/SKILL.md +13 -15
  55. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +16 -16
  56. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +22 -22
  57. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +18 -18
  58. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +20 -20
  59. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +17 -17
  60. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +18 -18
  61. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +21 -21
  62. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +19 -19
  63. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +26 -26
  64. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +26 -26
  65. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +19 -19
  66. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +18 -18
  67. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +20 -20
  68. package/.agent/skills/appflow-wireframe/SKILL.md +87 -121
  69. package/.agent/skills/architecture/SKILL.md +82 -252
  70. package/.agent/skills/authentication-best-practices/SKILL.md +139 -173
  71. package/.agent/skills/bash-linux/SKILL.md +120 -154
  72. package/.agent/skills/behavioral-modes/SKILL.md +8 -69
  73. package/.agent/skills/brainstorming/SKILL.md +428 -104
  74. package/.agent/skills/building-native-ui/SKILL.md +143 -174
  75. package/.agent/skills/clean-code/SKILL.md +323 -360
  76. package/.agent/skills/code-review-checklist/SKILL.md +0 -62
  77. package/.agent/skills/config-validator/SKILL.md +107 -141
  78. package/.agent/skills/csharp-developer/SKILL.md +468 -528
  79. package/.agent/skills/database-design/SKILL.md +104 -369
  80. package/.agent/skills/deployment-procedures/SKILL.md +111 -145
  81. package/.agent/skills/devops-engineer/SKILL.md +295 -332
  82. package/.agent/skills/devops-incident-responder/SKILL.md +79 -113
  83. package/.agent/skills/doc.md +5 -5
  84. package/.agent/skills/documentation-templates/SKILL.md +19 -63
  85. package/.agent/skills/edge-computing/SKILL.md +123 -157
  86. package/.agent/skills/extract-design-system/SKILL.md +100 -134
  87. package/.agent/skills/framer-motion-expert/SKILL.md +111 -855
  88. package/.agent/skills/frontend-design/SKILL.md +151 -499
  89. package/.agent/skills/game-design-expert/SKILL.md +71 -105
  90. package/.agent/skills/game-engineering-expert/SKILL.md +88 -122
  91. package/.agent/skills/geo-fundamentals/SKILL.md +89 -124
  92. package/.agent/skills/github-operations/SKILL.md +279 -314
  93. package/.agent/skills/gsap-expert/SKILL.md +119 -826
  94. package/.agent/skills/i18n-localization/SKILL.md +104 -138
  95. package/.agent/skills/intelligent-routing/SKILL.md +159 -127
  96. package/.agent/skills/lint-and-validate/SKILL.md +8 -52
  97. package/.agent/skills/llm-engineering/SKILL.md +344 -357
  98. package/.agent/skills/local-first/SKILL.md +120 -154
  99. package/.agent/skills/mcp-builder/SKILL.md +84 -118
  100. package/.agent/skills/mobile-design/SKILL.md +213 -219
  101. package/.agent/skills/motion-engineering/SKILL.md +184 -0
  102. package/.agent/skills/nextjs-react-expert/SKILL.md +99 -698
  103. package/.agent/skills/nodejs-best-practices/SKILL.md +498 -559
  104. package/.agent/skills/observability/SKILL.md +293 -330
  105. package/.agent/skills/parallel-agents/SKILL.md +88 -122
  106. package/.agent/skills/performance-profiling/SKILL.md +217 -254
  107. package/.agent/skills/plan-writing/SKILL.md +84 -118
  108. package/.agent/skills/platform-engineer/SKILL.md +89 -123
  109. package/.agent/skills/playwright-best-practices/SKILL.md +128 -162
  110. package/.agent/skills/powershell-windows/SKILL.md +112 -146
  111. package/.agent/skills/python-patterns/SKILL.md +7 -35
  112. package/.agent/skills/python-pro/SKILL.md +148 -754
  113. package/.agent/skills/react-specialist/SKILL.md +123 -827
  114. package/.agent/skills/readme-builder/SKILL.md +15 -85
  115. package/.agent/skills/realtime-patterns/SKILL.md +269 -304
  116. package/.agent/skills/red-team-tactics/SKILL.md +10 -51
  117. package/.agent/skills/rust-pro/SKILL.md +623 -701
  118. package/.agent/skills/seo-fundamentals/SKILL.md +120 -154
  119. package/.agent/skills/server-management/SKILL.md +156 -190
  120. package/.agent/skills/shadcn-ui-expert/SKILL.md +172 -206
  121. package/.agent/skills/skill-creator/SKILL.md +18 -58
  122. package/.agent/skills/sql-pro/SKILL.md +579 -633
  123. package/.agent/skills/supabase-postgres-best-practices/SKILL.md +28 -68
  124. package/.agent/skills/swiftui-expert/SKILL.md +142 -176
  125. package/.agent/skills/systematic-debugging/SKILL.md +84 -118
  126. package/.agent/skills/tailwind-patterns/SKILL.md +516 -576
  127. package/.agent/skills/tdd-workflow/SKILL.md +103 -137
  128. package/.agent/skills/test-result-analyzer/SKILL.md +33 -73
  129. package/.agent/skills/testing-patterns/SKILL.md +512 -573
  130. package/.agent/skills/trend-researcher/SKILL.md +30 -71
  131. package/.agent/skills/ui-ux-pro-max/SKILL.md +0 -41
  132. package/.agent/skills/ui-ux-researcher/SKILL.md +51 -91
  133. package/.agent/skills/vue-expert/SKILL.md +127 -866
  134. package/.agent/skills/vulnerability-scanner/SKILL.md +354 -269
  135. package/.agent/skills/web-accessibility-auditor/SKILL.md +159 -193
  136. package/.agent/skills/web-design-guidelines/SKILL.md +17 -61
  137. package/.agent/skills/webapp-testing/SKILL.md +111 -145
  138. package/.agent/skills/whimsy-injector/SKILL.md +58 -132
  139. package/.agent/skills/workflow-optimizer/SKILL.md +28 -68
  140. package/.agent/workflows/api-tester.md +151 -151
  141. package/.agent/workflows/audit.md +127 -138
  142. package/.agent/workflows/brainstorm.md +110 -110
  143. package/.agent/workflows/changelog.md +112 -112
  144. package/.agent/workflows/create.md +124 -124
  145. package/.agent/workflows/debug.md +165 -189
  146. package/.agent/workflows/deploy.md +180 -189
  147. package/.agent/workflows/enhance.md +128 -151
  148. package/.agent/workflows/fix.md +114 -135
  149. package/.agent/workflows/generate.md +12 -4
  150. package/.agent/workflows/migrate.md +160 -160
  151. package/.agent/workflows/orchestrate.md +168 -168
  152. package/.agent/workflows/performance-benchmarker.md +114 -123
  153. package/.agent/workflows/plan.md +173 -173
  154. package/.agent/workflows/preview.md +80 -80
  155. package/.agent/workflows/refactor.md +161 -183
  156. package/.agent/workflows/review-ai.md +101 -129
  157. package/.agent/workflows/review.md +116 -116
  158. package/.agent/workflows/session.md +94 -94
  159. package/.agent/workflows/status.md +79 -79
  160. package/.agent/workflows/strengthen-skills.md +138 -139
  161. package/.agent/workflows/swarm.md +179 -179
  162. package/.agent/workflows/test.md +189 -211
  163. package/.agent/workflows/tribunal-backend.md +93 -113
  164. package/.agent/workflows/tribunal-database.md +94 -115
  165. package/.agent/workflows/tribunal-frontend.md +95 -118
  166. package/.agent/workflows/tribunal-full.md +92 -133
  167. package/.agent/workflows/tribunal-mobile.md +94 -119
  168. package/.agent/workflows/tribunal-performance.md +109 -133
  169. package/.agent/workflows/ui-ux-pro-max.md +122 -143
  170. package/package.json +1 -1
  171. package/.agent/skills/api-patterns/api-style.md +0 -42
  172. package/.agent/skills/api-patterns/auth.md +0 -24
  173. package/.agent/skills/api-patterns/documentation.md +0 -26
  174. package/.agent/skills/api-patterns/graphql.md +0 -41
  175. package/.agent/skills/api-patterns/rate-limiting.md +0 -31
  176. package/.agent/skills/api-patterns/response.md +0 -37
  177. package/.agent/skills/api-patterns/rest.md +0 -40
  178. package/.agent/skills/api-patterns/security-testing.md +0 -122
  179. package/.agent/skills/api-patterns/trpc.md +0 -41
  180. package/.agent/skills/api-patterns/versioning.md +0 -22
  181. package/.agent/skills/app-builder/agent-coordination.md +0 -71
  182. package/.agent/skills/app-builder/feature-building.md +0 -53
  183. package/.agent/skills/app-builder/project-detection.md +0 -34
  184. package/.agent/skills/app-builder/scaffolding.md +0 -118
  185. package/.agent/skills/app-builder/tech-stack.md +0 -40
  186. package/.agent/skills/architecture/context-discovery.md +0 -43
  187. package/.agent/skills/architecture/examples.md +0 -94
  188. package/.agent/skills/architecture/pattern-selection.md +0 -68
  189. package/.agent/skills/architecture/patterns-reference.md +0 -50
  190. package/.agent/skills/architecture/trade-off-analysis.md +0 -77
  191. package/.agent/skills/brainstorming/dynamic-questioning.md +0 -360
  192. package/.agent/skills/database-design/database-selection.md +0 -43
  193. package/.agent/skills/database-design/indexing.md +0 -39
  194. package/.agent/skills/database-design/migrations.md +0 -48
  195. package/.agent/skills/database-design/optimization.md +0 -36
  196. package/.agent/skills/database-design/orm-selection.md +0 -30
  197. package/.agent/skills/database-design/schema-design.md +0 -56
  198. package/.agent/skills/frontend-design/animation-guide.md +0 -331
  199. package/.agent/skills/frontend-design/color-system.md +0 -329
  200. package/.agent/skills/frontend-design/decision-trees.md +0 -418
  201. package/.agent/skills/frontend-design/motion-graphics.md +0 -306
  202. package/.agent/skills/frontend-design/typography-system.md +0 -363
  203. package/.agent/skills/frontend-design/ux-psychology.md +0 -1116
  204. package/.agent/skills/frontend-design/visual-effects.md +0 -383
  205. package/.agent/skills/intelligent-routing/router-manifest.md +0 -65
  206. package/.agent/skills/mobile-design/decision-trees.md +0 -516
  207. package/.agent/skills/mobile-design/mobile-backend.md +0 -491
  208. package/.agent/skills/mobile-design/mobile-color-system.md +0 -420
  209. package/.agent/skills/mobile-design/mobile-debugging.md +0 -122
  210. package/.agent/skills/mobile-design/mobile-design-thinking.md +0 -357
  211. package/.agent/skills/mobile-design/mobile-navigation.md +0 -458
  212. package/.agent/skills/mobile-design/mobile-performance.md +0 -767
  213. package/.agent/skills/mobile-design/mobile-testing.md +0 -356
  214. package/.agent/skills/mobile-design/mobile-typography.md +0 -433
  215. package/.agent/skills/mobile-design/platform-android.md +0 -666
  216. package/.agent/skills/mobile-design/platform-ios.md +0 -561
  217. package/.agent/skills/mobile-design/touch-psychology.md +0 -537
  218. package/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +0 -312
  219. package/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +0 -240
  220. package/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +0 -490
  221. package/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +0 -264
  222. package/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +0 -581
  223. package/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +0 -432
  224. package/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +0 -684
  225. package/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +0 -150
  226. 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
+ ---