@su-record/vibe 2.7.16 → 2.7.18

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 (249) hide show
  1. package/.env.example +37 -37
  2. package/CLAUDE.md +153 -134
  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 -258
  54. package/commands/vibe.analyze.md +379 -379
  55. package/commands/vibe.review.md +607 -607
  56. package/commands/vibe.run.md +2124 -2124
  57. package/commands/vibe.spec.md +1195 -1195
  58. package/commands/vibe.spec.review.md +569 -569
  59. package/commands/vibe.utils.md +413 -413
  60. package/commands/vibe.verify.md +484 -484
  61. package/dist/cli/collaborator.js +52 -52
  62. package/dist/cli/commands/evolution.js +12 -12
  63. package/dist/cli/commands/info.js +51 -51
  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/commands/upgrade.d.ts +3 -3
  71. package/dist/cli/commands/upgrade.d.ts.map +1 -1
  72. package/dist/cli/commands/upgrade.js +24 -3
  73. package/dist/cli/commands/upgrade.js.map +1 -1
  74. package/dist/cli/detect.js +32 -32
  75. package/dist/cli/index.js +51 -51
  76. package/dist/cli/llm/claude-commands.js +16 -16
  77. package/dist/cli/llm/config.js +18 -18
  78. package/dist/cli/llm/gemini-commands.js +16 -16
  79. package/dist/cli/llm/gpt-commands.js +19 -19
  80. package/dist/cli/llm/help.js +21 -21
  81. package/dist/cli/postinstall/cursor-agents.js +32 -32
  82. package/dist/cli/postinstall/cursor-rules.js +83 -83
  83. package/dist/cli/postinstall/cursor-skills.js +743 -743
  84. package/dist/cli/setup/Provisioner.js +42 -42
  85. package/dist/infra/lib/DeepInit.js +24 -24
  86. package/dist/infra/lib/IterationTracker.js +11 -11
  87. package/dist/infra/lib/PythonParser.js +108 -108
  88. package/dist/infra/lib/ReviewRace.js +96 -96
  89. package/dist/infra/lib/SkillFrontmatter.js +28 -28
  90. package/dist/infra/lib/SkillQualityGate.js +9 -9
  91. package/dist/infra/lib/SkillRepository.js +159 -159
  92. package/dist/infra/lib/UltraQA.js +99 -99
  93. package/dist/infra/lib/autonomy/AuditStore.js +41 -41
  94. package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
  95. package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
  96. package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
  97. package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
  98. package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
  99. package/dist/infra/lib/embedding/VectorStore.js +22 -22
  100. package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
  101. package/dist/infra/lib/evolution/DescriptionOptimizer.js +21 -21
  102. package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
  103. package/dist/infra/lib/evolution/InsightStore.js +90 -90
  104. package/dist/infra/lib/evolution/RollbackManager.js +5 -5
  105. package/dist/infra/lib/evolution/SkillBenchmark.js +23 -23
  106. package/dist/infra/lib/evolution/SkillEvalRunner.js +50 -50
  107. package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
  108. package/dist/infra/lib/evolution/UsageTracker.js +28 -28
  109. package/dist/infra/lib/gemini/orchestration.js +5 -5
  110. package/dist/infra/lib/gpt/orchestration.js +4 -4
  111. package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
  112. package/dist/infra/lib/memory/MemorySearch.js +57 -57
  113. package/dist/infra/lib/memory/MemoryStorage.js +181 -181
  114. package/dist/infra/lib/memory/ObservationStore.js +28 -28
  115. package/dist/infra/lib/memory/ReflectionStore.js +30 -30
  116. package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
  117. package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
  118. package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
  119. package/dist/infra/lib/telemetry/SkillTelemetry.d.ts +52 -0
  120. package/dist/infra/lib/telemetry/SkillTelemetry.d.ts.map +1 -0
  121. package/dist/infra/lib/telemetry/SkillTelemetry.js +117 -0
  122. package/dist/infra/lib/telemetry/SkillTelemetry.js.map +1 -0
  123. package/dist/infra/lib/telemetry/SkillTelemetry.test.d.ts +2 -0
  124. package/dist/infra/lib/telemetry/SkillTelemetry.test.d.ts.map +1 -0
  125. package/dist/infra/lib/telemetry/SkillTelemetry.test.js +91 -0
  126. package/dist/infra/lib/telemetry/SkillTelemetry.test.js.map +1 -0
  127. package/dist/infra/orchestrator/AgentManager.js +12 -12
  128. package/dist/infra/orchestrator/AgentRegistry.js +65 -65
  129. package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
  130. package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
  131. package/dist/infra/orchestrator/parallelResearch.js +24 -24
  132. package/dist/test-helpers/index.d.ts +36 -0
  133. package/dist/test-helpers/index.d.ts.map +1 -0
  134. package/dist/test-helpers/index.js +85 -0
  135. package/dist/test-helpers/index.js.map +1 -0
  136. package/dist/test-helpers/index.test.d.ts +2 -0
  137. package/dist/test-helpers/index.test.d.ts.map +1 -0
  138. package/dist/test-helpers/index.test.js +92 -0
  139. package/dist/test-helpers/index.test.js.map +1 -0
  140. package/dist/tools/convention/analyzeComplexity.test.js +115 -115
  141. package/dist/tools/convention/validateCodeQuality.test.js +104 -104
  142. package/dist/tools/memory/createMemoryTimeline.js +10 -10
  143. package/dist/tools/memory/getMemoryGraph.js +12 -12
  144. package/dist/tools/memory/getSessionContext.js +9 -9
  145. package/dist/tools/memory/linkMemories.js +14 -14
  146. package/dist/tools/memory/listMemories.js +4 -4
  147. package/dist/tools/memory/recallMemory.js +4 -4
  148. package/dist/tools/memory/saveMemory.js +4 -4
  149. package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
  150. package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
  151. package/dist/tools/semantic/astGrep.test.js +6 -6
  152. package/dist/tools/spec/prdParser.test.js +171 -171
  153. package/dist/tools/spec/specGenerator.js +169 -169
  154. package/dist/tools/spec/traceabilityMatrix.js +64 -64
  155. package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
  156. package/hooks/gemini-hooks.json +73 -73
  157. package/hooks/hooks.json +137 -137
  158. package/hooks/scripts/code-check.js +77 -77
  159. package/hooks/scripts/context-save.js +212 -212
  160. package/hooks/scripts/hud-status.js +291 -291
  161. package/hooks/scripts/keyword-detector.js +214 -214
  162. package/hooks/scripts/llm-orchestrate.js +475 -475
  163. package/hooks/scripts/post-edit.js +32 -32
  164. package/hooks/scripts/pre-tool-guard.js +125 -125
  165. package/hooks/scripts/prompt-dispatcher.js +185 -185
  166. package/hooks/scripts/sentinel-guard.js +104 -104
  167. package/hooks/scripts/session-start.js +106 -106
  168. package/hooks/scripts/stop-notify.js +209 -209
  169. package/hooks/scripts/utils.js +100 -100
  170. package/languages/csharp-unity.md +515 -515
  171. package/languages/gdscript-godot.md +470 -470
  172. package/languages/ruby-rails.md +489 -489
  173. package/languages/typescript-angular.md +433 -433
  174. package/languages/typescript-astro.md +416 -416
  175. package/languages/typescript-electron.md +406 -406
  176. package/languages/typescript-nestjs.md +524 -524
  177. package/languages/typescript-svelte.md +407 -407
  178. package/languages/typescript-tauri.md +365 -365
  179. package/package.json +123 -121
  180. package/skills/agents-md/SKILL.md +120 -120
  181. package/skills/arch-guard/SKILL.md +180 -180
  182. package/skills/brand-assets/SKILL.md +146 -146
  183. package/skills/capability-loop/SKILL.md +167 -167
  184. package/skills/characterization-test/SKILL.md +206 -206
  185. package/skills/commerce-patterns/SKILL.md +63 -63
  186. package/skills/commit-push-pr/SKILL.md +75 -75
  187. package/skills/context7-usage/SKILL.md +105 -105
  188. package/skills/core-capabilities/SKILL.md +13 -13
  189. package/skills/e2e-commerce/SKILL.md +61 -61
  190. package/skills/exec-plan/SKILL.md +147 -147
  191. package/skills/frontend-design/SKILL.md +12 -12
  192. package/skills/git-worktree/SKILL.md +72 -72
  193. package/skills/handoff/SKILL.md +109 -109
  194. package/skills/parallel-research/SKILL.md +87 -87
  195. package/skills/priority-todos/SKILL.md +63 -63
  196. package/skills/seo-checklist/SKILL.md +57 -57
  197. package/skills/techdebt/SKILL.md +122 -122
  198. package/skills/tool-fallback/SKILL.md +103 -103
  199. package/skills/typescript-advanced-types/SKILL.md +66 -66
  200. package/skills/ui-ux-pro-max/SKILL.md +221 -221
  201. package/skills/vercel-react-best-practices/SKILL.md +59 -59
  202. package/skills/video-production/SKILL.md +51 -51
  203. package/vibe/config.json +29 -29
  204. package/vibe/constitution.md +227 -227
  205. package/vibe/rules/principles/communication-guide.md +98 -98
  206. package/vibe/rules/principles/development-philosophy.md +52 -52
  207. package/vibe/rules/principles/quick-start.md +102 -102
  208. package/vibe/rules/quality/bdd-contract-testing.md +393 -393
  209. package/vibe/rules/quality/checklist.md +276 -276
  210. package/vibe/rules/quality/performance.md +236 -236
  211. package/vibe/rules/quality/testing-strategy.md +440 -440
  212. package/vibe/rules/standards/anti-patterns.md +541 -541
  213. package/vibe/rules/standards/code-structure.md +291 -291
  214. package/vibe/rules/standards/complexity-metrics.md +313 -313
  215. package/vibe/rules/standards/git-workflow.md +237 -237
  216. package/vibe/rules/standards/naming-conventions.md +198 -198
  217. package/vibe/rules/standards/security.md +305 -305
  218. package/vibe/rules/writing/document-style.md +74 -74
  219. package/vibe/setup.sh +31 -31
  220. package/vibe/templates/constitution-template.md +252 -252
  221. package/vibe/templates/contract-backend-template.md +526 -526
  222. package/vibe/templates/contract-frontend-template.md +599 -599
  223. package/vibe/templates/feature-template.md +96 -96
  224. package/vibe/templates/spec-template.md +221 -221
  225. package/vibe/ui-ux-data/charts.csv +26 -26
  226. package/vibe/ui-ux-data/colors.csv +97 -97
  227. package/vibe/ui-ux-data/icons.csv +101 -101
  228. package/vibe/ui-ux-data/landing.csv +31 -31
  229. package/vibe/ui-ux-data/products.csv +96 -96
  230. package/vibe/ui-ux-data/react-performance.csv +45 -45
  231. package/vibe/ui-ux-data/stacks/astro.csv +54 -54
  232. package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
  233. package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
  234. package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
  235. package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
  236. package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
  237. package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
  238. package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
  239. package/vibe/ui-ux-data/stacks/react.csv +54 -54
  240. package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
  241. package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
  242. package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
  243. package/vibe/ui-ux-data/stacks/vue.csv +50 -50
  244. package/vibe/ui-ux-data/styles.csv +68 -68
  245. package/vibe/ui-ux-data/typography.csv +57 -57
  246. package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
  247. package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
  248. package/vibe/ui-ux-data/version.json +31 -31
  249. 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 ✅