cc-devflow 1.0.1

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 (277) hide show
  1. package/.claude/CLAUDE.md +83 -0
  2. package/.claude/agents/architecture-designer.md +443 -0
  3. package/.claude/agents/bug-analyzer.md +382 -0
  4. package/.claude/agents/checklist-agent.md +175 -0
  5. package/.claude/agents/clarify-analyst.md +50 -0
  6. package/.claude/agents/code-reviewer.md +71 -0
  7. package/.claude/agents/codex-analyzer.md +39 -0
  8. package/.claude/agents/compatibility-checker.md +580 -0
  9. package/.claude/agents/consistency-checker.md +532 -0
  10. package/.claude/agents/impact-analyzer.md +441 -0
  11. package/.claude/agents/planner.md +230 -0
  12. package/.claude/agents/prd-writer.md +320 -0
  13. package/.claude/agents/project-guidelines-generator.md +1329 -0
  14. package/.claude/agents/qa-tester.md +313 -0
  15. package/.claude/agents/release-manager.md +295 -0
  16. package/.claude/agents/security-reviewer.md +314 -0
  17. package/.claude/agents/style-guide-generator.md +458 -0
  18. package/.claude/agents/tech-architect.md +516 -0
  19. package/.claude/agents/ui-designer.md +485 -0
  20. package/.claude/commands/code-review-high.md +58 -0
  21. package/.claude/commands/core-architecture.md +429 -0
  22. package/.claude/commands/core-guidelines.md +486 -0
  23. package/.claude/commands/core-roadmap.md +439 -0
  24. package/.claude/commands/core-style.md +293 -0
  25. package/.claude/commands/flow-archive.md +245 -0
  26. package/.claude/commands/flow-checklist.md +260 -0
  27. package/.claude/commands/flow-clarify.md +136 -0
  28. package/.claude/commands/flow-constitution.md +82 -0
  29. package/.claude/commands/flow-dev.md +134 -0
  30. package/.claude/commands/flow-epic.md +150 -0
  31. package/.claude/commands/flow-fix.md +104 -0
  32. package/.claude/commands/flow-ideate.md +214 -0
  33. package/.claude/commands/flow-init.md +313 -0
  34. package/.claude/commands/flow-new.md +394 -0
  35. package/.claude/commands/flow-prd.md +131 -0
  36. package/.claude/commands/flow-qa.md +93 -0
  37. package/.claude/commands/flow-release.md +92 -0
  38. package/.claude/commands/flow-restart.md +98 -0
  39. package/.claude/commands/flow-status.md +64 -0
  40. package/.claude/commands/flow-tech.md +142 -0
  41. package/.claude/commands/flow-ui.md +189 -0
  42. package/.claude/commands/flow-update.md +111 -0
  43. package/.claude/commands/flow-upgrade.md +115 -0
  44. package/.claude/commands/flow-verify.md +96 -0
  45. package/.claude/commands/problem-analyzer.md +60 -0
  46. package/.claude/config/quality-rules.yml +161 -0
  47. package/.claude/docs/SPEC_KIT_CONSTITUTION_ANALYSIS.md +426 -0
  48. package/.claude/docs/design/consistency-conflict-detection-algorithms.md +658 -0
  49. package/.claude/docs/design/intent-driven-input-design.md +380 -0
  50. package/.claude/docs/design/prd-version-management-design.md +437 -0
  51. package/.claude/docs/guides/INIT_TROUBLESHOOTING.md +117 -0
  52. package/.claude/docs/guides/NEW_TROUBLESHOOTING.md +151 -0
  53. package/.claude/docs/guides/ROADMAP_TROUBLESHOOTING.md +188 -0
  54. package/.claude/docs/guides/TASK_COMPLETION_MARKING.md +338 -0
  55. package/.claude/docs/templates/ARCHITECTURE_TEMPLATE.md +633 -0
  56. package/.claude/docs/templates/BACKLOG_TEMPLATE.md +261 -0
  57. package/.claude/docs/templates/CHECKLIST_TEMPLATE.md +52 -0
  58. package/.claude/docs/templates/CLARIFICATION_REPORT_TEMPLATE.md +206 -0
  59. package/.claude/docs/templates/CODE_REVIEW_TEMPLATE.md +71 -0
  60. package/.claude/docs/templates/EPIC_TEMPLATE.md +805 -0
  61. package/.claude/docs/templates/INIT_FLOW_TEMPLATE.md +213 -0
  62. package/.claude/docs/templates/INTENT_CLARIFICATION_TEMPLATE.md +57 -0
  63. package/.claude/docs/templates/NEW_ORCHESTRATION_TEMPLATE.md +148 -0
  64. package/.claude/docs/templates/PRD_TEMPLATE.md +562 -0
  65. package/.claude/docs/templates/RESEARCH_TEMPLATE.md +276 -0
  66. package/.claude/docs/templates/REVIEW-HIGH.md +57 -0
  67. package/.claude/docs/templates/ROADMAP_DIALOGUE_TEMPLATE.md +198 -0
  68. package/.claude/docs/templates/ROADMAP_TEMPLATE.md +310 -0
  69. package/.claude/docs/templates/STYLE_TEMPLATE.md +1266 -0
  70. package/.claude/docs/templates/TASKS_TEMPLATE.md +523 -0
  71. package/.claude/docs/templates/TECH_DESIGN_TEMPLATE.md +1019 -0
  72. package/.claude/docs/templates/UI_PROTOTYPE_TEMPLATE.md +1436 -0
  73. package/.claude/guides/agent-guides/agent-coordination-guide.md +459 -0
  74. package/.claude/guides/project-guidelines-system.md +463 -0
  75. package/.claude/guides/technical-guides/datetime-handling-guide.md +563 -0
  76. package/.claude/guides/technical-guides/git-github-guide.md +642 -0
  77. package/.claude/guides/technical-guides/test-execution-guide.md +618 -0
  78. package/.claude/guides/workflow-guides/bug-fix-orchestrator.md +217 -0
  79. package/.claude/guides/workflow-guides/flow-orchestrator.md +282 -0
  80. package/.claude/hooks/checklist-gate.js +397 -0
  81. package/.claude/hooks/error-handling-reminder.sh +12 -0
  82. package/.claude/hooks/error-handling-reminder.ts +459 -0
  83. package/.claude/hooks/post-tool-use-tracker.sh +280 -0
  84. package/.claude/hooks/pre-tool-use-guardrail.sh +36 -0
  85. package/.claude/hooks/pre-tool-use-guardrail.ts +342 -0
  86. package/.claude/hooks/skill-activation-prompt.sh +36 -0
  87. package/.claude/hooks/skill-activation-prompt.ts +214 -0
  88. package/.claude/hooks/state/skills-used-test-guard.json +3 -0
  89. package/.claude/rules/devflow-conventions.md +305 -0
  90. package/.claude/rules/project-constitution.md +748 -0
  91. package/.claude/schemas/constitution.schema.json +43 -0
  92. package/.claude/scripts/analyze-upgrade-impact.sh +200 -0
  93. package/.claude/scripts/archive-requirement.sh +351 -0
  94. package/.claude/scripts/calculate-checklist-completion.sh +243 -0
  95. package/.claude/scripts/calculate-quarter.sh +206 -0
  96. package/.claude/scripts/check-dependencies.sh +409 -0
  97. package/.claude/scripts/check-prerequisites.sh +232 -0
  98. package/.claude/scripts/check-task-status.sh +264 -0
  99. package/.claude/scripts/checklist-errors.sh +131 -0
  100. package/.claude/scripts/common.sh +570 -0
  101. package/.claude/scripts/consolidate-research.sh +182 -0
  102. package/.claude/scripts/create-requirement.sh +426 -0
  103. package/.claude/scripts/export-contracts.sh +117 -0
  104. package/.claude/scripts/extract-data-model.sh +78 -0
  105. package/.claude/scripts/generate-clarification-questions.sh +377 -0
  106. package/.claude/scripts/generate-clarification-report.sh +463 -0
  107. package/.claude/scripts/generate-quickstart.sh +146 -0
  108. package/.claude/scripts/generate-research-tasks.sh +157 -0
  109. package/.claude/scripts/generate-status-report.sh +523 -0
  110. package/.claude/scripts/generate-tech-analysis.sh +46 -0
  111. package/.claude/scripts/locate-requirement-in-roadmap.sh +233 -0
  112. package/.claude/scripts/manage-constitution.sh +602 -0
  113. package/.claude/scripts/mark-task-complete.sh +198 -0
  114. package/.claude/scripts/populate-research-tasks.sh +259 -0
  115. package/.claude/scripts/recover-workflow.sh +460 -0
  116. package/.claude/scripts/run-clarify-scan.sh +601 -0
  117. package/.claude/scripts/run-high-review.sh +62 -0
  118. package/.claude/scripts/run-problem-analysis.sh +68 -0
  119. package/.claude/scripts/setup-epic.sh +173 -0
  120. package/.claude/scripts/sync-roadmap-progress.sh +300 -0
  121. package/.claude/scripts/sync-task-marks.sh +199 -0
  122. package/.claude/scripts/test-clarify-scan.sh +515 -0
  123. package/.claude/scripts/update-agent-context.sh +806 -0
  124. package/.claude/scripts/validate-constitution.sh +567 -0
  125. package/.claude/scripts/validate-hooks.sh +487 -0
  126. package/.claude/scripts/validate-research.sh +332 -0
  127. package/.claude/scripts/validate-scope-boundary.sh +493 -0
  128. package/.claude/scripts/verify-setup.sh +37 -0
  129. package/.claude/settings.json +76 -0
  130. package/.claude/skills/_reference-implementations/README.md +96 -0
  131. package/.claude/skills/_reference-implementations/backend-express-prisma/SKILL.md +302 -0
  132. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/architecture-overview.md +451 -0
  133. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/async-and-errors.md +307 -0
  134. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/complete-examples.md +638 -0
  135. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/configuration.md +275 -0
  136. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/database-patterns.md +224 -0
  137. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/middleware-guide.md +213 -0
  138. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/routing-and-controllers.md +756 -0
  139. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/sentry-and-monitoring.md +336 -0
  140. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/services-and-repositories.md +789 -0
  141. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/testing-guide.md +235 -0
  142. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/validation-patterns.md +754 -0
  143. package/.claude/skills/_reference-implementations/frontend-react-mui/SKILL.md +399 -0
  144. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/common-patterns.md +331 -0
  145. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/complete-examples.md +872 -0
  146. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/component-patterns.md +502 -0
  147. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/data-fetching.md +767 -0
  148. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/file-organization.md +502 -0
  149. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/loading-and-error-states.md +501 -0
  150. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/performance.md +406 -0
  151. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/routing-guide.md +364 -0
  152. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/styling-guide.md +428 -0
  153. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/typescript-standards.md +418 -0
  154. package/.claude/skills/cc-devflow-orchestrator/SKILL.md +229 -0
  155. package/.claude/skills/constitution-guardian/SKILL.md +306 -0
  156. package/.claude/skills/devflow-constitution-quick-ref/SKILL.md +374 -0
  157. package/.claude/skills/devflow-file-standards/SKILL.md +353 -0
  158. package/.claude/skills/devflow-tdd-enforcer/SKILL.md +192 -0
  159. package/.claude/skills/skill-developer/ADVANCED.md +197 -0
  160. package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +306 -0
  161. package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +152 -0
  162. package/.claude/skills/skill-developer/SKILL.md +426 -0
  163. package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +315 -0
  164. package/.claude/skills/skill-developer/TRIGGER_TYPES.md +305 -0
  165. package/.claude/skills/skill-developer/TROUBLESHOOTING.md +514 -0
  166. package/.claude/skills/skill-rules.json +213 -0
  167. package/.claude/tests/README.md +300 -0
  168. package/.claude/tests/TODO.md +69 -0
  169. package/.claude/tests/__pycache__/test_analyze_upgrade_impact.cpython-311-pytest-7.2.2.pyc +0 -0
  170. package/.claude/tests/__pycache__/test_consolidate_research.cpython-311-pytest-7.2.2.pyc +0 -0
  171. package/.claude/tests/__pycache__/test_export_contracts.cpython-311-pytest-7.2.2.pyc +0 -0
  172. package/.claude/tests/__pycache__/test_extract_data_model.cpython-311-pytest-7.2.2.pyc +0 -0
  173. package/.claude/tests/__pycache__/test_generate_quickstart.cpython-311-pytest-7.2.2.pyc +0 -0
  174. package/.claude/tests/__pycache__/test_generate_research_tasks.cpython-311-pytest-7.2.2.pyc +0 -0
  175. package/.claude/tests/constitution/run_all_constitution_tests.sh +111 -0
  176. package/.claude/tests/constitution/test_agent_assignment.sh +207 -0
  177. package/.claude/tests/constitution/test_article_coverage.sh +201 -0
  178. package/.claude/tests/constitution/test_template_completeness.sh +150 -0
  179. package/.claude/tests/constitution/test_version_consistency.sh +120 -0
  180. package/.claude/tests/fixtures/spec_delta_full.md +16 -0
  181. package/.claude/tests/fixtures/tasks_progress_sample.md +5 -0
  182. package/.claude/tests/run-all-tests.sh +229 -0
  183. package/.claude/tests/scripts/run.sh +30 -0
  184. package/.claude/tests/scripts/test-framework.sh +128 -0
  185. package/.claude/tests/scripts/test_check_prerequisites.sh +511 -0
  186. package/.claude/tests/scripts/test_check_prerequisites.sh.bak +504 -0
  187. package/.claude/tests/scripts/test_check_prerequisites.sh.bak2 +505 -0
  188. package/.claude/tests/scripts/test_check_prerequisites.sh.bak3 +506 -0
  189. package/.claude/tests/scripts/test_check_prerequisites.sh.bak4 +507 -0
  190. package/.claude/tests/scripts/test_check_prerequisites.sh.bak5 +508 -0
  191. package/.claude/tests/scripts/test_check_task_status.sh +499 -0
  192. package/.claude/tests/scripts/test_common.sh +244 -0
  193. package/.claude/tests/scripts/test_generate_status_report.sh +71 -0
  194. package/.claude/tests/scripts/test_mark_task_complete.sh +441 -0
  195. package/.claude/tests/scripts/test_mark_task_complete.sh.backup +410 -0
  196. package/.claude/tests/scripts/test_recover_workflow.sh +304 -0
  197. package/.claude/tests/scripts/test_setup_epic.sh +437 -0
  198. package/.claude/tests/scripts/test_sync_task_marks.sh +196 -0
  199. package/.claude/tests/scripts/test_validate_constitution.sh +74 -0
  200. package/.claude/tests/scripts/test_validate_research.sh +462 -0
  201. package/.claude/tests/slugify.bats +82 -0
  202. package/.claude/tests/test-framework.sh +732 -0
  203. package/.claude/tests/test_analyze_upgrade_impact.py +34 -0
  204. package/.claude/tests/test_consolidate_research.py +48 -0
  205. package/.claude/tests/test_export_contracts.py +43 -0
  206. package/.claude/tests/test_extract_data_model.py +33 -0
  207. package/.claude/tests/test_generate_quickstart.py +50 -0
  208. package/.claude/tests/test_generate_research_tasks.py +52 -0
  209. package/.claude/tsc-cache/6e64f818-6398-49ca-8623-581a9af85c44/edited-files.log +1 -0
  210. package/.claude/tsc-cache/795ba6e3-b98a-423b-bab2-51aa62812569/affected-repos.txt +1 -0
  211. package/.claude/tsc-cache/795ba6e3-b98a-423b-bab2-51aa62812569/edited-files.log +1 -0
  212. package/.claude/tsc-cache/ae335694-be5a-4ba4-a1a0-b676c09a7906/affected-repos.txt +1 -0
  213. package/.claude/tsc-cache/ae335694-be5a-4ba4-a1a0-b676c09a7906/edited-files.log +1 -0
  214. package/CHANGELOG.md +507 -0
  215. package/LICENSE +21 -0
  216. package/README.md +534 -0
  217. package/README.zh-CN.md +530 -0
  218. package/bin/adapt.js +240 -0
  219. package/bin/cc-devflow-cli.js +185 -0
  220. package/bin/cc-devflow.js +78 -0
  221. package/config/adapters.yml +5 -0
  222. package/config/schema/adapters.schema.json +44 -0
  223. package/docs/CLAUDE.md +26 -0
  224. package/docs/commands/README.md +61 -0
  225. package/docs/commands/README.zh-CN.md +55 -0
  226. package/docs/commands/core-roadmap.md +106 -0
  227. package/docs/commands/core-roadmap.zh-CN.md +102 -0
  228. package/docs/commands/core-style.md +405 -0
  229. package/docs/commands/core-style.zh-CN.md +405 -0
  230. package/docs/commands/flow-init.md +134 -0
  231. package/docs/commands/flow-init.zh-CN.md +163 -0
  232. package/docs/commands/flow-new.md +274 -0
  233. package/docs/commands/flow-new.zh-CN.md +270 -0
  234. package/docs/guides/getting-started.md +204 -0
  235. package/docs/guides/getting-started.zh-CN.md +152 -0
  236. package/lib/adapters/adapter-interface.js +57 -0
  237. package/lib/adapters/claude-adapter.js +74 -0
  238. package/lib/adapters/codex-adapter.js +40 -0
  239. package/lib/adapters/config-validator.js +68 -0
  240. package/lib/adapters/logger.js +42 -0
  241. package/lib/adapters/registry.js +153 -0
  242. package/lib/compiler/CLAUDE.md +92 -0
  243. package/lib/compiler/__tests__/drift.test.js +215 -0
  244. package/lib/compiler/__tests__/errors.test.js +184 -0
  245. package/lib/compiler/__tests__/incremental.test.js +174 -0
  246. package/lib/compiler/__tests__/integration.test.js +174 -0
  247. package/lib/compiler/__tests__/manifest.test.js +233 -0
  248. package/lib/compiler/__tests__/parser.test.js +456 -0
  249. package/lib/compiler/__tests__/schemas.test.js +301 -0
  250. package/lib/compiler/__tests__/skills-registry.test.js +125 -0
  251. package/lib/compiler/__tests__/transformer.test.js +286 -0
  252. package/lib/compiler/emitters/antigravity-emitter.js +171 -0
  253. package/lib/compiler/emitters/base-emitter.js +73 -0
  254. package/lib/compiler/emitters/codex-emitter.js +52 -0
  255. package/lib/compiler/emitters/cursor-emitter.js +31 -0
  256. package/lib/compiler/emitters/index.js +50 -0
  257. package/lib/compiler/emitters/qwen-emitter.js +39 -0
  258. package/lib/compiler/errors.js +119 -0
  259. package/lib/compiler/index.js +256 -0
  260. package/lib/compiler/manifest.js +242 -0
  261. package/lib/compiler/parser.js +258 -0
  262. package/lib/compiler/platforms.js +113 -0
  263. package/lib/compiler/resource-copier.js +320 -0
  264. package/lib/compiler/rules-emitters/__tests__/antigravity-rules-emitter.test.js +191 -0
  265. package/lib/compiler/rules-emitters/__tests__/codex-rules-emitter.test.js +109 -0
  266. package/lib/compiler/rules-emitters/__tests__/cursor-rules-emitter.test.js +123 -0
  267. package/lib/compiler/rules-emitters/__tests__/qwen-rules-emitter.test.js +123 -0
  268. package/lib/compiler/rules-emitters/antigravity-rules-emitter.js +253 -0
  269. package/lib/compiler/rules-emitters/base-rules-emitter.js +83 -0
  270. package/lib/compiler/rules-emitters/codex-rules-emitter.js +116 -0
  271. package/lib/compiler/rules-emitters/cursor-rules-emitter.js +98 -0
  272. package/lib/compiler/rules-emitters/index.js +71 -0
  273. package/lib/compiler/rules-emitters/qwen-rules-emitter.js +70 -0
  274. package/lib/compiler/schemas.js +144 -0
  275. package/lib/compiler/skills-registry.js +225 -0
  276. package/lib/compiler/transformer.js +236 -0
  277. package/package.json +50 -0
@@ -0,0 +1,302 @@
1
+ ---
2
+ name: backend-dev-guidelines
3
+ description: Comprehensive backend development guide for Node.js/Express/TypeScript microservices. Use when creating routes, controllers, services, repositories, middleware, or working with Express APIs, Prisma database access, Sentry error tracking, Zod validation, unifiedConfig, dependency injection, or async patterns. Covers layered architecture (routes → controllers → services → repositories), BaseController pattern, error handling, performance monitoring, testing strategies, and migration from legacy patterns.
4
+ ---
5
+
6
+ # Backend Development Guidelines
7
+
8
+ ## Purpose
9
+
10
+ Establish consistency and best practices across backend microservices (blog-api, auth-service, notifications-service) using modern Node.js/Express/TypeScript patterns.
11
+
12
+ ## When to Use This Skill
13
+
14
+ Automatically activates when working on:
15
+ - Creating or modifying routes, endpoints, APIs
16
+ - Building controllers, services, repositories
17
+ - Implementing middleware (auth, validation, error handling)
18
+ - Database operations with Prisma
19
+ - Error tracking with Sentry
20
+ - Input validation with Zod
21
+ - Configuration management
22
+ - Backend testing and refactoring
23
+
24
+ ---
25
+
26
+ ## Quick Start
27
+
28
+ ### New Backend Feature Checklist
29
+
30
+ - [ ] **Route**: Clean definition, delegate to controller
31
+ - [ ] **Controller**: Extend BaseController
32
+ - [ ] **Service**: Business logic with DI
33
+ - [ ] **Repository**: Database access (if complex)
34
+ - [ ] **Validation**: Zod schema
35
+ - [ ] **Sentry**: Error tracking
36
+ - [ ] **Tests**: Unit + integration tests
37
+ - [ ] **Config**: Use unifiedConfig
38
+
39
+ ### New Microservice Checklist
40
+
41
+ - [ ] Directory structure (see [architecture-overview.md](architecture-overview.md))
42
+ - [ ] instrument.ts for Sentry
43
+ - [ ] unifiedConfig setup
44
+ - [ ] BaseController class
45
+ - [ ] Middleware stack
46
+ - [ ] Error boundary
47
+ - [ ] Testing framework
48
+
49
+ ---
50
+
51
+ ## Architecture Overview
52
+
53
+ ### Layered Architecture
54
+
55
+ ```
56
+ HTTP Request
57
+
58
+ Routes (routing only)
59
+
60
+ Controllers (request handling)
61
+
62
+ Services (business logic)
63
+
64
+ Repositories (data access)
65
+
66
+ Database (Prisma)
67
+ ```
68
+
69
+ **Key Principle:** Each layer has ONE responsibility.
70
+
71
+ See [architecture-overview.md](architecture-overview.md) for complete details.
72
+
73
+ ---
74
+
75
+ ## Directory Structure
76
+
77
+ ```
78
+ service/src/
79
+ ├── config/ # UnifiedConfig
80
+ ├── controllers/ # Request handlers
81
+ ├── services/ # Business logic
82
+ ├── repositories/ # Data access
83
+ ├── routes/ # Route definitions
84
+ ├── middleware/ # Express middleware
85
+ ├── types/ # TypeScript types
86
+ ├── validators/ # Zod schemas
87
+ ├── utils/ # Utilities
88
+ ├── tests/ # Tests
89
+ ├── instrument.ts # Sentry (FIRST IMPORT)
90
+ ├── app.ts # Express setup
91
+ └── server.ts # HTTP server
92
+ ```
93
+
94
+ **Naming Conventions:**
95
+ - Controllers: `PascalCase` - `UserController.ts`
96
+ - Services: `camelCase` - `userService.ts`
97
+ - Routes: `camelCase + Routes` - `userRoutes.ts`
98
+ - Repositories: `PascalCase + Repository` - `UserRepository.ts`
99
+
100
+ ---
101
+
102
+ ## Core Principles (7 Key Rules)
103
+
104
+ ### 1. Routes Only Route, Controllers Control
105
+
106
+ ```typescript
107
+ // ❌ NEVER: Business logic in routes
108
+ router.post('/submit', async (req, res) => {
109
+ // 200 lines of logic
110
+ });
111
+
112
+ // ✅ ALWAYS: Delegate to controller
113
+ router.post('/submit', (req, res) => controller.submit(req, res));
114
+ ```
115
+
116
+ ### 2. All Controllers Extend BaseController
117
+
118
+ ```typescript
119
+ export class UserController extends BaseController {
120
+ async getUser(req: Request, res: Response): Promise<void> {
121
+ try {
122
+ const user = await this.userService.findById(req.params.id);
123
+ this.handleSuccess(res, user);
124
+ } catch (error) {
125
+ this.handleError(error, res, 'getUser');
126
+ }
127
+ }
128
+ }
129
+ ```
130
+
131
+ ### 3. All Errors to Sentry
132
+
133
+ ```typescript
134
+ try {
135
+ await operation();
136
+ } catch (error) {
137
+ Sentry.captureException(error);
138
+ throw error;
139
+ }
140
+ ```
141
+
142
+ ### 4. Use unifiedConfig, NEVER process.env
143
+
144
+ ```typescript
145
+ // ❌ NEVER
146
+ const timeout = process.env.TIMEOUT_MS;
147
+
148
+ // ✅ ALWAYS
149
+ import { config } from './config/unifiedConfig';
150
+ const timeout = config.timeouts.default;
151
+ ```
152
+
153
+ ### 5. Validate All Input with Zod
154
+
155
+ ```typescript
156
+ const schema = z.object({ email: z.string().email() });
157
+ const validated = schema.parse(req.body);
158
+ ```
159
+
160
+ ### 6. Use Repository Pattern for Data Access
161
+
162
+ ```typescript
163
+ // Service → Repository → Database
164
+ const users = await userRepository.findActive();
165
+ ```
166
+
167
+ ### 7. Comprehensive Testing Required
168
+
169
+ ```typescript
170
+ describe('UserService', () => {
171
+ it('should create user', async () => {
172
+ expect(user).toBeDefined();
173
+ });
174
+ });
175
+ ```
176
+
177
+ ---
178
+
179
+ ## Common Imports
180
+
181
+ ```typescript
182
+ // Express
183
+ import express, { Request, Response, NextFunction, Router } from 'express';
184
+
185
+ // Validation
186
+ import { z } from 'zod';
187
+
188
+ // Database
189
+ import { PrismaClient } from '@prisma/client';
190
+ import type { Prisma } from '@prisma/client';
191
+
192
+ // Sentry
193
+ import * as Sentry from '@sentry/node';
194
+
195
+ // Config
196
+ import { config } from './config/unifiedConfig';
197
+
198
+ // Middleware
199
+ import { SSOMiddlewareClient } from './middleware/SSOMiddleware';
200
+ import { asyncErrorWrapper } from './middleware/errorBoundary';
201
+ ```
202
+
203
+ ---
204
+
205
+ ## Quick Reference
206
+
207
+ ### HTTP Status Codes
208
+
209
+ | Code | Use Case |
210
+ |------|----------|
211
+ | 200 | Success |
212
+ | 201 | Created |
213
+ | 400 | Bad Request |
214
+ | 401 | Unauthorized |
215
+ | 403 | Forbidden |
216
+ | 404 | Not Found |
217
+ | 500 | Server Error |
218
+
219
+ ### Service Templates
220
+
221
+ **Blog API** (✅ Mature) - Use as template for REST APIs
222
+ **Auth Service** (✅ Mature) - Use as template for authentication patterns
223
+
224
+ ---
225
+
226
+ ## Anti-Patterns to Avoid
227
+
228
+ ❌ Business logic in routes
229
+ ❌ Direct process.env usage
230
+ ❌ Missing error handling
231
+ ❌ No input validation
232
+ ❌ Direct Prisma everywhere
233
+ ❌ console.log instead of Sentry
234
+
235
+ ---
236
+
237
+ ## Navigation Guide
238
+
239
+ | Need to... | Read this |
240
+ |------------|-----------|
241
+ | Understand architecture | [architecture-overview.md](architecture-overview.md) |
242
+ | Create routes/controllers | [routing-and-controllers.md](routing-and-controllers.md) |
243
+ | Organize business logic | [services-and-repositories.md](services-and-repositories.md) |
244
+ | Validate input | [validation-patterns.md](validation-patterns.md) |
245
+ | Add error tracking | [sentry-and-monitoring.md](sentry-and-monitoring.md) |
246
+ | Create middleware | [middleware-guide.md](middleware-guide.md) |
247
+ | Database access | [database-patterns.md](database-patterns.md) |
248
+ | Manage config | [configuration.md](configuration.md) |
249
+ | Handle async/errors | [async-and-errors.md](async-and-errors.md) |
250
+ | Write tests | [testing-guide.md](testing-guide.md) |
251
+ | See examples | [complete-examples.md](complete-examples.md) |
252
+
253
+ ---
254
+
255
+ ## Resource Files
256
+
257
+ ### [architecture-overview.md](architecture-overview.md)
258
+ Layered architecture, request lifecycle, separation of concerns
259
+
260
+ ### [routing-and-controllers.md](routing-and-controllers.md)
261
+ Route definitions, BaseController, error handling, examples
262
+
263
+ ### [services-and-repositories.md](services-and-repositories.md)
264
+ Service patterns, DI, repository pattern, caching
265
+
266
+ ### [validation-patterns.md](validation-patterns.md)
267
+ Zod schemas, validation, DTO pattern
268
+
269
+ ### [sentry-and-monitoring.md](sentry-and-monitoring.md)
270
+ Sentry init, error capture, performance monitoring
271
+
272
+ ### [middleware-guide.md](middleware-guide.md)
273
+ Auth, audit, error boundaries, AsyncLocalStorage
274
+
275
+ ### [database-patterns.md](database-patterns.md)
276
+ PrismaService, repositories, transactions, optimization
277
+
278
+ ### [configuration.md](configuration.md)
279
+ UnifiedConfig, environment configs, secrets
280
+
281
+ ### [async-and-errors.md](async-and-errors.md)
282
+ Async patterns, custom errors, asyncErrorWrapper
283
+
284
+ ### [testing-guide.md](testing-guide.md)
285
+ Unit/integration tests, mocking, coverage
286
+
287
+ ### [complete-examples.md](complete-examples.md)
288
+ Full examples, refactoring guide
289
+
290
+ ---
291
+
292
+ ## Related Skills
293
+
294
+ - **database-verification** - Verify column names and schema consistency
295
+ - **error-tracking** - Sentry integration patterns
296
+ - **skill-developer** - Meta-skill for creating and managing skills
297
+
298
+ ---
299
+
300
+ **Skill Status**: COMPLETE ✅
301
+ **Line Count**: < 500 ✅
302
+ **Progressive Disclosure**: 11 resource files ✅