skillstore-cli 1.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 (231) hide show
  1. package/README.md +95 -0
  2. package/data/bundles/devflow-complete.json +19 -0
  3. package/data/free-skills/devflow-agile/manifest.json +19 -0
  4. package/data/free-skills/devflow-agile/plugin/commands/agile/retro.md +23 -0
  5. package/data/free-skills/devflow-agile/plugin/commands/agile/review.md +21 -0
  6. package/data/free-skills/devflow-agile/plugin/commands/agile/sprint.md +30 -0
  7. package/data/free-skills/devflow-agile/plugin/commands/agile/standup.md +20 -0
  8. package/data/free-skills/devflow-agile/plugin/commands/agile.md +35 -0
  9. package/data/free-skills/devflow-agile/plugin/commands/devflow.md +42 -0
  10. package/data/free-skills/devflow-agile/plugin/skills/developer/SKILL.md +93 -0
  11. package/data/free-skills/devflow-agile/plugin/skills/developer/assets/sample-output.md +182 -0
  12. package/data/free-skills/devflow-agile/plugin/skills/developer/references/clean-architecture.md +361 -0
  13. package/data/free-skills/devflow-agile/plugin/skills/developer/references/clean-code-guide.md +207 -0
  14. package/data/free-skills/devflow-agile/plugin/skills/developer/references/debugging-methodology.md +191 -0
  15. package/data/free-skills/devflow-agile/template/agents/agile-coach.md +76 -0
  16. package/data/free-skills/devflow-agile/template/workflows/agile-sprint-workflow.md +81 -0
  17. package/data/free-skills/devflow-bootstrap/manifest.json +8 -0
  18. package/data/free-skills/devflow-bootstrap/plugin/commands/bootstrap/auto.md +31 -0
  19. package/data/free-skills/devflow-bootstrap/plugin/commands/bootstrap.md +38 -0
  20. package/data/free-skills/devflow-bootstrap/plugin/commands/devflow.md +20 -0
  21. package/data/free-skills/devflow-bootstrap/plugin/skills/project-scaffold/SKILL.md +56 -0
  22. package/data/free-skills/devflow-bootstrap/plugin/skills/project-scaffold/assets/sample-output.md +216 -0
  23. package/data/free-skills/devflow-bootstrap/plugin/skills/project-scaffold/references/architecture-decisions.md +254 -0
  24. package/data/free-skills/devflow-bootstrap/plugin/skills/project-scaffold/references/stack-templates.md +400 -0
  25. package/data/free-skills/devflow-bootstrap/template/agents/bootstrap-specialist.md +56 -0
  26. package/data/free-skills/devflow-bootstrap/template/workflows/bootstrap-workflow.md +70 -0
  27. package/data/free-skills/devflow-docs/manifest.json +8 -0
  28. package/data/free-skills/devflow-docs/plugin/commands/devflow.md +20 -0
  29. package/data/free-skills/devflow-docs/plugin/commands/docs/generate.md +17 -0
  30. package/data/free-skills/devflow-docs/plugin/commands/docs/parse.md +19 -0
  31. package/data/free-skills/devflow-docs/plugin/commands/docs.md +26 -0
  32. package/data/free-skills/devflow-docs/plugin/skills/pdf-processor/SKILL.md +59 -0
  33. package/data/free-skills/devflow-docs/plugin/skills/pdf-processor/assets/sample-output.md +114 -0
  34. package/data/free-skills/devflow-docs/plugin/skills/pdf-processor/references/extraction-techniques.md +115 -0
  35. package/data/free-skills/devflow-docs/plugin/skills/pdf-processor/references/ocr-strategies.md +167 -0
  36. package/data/free-skills/devflow-docs/template/agents/docs-specialist.md +35 -0
  37. package/data/free-skills/devflow-docs/template/workflows/docs-workflow.md +70 -0
  38. package/data/free-skills/devflow-postproject/manifest.json +13 -0
  39. package/data/free-skills/devflow-postproject/plugin/commands/devflow.md +34 -0
  40. package/data/free-skills/devflow-postproject/plugin/commands/postproject/handover.md +21 -0
  41. package/data/free-skills/devflow-postproject/plugin/commands/postproject/retro.md +21 -0
  42. package/data/free-skills/devflow-postproject/plugin/commands/postproject/support.md +21 -0
  43. package/data/free-skills/devflow-postproject/plugin/commands/postproject.md +32 -0
  44. package/data/free-skills/devflow-postproject/plugin/skills/retrospective/SKILL.md +70 -0
  45. package/data/free-skills/devflow-postproject/plugin/skills/retrospective/assets/sample-output.md +79 -0
  46. package/data/free-skills/devflow-postproject/plugin/skills/retrospective/references/facilitation-techniques.md +178 -0
  47. package/data/free-skills/devflow-postproject/plugin/skills/retrospective/references/lessons-learned-template.md +118 -0
  48. package/data/free-skills/devflow-postproject/plugin/skills/retrospective/references/retro-techniques.md +100 -0
  49. package/data/free-skills/devflow-postproject/template/agents/transition-manager.md +71 -0
  50. package/data/free-skills/devflow-postproject/template/workflows/transition-workflow.md +72 -0
  51. package/data/free-skills/devflow-presale/manifest.json +15 -0
  52. package/data/free-skills/devflow-presale/plugin/commands/devflow.md +47 -0
  53. package/data/free-skills/devflow-presale/plugin/commands/presale/analyze.md +30 -0
  54. package/data/free-skills/devflow-presale/plugin/commands/presale/estimate.md +30 -0
  55. package/data/free-skills/devflow-presale/plugin/commands/presale/price.md +30 -0
  56. package/data/free-skills/devflow-presale/plugin/commands/presale/propose.md +30 -0
  57. package/data/free-skills/devflow-presale/plugin/commands/presale.md +42 -0
  58. package/data/free-skills/devflow-presale/plugin/skills/requirement-analysis/SKILL.md +63 -0
  59. package/data/free-skills/devflow-presale/plugin/skills/requirement-analysis/assets/sample-output.md +129 -0
  60. package/data/free-skills/devflow-presale/plugin/skills/requirement-analysis/references/extraction-framework.md +140 -0
  61. package/data/free-skills/devflow-presale/plugin/skills/requirement-analysis/references/output-template.md +132 -0
  62. package/data/free-skills/devflow-presale/template/agents/presale-lead.md +83 -0
  63. package/data/free-skills/devflow-presale/template/agents/proposal-reviewer.md +63 -0
  64. package/data/free-skills/devflow-presale/template/workflows/presale-workflow.md +70 -0
  65. package/data/registry/categories.json +7 -0
  66. package/data/registry/packages.json +184 -0
  67. package/data/shared/framework/agents/brainstormer.md +74 -0
  68. package/data/shared/framework/agents/code-reviewer.md +87 -0
  69. package/data/shared/framework/agents/debugger.md +84 -0
  70. package/data/shared/framework/agents/docs-manager.md +55 -0
  71. package/data/shared/framework/agents/git-manager.md +59 -0
  72. package/data/shared/framework/agents/planner.md +68 -0
  73. package/data/shared/framework/agents/researcher.md +66 -0
  74. package/data/shared/framework/agents/tester.md +65 -0
  75. package/data/shared/framework/commands/cook/auto.md +27 -0
  76. package/data/shared/framework/commands/cook.md +45 -0
  77. package/data/shared/framework/commands/fix/ci.md +21 -0
  78. package/data/shared/framework/commands/fix/test.md +26 -0
  79. package/data/shared/framework/commands/fix/types.md +29 -0
  80. package/data/shared/framework/commands/fix.md +26 -0
  81. package/data/shared/framework/commands/git/cm.md +37 -0
  82. package/data/shared/framework/commands/git/pr.md +40 -0
  83. package/data/shared/framework/config/CLAUDE.md.template +26 -0
  84. package/data/shared/framework/config/settings.json +41 -0
  85. package/data/shared/framework/config/skillstore.config.json +29 -0
  86. package/data/shared/framework/hooks/discord-notify.sh +85 -0
  87. package/data/shared/framework/hooks/docs-sync.sh +53 -0
  88. package/data/shared/framework/hooks/modularization-hook.js +103 -0
  89. package/data/shared/framework/hooks/notification.js +94 -0
  90. package/data/shared/framework/hooks/quality-gate.js +109 -0
  91. package/data/shared/framework/hooks/scout-block.js +77 -0
  92. package/data/shared/framework/hooks/telegram-notify.sh +77 -0
  93. package/data/shared/framework/protocols/error-recovery.md +80 -0
  94. package/data/shared/framework/protocols/orchestration-protocol.md +112 -0
  95. package/data/shared/framework/quality/review-protocol.md +76 -0
  96. package/data/shared/framework/quality/verification-protocol.md +66 -0
  97. package/data/shared/framework/rules/development-rules.md +75 -0
  98. package/data/shared/framework/skills/backend-development/SKILL.md +77 -0
  99. package/data/shared/framework/skills/backend-development/assets/sample-output.md +175 -0
  100. package/data/shared/framework/skills/backend-development/references/advanced-patterns.md +180 -0
  101. package/data/shared/framework/skills/backend-development/references/api-design-guide.md +160 -0
  102. package/data/shared/framework/skills/backend-development/references/architecture-patterns.md +183 -0
  103. package/data/shared/framework/skills/backend-development/references/observability-resilience.md +155 -0
  104. package/data/shared/framework/skills/backend-development/references/troubleshooting.md +199 -0
  105. package/data/shared/framework/skills/codebase-analysis/SKILL.md +72 -0
  106. package/data/shared/framework/skills/codebase-analysis/assets/sample-output.md +263 -0
  107. package/data/shared/framework/skills/codebase-analysis/references/analysis-techniques.md +241 -0
  108. package/data/shared/framework/skills/codebase-analysis/references/dependency-mapping.md +280 -0
  109. package/data/shared/framework/skills/codebase-analysis/references/tech-debt-assessment.md +208 -0
  110. package/data/shared/framework/skills/databases/SKILL.md +72 -0
  111. package/data/shared/framework/skills/databases/assets/sample-output.md +212 -0
  112. package/data/shared/framework/skills/databases/references/advanced-data-patterns.md +259 -0
  113. package/data/shared/framework/skills/databases/references/query-optimization.md +214 -0
  114. package/data/shared/framework/skills/databases/references/schema-design.md +159 -0
  115. package/data/shared/framework/skills/databases/references/troubleshooting.md +214 -0
  116. package/data/shared/framework/skills/debugging-investigation/SKILL.md +84 -0
  117. package/data/shared/framework/skills/debugging-investigation/assets/sample-output.md +314 -0
  118. package/data/shared/framework/skills/debugging-investigation/references/systematic-debugging.md +197 -0
  119. package/data/shared/framework/skills/debugging-investigation/references/tool-specific-guides.md +202 -0
  120. package/data/shared/framework/skills/debugging-investigation/references/troubleshooting-patterns.md +196 -0
  121. package/data/shared/framework/skills/frontend-development/SKILL.md +67 -0
  122. package/data/shared/framework/skills/frontend-development/assets/sample-output.md +110 -0
  123. package/data/shared/framework/skills/frontend-development/references/component-patterns.md +112 -0
  124. package/data/shared/framework/skills/frontend-development/references/performance-guide.md +169 -0
  125. package/data/shared/framework/skills/frontend-development/references/routing-forms-realtime.md +374 -0
  126. package/data/shared/framework/skills/frontend-development/references/ssr-rsc-patterns.md +284 -0
  127. package/data/shared/framework/skills/frontend-development/references/troubleshooting.md +154 -0
  128. package/data/shared/framework/skills/mobile-development/SKILL.md +67 -0
  129. package/data/shared/framework/skills/mobile-development/assets/sample-output.md +382 -0
  130. package/data/shared/framework/skills/mobile-development/references/mobile-patterns.md +681 -0
  131. package/data/shared/framework/skills/mobile-development/references/mobile-performance.md +524 -0
  132. package/data/shared/framework/skills/mobile-development/references/troubleshooting.md +158 -0
  133. package/data/shared/framework/skills/security-audit/SKILL.md +83 -0
  134. package/data/shared/framework/skills/security-audit/assets/sample-output.md +451 -0
  135. package/data/shared/framework/skills/security-audit/references/owasp-checklist.md +580 -0
  136. package/data/shared/framework/skills/security-audit/references/secure-coding-patterns.md +433 -0
  137. package/data/shared/framework/skills/security-audit/references/vulnerability-remediation.md +331 -0
  138. package/data/shared/framework/skills/ui-generation/SKILL.md +70 -0
  139. package/data/shared/framework/skills/ui-generation/assets/sample-output.md +139 -0
  140. package/data/shared/framework/skills/ui-generation/references/accessibility-responsive.md +127 -0
  141. package/data/shared/framework/skills/ui-generation/references/compound-components.md +252 -0
  142. package/data/shared/framework/skills/ui-generation/references/generation-patterns.md +110 -0
  143. package/data/shared/framework/skills/ui-generation/references/storybook-design-system.md +278 -0
  144. package/data/shared/framework/skills/ui-generation/references/troubleshooting.md +198 -0
  145. package/data/shared/framework/workflows/documentation-management.md +58 -0
  146. package/data/shared/framework/workflows/primary-workflow.md +88 -0
  147. package/dist/commands/activate.d.ts +3 -0
  148. package/dist/commands/activate.d.ts.map +1 -0
  149. package/dist/commands/activate.js +34 -0
  150. package/dist/commands/activate.js.map +1 -0
  151. package/dist/commands/bundle.d.ts +3 -0
  152. package/dist/commands/bundle.d.ts.map +1 -0
  153. package/dist/commands/bundle.js +64 -0
  154. package/dist/commands/bundle.js.map +1 -0
  155. package/dist/commands/install.d.ts +3 -0
  156. package/dist/commands/install.d.ts.map +1 -0
  157. package/dist/commands/install.js +99 -0
  158. package/dist/commands/install.js.map +1 -0
  159. package/dist/commands/list.d.ts +3 -0
  160. package/dist/commands/list.d.ts.map +1 -0
  161. package/dist/commands/list.js +37 -0
  162. package/dist/commands/list.js.map +1 -0
  163. package/dist/commands/search.d.ts +3 -0
  164. package/dist/commands/search.d.ts.map +1 -0
  165. package/dist/commands/search.js +30 -0
  166. package/dist/commands/search.js.map +1 -0
  167. package/dist/commands/status.d.ts +3 -0
  168. package/dist/commands/status.d.ts.map +1 -0
  169. package/dist/commands/status.js +35 -0
  170. package/dist/commands/status.js.map +1 -0
  171. package/dist/commands/update.d.ts +3 -0
  172. package/dist/commands/update.d.ts.map +1 -0
  173. package/dist/commands/update.js +68 -0
  174. package/dist/commands/update.js.map +1 -0
  175. package/dist/download/cache.d.ts +3 -0
  176. package/dist/download/cache.d.ts.map +1 -0
  177. package/dist/download/cache.js +18 -0
  178. package/dist/download/cache.js.map +1 -0
  179. package/dist/download/client.d.ts +2 -0
  180. package/dist/download/client.d.ts.map +1 -0
  181. package/dist/download/client.js +58 -0
  182. package/dist/download/client.js.map +1 -0
  183. package/dist/index.d.ts +3 -0
  184. package/dist/index.d.ts.map +1 -0
  185. package/dist/index.js +23 -0
  186. package/dist/index.js.map +1 -0
  187. package/dist/installer/file-copier.d.ts +6 -0
  188. package/dist/installer/file-copier.d.ts.map +1 -0
  189. package/dist/installer/file-copier.js +32 -0
  190. package/dist/installer/file-copier.js.map +1 -0
  191. package/dist/installer/plugin-installer.d.ts +12 -0
  192. package/dist/installer/plugin-installer.d.ts.map +1 -0
  193. package/dist/installer/plugin-installer.js +33 -0
  194. package/dist/installer/plugin-installer.js.map +1 -0
  195. package/dist/installer/template-installer.d.ts +12 -0
  196. package/dist/installer/template-installer.d.ts.map +1 -0
  197. package/dist/installer/template-installer.js +45 -0
  198. package/dist/installer/template-installer.js.map +1 -0
  199. package/dist/license/crypto.d.ts +16 -0
  200. package/dist/license/crypto.d.ts.map +1 -0
  201. package/dist/license/crypto.js +50 -0
  202. package/dist/license/crypto.js.map +1 -0
  203. package/dist/license/license-store.d.ts +19 -0
  204. package/dist/license/license-store.d.ts.map +1 -0
  205. package/dist/license/license-store.js +99 -0
  206. package/dist/license/license-store.js.map +1 -0
  207. package/dist/license/validator.d.ts +32 -0
  208. package/dist/license/validator.d.ts.map +1 -0
  209. package/dist/license/validator.js +81 -0
  210. package/dist/license/validator.js.map +1 -0
  211. package/dist/registry/loader.d.ts +30 -0
  212. package/dist/registry/loader.d.ts.map +1 -0
  213. package/dist/registry/loader.js +22 -0
  214. package/dist/registry/loader.js.map +1 -0
  215. package/dist/registry/search-engine.d.ts +9 -0
  216. package/dist/registry/search-engine.d.ts.map +1 -0
  217. package/dist/registry/search-engine.js +30 -0
  218. package/dist/registry/search-engine.js.map +1 -0
  219. package/dist/utils/config.d.ts +14 -0
  220. package/dist/utils/config.d.ts.map +1 -0
  221. package/dist/utils/config.js +28 -0
  222. package/dist/utils/config.js.map +1 -0
  223. package/dist/utils/logger.d.ts +9 -0
  224. package/dist/utils/logger.d.ts.map +1 -0
  225. package/dist/utils/logger.js +22 -0
  226. package/dist/utils/logger.js.map +1 -0
  227. package/dist/utils/paths.d.ts +20 -0
  228. package/dist/utils/paths.d.ts.map +1 -0
  229. package/dist/utils/paths.js +79 -0
  230. package/dist/utils/paths.js.map +1 -0
  231. package/package.json +54 -0
@@ -0,0 +1,216 @@
1
+ # Sample Output: NestJS Microservice
2
+
3
+ ## Project: `order-service`
4
+
5
+ ### Generated Directory Tree
6
+
7
+ ```
8
+ order-service/
9
+ ├── src/
10
+ │ ├── main.ts
11
+ │ ├── app.module.ts
12
+ │ ├── app.controller.ts
13
+ │ ├── app.service.ts
14
+ │ ├── common/
15
+ │ │ ├── decorators/
16
+ │ │ │ └── current-user.decorator.ts
17
+ │ │ ├── filters/
18
+ │ │ │ └── http-exception.filter.ts
19
+ │ │ ├── guards/
20
+ │ │ │ └── jwt-auth.guard.ts
21
+ │ │ ├── interceptors/
22
+ │ │ │ ├── logging.interceptor.ts
23
+ │ │ │ └── transform.interceptor.ts
24
+ │ │ ├── middleware/
25
+ │ │ │ └── correlation-id.middleware.ts
26
+ │ │ ├── pipes/
27
+ │ │ │ └── validation.pipe.ts
28
+ │ │ └── interfaces/
29
+ │ │ └── paginated-response.interface.ts
30
+ │ ├── config/
31
+ │ │ ├── configuration.ts
32
+ │ │ ├── validation.ts
33
+ │ │ └── database.config.ts
34
+ │ ├── modules/
35
+ │ │ ├── orders/
36
+ │ │ │ ├── orders.module.ts
37
+ │ │ │ ├── orders.controller.ts
38
+ │ │ │ ├── orders.service.ts
39
+ │ │ │ ├── orders.repository.ts
40
+ │ │ │ ├── dto/
41
+ │ │ │ │ ├── create-order.dto.ts
42
+ │ │ │ │ ├── update-order.dto.ts
43
+ │ │ │ │ └── order-query.dto.ts
44
+ │ │ │ ├── entities/
45
+ │ │ │ │ ├── order.entity.ts
46
+ │ │ │ │ └── order-item.entity.ts
47
+ │ │ │ └── events/
48
+ │ │ │ ├── order-created.event.ts
49
+ │ │ │ └── order-updated.event.ts
50
+ │ │ ├── products/
51
+ │ │ │ ├── products.module.ts
52
+ │ │ │ ├── products.controller.ts
53
+ │ │ │ ├── products.service.ts
54
+ │ │ │ ├── dto/
55
+ │ │ │ │ └── product.dto.ts
56
+ │ │ │ └── entities/
57
+ │ │ │ └── product.entity.ts
58
+ │ │ └── health/
59
+ │ │ ├── health.module.ts
60
+ │ │ └── health.controller.ts
61
+ │ ├── database/
62
+ │ │ ├── database.module.ts
63
+ │ │ ├── migrations/
64
+ │ │ │ └── .gitkeep
65
+ │ │ └── seeds/
66
+ │ │ └── .gitkeep
67
+ │ └── messaging/
68
+ │ ├── messaging.module.ts
69
+ │ ├── producers/
70
+ │ │ └── order-event.producer.ts
71
+ │ └── consumers/
72
+ │ └── payment-event.consumer.ts
73
+ ├── test/
74
+ │ ├── app.e2e-spec.ts
75
+ │ ├── jest-e2e.json
76
+ │ └── factories/
77
+ │ └── order.factory.ts
78
+ ├── nest-cli.json
79
+ ├── tsconfig.json
80
+ ├── tsconfig.build.json
81
+ ├── package.json
82
+ ├── .env.example
83
+ ├── .gitignore
84
+ ├── docker-compose.yml
85
+ ├── Dockerfile
86
+ └── README.md
87
+ ```
88
+
89
+ ### Key Config Files
90
+
91
+ **nest-cli.json**
92
+ ```json
93
+ {
94
+ "$schema": "https://json.schemastore.org/nest-cli",
95
+ "collection": "@nestjs/schematics",
96
+ "sourceRoot": "src",
97
+ "compilerOptions": {
98
+ "deleteOutDir": true,
99
+ "assets": ["**/*.graphql"],
100
+ "watchAssets": true
101
+ }
102
+ }
103
+ ```
104
+
105
+ **tsconfig.json**
106
+ ```json
107
+ {
108
+ "compilerOptions": {
109
+ "module": "commonjs",
110
+ "declaration": true,
111
+ "removeComments": true,
112
+ "emitDecoratorMetadata": true,
113
+ "experimentalDecorators": true,
114
+ "allowSyntheticDefaultImports": true,
115
+ "target": "ES2021",
116
+ "sourceMap": true,
117
+ "outDir": "./dist",
118
+ "baseUrl": "./",
119
+ "incremental": true,
120
+ "skipLibCheck": true,
121
+ "strictNullChecks": true,
122
+ "noImplicitAny": true,
123
+ "strictBindCallApply": true,
124
+ "forceConsistentCasingInFileNames": true,
125
+ "noFallthroughCasesInSwitch": true,
126
+ "paths": {
127
+ "@common/*": ["src/common/*"],
128
+ "@modules/*": ["src/modules/*"],
129
+ "@config/*": ["src/config/*"]
130
+ }
131
+ }
132
+ }
133
+ ```
134
+
135
+ **.env.example**
136
+ ```bash
137
+ # Application
138
+ APP_NAME=order-service
139
+ APP_PORT=3000
140
+ APP_ENV=development
141
+ LOG_LEVEL=debug
142
+
143
+ # Database
144
+ DB_HOST=localhost
145
+ DB_PORT=5432
146
+ DB_USERNAME=postgres
147
+ DB_PASSWORD=postgres
148
+ DB_DATABASE=order_service
149
+
150
+ # Redis
151
+ REDIS_HOST=localhost
152
+ REDIS_PORT=6379
153
+
154
+ # Message Queue
155
+ RABBITMQ_URL=amqp://guest:guest@localhost:5672
156
+
157
+ # Auth
158
+ JWT_SECRET=your-jwt-secret-change-in-production
159
+ JWT_EXPIRATION=3600
160
+ ```
161
+
162
+ **docker-compose.yml**
163
+ ```yaml
164
+ version: '3.8'
165
+
166
+ services:
167
+ app:
168
+ build:
169
+ context: .
170
+ dockerfile: Dockerfile
171
+ ports:
172
+ - "${APP_PORT:-3000}:3000"
173
+ env_file:
174
+ - .env
175
+ depends_on:
176
+ - postgres
177
+ - redis
178
+ - rabbitmq
179
+ volumes:
180
+ - .:/app
181
+ - /app/node_modules
182
+
183
+ postgres:
184
+ image: postgres:16-alpine
185
+ environment:
186
+ POSTGRES_USER: ${DB_USERNAME:-postgres}
187
+ POSTGRES_PASSWORD: ${DB_PASSWORD:-postgres}
188
+ POSTGRES_DB: ${DB_DATABASE:-order_service}
189
+ ports:
190
+ - "${DB_PORT:-5432}:5432"
191
+ volumes:
192
+ - postgres_data:/var/lib/postgresql/data
193
+
194
+ redis:
195
+ image: redis:7-alpine
196
+ ports:
197
+ - "${REDIS_PORT:-6379}:6379"
198
+
199
+ rabbitmq:
200
+ image: rabbitmq:3-management-alpine
201
+ ports:
202
+ - "5672:5672"
203
+ - "15672:15672"
204
+
205
+ volumes:
206
+ postgres_data:
207
+ ```
208
+
209
+ ### Summary
210
+
211
+ ```
212
+ Generated: 15 directories, 38 files
213
+ Tech stack: NestJS + TypeScript + PostgreSQL + Redis + RabbitMQ
214
+ Architecture: Modular with domain-driven structure
215
+ Includes: Health check, CRUD scaffold, messaging, auth guards, validation
216
+ ```
@@ -0,0 +1,254 @@
1
+ # Architecture Decisions Reference
2
+
3
+ ## Monorepo vs Polyrepo Decision Matrix
4
+
5
+ ### Monorepo (recommended when)
6
+ - Shared code between services exceeds 30% of codebase
7
+ - Team size < 50 engineers working on related services
8
+ - Unified versioning and release cycle is desired
9
+ - Strong tooling support available (Nx, Turborepo, Bazel, Pants)
10
+
11
+ ### Polyrepo (recommended when)
12
+ - Teams are fully autonomous with separate deployment cycles
13
+ - Services have fundamentally different tech stacks
14
+ - Organizational boundaries align with repository boundaries
15
+ - Compliance requires separate access controls per service
16
+
17
+ ### Trade-off Summary
18
+
19
+ | Factor | Monorepo | Polyrepo |
20
+ |---------------------|----------------------------------|----------------------------------|
21
+ | Code sharing | Easy, direct imports | Requires published packages |
22
+ | CI/CD complexity | Higher (needs affected detection)| Lower per repo, higher overall |
23
+ | Dependency mgmt | Single lockfile, unified | Independent, potential drift |
24
+ | Onboarding | One clone, full context | Multiple repos to discover |
25
+ | Build times | Needs caching (Nx, Turbo) | Naturally isolated |
26
+ | Access control | Coarser (CODEOWNERS helps) | Fine-grained per repo |
27
+ | Atomic changes | Single PR across services | Coordinated PRs across repos |
28
+
29
+ ## File Naming Conventions by Ecosystem
30
+
31
+ ### JavaScript / TypeScript
32
+ - Files: `kebab-case.ts` (e.g., `user-service.ts`, `auth-middleware.ts`)
33
+ - React components: `PascalCase.tsx` (e.g., `UserProfile.tsx`, `NavBar.tsx`)
34
+ - Test files: `*.test.ts` or `*.spec.ts` colocated with source
35
+ - Barrel exports: `index.ts` in each module directory
36
+ - Constants: `SCREAMING_SNAKE_CASE` for values, `kebab-case` for files
37
+
38
+ ### Python
39
+ - Files: `snake_case.py` (e.g., `user_service.py`, `auth_middleware.py`)
40
+ - Classes: `PascalCase` in `snake_case.py` files
41
+ - Test files: `test_*.py` or `*_test.py` (pytest convention)
42
+ - Packages: `snake_case` directory with `__init__.py`
43
+
44
+ ### Go
45
+ - Files: `snake_case.go` (e.g., `user_handler.go`)
46
+ - Packages: short, lowercase, single word preferred (`auth`, `user`, `db`)
47
+ - Test files: `*_test.go` colocated with source
48
+ - Internal packages: `internal/` directory for non-exported code
49
+
50
+ ### Java / Kotlin
51
+ - Files: `PascalCase.java` matching class name (e.g., `UserService.java`)
52
+ - Packages: reverse domain `com.company.project.module`
53
+ - Test files: `*Test.java` in mirrored `src/test/` directory
54
+
55
+ ### Rust
56
+ - Files: `snake_case.rs` (e.g., `user_service.rs`)
57
+ - Modules: `snake_case` directories with `mod.rs`
58
+ - Crate names: `kebab-case` in Cargo.toml, `snake_case` in code
59
+
60
+ ## Config-as-Code Patterns
61
+
62
+ ### Single Source of Truth Principle
63
+ Each config tool should have exactly ONE config file that all environments reference.
64
+
65
+ ### TypeScript Projects
66
+ ```
67
+ tsconfig.json # Base config (strict mode, paths)
68
+ tsconfig.build.json # Extends base, excludes tests
69
+ tsconfig.test.json # Extends base, includes test paths
70
+ ```
71
+
72
+ ### ESLint + Prettier
73
+ ```
74
+ eslint.config.mjs # Flat config (ESLint 9+)
75
+ .prettierrc # Formatting rules
76
+ .prettierignore # Skip generated files
77
+ ```
78
+
79
+ Key rule: Prettier handles formatting, ESLint handles logic. Never let them conflict.
80
+
81
+ ### Shared Configs in Monorepo
82
+ ```
83
+ packages/
84
+ eslint-config/ # @company/eslint-config
85
+ index.mjs
86
+ tsconfig/ # @company/tsconfig
87
+ base.json
88
+ react.json
89
+ node.json
90
+ ```
91
+
92
+ ## Docker Development Setup Templates
93
+
94
+ ### Dockerfile.dev
95
+ ```dockerfile
96
+ FROM node:20-alpine
97
+ WORKDIR /app
98
+ COPY package*.json ./
99
+ RUN npm ci
100
+ COPY . .
101
+ EXPOSE 3000
102
+ CMD ["npm", "run", "dev"]
103
+ ```
104
+
105
+ ### docker-compose.dev.yml
106
+ ```yaml
107
+ version: '3.8'
108
+ services:
109
+ app:
110
+ build:
111
+ context: .
112
+ dockerfile: Dockerfile.dev
113
+ volumes:
114
+ - .:/app
115
+ - /app/node_modules # Prevent host node_modules override
116
+ ports:
117
+ - "3000:3000"
118
+ environment:
119
+ - NODE_ENV=development
120
+ depends_on:
121
+ - db
122
+ - redis
123
+ db:
124
+ image: postgres:16-alpine
125
+ environment:
126
+ POSTGRES_DB: app_dev
127
+ POSTGRES_USER: dev
128
+ POSTGRES_PASSWORD: dev
129
+ ports:
130
+ - "5432:5432"
131
+ volumes:
132
+ - pgdata:/var/lib/postgresql/data
133
+ redis:
134
+ image: redis:7-alpine
135
+ ports:
136
+ - "6379:6379"
137
+ volumes:
138
+ pgdata:
139
+ ```
140
+
141
+ ### Key Patterns
142
+ - Mount source code as volume for hot reload
143
+ - Use named volumes for database persistence
144
+ - Separate `node_modules` volume to avoid OS mismatch
145
+ - Use `depends_on` with health checks for startup order
146
+
147
+ ## Project Structure by Framework
148
+
149
+ ### Next.js (App Router)
150
+ ```
151
+ src/
152
+ app/
153
+ (auth)/ # Route group
154
+ login/page.tsx
155
+ register/page.tsx
156
+ (dashboard)/
157
+ layout.tsx
158
+ page.tsx
159
+ api/ # API routes
160
+ users/route.ts
161
+ layout.tsx # Root layout
162
+ page.tsx # Home page
163
+ components/
164
+ ui/ # Reusable primitives
165
+ features/ # Feature-specific
166
+ lib/ # Utilities, clients
167
+ hooks/ # Custom React hooks
168
+ types/ # TypeScript types
169
+ ```
170
+
171
+ ### NestJS
172
+ ```
173
+ src/
174
+ modules/
175
+ users/
176
+ users.controller.ts
177
+ users.service.ts
178
+ users.module.ts
179
+ dto/
180
+ entities/
181
+ auth/
182
+ auth.guard.ts
183
+ auth.module.ts
184
+ strategies/
185
+ common/
186
+ decorators/
187
+ filters/
188
+ interceptors/
189
+ pipes/
190
+ config/
191
+ app.module.ts
192
+ main.ts
193
+ ```
194
+
195
+ ### Django
196
+ ```
197
+ project/
198
+ settings/
199
+ base.py
200
+ development.py
201
+ production.py
202
+ urls.py
203
+ wsgi.py
204
+ apps/
205
+ users/
206
+ models.py
207
+ views.py
208
+ serializers.py
209
+ urls.py
210
+ tests/
211
+ core/
212
+ management/commands/
213
+ middleware.py
214
+ templates/
215
+ static/
216
+ manage.py
217
+ ```
218
+
219
+ ### Spring Boot
220
+ ```
221
+ src/main/java/com/company/app/
222
+ config/
223
+ controller/
224
+ service/
225
+ repository/
226
+ model/
227
+ entity/
228
+ dto/
229
+ exception/
230
+ security/
231
+ Application.java
232
+ src/main/resources/
233
+ application.yml
234
+ application-dev.yml
235
+ application-prod.yml
236
+ src/test/
237
+ ```
238
+
239
+ ### Go (Clean Architecture)
240
+ ```
241
+ cmd/
242
+ server/main.go
243
+ internal/
244
+ handler/ # HTTP handlers
245
+ service/ # Business logic
246
+ repository/ # Data access
247
+ model/ # Domain models
248
+ middleware/
249
+ pkg/ # Shared libraries
250
+ config/
251
+ config.go
252
+ migrations/
253
+ Makefile
254
+ ```