@su-record/vibe 2.7.13 → 2.7.15

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 (232) hide show
  1. package/.env.example +37 -37
  2. package/CLAUDE.md +134 -126
  3. package/LICENSE +21 -21
  4. package/README.md +449 -449
  5. package/agents/architect-low.md +41 -41
  6. package/agents/architect-medium.md +59 -59
  7. package/agents/architect.md +80 -80
  8. package/agents/build-error-resolver.md +115 -115
  9. package/agents/compounder.md +261 -261
  10. package/agents/diagrammer.md +178 -178
  11. package/agents/docs/api-documenter.md +99 -99
  12. package/agents/docs/changelog-writer.md +93 -93
  13. package/agents/e2e-tester.md +294 -294
  14. package/agents/explorer-low.md +42 -42
  15. package/agents/explorer-medium.md +59 -59
  16. package/agents/explorer.md +48 -48
  17. package/agents/implementer-low.md +43 -43
  18. package/agents/implementer-medium.md +52 -52
  19. package/agents/implementer.md +54 -54
  20. package/agents/junior-mentor.md +141 -141
  21. package/agents/planning/requirements-analyst.md +84 -84
  22. package/agents/planning/ux-advisor.md +83 -83
  23. package/agents/qa/acceptance-tester.md +86 -86
  24. package/agents/qa/edge-case-finder.md +93 -93
  25. package/agents/refactor-cleaner.md +143 -143
  26. package/agents/research/best-practices-agent.md +199 -199
  27. package/agents/research/codebase-patterns-agent.md +157 -157
  28. package/agents/research/framework-docs-agent.md +188 -188
  29. package/agents/research/security-advisory-agent.md +213 -213
  30. package/agents/review/architecture-reviewer.md +107 -107
  31. package/agents/review/complexity-reviewer.md +116 -116
  32. package/agents/review/data-integrity-reviewer.md +88 -88
  33. package/agents/review/git-history-reviewer.md +103 -103
  34. package/agents/review/performance-reviewer.md +86 -86
  35. package/agents/review/python-reviewer.md +150 -150
  36. package/agents/review/rails-reviewer.md +139 -139
  37. package/agents/review/react-reviewer.md +144 -144
  38. package/agents/review/security-reviewer.md +80 -80
  39. package/agents/review/simplicity-reviewer.md +140 -140
  40. package/agents/review/test-coverage-reviewer.md +116 -116
  41. package/agents/review/typescript-reviewer.md +127 -127
  42. package/agents/searcher.md +54 -54
  43. package/agents/simplifier.md +120 -120
  44. package/agents/tester.md +49 -49
  45. package/agents/ui/ui-a11y-auditor.md +93 -93
  46. package/agents/ui/ui-antipattern-detector.md +94 -94
  47. package/agents/ui/ui-dataviz-advisor.md +69 -69
  48. package/agents/ui/ui-design-system-gen.md +57 -57
  49. package/agents/ui/ui-industry-analyzer.md +49 -49
  50. package/agents/ui/ui-layout-architect.md +65 -65
  51. package/agents/ui/ui-stack-implementer.md +68 -68
  52. package/agents/ui/ux-compliance-reviewer.md +81 -81
  53. package/agents/ui-previewer.md +258 -260
  54. package/commands/vibe.analyze.md +11 -13
  55. package/commands/vibe.review.md +43 -1
  56. package/commands/vibe.run.md +2124 -2078
  57. package/commands/vibe.spec.md +9 -4
  58. package/commands/vibe.spec.review.md +569 -565
  59. package/commands/vibe.utils.md +413 -413
  60. package/commands/vibe.verify.md +33 -8
  61. package/dist/cli/collaborator.js +52 -52
  62. package/dist/cli/commands/evolution.js +12 -12
  63. package/dist/cli/commands/info.js +54 -54
  64. package/dist/cli/commands/init.js +5 -5
  65. package/dist/cli/commands/remove.js +14 -14
  66. package/dist/cli/commands/sentinel.js +27 -27
  67. package/dist/cli/commands/skills.js +5 -5
  68. package/dist/cli/commands/slack.js +10 -10
  69. package/dist/cli/commands/telegram.js +12 -12
  70. package/dist/cli/detect.js +32 -32
  71. package/dist/cli/index.js +51 -51
  72. package/dist/cli/llm/claude-commands.js +16 -16
  73. package/dist/cli/llm/config.js +19 -19
  74. package/dist/cli/llm/config.js.map +1 -1
  75. package/dist/cli/llm/gemini-commands.js +16 -16
  76. package/dist/cli/llm/gpt-commands.js +19 -19
  77. package/dist/cli/llm/help.js +21 -21
  78. package/dist/cli/postinstall/cursor-agents.js +32 -32
  79. package/dist/cli/postinstall/cursor-rules.js +83 -83
  80. package/dist/cli/postinstall/cursor-skills.js +743 -743
  81. package/dist/cli/setup/Provisioner.js +42 -42
  82. package/dist/cli/types.d.ts +0 -2
  83. package/dist/cli/types.d.ts.map +1 -1
  84. package/dist/infra/lib/DeepInit.js +24 -24
  85. package/dist/infra/lib/IterationTracker.js +11 -11
  86. package/dist/infra/lib/PythonParser.js +108 -108
  87. package/dist/infra/lib/ReviewRace.js +96 -96
  88. package/dist/infra/lib/SkillFrontmatter.js +28 -28
  89. package/dist/infra/lib/SkillQualityGate.js +9 -9
  90. package/dist/infra/lib/SkillRepository.js +159 -159
  91. package/dist/infra/lib/UltraQA.js +99 -99
  92. package/dist/infra/lib/autonomy/AuditStore.js +41 -41
  93. package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
  94. package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
  95. package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
  96. package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
  97. package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
  98. package/dist/infra/lib/embedding/VectorStore.js +22 -22
  99. package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
  100. package/dist/infra/lib/evolution/DescriptionOptimizer.js +21 -21
  101. package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
  102. package/dist/infra/lib/evolution/InsightStore.js +90 -90
  103. package/dist/infra/lib/evolution/RollbackManager.js +5 -5
  104. package/dist/infra/lib/evolution/SkillBenchmark.js +23 -23
  105. package/dist/infra/lib/evolution/SkillEvalRunner.js +50 -50
  106. package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
  107. package/dist/infra/lib/evolution/UsageTracker.js +28 -28
  108. package/dist/infra/lib/gemini/orchestration.js +5 -5
  109. package/dist/infra/lib/gpt/orchestration.js +4 -4
  110. package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
  111. package/dist/infra/lib/memory/MemorySearch.js +57 -57
  112. package/dist/infra/lib/memory/MemoryStorage.js +181 -181
  113. package/dist/infra/lib/memory/ObservationStore.js +28 -28
  114. package/dist/infra/lib/memory/ReflectionStore.js +30 -30
  115. package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
  116. package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
  117. package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
  118. package/dist/infra/orchestrator/AgentManager.js +12 -12
  119. package/dist/infra/orchestrator/AgentRegistry.js +65 -65
  120. package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
  121. package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
  122. package/dist/infra/orchestrator/parallelResearch.js +24 -24
  123. package/dist/tools/convention/analyzeComplexity.test.js +115 -115
  124. package/dist/tools/convention/validateCodeQuality.test.js +104 -104
  125. package/dist/tools/memory/createMemoryTimeline.js +10 -10
  126. package/dist/tools/memory/getMemoryGraph.js +12 -12
  127. package/dist/tools/memory/getSessionContext.js +9 -9
  128. package/dist/tools/memory/linkMemories.js +14 -14
  129. package/dist/tools/memory/listMemories.js +4 -4
  130. package/dist/tools/memory/recallMemory.js +4 -4
  131. package/dist/tools/memory/saveMemory.js +4 -4
  132. package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
  133. package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
  134. package/dist/tools/semantic/astGrep.test.js +6 -6
  135. package/dist/tools/spec/prdParser.test.js +171 -171
  136. package/dist/tools/spec/specGenerator.js +169 -169
  137. package/dist/tools/spec/traceabilityMatrix.js +64 -64
  138. package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
  139. package/hooks/gemini-hooks.json +73 -73
  140. package/hooks/hooks.json +137 -137
  141. package/hooks/scripts/code-check.js +77 -70
  142. package/hooks/scripts/context-save.js +212 -212
  143. package/hooks/scripts/hud-status.js +291 -291
  144. package/hooks/scripts/keyword-detector.js +214 -214
  145. package/hooks/scripts/llm-orchestrate.js +475 -475
  146. package/hooks/scripts/post-edit.js +32 -32
  147. package/hooks/scripts/pre-tool-guard.js +125 -125
  148. package/hooks/scripts/prompt-dispatcher.js +185 -185
  149. package/hooks/scripts/sentinel-guard.js +104 -104
  150. package/hooks/scripts/session-start.js +106 -106
  151. package/hooks/scripts/stop-notify.js +209 -209
  152. package/hooks/scripts/utils.js +100 -100
  153. package/languages/csharp-unity.md +515 -515
  154. package/languages/gdscript-godot.md +470 -470
  155. package/languages/ruby-rails.md +489 -489
  156. package/languages/typescript-angular.md +433 -433
  157. package/languages/typescript-astro.md +416 -416
  158. package/languages/typescript-electron.md +406 -406
  159. package/languages/typescript-nestjs.md +524 -524
  160. package/languages/typescript-svelte.md +407 -407
  161. package/languages/typescript-tauri.md +365 -365
  162. package/package.json +121 -121
  163. package/skills/agents-md/SKILL.md +120 -120
  164. package/skills/arch-guard/SKILL.md +180 -180
  165. package/skills/brand-assets/SKILL.md +146 -146
  166. package/skills/capability-loop/SKILL.md +167 -167
  167. package/skills/characterization-test/SKILL.md +206 -206
  168. package/skills/commerce-patterns/SKILL.md +59 -59
  169. package/skills/commit-push-pr/SKILL.md +75 -75
  170. package/skills/context7-usage/SKILL.md +105 -105
  171. package/skills/core-capabilities/SKILL.md +48 -48
  172. package/skills/e2e-commerce/SKILL.md +57 -57
  173. package/skills/exec-plan/SKILL.md +147 -147
  174. package/skills/frontend-design/SKILL.md +73 -73
  175. package/skills/git-worktree/SKILL.md +72 -72
  176. package/skills/handoff/SKILL.md +109 -109
  177. package/skills/parallel-research/SKILL.md +87 -87
  178. package/skills/priority-todos/SKILL.md +63 -63
  179. package/skills/seo-checklist/SKILL.md +57 -57
  180. package/skills/techdebt/SKILL.md +122 -122
  181. package/skills/tool-fallback/SKILL.md +103 -103
  182. package/skills/typescript-advanced-types/SKILL.md +66 -65
  183. package/skills/ui-ux-pro-max/SKILL.md +206 -206
  184. package/skills/vercel-react-best-practices/SKILL.md +59 -59
  185. package/skills/video-production/SKILL.md +51 -51
  186. package/vibe/config.json +29 -29
  187. package/vibe/constitution.md +227 -227
  188. package/vibe/rules/principles/communication-guide.md +98 -98
  189. package/vibe/rules/principles/development-philosophy.md +52 -52
  190. package/vibe/rules/principles/quick-start.md +102 -102
  191. package/vibe/rules/quality/bdd-contract-testing.md +393 -393
  192. package/vibe/rules/quality/checklist.md +276 -276
  193. package/vibe/rules/quality/performance.md +236 -236
  194. package/vibe/rules/quality/testing-strategy.md +440 -440
  195. package/vibe/rules/standards/anti-patterns.md +541 -541
  196. package/vibe/rules/standards/code-structure.md +291 -291
  197. package/vibe/rules/standards/complexity-metrics.md +313 -313
  198. package/vibe/rules/standards/git-workflow.md +237 -237
  199. package/vibe/rules/standards/naming-conventions.md +198 -198
  200. package/vibe/rules/standards/security.md +305 -305
  201. package/vibe/rules/writing/document-style.md +74 -74
  202. package/vibe/setup.sh +31 -31
  203. package/vibe/templates/constitution-template.md +252 -252
  204. package/vibe/templates/contract-backend-template.md +526 -526
  205. package/vibe/templates/contract-frontend-template.md +599 -599
  206. package/vibe/templates/feature-template.md +96 -96
  207. package/vibe/templates/spec-template.md +221 -221
  208. package/vibe/ui-ux-data/charts.csv +26 -26
  209. package/vibe/ui-ux-data/colors.csv +97 -97
  210. package/vibe/ui-ux-data/icons.csv +101 -101
  211. package/vibe/ui-ux-data/landing.csv +31 -31
  212. package/vibe/ui-ux-data/products.csv +96 -96
  213. package/vibe/ui-ux-data/react-performance.csv +45 -45
  214. package/vibe/ui-ux-data/stacks/astro.csv +54 -54
  215. package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
  216. package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
  217. package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
  218. package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
  219. package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
  220. package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
  221. package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
  222. package/vibe/ui-ux-data/stacks/react.csv +54 -54
  223. package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
  224. package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
  225. package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
  226. package/vibe/ui-ux-data/stacks/vue.csv +50 -50
  227. package/vibe/ui-ux-data/styles.csv +68 -68
  228. package/vibe/ui-ux-data/typography.csv +57 -57
  229. package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
  230. package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
  231. package/vibe/ui-ux-data/version.json +31 -31
  232. package/vibe/ui-ux-data/web-interface.csv +31 -31
@@ -1,276 +1,276 @@
1
- # Final Verification Checklist
2
-
3
- ## 5.1 Enhanced Code Quality Check
4
-
5
- ### Top Priority
6
-
7
- ```typescript
8
- const topPriority = {
9
- obeysTheGoldenRule: true, // ✅ Only modify requested scope
10
- preservesWorkingCode: true, // ✅ Preserve existing code
11
- respectsExistingStyle: true, // ✅ Maintain existing style
12
- };
13
- ```
14
-
15
- ### Type Safety
16
-
17
- ```typescript
18
- const typeSafety = {
19
- noAnyType: true, // ✅ No any type usage
20
- strictNullCheck: true, // ✅ null/undefined check
21
- properTypeGuards: true, // ✅ Use type guards
22
- genericTypesWhenNeeded: true, // ✅ Use generic types
23
- };
24
- ```
25
-
26
- ### Code Structure & Complexity
27
-
28
- ```typescript
29
- const codeStructure = {
30
- singleResponsibility: true, // ✅ Single Responsibility Principle
31
- functionUnder30Lines: true, // ✅ Functions ≤30 lines (recommended), 50 allowed
32
- maxNesting3Levels: true, // ✅ Max nesting 3 levels
33
- cyclomaticComplexity: 10, // ✅ Cyclomatic complexity ≤ 10
34
- cognitiveComplexity: 15, // ✅ Cognitive complexity ≤ 15
35
- maxParameters: 5, // ✅ Max 5 parameters
36
- componentUnder50Lines: true, // ✅ Component JSX ≤50 lines
37
- };
38
- ```
39
-
40
- ### Halstead Metrics
41
-
42
- ```typescript
43
- const halsteadMetrics = {
44
- vocabulary: true, // ✅ Operator/operand diversity
45
- difficulty: true, // ✅ Code comprehension difficulty
46
- effort: true, // ✅ Mental effort
47
- lowComplexity: true, // ✅ Maintain low complexity
48
- };
49
- ```
50
-
51
- ### Coupling & Cohesion
52
-
53
- ```typescript
54
- const couplingCohesion = {
55
- looseCoupling: true, // ✅ Loose coupling (≤ 7 dependencies)
56
- highCohesion: true, // ✅ High cohesion (group related functions only)
57
- noCircularDeps: true, // ✅ No circular dependencies
58
- dependencyInjection: true, // ✅ Dependency injection pattern
59
- };
60
- ```
61
-
62
- ### Error Handling
63
-
64
- ```typescript
65
- const errorHandling = {
66
- hasErrorHandling: true, // ✅ try-catch/error state
67
- hasLoadingState: true, // ✅ Loading state
68
- hasFallbackUI: true, // ✅ Fallback UI
69
- properErrorMessages: true, // ✅ Clear error messages
70
- errorBoundaries: true, // ✅ Use Error Boundaries
71
- };
72
- ```
73
-
74
- ### Accessibility
75
-
76
- ```typescript
77
- const accessibility = {
78
- hasAriaLabels: true, // ✅ ARIA labels
79
- keyboardAccessible: true, // ✅ Keyboard accessibility
80
- semanticHTML: true, // ✅ Semantic HTML
81
- focusManagement: true, // ✅ Focus management
82
- screenReaderFriendly: true, // ✅ Screen reader support
83
- };
84
- ```
85
-
86
- ### Performance
87
-
88
- ```typescript
89
- const performance = {
90
- noUnnecessaryRenders: true, // ✅ Prevent unnecessary re-renders
91
- memoizedExpensive: true, // ✅ Memoize expensive operations
92
- lazyLoading: true, // ✅ Lazy loading
93
- batchOperations: true, // ✅ Batch API calls
94
- optimizedImages: true, // ✅ Optimized images
95
- codesplitting: true, // ✅ Code splitting
96
- };
97
- ```
98
-
99
- ### Maintainability
100
-
101
- ```typescript
102
- const maintainability = {
103
- hasJSDoc: true, // ✅ Document key functions
104
- noMagicNumbers: true, // ✅ No magic numbers
105
- consistentNaming: true, // ✅ Consistent naming
106
- properComments: true, // ✅ Appropriate comments
107
- testable: true, // ✅ Testable structure
108
- };
109
- ```
110
-
111
- ### Security
112
-
113
- ```typescript
114
- const security = {
115
- noHardcodedSecrets: true, // ✅ No hardcoded secrets
116
- inputValidation: true, // ✅ Input validation
117
- xssPrevention: true, // ✅ XSS prevention
118
- csrfProtection: true, // ✅ CSRF protection
119
- sqlInjectionPrevention: true, // ✅ SQL Injection prevention
120
- };
121
- ```
122
-
123
- ## 5.2 Project Check
124
-
125
- ### Dependency Management
126
-
127
- ```typescript
128
- const dependencies = {
129
- noUnusedDeps: true, // ✅ No unused packages
130
- noDuplicateDeps: true, // ✅ No duplicate functionality packages
131
- upToDateDeps: true, // ✅ Keep up to date
132
- securePackages: true, // ✅ No security vulnerabilities
133
- };
134
- ```
135
-
136
- ### File Structure
137
-
138
- ```typescript
139
- const fileStructure = {
140
- consistentStructure: true, // ✅ Consistent folder structure
141
- noCircularDeps: true, // ✅ No circular references
142
- logicalGrouping: true, // ✅ Logical grouping
143
- clearNaming: true, // ✅ Clear file names
144
- };
145
- ```
146
-
147
- ### Bundle Optimization
148
-
149
- ```typescript
150
- const bundleOptimization = {
151
- treeShaking: true, // ✅ Tree shaking
152
- codeSplitting: true, // ✅ Code splitting
153
- lazyLoading: true, // ✅ Lazy loading
154
- minification: true, // ✅ Minification
155
- compression: true, // ✅ Compression (gzip/brotli)
156
- };
157
- ```
158
-
159
- ## Checklist Usage
160
-
161
- ### Before Writing Code
162
-
163
- ```text
164
- [ ] Clearly understand requirements
165
- [ ] Identify existing code patterns
166
- [ ] Confirm impact scope
167
- [ ] Establish test plan
168
- ```
169
-
170
- ### While Writing Code
171
-
172
- ```text
173
- [ ] Follow Single Responsibility Principle
174
- [ ] Keep function length ≤30 lines (max 50)
175
- [ ] Nesting depth ≤3 levels
176
- [ ] Extract magic numbers to constants
177
- [ ] Ensure type safety
178
- ```
179
-
180
- ### After Writing Code
181
-
182
- ```text
183
- [ ] Type check passes
184
- [ ] No linter warnings
185
- [ ] Tests written and passing
186
- [ ] Documentation complete
187
- [ ] Ready for code review
188
- ```
189
-
190
- ### Before Commit
191
-
192
- ```text
193
- [ ] Remove unnecessary code
194
- [ ] Remove console logs
195
- [ ] Clean up comments
196
- [ ] Apply formatting
197
- [ ] Write meaningful commit message
198
- ```
199
-
200
- ## Automated Verification Tools
201
-
202
- ### ESLint Configuration
203
-
204
- ```javascript
205
- // .eslintrc.js
206
- module.exports = {
207
- rules: {
208
- 'complexity': ['error', 10],
209
- 'max-depth': ['error', 3],
210
- 'max-lines-per-function': ['error', 50],
211
- 'max-params': ['error', 5],
212
- 'no-magic-numbers': ['warn', { ignore: [0, 1, -1] }],
213
- '@typescript-eslint/no-explicit-any': 'error',
214
- },
215
- };
216
- ```
217
-
218
- ### TypeScript Configuration
219
-
220
- ```json
221
- // tsconfig.json
222
- {
223
- "compilerOptions": {
224
- "strict": true,
225
- "noImplicitAny": true,
226
- "strictNullChecks": true,
227
- "noUnusedLocals": true,
228
- "noUnusedParameters": true
229
- }
230
- }
231
- ```
232
-
233
- ### Git Hooks (pre-commit)
234
-
235
- ```bash
236
- #!/bin/sh
237
- # .husky/pre-commit
238
-
239
- # Type check
240
- npm run type-check
241
-
242
- # Linting
243
- npm run lint
244
-
245
- # Tests
246
- npm run test
247
-
248
- # Format check
249
- npm run format:check
250
- ```
251
-
252
- ## Grade Criteria
253
-
254
- | Grade | Score | Description |
255
- |-------|-------|-------------|
256
- | A+ | 95-100 | Perfect code quality |
257
- | A | 90-94 | Excellent quality |
258
- | B+ | 85-89 | Good quality |
259
- | B | 80-84 | Improvement recommended |
260
- | C+ | 75-79 | Improvement needed |
261
- | C | 70-74 | Immediate improvement needed |
262
- | F | < 70 | Refactoring required |
263
-
264
- ## Quick Check (1 minute)
265
-
266
- ```text
267
- ✅ Only modified requested scope?
268
- ✅ No any types?
269
- ✅ Functions ≤30 lines? (max 50)
270
- ✅ Nesting ≤3 levels?
271
- ✅ Error handling implemented?
272
- ✅ Magic numbers extracted to constants?
273
- ✅ Tests written?
274
- ```
275
-
276
- All 7 Yes → Ready to deploy ✅
1
+ # Final Verification Checklist
2
+
3
+ ## 5.1 Enhanced Code Quality Check
4
+
5
+ ### Top Priority
6
+
7
+ ```typescript
8
+ const topPriority = {
9
+ obeysTheGoldenRule: true, // ✅ Only modify requested scope
10
+ preservesWorkingCode: true, // ✅ Preserve existing code
11
+ respectsExistingStyle: true, // ✅ Maintain existing style
12
+ };
13
+ ```
14
+
15
+ ### Type Safety
16
+
17
+ ```typescript
18
+ const typeSafety = {
19
+ noAnyType: true, // ✅ No any type usage
20
+ strictNullCheck: true, // ✅ null/undefined check
21
+ properTypeGuards: true, // ✅ Use type guards
22
+ genericTypesWhenNeeded: true, // ✅ Use generic types
23
+ };
24
+ ```
25
+
26
+ ### Code Structure & Complexity
27
+
28
+ ```typescript
29
+ const codeStructure = {
30
+ singleResponsibility: true, // ✅ Single Responsibility Principle
31
+ functionUnder30Lines: true, // ✅ Functions ≤30 lines (recommended), 50 allowed
32
+ maxNesting3Levels: true, // ✅ Max nesting 3 levels
33
+ cyclomaticComplexity: 10, // ✅ Cyclomatic complexity ≤ 10
34
+ cognitiveComplexity: 15, // ✅ Cognitive complexity ≤ 15
35
+ maxParameters: 5, // ✅ Max 5 parameters
36
+ componentUnder50Lines: true, // ✅ Component JSX ≤50 lines
37
+ };
38
+ ```
39
+
40
+ ### Halstead Metrics
41
+
42
+ ```typescript
43
+ const halsteadMetrics = {
44
+ vocabulary: true, // ✅ Operator/operand diversity
45
+ difficulty: true, // ✅ Code comprehension difficulty
46
+ effort: true, // ✅ Mental effort
47
+ lowComplexity: true, // ✅ Maintain low complexity
48
+ };
49
+ ```
50
+
51
+ ### Coupling & Cohesion
52
+
53
+ ```typescript
54
+ const couplingCohesion = {
55
+ looseCoupling: true, // ✅ Loose coupling (≤ 7 dependencies)
56
+ highCohesion: true, // ✅ High cohesion (group related functions only)
57
+ noCircularDeps: true, // ✅ No circular dependencies
58
+ dependencyInjection: true, // ✅ Dependency injection pattern
59
+ };
60
+ ```
61
+
62
+ ### Error Handling
63
+
64
+ ```typescript
65
+ const errorHandling = {
66
+ hasErrorHandling: true, // ✅ try-catch/error state
67
+ hasLoadingState: true, // ✅ Loading state
68
+ hasFallbackUI: true, // ✅ Fallback UI
69
+ properErrorMessages: true, // ✅ Clear error messages
70
+ errorBoundaries: true, // ✅ Use Error Boundaries
71
+ };
72
+ ```
73
+
74
+ ### Accessibility
75
+
76
+ ```typescript
77
+ const accessibility = {
78
+ hasAriaLabels: true, // ✅ ARIA labels
79
+ keyboardAccessible: true, // ✅ Keyboard accessibility
80
+ semanticHTML: true, // ✅ Semantic HTML
81
+ focusManagement: true, // ✅ Focus management
82
+ screenReaderFriendly: true, // ✅ Screen reader support
83
+ };
84
+ ```
85
+
86
+ ### Performance
87
+
88
+ ```typescript
89
+ const performance = {
90
+ noUnnecessaryRenders: true, // ✅ Prevent unnecessary re-renders
91
+ memoizedExpensive: true, // ✅ Memoize expensive operations
92
+ lazyLoading: true, // ✅ Lazy loading
93
+ batchOperations: true, // ✅ Batch API calls
94
+ optimizedImages: true, // ✅ Optimized images
95
+ codesplitting: true, // ✅ Code splitting
96
+ };
97
+ ```
98
+
99
+ ### Maintainability
100
+
101
+ ```typescript
102
+ const maintainability = {
103
+ hasJSDoc: true, // ✅ Document key functions
104
+ noMagicNumbers: true, // ✅ No magic numbers
105
+ consistentNaming: true, // ✅ Consistent naming
106
+ properComments: true, // ✅ Appropriate comments
107
+ testable: true, // ✅ Testable structure
108
+ };
109
+ ```
110
+
111
+ ### Security
112
+
113
+ ```typescript
114
+ const security = {
115
+ noHardcodedSecrets: true, // ✅ No hardcoded secrets
116
+ inputValidation: true, // ✅ Input validation
117
+ xssPrevention: true, // ✅ XSS prevention
118
+ csrfProtection: true, // ✅ CSRF protection
119
+ sqlInjectionPrevention: true, // ✅ SQL Injection prevention
120
+ };
121
+ ```
122
+
123
+ ## 5.2 Project Check
124
+
125
+ ### Dependency Management
126
+
127
+ ```typescript
128
+ const dependencies = {
129
+ noUnusedDeps: true, // ✅ No unused packages
130
+ noDuplicateDeps: true, // ✅ No duplicate functionality packages
131
+ upToDateDeps: true, // ✅ Keep up to date
132
+ securePackages: true, // ✅ No security vulnerabilities
133
+ };
134
+ ```
135
+
136
+ ### File Structure
137
+
138
+ ```typescript
139
+ const fileStructure = {
140
+ consistentStructure: true, // ✅ Consistent folder structure
141
+ noCircularDeps: true, // ✅ No circular references
142
+ logicalGrouping: true, // ✅ Logical grouping
143
+ clearNaming: true, // ✅ Clear file names
144
+ };
145
+ ```
146
+
147
+ ### Bundle Optimization
148
+
149
+ ```typescript
150
+ const bundleOptimization = {
151
+ treeShaking: true, // ✅ Tree shaking
152
+ codeSplitting: true, // ✅ Code splitting
153
+ lazyLoading: true, // ✅ Lazy loading
154
+ minification: true, // ✅ Minification
155
+ compression: true, // ✅ Compression (gzip/brotli)
156
+ };
157
+ ```
158
+
159
+ ## Checklist Usage
160
+
161
+ ### Before Writing Code
162
+
163
+ ```text
164
+ [ ] Clearly understand requirements
165
+ [ ] Identify existing code patterns
166
+ [ ] Confirm impact scope
167
+ [ ] Establish test plan
168
+ ```
169
+
170
+ ### While Writing Code
171
+
172
+ ```text
173
+ [ ] Follow Single Responsibility Principle
174
+ [ ] Keep function length ≤30 lines (max 50)
175
+ [ ] Nesting depth ≤3 levels
176
+ [ ] Extract magic numbers to constants
177
+ [ ] Ensure type safety
178
+ ```
179
+
180
+ ### After Writing Code
181
+
182
+ ```text
183
+ [ ] Type check passes
184
+ [ ] No linter warnings
185
+ [ ] Tests written and passing
186
+ [ ] Documentation complete
187
+ [ ] Ready for code review
188
+ ```
189
+
190
+ ### Before Commit
191
+
192
+ ```text
193
+ [ ] Remove unnecessary code
194
+ [ ] Remove console logs
195
+ [ ] Clean up comments
196
+ [ ] Apply formatting
197
+ [ ] Write meaningful commit message
198
+ ```
199
+
200
+ ## Automated Verification Tools
201
+
202
+ ### ESLint Configuration
203
+
204
+ ```javascript
205
+ // .eslintrc.js
206
+ module.exports = {
207
+ rules: {
208
+ 'complexity': ['error', 10],
209
+ 'max-depth': ['error', 3],
210
+ 'max-lines-per-function': ['error', 50],
211
+ 'max-params': ['error', 5],
212
+ 'no-magic-numbers': ['warn', { ignore: [0, 1, -1] }],
213
+ '@typescript-eslint/no-explicit-any': 'error',
214
+ },
215
+ };
216
+ ```
217
+
218
+ ### TypeScript Configuration
219
+
220
+ ```json
221
+ // tsconfig.json
222
+ {
223
+ "compilerOptions": {
224
+ "strict": true,
225
+ "noImplicitAny": true,
226
+ "strictNullChecks": true,
227
+ "noUnusedLocals": true,
228
+ "noUnusedParameters": true
229
+ }
230
+ }
231
+ ```
232
+
233
+ ### Git Hooks (pre-commit)
234
+
235
+ ```bash
236
+ #!/bin/sh
237
+ # .husky/pre-commit
238
+
239
+ # Type check
240
+ npm run type-check
241
+
242
+ # Linting
243
+ npm run lint
244
+
245
+ # Tests
246
+ npm run test
247
+
248
+ # Format check
249
+ npm run format:check
250
+ ```
251
+
252
+ ## Grade Criteria
253
+
254
+ | Grade | Score | Description |
255
+ |-------|-------|-------------|
256
+ | A+ | 95-100 | Perfect code quality |
257
+ | A | 90-94 | Excellent quality |
258
+ | B+ | 85-89 | Good quality |
259
+ | B | 80-84 | Improvement recommended |
260
+ | C+ | 75-79 | Improvement needed |
261
+ | C | 70-74 | Immediate improvement needed |
262
+ | F | < 70 | Refactoring required |
263
+
264
+ ## Quick Check (1 minute)
265
+
266
+ ```text
267
+ ✅ Only modified requested scope?
268
+ ✅ No any types?
269
+ ✅ Functions ≤30 lines? (max 50)
270
+ ✅ Nesting ≤3 levels?
271
+ ✅ Error handling implemented?
272
+ ✅ Magic numbers extracted to constants?
273
+ ✅ Tests written?
274
+ ```
275
+
276
+ All 7 Yes → Ready to deploy ✅