claude-autopm 2.8.1 → 2.8.2

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 (273) hide show
  1. package/README.md +116 -8
  2. package/bin/autopm.js +2 -0
  3. package/bin/commands/plugin.js +395 -0
  4. package/bin/commands/team.js +184 -10
  5. package/install/install.js +223 -4
  6. package/lib/plugins/PluginManager.js +1328 -0
  7. package/lib/plugins/PluginManager.old.js +400 -0
  8. package/package.json +4 -1
  9. package/scripts/publish-plugins.sh +166 -0
  10. package/autopm/.claude/agents/cloud/README.md +0 -55
  11. package/autopm/.claude/agents/cloud/aws-cloud-architect.md +0 -521
  12. package/autopm/.claude/agents/cloud/azure-cloud-architect.md +0 -436
  13. package/autopm/.claude/agents/cloud/gcp-cloud-architect.md +0 -385
  14. package/autopm/.claude/agents/cloud/gcp-cloud-functions-engineer.md +0 -306
  15. package/autopm/.claude/agents/cloud/gemini-api-expert.md +0 -880
  16. package/autopm/.claude/agents/cloud/kubernetes-orchestrator.md +0 -566
  17. package/autopm/.claude/agents/cloud/openai-python-expert.md +0 -1087
  18. package/autopm/.claude/agents/cloud/terraform-infrastructure-expert.md +0 -454
  19. package/autopm/.claude/agents/core/agent-manager.md +0 -296
  20. package/autopm/.claude/agents/core/code-analyzer.md +0 -131
  21. package/autopm/.claude/agents/core/file-analyzer.md +0 -162
  22. package/autopm/.claude/agents/core/test-runner.md +0 -200
  23. package/autopm/.claude/agents/data/airflow-orchestration-expert.md +0 -52
  24. package/autopm/.claude/agents/data/kedro-pipeline-expert.md +0 -50
  25. package/autopm/.claude/agents/data/langgraph-workflow-expert.md +0 -520
  26. package/autopm/.claude/agents/databases/README.md +0 -50
  27. package/autopm/.claude/agents/databases/bigquery-expert.md +0 -392
  28. package/autopm/.claude/agents/databases/cosmosdb-expert.md +0 -368
  29. package/autopm/.claude/agents/databases/mongodb-expert.md +0 -398
  30. package/autopm/.claude/agents/databases/postgresql-expert.md +0 -321
  31. package/autopm/.claude/agents/databases/redis-expert.md +0 -52
  32. package/autopm/.claude/agents/devops/README.md +0 -52
  33. package/autopm/.claude/agents/devops/azure-devops-specialist.md +0 -308
  34. package/autopm/.claude/agents/devops/docker-containerization-expert.md +0 -298
  35. package/autopm/.claude/agents/devops/github-operations-specialist.md +0 -335
  36. package/autopm/.claude/agents/devops/mcp-context-manager.md +0 -319
  37. package/autopm/.claude/agents/devops/observability-engineer.md +0 -574
  38. package/autopm/.claude/agents/devops/ssh-operations-expert.md +0 -1093
  39. package/autopm/.claude/agents/devops/traefik-proxy-expert.md +0 -444
  40. package/autopm/.claude/agents/frameworks/README.md +0 -64
  41. package/autopm/.claude/agents/frameworks/e2e-test-engineer.md +0 -360
  42. package/autopm/.claude/agents/frameworks/nats-messaging-expert.md +0 -254
  43. package/autopm/.claude/agents/frameworks/react-frontend-engineer.md +0 -217
  44. package/autopm/.claude/agents/frameworks/react-ui-expert.md +0 -226
  45. package/autopm/.claude/agents/frameworks/tailwindcss-expert.md +0 -770
  46. package/autopm/.claude/agents/frameworks/ux-design-expert.md +0 -244
  47. package/autopm/.claude/agents/integration/message-queue-engineer.md +0 -794
  48. package/autopm/.claude/agents/languages/README.md +0 -50
  49. package/autopm/.claude/agents/languages/bash-scripting-expert.md +0 -541
  50. package/autopm/.claude/agents/languages/javascript-frontend-engineer.md +0 -197
  51. package/autopm/.claude/agents/languages/nodejs-backend-engineer.md +0 -226
  52. package/autopm/.claude/agents/languages/python-backend-engineer.md +0 -214
  53. package/autopm/.claude/agents/languages/python-backend-expert.md +0 -289
  54. package/autopm/.claude/agents/testing/frontend-testing-engineer.md +0 -395
  55. package/autopm/.claude/commands/ai/langgraph-workflow.md +0 -65
  56. package/autopm/.claude/commands/ai/openai-chat.md +0 -65
  57. package/autopm/.claude/commands/azure/COMMANDS.md +0 -107
  58. package/autopm/.claude/commands/azure/COMMAND_MAPPING.md +0 -252
  59. package/autopm/.claude/commands/azure/INTEGRATION_FIX.md +0 -103
  60. package/autopm/.claude/commands/azure/README.md +0 -246
  61. package/autopm/.claude/commands/azure/active-work.md +0 -198
  62. package/autopm/.claude/commands/azure/aliases.md +0 -143
  63. package/autopm/.claude/commands/azure/blocked-items.md +0 -287
  64. package/autopm/.claude/commands/azure/clean.md +0 -93
  65. package/autopm/.claude/commands/azure/docs-query.md +0 -48
  66. package/autopm/.claude/commands/azure/feature-decompose.md +0 -380
  67. package/autopm/.claude/commands/azure/feature-list.md +0 -61
  68. package/autopm/.claude/commands/azure/feature-new.md +0 -115
  69. package/autopm/.claude/commands/azure/feature-show.md +0 -205
  70. package/autopm/.claude/commands/azure/feature-start.md +0 -130
  71. package/autopm/.claude/commands/azure/fix-integration-example.md +0 -93
  72. package/autopm/.claude/commands/azure/help.md +0 -150
  73. package/autopm/.claude/commands/azure/import-us.md +0 -269
  74. package/autopm/.claude/commands/azure/init.md +0 -211
  75. package/autopm/.claude/commands/azure/next-task.md +0 -262
  76. package/autopm/.claude/commands/azure/search.md +0 -160
  77. package/autopm/.claude/commands/azure/sprint-status.md +0 -235
  78. package/autopm/.claude/commands/azure/standup.md +0 -260
  79. package/autopm/.claude/commands/azure/sync-all.md +0 -99
  80. package/autopm/.claude/commands/azure/task-analyze.md +0 -186
  81. package/autopm/.claude/commands/azure/task-close.md +0 -329
  82. package/autopm/.claude/commands/azure/task-edit.md +0 -145
  83. package/autopm/.claude/commands/azure/task-list.md +0 -263
  84. package/autopm/.claude/commands/azure/task-new.md +0 -84
  85. package/autopm/.claude/commands/azure/task-reopen.md +0 -79
  86. package/autopm/.claude/commands/azure/task-show.md +0 -126
  87. package/autopm/.claude/commands/azure/task-start.md +0 -301
  88. package/autopm/.claude/commands/azure/task-status.md +0 -65
  89. package/autopm/.claude/commands/azure/task-sync.md +0 -67
  90. package/autopm/.claude/commands/azure/us-edit.md +0 -164
  91. package/autopm/.claude/commands/azure/us-list.md +0 -202
  92. package/autopm/.claude/commands/azure/us-new.md +0 -265
  93. package/autopm/.claude/commands/azure/us-parse.md +0 -253
  94. package/autopm/.claude/commands/azure/us-show.md +0 -188
  95. package/autopm/.claude/commands/azure/us-status.md +0 -320
  96. package/autopm/.claude/commands/azure/validate.md +0 -86
  97. package/autopm/.claude/commands/azure/work-item-sync.md +0 -47
  98. package/autopm/.claude/commands/cloud/infra-deploy.md +0 -38
  99. package/autopm/.claude/commands/github/workflow-create.md +0 -42
  100. package/autopm/.claude/commands/infrastructure/ssh-security.md +0 -65
  101. package/autopm/.claude/commands/infrastructure/traefik-setup.md +0 -65
  102. package/autopm/.claude/commands/kubernetes/deploy.md +0 -37
  103. package/autopm/.claude/commands/playwright/test-scaffold.md +0 -38
  104. package/autopm/.claude/commands/pm/blocked.md +0 -28
  105. package/autopm/.claude/commands/pm/clean.md +0 -119
  106. package/autopm/.claude/commands/pm/context-create.md +0 -136
  107. package/autopm/.claude/commands/pm/context-prime.md +0 -170
  108. package/autopm/.claude/commands/pm/context-update.md +0 -292
  109. package/autopm/.claude/commands/pm/context.md +0 -28
  110. package/autopm/.claude/commands/pm/epic-close.md +0 -86
  111. package/autopm/.claude/commands/pm/epic-decompose.md +0 -370
  112. package/autopm/.claude/commands/pm/epic-edit.md +0 -83
  113. package/autopm/.claude/commands/pm/epic-list.md +0 -30
  114. package/autopm/.claude/commands/pm/epic-merge.md +0 -222
  115. package/autopm/.claude/commands/pm/epic-oneshot.md +0 -119
  116. package/autopm/.claude/commands/pm/epic-refresh.md +0 -119
  117. package/autopm/.claude/commands/pm/epic-show.md +0 -28
  118. package/autopm/.claude/commands/pm/epic-split.md +0 -120
  119. package/autopm/.claude/commands/pm/epic-start.md +0 -195
  120. package/autopm/.claude/commands/pm/epic-status.md +0 -28
  121. package/autopm/.claude/commands/pm/epic-sync-modular.md +0 -338
  122. package/autopm/.claude/commands/pm/epic-sync-original.md +0 -473
  123. package/autopm/.claude/commands/pm/epic-sync.md +0 -486
  124. package/autopm/.claude/commands/pm/help.md +0 -28
  125. package/autopm/.claude/commands/pm/import.md +0 -115
  126. package/autopm/.claude/commands/pm/in-progress.md +0 -28
  127. package/autopm/.claude/commands/pm/init.md +0 -28
  128. package/autopm/.claude/commands/pm/issue-analyze.md +0 -202
  129. package/autopm/.claude/commands/pm/issue-close.md +0 -119
  130. package/autopm/.claude/commands/pm/issue-edit.md +0 -93
  131. package/autopm/.claude/commands/pm/issue-reopen.md +0 -87
  132. package/autopm/.claude/commands/pm/issue-show.md +0 -41
  133. package/autopm/.claude/commands/pm/issue-start.md +0 -234
  134. package/autopm/.claude/commands/pm/issue-status.md +0 -95
  135. package/autopm/.claude/commands/pm/issue-sync.md +0 -411
  136. package/autopm/.claude/commands/pm/next.md +0 -28
  137. package/autopm/.claude/commands/pm/prd-edit.md +0 -82
  138. package/autopm/.claude/commands/pm/prd-list.md +0 -28
  139. package/autopm/.claude/commands/pm/prd-new.md +0 -55
  140. package/autopm/.claude/commands/pm/prd-parse.md +0 -42
  141. package/autopm/.claude/commands/pm/prd-status.md +0 -28
  142. package/autopm/.claude/commands/pm/search.md +0 -28
  143. package/autopm/.claude/commands/pm/standup.md +0 -28
  144. package/autopm/.claude/commands/pm/status.md +0 -28
  145. package/autopm/.claude/commands/pm/sync.md +0 -99
  146. package/autopm/.claude/commands/pm/test-reference-update.md +0 -151
  147. package/autopm/.claude/commands/pm/validate.md +0 -28
  148. package/autopm/.claude/commands/pm/what-next.md +0 -28
  149. package/autopm/.claude/commands/python/api-scaffold.md +0 -50
  150. package/autopm/.claude/commands/python/docs-query.md +0 -48
  151. package/autopm/.claude/commands/react/app-scaffold.md +0 -50
  152. package/autopm/.claude/commands/testing/prime.md +0 -314
  153. package/autopm/.claude/commands/testing/run.md +0 -125
  154. package/autopm/.claude/commands/ui/bootstrap-scaffold.md +0 -65
  155. package/autopm/.claude/commands/ui/tailwind-system.md +0 -64
  156. package/autopm/.claude/rules/ai-integration-patterns.md +0 -219
  157. package/autopm/.claude/rules/ci-cd-kubernetes-strategy.md +0 -25
  158. package/autopm/.claude/rules/database-management-strategy.md +0 -17
  159. package/autopm/.claude/rules/database-pipeline.md +0 -94
  160. package/autopm/.claude/rules/devops-troubleshooting-playbook.md +0 -450
  161. package/autopm/.claude/rules/docker-first-development.md +0 -404
  162. package/autopm/.claude/rules/infrastructure-pipeline.md +0 -128
  163. package/autopm/.claude/rules/performance-guidelines.md +0 -403
  164. package/autopm/.claude/rules/ui-development-standards.md +0 -281
  165. package/autopm/.claude/rules/ui-framework-rules.md +0 -151
  166. package/autopm/.claude/rules/ux-design-rules.md +0 -209
  167. package/autopm/.claude/rules/visual-testing.md +0 -223
  168. package/autopm/.claude/scripts/azure/README.md +0 -192
  169. package/autopm/.claude/scripts/azure/active-work.js +0 -524
  170. package/autopm/.claude/scripts/azure/active-work.sh +0 -20
  171. package/autopm/.claude/scripts/azure/blocked.js +0 -520
  172. package/autopm/.claude/scripts/azure/blocked.sh +0 -20
  173. package/autopm/.claude/scripts/azure/daily.js +0 -533
  174. package/autopm/.claude/scripts/azure/daily.sh +0 -20
  175. package/autopm/.claude/scripts/azure/dashboard.js +0 -970
  176. package/autopm/.claude/scripts/azure/dashboard.sh +0 -20
  177. package/autopm/.claude/scripts/azure/feature-list.js +0 -254
  178. package/autopm/.claude/scripts/azure/feature-list.sh +0 -20
  179. package/autopm/.claude/scripts/azure/feature-show.js +0 -7
  180. package/autopm/.claude/scripts/azure/feature-show.sh +0 -20
  181. package/autopm/.claude/scripts/azure/feature-status.js +0 -604
  182. package/autopm/.claude/scripts/azure/feature-status.sh +0 -20
  183. package/autopm/.claude/scripts/azure/help.js +0 -342
  184. package/autopm/.claude/scripts/azure/help.sh +0 -20
  185. package/autopm/.claude/scripts/azure/next-task.js +0 -508
  186. package/autopm/.claude/scripts/azure/next-task.sh +0 -20
  187. package/autopm/.claude/scripts/azure/search.js +0 -469
  188. package/autopm/.claude/scripts/azure/search.sh +0 -20
  189. package/autopm/.claude/scripts/azure/setup.js +0 -745
  190. package/autopm/.claude/scripts/azure/setup.sh +0 -20
  191. package/autopm/.claude/scripts/azure/sprint-report.js +0 -1012
  192. package/autopm/.claude/scripts/azure/sprint-report.sh +0 -20
  193. package/autopm/.claude/scripts/azure/sync.js +0 -563
  194. package/autopm/.claude/scripts/azure/sync.sh +0 -20
  195. package/autopm/.claude/scripts/azure/us-list.js +0 -210
  196. package/autopm/.claude/scripts/azure/us-list.sh +0 -20
  197. package/autopm/.claude/scripts/azure/us-status.js +0 -238
  198. package/autopm/.claude/scripts/azure/us-status.sh +0 -20
  199. package/autopm/.claude/scripts/azure/validate.js +0 -626
  200. package/autopm/.claude/scripts/azure/validate.sh +0 -20
  201. package/autopm/.claude/scripts/azure/wrapper-template.sh +0 -20
  202. package/autopm/.claude/scripts/github/dependency-tracker.js +0 -554
  203. package/autopm/.claude/scripts/github/dependency-validator.js +0 -545
  204. package/autopm/.claude/scripts/github/dependency-visualizer.js +0 -477
  205. package/autopm/.claude/scripts/pm/analytics.js +0 -425
  206. package/autopm/.claude/scripts/pm/blocked.js +0 -164
  207. package/autopm/.claude/scripts/pm/blocked.sh +0 -78
  208. package/autopm/.claude/scripts/pm/clean.js +0 -464
  209. package/autopm/.claude/scripts/pm/context-create.js +0 -216
  210. package/autopm/.claude/scripts/pm/context-prime.js +0 -335
  211. package/autopm/.claude/scripts/pm/context-update.js +0 -344
  212. package/autopm/.claude/scripts/pm/context.js +0 -338
  213. package/autopm/.claude/scripts/pm/epic-close.js +0 -347
  214. package/autopm/.claude/scripts/pm/epic-edit.js +0 -382
  215. package/autopm/.claude/scripts/pm/epic-list.js +0 -273
  216. package/autopm/.claude/scripts/pm/epic-list.sh +0 -109
  217. package/autopm/.claude/scripts/pm/epic-show.js +0 -291
  218. package/autopm/.claude/scripts/pm/epic-show.sh +0 -105
  219. package/autopm/.claude/scripts/pm/epic-split.js +0 -522
  220. package/autopm/.claude/scripts/pm/epic-start/epic-start.js +0 -183
  221. package/autopm/.claude/scripts/pm/epic-start/epic-start.sh +0 -94
  222. package/autopm/.claude/scripts/pm/epic-status.js +0 -291
  223. package/autopm/.claude/scripts/pm/epic-status.sh +0 -104
  224. package/autopm/.claude/scripts/pm/epic-sync/README.md +0 -208
  225. package/autopm/.claude/scripts/pm/epic-sync/create-epic-issue.sh +0 -77
  226. package/autopm/.claude/scripts/pm/epic-sync/create-task-issues.sh +0 -86
  227. package/autopm/.claude/scripts/pm/epic-sync/update-epic-file.sh +0 -79
  228. package/autopm/.claude/scripts/pm/epic-sync/update-references.sh +0 -89
  229. package/autopm/.claude/scripts/pm/epic-sync.sh +0 -137
  230. package/autopm/.claude/scripts/pm/help.js +0 -92
  231. package/autopm/.claude/scripts/pm/help.sh +0 -90
  232. package/autopm/.claude/scripts/pm/in-progress.js +0 -178
  233. package/autopm/.claude/scripts/pm/in-progress.sh +0 -93
  234. package/autopm/.claude/scripts/pm/init.js +0 -321
  235. package/autopm/.claude/scripts/pm/init.sh +0 -178
  236. package/autopm/.claude/scripts/pm/issue-close.js +0 -232
  237. package/autopm/.claude/scripts/pm/issue-edit.js +0 -310
  238. package/autopm/.claude/scripts/pm/issue-show.js +0 -272
  239. package/autopm/.claude/scripts/pm/issue-start.js +0 -181
  240. package/autopm/.claude/scripts/pm/issue-sync/format-comment.sh +0 -468
  241. package/autopm/.claude/scripts/pm/issue-sync/gather-updates.sh +0 -460
  242. package/autopm/.claude/scripts/pm/issue-sync/post-comment.sh +0 -330
  243. package/autopm/.claude/scripts/pm/issue-sync/preflight-validation.sh +0 -348
  244. package/autopm/.claude/scripts/pm/issue-sync/update-frontmatter.sh +0 -387
  245. package/autopm/.claude/scripts/pm/lib/README.md +0 -85
  246. package/autopm/.claude/scripts/pm/lib/epic-discovery.js +0 -119
  247. package/autopm/.claude/scripts/pm/lib/logger.js +0 -78
  248. package/autopm/.claude/scripts/pm/next.js +0 -189
  249. package/autopm/.claude/scripts/pm/next.sh +0 -72
  250. package/autopm/.claude/scripts/pm/optimize.js +0 -407
  251. package/autopm/.claude/scripts/pm/pr-create.js +0 -337
  252. package/autopm/.claude/scripts/pm/pr-list.js +0 -257
  253. package/autopm/.claude/scripts/pm/prd-list.js +0 -242
  254. package/autopm/.claude/scripts/pm/prd-list.sh +0 -103
  255. package/autopm/.claude/scripts/pm/prd-new.js +0 -684
  256. package/autopm/.claude/scripts/pm/prd-parse.js +0 -547
  257. package/autopm/.claude/scripts/pm/prd-status.js +0 -152
  258. package/autopm/.claude/scripts/pm/prd-status.sh +0 -63
  259. package/autopm/.claude/scripts/pm/release.js +0 -460
  260. package/autopm/.claude/scripts/pm/search.js +0 -192
  261. package/autopm/.claude/scripts/pm/search.sh +0 -89
  262. package/autopm/.claude/scripts/pm/standup.js +0 -362
  263. package/autopm/.claude/scripts/pm/standup.sh +0 -95
  264. package/autopm/.claude/scripts/pm/status.js +0 -148
  265. package/autopm/.claude/scripts/pm/status.sh +0 -59
  266. package/autopm/.claude/scripts/pm/sync-batch.js +0 -337
  267. package/autopm/.claude/scripts/pm/sync.js +0 -343
  268. package/autopm/.claude/scripts/pm/template-list.js +0 -141
  269. package/autopm/.claude/scripts/pm/template-new.js +0 -366
  270. package/autopm/.claude/scripts/pm/validate.js +0 -274
  271. package/autopm/.claude/scripts/pm/validate.sh +0 -106
  272. package/autopm/.claude/scripts/pm/what-next.js +0 -660
  273. package/bin/node/azure-feature-show.js +0 -7
@@ -1,404 +0,0 @@
1
- # Docker-First Development Rule
2
-
3
- > **STATUS**: Can be enabled/disabled via `.claude/config.json` → `features.docker_first_development`
4
-
5
- ## WHEN ENABLED
6
-
7
- ### 1. MANDATORY DOCKER USAGE
8
-
9
- **ALL development MUST happen inside Docker containers:**
10
-
11
- ```bash
12
- # ❌ FORBIDDEN - Local execution
13
- npm install
14
- npm test
15
- python app.py
16
- pytest
17
-
18
- # ✅ REQUIRED - Docker execution
19
- docker compose run app npm install
20
- docker compose run app npm test
21
- docker compose run app python app.py
22
- docker compose run test pytest
23
- ```
24
-
25
- ### 2. PROJECT STRUCTURE REQUIREMENTS
26
-
27
- Every project MUST have:
28
-
29
- ```
30
- project/
31
- ├── Dockerfile # Production image
32
- ├── Dockerfile.dev # Development image with dev tools
33
- ├── docker compose.yml # Production-like setup
34
- ├── docker compose.dev.yml # Development overrides
35
- ├── docker compose.test.yml # Test environment
36
- └── .dockerignore # Exclude unnecessary files
37
- ```
38
-
39
- ### 3. DEVELOPMENT WORKFLOW
40
-
41
- #### Initial Setup
42
-
43
- ```bash
44
- # 1. Check if Docker files exist
45
- if [ ! -f "Dockerfile" ]; then
46
- Use docker-containerization-expert agent to create Dockerfile
47
- fi
48
-
49
- # 2. Build development image
50
- docker compose -f docker compose.yml -f docker compose.dev.yml build
51
-
52
- # 3. Start development environment
53
- docker compose -f docker compose.yml -f docker compose.dev.yml up
54
- ```
55
-
56
- #### Code Changes
57
-
58
- ```yaml
59
- # docker compose.dev.yml
60
- services:
61
- app:
62
- volumes:
63
- - .:/app # Mount source code
64
- - /app/node_modules # Preserve container node_modules
65
- - /app/.venv # Preserve Python venv
66
- command: npm run dev # Hot reload
67
- ```
68
-
69
- #### Running Tests
70
-
71
- ```bash
72
- # Always in container
73
- docker compose run --rm test pytest
74
- docker compose run --rm test npm test
75
-
76
- # CI/CD uses same image
77
- docker build -t app:test .
78
- docker run app:test pytest
79
- ```
80
-
81
- ### 4. ENFORCEMENT PIPELINE
82
-
83
- When docker_first_development is **enabled**:
84
-
85
- ```
86
- 1. Hook intercepts local commands (npm, pip, python, etc.)
87
- 2. Checks if Docker alternative exists
88
- 3. Blocks execution with Docker alternative suggestion
89
- 4. Auto-creates Docker files if missing
90
- ```
91
-
92
- ### 5. DOCKERFILE STANDARDS
93
-
94
- #### Python Projects
95
-
96
- ```dockerfile
97
- # Dockerfile.dev
98
- FROM python:3.11-slim AS development
99
- WORKDIR /app
100
- COPY requirements.txt .
101
- RUN pip install -r requirements.txt
102
- COPY . .
103
- CMD ["python", "-m", "flask", "run", "--host=0.0.0.0", "--reload"]
104
-
105
- # Dockerfile (production)
106
- FROM python:3.11-slim AS production
107
- WORKDIR /app
108
- COPY requirements.txt .
109
- RUN pip install --no-cache-dir -r requirements.txt
110
- COPY . .
111
- CMD ["gunicorn", "app:app"]
112
- ```
113
-
114
- #### Node.js Projects
115
-
116
- ```dockerfile
117
- # Dockerfile.dev
118
- FROM node:20-alpine AS development
119
- WORKDIR /app
120
- COPY package*.json ./
121
- RUN npm ci
122
- COPY . .
123
- CMD ["npm", "run", "dev"]
124
-
125
- # Dockerfile (production)
126
- FROM node:20-alpine AS production
127
- WORKDIR /app
128
- COPY package*.json ./
129
- RUN npm ci --only=production
130
- COPY . .
131
- CMD ["node", "server.js"]
132
- ```
133
-
134
- ### 6. docker compose TEMPLATES
135
-
136
- #### Base docker compose.yml
137
-
138
- ```yaml
139
- version: '3.9'
140
- services:
141
- app:
142
- build: .
143
- ports:
144
- - "3000:3000"
145
- environment:
146
- - NODE_ENV=production
147
- networks:
148
- - app-network
149
-
150
- networks:
151
- app-network:
152
- driver: bridge
153
- ```
154
-
155
- #### Development Override (docker compose.dev.yml)
156
-
157
- ```yaml
158
- version: '3.9'
159
- services:
160
- app:
161
- build:
162
- context: .
163
- dockerfile: Dockerfile.dev
164
- volumes:
165
- - .:/app
166
- - /app/node_modules # Preserve dependencies
167
- environment:
168
- - NODE_ENV=development
169
- - DEBUG=true
170
- ports:
171
- - "3000:3000"
172
- - "9229:9229" # Debug port
173
- ```
174
-
175
- #### Test Override (docker compose.test.yml)
176
-
177
- ```yaml
178
- version: '3.9'
179
- services:
180
- test:
181
- build:
182
- context: .
183
- dockerfile: Dockerfile.dev
184
- command: npm test
185
- environment:
186
- - NODE_ENV=test
187
- - CI=true
188
- ```
189
-
190
- ### 7. GITHUB ACTIONS INTEGRATION
191
-
192
- ```yaml
193
- # .github/workflows/test.yml
194
- name: Test
195
- on: [push, pull_request]
196
-
197
- jobs:
198
- test:
199
- runs-on: ubuntu-latest
200
- steps:
201
- - uses: actions/checkout@v3
202
-
203
- - name: Build Test Image
204
- run: docker build -f Dockerfile.dev -t app:test .
205
-
206
- - name: Run Tests in Container
207
- run: docker run --rm app:test npm test
208
-
209
- - name: Run Linting in Container
210
- run: docker run --rm app:test npm run lint
211
- ```
212
-
213
- ### 8. VOLUME MOUNTING STRATEGY
214
-
215
- ```yaml
216
- # Development volumes for hot reload
217
- volumes:
218
- # Source code - always mounted
219
- - ./src:/app/src
220
- - ./tests:/app/tests
221
-
222
- # Config files - mounted read-only
223
- - ./package.json:/app/package.json:ro
224
- - ./tsconfig.json:/app/tsconfig.json:ro
225
-
226
- # Dependencies - NOT mounted (use container's)
227
- # - ./node_modules:/app/node_modules ❌
228
- # - ./.venv:/app/.venv ❌
229
- ```
230
-
231
- ### 9. DATABASE IN DOCKER
232
-
233
- ```yaml
234
- # docker compose.dev.yml
235
- services:
236
- app:
237
- depends_on:
238
- - db
239
- - redis
240
-
241
- db:
242
- image: postgres:15-alpine
243
- environment:
244
- POSTGRES_DB: appdb
245
- POSTGRES_USER: appuser
246
- POSTGRES_PASSWORD: devpassword
247
- volumes:
248
- - postgres_data:/var/lib/postgresql/data
249
- ports:
250
- - "5432:5432"
251
-
252
- redis:
253
- image: redis:7-alpine
254
- ports:
255
- - "6379:6379"
256
-
257
- volumes:
258
- postgres_data:
259
- ```
260
-
261
- ### 10. HELPER COMMANDS
262
-
263
- Create a Makefile for common operations:
264
-
265
- ```makefile
266
- # Makefile
267
- .PHONY: dev test build clean
268
-
269
- # Development
270
- dev:
271
- docker compose -f docker compose.yml -f docker compose.dev.yml up
272
-
273
- dev-build:
274
- docker compose -f docker compose.yml -f docker compose.dev.yml build
275
-
276
- # Testing
277
- test:
278
- docker compose -f docker compose.yml -f docker compose.test.yml run --rm test
279
-
280
- test-watch:
281
- docker compose -f docker compose.yml -f docker compose.test.yml run --rm test npm run test:watch
282
-
283
- # Production
284
- build:
285
- docker build -t app:latest .
286
-
287
- run:
288
- docker run -p 3000:3000 app:latest
289
-
290
- # Utilities
291
- shell:
292
- docker compose -f docker compose.yml -f docker compose.dev.yml exec app sh
293
-
294
- logs:
295
- docker compose logs -f app
296
-
297
- clean:
298
- docker compose down -v
299
- docker system prune -f
300
- ```
301
-
302
- ## WHEN DISABLED
303
-
304
- When `docker_first_development: false` in config:
305
-
306
- - Local development is allowed
307
- - Docker files are optional
308
- - No enforcement of container usage
309
- - Traditional development workflow permitted
310
-
311
- ## PR VALIDATION REQUIREMENTS
312
-
313
- When `docker_first_development` is enabled, ALL PRs MUST:
314
-
315
- ### 1. PASS DOCKER TESTS BEFORE PUSH
316
-
317
- ```bash
318
- # Manual validation before creating PR
319
- ./.claude/scripts/pr-validation.sh
320
-
321
- # Install Git hooks for automatic validation
322
- ./.claude/scripts/install-hooks.sh
323
- ```
324
-
325
- ### 2. GITHUB ACTIONS VALIDATION
326
-
327
- PR will automatically run:
328
-
329
- - Multi-platform Docker builds (linux/amd64, linux/arm64)
330
- - Tests in Docker containers using same images as local dev
331
- - Security scanning with Trivy
332
- - Docker-first compliance validation
333
- - Startup testing
334
-
335
- ### 3. REQUIRED FILES FOR PR
336
-
337
- - `Dockerfile` - Production image
338
- - `Dockerfile.dev` - Development image
339
- - `docker compose.yml` - Base configuration
340
- - `docker compose.test.yml` - Test configuration
341
- - `.dockerignore` - Build optimization
342
-
343
- ### 4. AUTOMATED BLOCKING
344
-
345
- **Pre-push hook blocks push if:**
346
-
347
- - Docker tests fail
348
- - Docker images don't build
349
- - Required Docker files missing
350
- - Docker daemon not running
351
-
352
- **GitHub Actions blocks PR if:**
353
-
354
- - Any Docker tests fail
355
- - Security vulnerabilities found (HIGH/CRITICAL)
356
- - Multi-platform builds fail
357
- - Container startup fails
358
-
359
- ### 5. PR VALIDATION WORKFLOW
360
-
361
- ```bash
362
- # Full validation (recommended)
363
- ./.claude/scripts/pr-validation.sh
364
-
365
- # Quick validation (skip some tests)
366
- ./.claude/scripts/pr-validation.sh --force
367
-
368
- # Skip tests entirely (not recommended)
369
- ./.claude/scripts/pr-validation.sh --skip-tests
370
- ```
371
-
372
- ### 6. CI/CD REQUIREMENTS
373
-
374
- GitHub Actions workflow (`.github/workflows/docker-tests.yml`) runs:
375
-
376
- 1. **Change Detection** - Only runs Docker tests when needed
377
- 2. **Multi-Environment Testing** - Tests dev and production configs
378
- 3. **Security Scanning** - Trivy vulnerability scan
379
- 4. **Multi-Platform Builds** - AMD64 and ARM64 architectures
380
- 5. **Compliance Validation** - Checks Docker-first requirements
381
-
382
- ## BYPASS PROCEDURES (EMERGENCY ONLY)
383
-
384
- ```bash
385
- # Bypass git hooks temporarily
386
- git push --no-verify
387
-
388
- # Disable Docker-first for urgent fixes
389
- ./.claude/scripts/docker-toggle.sh disable
390
- # Don't forget to re-enable after fix!
391
- ```
392
-
393
- ## CHECKING STATUS
394
-
395
- ```bash
396
- # Check Docker-first status with detailed info
397
- ./.claude/scripts/docker-toggle.sh status
398
-
399
- # Quick check
400
- cat .claude/config.json | jq '.features.docker_first_development'
401
-
402
- # Manual toggle
403
- ./.claude/scripts/docker-toggle.sh enable # or disable
404
- ```
@@ -1,128 +0,0 @@
1
- # Infrastructure Operations Pipeline
2
-
3
- > **CRITICAL**: Infrastructure changes require strict validation and rollback capabilities.
4
-
5
- ## 1. TERRAFORM DEPLOYMENT PIPELINE
6
-
7
- **Trigger**: Infrastructure as Code changes
8
- **Sequence**:
9
-
10
- ```
11
- 1. terraform-infrastructure-expert → Validate configuration
12
- 2. Run terraform plan and review changes
13
- 3. Write infrastructure tests (Terratest)
14
- 4. Apply to staging environment first
15
- 5. test-runner → Verify infrastructure health
16
- 6. Document changes in CHANGELOG
17
- 7. Apply to production with approval
18
- ```
19
-
20
- ## 2. CONTAINER BUILD PIPELINE
21
-
22
- **Trigger**: Dockerfile or container changes
23
- **Sequence**:
24
-
25
- ```
26
- 1. docker-containerization-expert → Optimize Dockerfile
27
- 2. Security scan with Trivy/Snyk
28
- 3. Build multi-stage image
29
- 4. test-runner → Test container functionality
30
- 5. Push to registry with proper tags
31
- 6. Never push unscanned images
32
- ```
33
-
34
- ## 3. KUBERNETES DEPLOYMENT PIPELINE
35
-
36
- **Trigger**: K8s manifest or Helm chart changes
37
- **Sequence**:
38
-
39
- ```
40
- 1. kubernetes-orchestrator → Validate manifests
41
- 2. Dry-run deployment
42
- 3. Apply to dev/staging cluster
43
- 4. test-runner → Verify pod health
44
- 5. Monitor resource usage
45
- 6. Rollout to production with canary
46
- ```
47
-
48
- ## 4. CLOUD FUNCTION PIPELINE
49
-
50
- **Trigger**: Serverless function deployment
51
- **Sequence**:
52
-
53
- ```
54
- 1. gcp-cloud-functions-engineer → Optimize function
55
- 2. Set memory/timeout limits
56
- 3. Configure triggers and IAM
57
- 4. test-runner → Integration tests
58
- 5. Deploy with gradual rollout
59
- 6. Monitor cold starts and errors
60
- ```
61
-
62
- ## 5. CI/CD PIPELINE SETUP
63
-
64
- **Trigger**: GitHub Actions or Azure DevOps setup
65
- **Sequence**:
66
-
67
- ```
68
- 1. github-operations-specialist → Design pipeline
69
- 2. Implement security scanning
70
- 3. Add quality gates
71
- 4. test-runner → Test pipeline stages
72
- 5. Document pipeline flow
73
- 6. Set up notifications
74
- ```
75
-
76
- ## 6. MESSAGING SYSTEM PIPELINE
77
-
78
- **Trigger**: NATS implementation
79
- **Sequence**:
80
-
81
- ```
82
- 1. nats-messaging-expert → Design topology
83
- 2. Configure JetStream persistence
84
- 3. Implement pub/sub patterns
85
- 4. test-runner → Test message delivery
86
- 5. Monitor throughput and latency
87
- 6. Document message contracts
88
- ```
89
-
90
- ## 7. DATA PIPELINE ORCHESTRATION
91
-
92
- **Trigger**: Airflow/Kedro workflow setup
93
- **Sequence**:
94
-
95
- ```
96
- 1. airflow-orchestration-expert/kedro-pipeline-expert → Design DAG/pipeline
97
- 2. Implement idempotent tasks
98
- 3. Add monitoring and alerts
99
- 4. test-runner → Test pipeline execution
100
- 5. Verify data quality checks
101
- 6. Document dependencies
102
- ```
103
-
104
- ## Pipeline Requirements
105
-
106
- ### NEVER ALLOWED
107
-
108
- - ❌ Deploying without staging validation
109
- - ❌ Pushing unscanned container images
110
- - ❌ Applying Terraform without plan review
111
- - ❌ Skipping rollback procedures
112
- - ❌ Ignoring security vulnerabilities
113
-
114
- ### ALWAYS REQUIRED
115
-
116
- - ✅ Infrastructure as Code for everything
117
- - ✅ Security scanning at every stage
118
- - ✅ Staging environment validation
119
- - ✅ Automated rollback capability
120
- - ✅ Comprehensive monitoring
121
-
122
- ## Success Metrics
123
-
124
- - Zero unplanned downtime
125
- - All images pass security scan
126
- - Terraform drift detection active
127
- - Rollback time < 5 minutes
128
- - 100% infrastructure test coverage