pumuki-ast-hooks 5.3.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 (567) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1105 -0
  3. package/bin/__tests__/auto-fix-violations.spec.js +132 -0
  4. package/bin/__tests__/auto-restart-guards.spec.js +11 -0
  5. package/bin/__tests__/check-doc-drift.spec.js +11 -0
  6. package/bin/__tests__/check-version.spec.js +240 -0
  7. package/bin/__tests__/cli.spec.js +11 -0
  8. package/bin/__tests__/guard-auto-manager.spec.js +11 -0
  9. package/bin/__tests__/guard-supervisor.spec.js +11 -0
  10. package/bin/__tests__/hook-status.spec.js +11 -0
  11. package/bin/__tests__/install.spec.js +11 -0
  12. package/bin/__tests__/nightly-metrics-report.spec.js +94 -0
  13. package/bin/__tests__/plan-review.spec.js +11 -0
  14. package/bin/__tests__/predictive-hooks.spec.js +11 -0
  15. package/bin/__tests__/run-ast-adapter.spec.js +11 -0
  16. package/bin/__tests__/run-orchestrator.spec.js +11 -0
  17. package/bin/__tests__/run-playbook.spec.js +11 -0
  18. package/bin/__tests__/setup-eslint.spec.js +11 -0
  19. package/bin/__tests__/violations-api.spec.js +11 -0
  20. package/bin/__tests__/watch-hooks.spec.js +11 -0
  21. package/bin/ai-commit.sh +5 -0
  22. package/bin/audit +5 -0
  23. package/bin/audit-library.js +6 -0
  24. package/bin/auto-fix-violations.js +19 -0
  25. package/bin/auto-restart-guards.js +6 -0
  26. package/bin/check-doc-drift.js +6 -0
  27. package/bin/check-version.js +19 -0
  28. package/bin/cleanup-branches.sh +5 -0
  29. package/bin/cli.js +6 -0
  30. package/bin/demo-recording.sh +5 -0
  31. package/bin/demo-violations +5 -0
  32. package/bin/fix-enforcer +5 -0
  33. package/bin/fix-gitflow-enforcement.sh +5 -0
  34. package/bin/generate-progress-report.sh +5 -0
  35. package/bin/git-analyze-pairs.sh +5 -0
  36. package/bin/git-leave-branch-check.sh +5 -0
  37. package/bin/gitflow +5 -0
  38. package/bin/gitflow-shell-integration.sh +5 -0
  39. package/bin/guard-auto-manager.js +6 -0
  40. package/bin/guard-autostart.sh +5 -0
  41. package/bin/guard-env.sh +5 -0
  42. package/bin/guard-supervisor.js +6 -0
  43. package/bin/hook-status.js +6 -0
  44. package/bin/install-git-wrapper.sh +5 -0
  45. package/bin/install.js +6 -0
  46. package/bin/kill-mcp-zombies.sh +5 -0
  47. package/bin/nightly-metrics-report.js +8 -0
  48. package/bin/plan-review.js +6 -0
  49. package/bin/predictive-hooks.js +6 -0
  50. package/bin/pumuki-audit.js +6 -0
  51. package/bin/pumuki-init.js +19 -0
  52. package/bin/pumuki-mcp-server.js +13 -0
  53. package/bin/pumuki-mcp.js +6 -0
  54. package/bin/pumuki-rules.js +6 -0
  55. package/bin/request-no-verify-approval.sh +5 -0
  56. package/bin/run-ast-adapter.js +6 -0
  57. package/bin/run-intelligent-audit.sh +5 -0
  58. package/bin/run-orchestrator.js +6 -0
  59. package/bin/run-playbook.js +6 -0
  60. package/bin/session-loader.sh +5 -0
  61. package/bin/setup-eslint.js +6 -0
  62. package/bin/start-guards.sh +5 -0
  63. package/bin/sync-autonomous-orchestrator.sh +5 -0
  64. package/bin/sync-to-library.sh +5 -0
  65. package/bin/update-evidence.sh +5 -0
  66. package/bin/update-session-context.sh +5 -0
  67. package/bin/verify-no-verify.sh +5 -0
  68. package/bin/violations +5 -0
  69. package/bin/violations-api.js +6 -0
  70. package/bin/watch-hooks.js +6 -0
  71. package/docs/API_REFERENCE.md +161 -0
  72. package/docs/ARCHITECTURE.md +236 -0
  73. package/docs/ARCHITECTURE_DETAILED.md +499 -0
  74. package/docs/BRANCH_PROTECTION_GUIDE.md +236 -0
  75. package/docs/CODE_STANDARDS.md +440 -0
  76. package/docs/CONTRIBUTING.md +246 -0
  77. package/docs/DEPENDENCIES.md +541 -0
  78. package/docs/HOW_IT_WORKS.md +716 -0
  79. package/docs/INSTALLATION.md +784 -0
  80. package/docs/MCP_SERVERS.md +786 -0
  81. package/docs/TESTING.md +423 -0
  82. package/docs/USAGE.md +856 -0
  83. package/docs/images/ast_intelligence_01.png +0 -0
  84. package/docs/images/ast_intelligence_02.png +0 -0
  85. package/docs/images/ast_intelligence_03.png +0 -0
  86. package/docs/images/ast_intelligence_04.png +0 -0
  87. package/docs/images/ast_intelligence_05.png +0 -0
  88. package/hooks/getSkillRulesPath.ts +52 -0
  89. package/hooks/git-status-monitor.ts +160 -0
  90. package/hooks/index.js +5 -0
  91. package/hooks/notify-macos.ts +42 -0
  92. package/hooks/package.json +16 -0
  93. package/hooks/post-tool-use-tracker.sh +89 -0
  94. package/hooks/pre-tool-use-evidence-validator.ts +252 -0
  95. package/hooks/pre-tool-use-guard.ts +151 -0
  96. package/hooks/skill-activation-prompt.sh +8 -0
  97. package/hooks/skill-activation-prompt.ts +307 -0
  98. package/index.js +49 -0
  99. package/package.json +117 -0
  100. package/presentation/cli/audit.sh +24 -0
  101. package/presentation/cli/autonomous-status.sh +92 -0
  102. package/presentation/cli/categorize-violations.sh +179 -0
  103. package/presentation/cli/direct-audit-option2.sh +23 -0
  104. package/presentation/cli/direct-audit.sh +33 -0
  105. package/scripts/hooks-system/.AI_TOKEN_STATUS.txt +16 -0
  106. package/scripts/hooks-system/.audit-reports/auto-recovery.log +1 -0
  107. package/scripts/hooks-system/.audit-reports/install-wizard.log +4 -0
  108. package/scripts/hooks-system/.audit-reports/notifications.log +425 -0
  109. package/scripts/hooks-system/.audit-reports/token-monitor.log +1275 -0
  110. package/scripts/hooks-system/.audit_tmp/intelligent-report.json +44953 -0
  111. package/scripts/hooks-system/.audit_tmp/intelligent-report.txt +1338 -0
  112. package/scripts/hooks-system/.audit_tmp/severity-history.jsonl +1 -0
  113. package/scripts/hooks-system/.audit_tmp/token-usage.jsonl +1 -0
  114. package/scripts/hooks-system/.hook-system/config.json +8 -0
  115. package/scripts/hooks-system/application/CompositionRoot.js +325 -0
  116. package/scripts/hooks-system/application/__tests__/CompositionRoot.spec.js +84 -0
  117. package/scripts/hooks-system/application/commands/index.js +64 -0
  118. package/scripts/hooks-system/application/queries/index.js +60 -0
  119. package/scripts/hooks-system/application/services/AutonomousOrchestrator.js +130 -0
  120. package/scripts/hooks-system/application/services/ContextDetectionEngine.js +181 -0
  121. package/scripts/hooks-system/application/services/DynamicRulesLoader.js +182 -0
  122. package/scripts/hooks-system/application/services/GitFlowService.js +156 -0
  123. package/scripts/hooks-system/application/services/GitTreeState.js +140 -0
  124. package/scripts/hooks-system/application/services/HookSystemScheduler.js +77 -0
  125. package/scripts/hooks-system/application/services/IntelligentCommitAnalyzer.js +151 -0
  126. package/scripts/hooks-system/application/services/IntelligentGitTreeMonitor.js +118 -0
  127. package/scripts/hooks-system/application/services/PlatformAnalysisService.js +173 -0
  128. package/scripts/hooks-system/application/services/PlatformDetectionService.js +168 -0
  129. package/scripts/hooks-system/application/services/PlaybookRunner.js +39 -0
  130. package/scripts/hooks-system/application/services/PredictiveHookAdvisor.js +56 -0
  131. package/scripts/hooks-system/application/services/RealtimeGuardPlugin.js +62 -0
  132. package/scripts/hooks-system/application/services/RealtimeGuardService.js +374 -0
  133. package/scripts/hooks-system/application/services/SmartDirtyTreeAnalyzer.js +63 -0
  134. package/scripts/hooks-system/application/services/__tests__/AutonomousOrchestrator.spec.js +36 -0
  135. package/scripts/hooks-system/application/services/__tests__/ContextDetectionEngine.spec.js +33 -0
  136. package/scripts/hooks-system/application/services/__tests__/DynamicRulesLoader.spec.js +43 -0
  137. package/scripts/hooks-system/application/services/__tests__/GitTreeState.spec.js +163 -0
  138. package/scripts/hooks-system/application/services/__tests__/HookSystemScheduler.spec.js +207 -0
  139. package/scripts/hooks-system/application/services/__tests__/IntelligentCommitAnalyzer.spec.js +365 -0
  140. package/scripts/hooks-system/application/services/__tests__/IntelligentGitTreeMonitor.spec.js +188 -0
  141. package/scripts/hooks-system/application/services/__tests__/PlatformDetectionService.spec.js +28 -0
  142. package/scripts/hooks-system/application/services/__tests__/PlaybookRunner.spec.js +143 -0
  143. package/scripts/hooks-system/application/services/__tests__/PredictiveHookAdvisor.spec.js +181 -0
  144. package/scripts/hooks-system/application/services/__tests__/RealtimeGuardPlugin.spec.js +45 -0
  145. package/scripts/hooks-system/application/services/__tests__/RealtimeGuardService.critical.spec.js +401 -0
  146. package/scripts/hooks-system/application/services/commit/CommitMessageGenerator.js +34 -0
  147. package/scripts/hooks-system/application/services/commit/FeatureDetector.js +101 -0
  148. package/scripts/hooks-system/application/services/evidence/EvidenceContextManager.js +163 -0
  149. package/scripts/hooks-system/application/services/evidence/__tests__/EvidenceContextManager.spec.js +98 -0
  150. package/scripts/hooks-system/application/services/guard/GuardAutoManagerService.js +169 -0
  151. package/scripts/hooks-system/application/services/guard/GuardConfig.js +15 -0
  152. package/scripts/hooks-system/application/services/guard/GuardEventLogger.js +70 -0
  153. package/scripts/hooks-system/application/services/guard/GuardHealthReminder.js +54 -0
  154. package/scripts/hooks-system/application/services/guard/GuardHeartbeatMonitor.js +94 -0
  155. package/scripts/hooks-system/application/services/guard/GuardLockManager.js +72 -0
  156. package/scripts/hooks-system/application/services/guard/GuardMonitorLoop.js +29 -0
  157. package/scripts/hooks-system/application/services/guard/GuardNotificationHandler.js +36 -0
  158. package/scripts/hooks-system/application/services/guard/GuardProcessManager.js +113 -0
  159. package/scripts/hooks-system/application/services/guard/GuardRecoveryService.js +90 -0
  160. package/scripts/hooks-system/application/services/guard/__tests__/GuardAutoManagerService.spec.js +77 -0
  161. package/scripts/hooks-system/application/services/installation/ConfigurationGeneratorService.js +123 -0
  162. package/scripts/hooks-system/application/services/installation/FileSystemInstallerService.js +112 -0
  163. package/scripts/hooks-system/application/services/installation/GitEnvironmentService.js +166 -0
  164. package/scripts/hooks-system/application/services/installation/HookInstaller.js +197 -0
  165. package/scripts/hooks-system/application/services/installation/IdeIntegrationService.js +37 -0
  166. package/scripts/hooks-system/application/services/installation/InstallService.js +130 -0
  167. package/scripts/hooks-system/application/services/installation/McpConfigurator.js +172 -0
  168. package/scripts/hooks-system/application/services/installation/PlatformDetectorService.js +36 -0
  169. package/scripts/hooks-system/application/services/installation/VSCodeTaskConfigurator.js +97 -0
  170. package/scripts/hooks-system/application/services/logging/UnifiedLogger.js +142 -0
  171. package/scripts/hooks-system/application/services/logging/__tests__/UnifiedLogger.spec.js +66 -0
  172. package/scripts/hooks-system/application/services/monitoring/ActivityMonitor.js +80 -0
  173. package/scripts/hooks-system/application/services/monitoring/AstMonitor.js +140 -0
  174. package/scripts/hooks-system/application/services/monitoring/DevDocsMonitor.js +85 -0
  175. package/scripts/hooks-system/application/services/monitoring/EvidenceMonitor.js +103 -0
  176. package/scripts/hooks-system/application/services/monitoring/EvidenceMonitorService.js +162 -0
  177. package/scripts/hooks-system/application/services/monitoring/GitTreeMonitor.js +123 -0
  178. package/scripts/hooks-system/application/services/monitoring/GitTreeMonitorService.js +114 -0
  179. package/scripts/hooks-system/application/services/monitoring/HealthCheckProviders.js +153 -0
  180. package/scripts/hooks-system/application/services/monitoring/HealthCheckService.js +118 -0
  181. package/scripts/hooks-system/application/services/monitoring/HeartbeatMonitorService.js +61 -0
  182. package/scripts/hooks-system/application/services/monitoring/TokenMonitor.js +60 -0
  183. package/scripts/hooks-system/application/services/monitoring/__tests__/EvidenceMonitorService.spec.js +107 -0
  184. package/scripts/hooks-system/application/services/monitoring/__tests__/GitTreeMonitorService.spec.js +27 -0
  185. package/scripts/hooks-system/application/services/monitoring/__tests__/HealthCheckProviders.spec.js +68 -0
  186. package/scripts/hooks-system/application/services/monitoring/__tests__/HealthCheckService.spec.js +69 -0
  187. package/scripts/hooks-system/application/services/monitoring/__tests__/HeartbeatMonitorService.spec.js +35 -0
  188. package/scripts/hooks-system/application/services/notification/MacNotificationSender.js +106 -0
  189. package/scripts/hooks-system/application/services/notification/NotificationCenterService.js +221 -0
  190. package/scripts/hooks-system/application/services/notification/NotificationDispatcher.js +42 -0
  191. package/scripts/hooks-system/application/services/notification/__tests__/NotificationCenterService.spec.js +40 -0
  192. package/scripts/hooks-system/application/services/notification/components/NotificationCooldownManager.js +62 -0
  193. package/scripts/hooks-system/application/services/notification/components/NotificationDeduplicator.js +67 -0
  194. package/scripts/hooks-system/application/services/notification/components/NotificationQueue.js +36 -0
  195. package/scripts/hooks-system/application/services/notification/components/NotificationRetryExecutor.js +58 -0
  196. package/scripts/hooks-system/application/services/platform/PlatformHeuristics.js +144 -0
  197. package/scripts/hooks-system/application/services/recovery/AutoRecoveryManager.js +137 -0
  198. package/scripts/hooks-system/application/services/recovery/__tests__/AutoRecoveryManager.spec.js +62 -0
  199. package/scripts/hooks-system/application/services/smart-commit/CommitMessageSuggester.js +97 -0
  200. package/scripts/hooks-system/application/services/smart-commit/FileContextGrouper.js +114 -0
  201. package/scripts/hooks-system/application/services/smart-commit/SmartCommitSummaryBuilder.js +53 -0
  202. package/scripts/hooks-system/application/services/token/CursorTokenService.js +44 -0
  203. package/scripts/hooks-system/application/services/token/TokenMetricsService.js +109 -0
  204. package/scripts/hooks-system/application/services/token/TokenMonitorService.js +160 -0
  205. package/scripts/hooks-system/application/services/token/TokenStatusReporter.js +56 -0
  206. package/scripts/hooks-system/application/services/token/__tests__/CursorTokenService.spec.js +69 -0
  207. package/scripts/hooks-system/application/services/token/__tests__/TokenMonitorService.spec.js +185 -0
  208. package/scripts/hooks-system/application/state/HookSystemStateMachine.js +59 -0
  209. package/scripts/hooks-system/application/state/__tests__/HookSystemStateMachine.spec.js +115 -0
  210. package/scripts/hooks-system/application/use-cases/AnalyzeCodebaseUseCase.js +54 -0
  211. package/scripts/hooks-system/application/use-cases/AnalyzeStagedFilesUseCase.js +61 -0
  212. package/scripts/hooks-system/application/use-cases/AutoExecuteAIStartUseCase.js +123 -0
  213. package/scripts/hooks-system/application/use-cases/BlockCommitUseCase.js +90 -0
  214. package/scripts/hooks-system/application/use-cases/GenerateAuditReportUseCase.js +184 -0
  215. package/scripts/hooks-system/application/use-cases/__tests__/AnalyzeCodebaseUseCase.spec.js +156 -0
  216. package/scripts/hooks-system/application/use-cases/__tests__/AnalyzeStagedFilesUseCase.spec.js +146 -0
  217. package/scripts/hooks-system/application/use-cases/__tests__/AutoExecuteAIStartUseCase.spec.js +89 -0
  218. package/scripts/hooks-system/application/use-cases/__tests__/BlockCommitUseCase.spec.js +171 -0
  219. package/scripts/hooks-system/application/use-cases/__tests__/GenerateAuditReportUseCase.spec.js +207 -0
  220. package/scripts/hooks-system/bin/__tests__/auto-fix-violations.spec.js +132 -0
  221. package/scripts/hooks-system/bin/__tests__/auto-restart-guards.spec.js +11 -0
  222. package/scripts/hooks-system/bin/__tests__/check-doc-drift.spec.js +11 -0
  223. package/scripts/hooks-system/bin/__tests__/check-version.spec.js +240 -0
  224. package/scripts/hooks-system/bin/__tests__/cli.spec.js +11 -0
  225. package/scripts/hooks-system/bin/__tests__/guard-auto-manager.spec.js +11 -0
  226. package/scripts/hooks-system/bin/__tests__/guard-supervisor.spec.js +11 -0
  227. package/scripts/hooks-system/bin/__tests__/hook-status.spec.js +11 -0
  228. package/scripts/hooks-system/bin/__tests__/install.spec.js +11 -0
  229. package/scripts/hooks-system/bin/__tests__/nightly-metrics-report.spec.js +94 -0
  230. package/scripts/hooks-system/bin/__tests__/plan-review.spec.js +11 -0
  231. package/scripts/hooks-system/bin/__tests__/predictive-hooks.spec.js +11 -0
  232. package/scripts/hooks-system/bin/__tests__/run-ast-adapter.spec.js +11 -0
  233. package/scripts/hooks-system/bin/__tests__/run-orchestrator.spec.js +11 -0
  234. package/scripts/hooks-system/bin/__tests__/run-playbook.spec.js +11 -0
  235. package/scripts/hooks-system/bin/__tests__/setup-eslint.spec.js +11 -0
  236. package/scripts/hooks-system/bin/__tests__/violations-api.spec.js +11 -0
  237. package/scripts/hooks-system/bin/__tests__/watch-hooks.spec.js +11 -0
  238. package/scripts/hooks-system/bin/ai-commit.sh +63 -0
  239. package/scripts/hooks-system/bin/audit +463 -0
  240. package/scripts/hooks-system/bin/audit-library.js +54 -0
  241. package/scripts/hooks-system/bin/auto-fix-violations.js +130 -0
  242. package/scripts/hooks-system/bin/auto-restart-guards.js +93 -0
  243. package/scripts/hooks-system/bin/check-doc-drift.js +35 -0
  244. package/scripts/hooks-system/bin/check-version.js +201 -0
  245. package/scripts/hooks-system/bin/cleanup-branches.sh +106 -0
  246. package/scripts/hooks-system/bin/cli.js +208 -0
  247. package/scripts/hooks-system/bin/demo-recording.sh +57 -0
  248. package/scripts/hooks-system/bin/demo-violations +44 -0
  249. package/scripts/hooks-system/bin/fix-enforcer +27 -0
  250. package/scripts/hooks-system/bin/fix-gitflow-enforcement.sh +68 -0
  251. package/scripts/hooks-system/bin/generate-progress-report.sh +129 -0
  252. package/scripts/hooks-system/bin/git-analyze-pairs.sh +0 -0
  253. package/scripts/hooks-system/bin/git-leave-branch-check.sh +73 -0
  254. package/scripts/hooks-system/bin/gitflow +17 -0
  255. package/scripts/hooks-system/bin/gitflow-shell-integration.sh +64 -0
  256. package/scripts/hooks-system/bin/guard-auto-manager.js +44 -0
  257. package/scripts/hooks-system/bin/guard-autostart.sh +158 -0
  258. package/scripts/hooks-system/bin/guard-env.sh +40 -0
  259. package/scripts/hooks-system/bin/guard-supervisor.js +516 -0
  260. package/scripts/hooks-system/bin/hook-status.js +41 -0
  261. package/scripts/hooks-system/bin/install-git-wrapper.sh +53 -0
  262. package/scripts/hooks-system/bin/install.js +10 -0
  263. package/scripts/hooks-system/bin/kill-mcp-zombies.sh +48 -0
  264. package/scripts/hooks-system/bin/nightly-metrics-report.js +138 -0
  265. package/scripts/hooks-system/bin/plan-review.js +31 -0
  266. package/scripts/hooks-system/bin/predictive-hooks.js +18 -0
  267. package/scripts/hooks-system/bin/pumuki-audit.js +113 -0
  268. package/scripts/hooks-system/bin/pumuki-init.js +104 -0
  269. package/scripts/hooks-system/bin/pumuki-mcp.js +74 -0
  270. package/scripts/hooks-system/bin/pumuki-rules.js +74 -0
  271. package/scripts/hooks-system/bin/request-no-verify-approval.sh +116 -0
  272. package/scripts/hooks-system/bin/run-ast-adapter.js +86 -0
  273. package/scripts/hooks-system/bin/run-intelligent-audit.sh +67 -0
  274. package/scripts/hooks-system/bin/run-orchestrator.js +27 -0
  275. package/scripts/hooks-system/bin/run-playbook.js +23 -0
  276. package/scripts/hooks-system/bin/session-loader.sh +264 -0
  277. package/scripts/hooks-system/bin/setup-eslint.js +110 -0
  278. package/scripts/hooks-system/bin/start-guards.sh +190 -0
  279. package/scripts/hooks-system/bin/sync-autonomous-orchestrator.sh +32 -0
  280. package/scripts/hooks-system/bin/sync-to-library.sh +46 -0
  281. package/scripts/hooks-system/bin/update-evidence.sh +1167 -0
  282. package/scripts/hooks-system/bin/update-session-context.sh +261 -0
  283. package/scripts/hooks-system/bin/verify-no-verify.sh +68 -0
  284. package/scripts/hooks-system/bin/violations +20 -0
  285. package/scripts/hooks-system/bin/violations-api.js +345 -0
  286. package/scripts/hooks-system/bin/watch-hooks.js +20 -0
  287. package/scripts/hooks-system/config/project.config.json +36 -0
  288. package/scripts/hooks-system/config/state-map.json +12 -0
  289. package/scripts/hooks-system/domain/entities/AuditResult.js +139 -0
  290. package/scripts/hooks-system/domain/entities/Finding.js +116 -0
  291. package/scripts/hooks-system/domain/entities/SeverityConfig.js +73 -0
  292. package/scripts/hooks-system/domain/entities/SeverityConfig.ts +90 -0
  293. package/scripts/hooks-system/domain/entities/__tests__/AuditResult.spec.js +450 -0
  294. package/scripts/hooks-system/domain/entities/__tests__/Finding.spec.js +335 -0
  295. package/scripts/hooks-system/domain/entities/__tests__/SeverityConfig.spec.js +240 -0
  296. package/scripts/hooks-system/domain/entities/__tests__/entities.spec.js +29 -0
  297. package/scripts/hooks-system/domain/errors/__tests__/DomainErrors.spec.js +59 -0
  298. package/scripts/hooks-system/domain/errors/index.js +169 -0
  299. package/scripts/hooks-system/domain/events/__tests__/DomainEvents.spec.js +60 -0
  300. package/scripts/hooks-system/domain/events/index.js +121 -0
  301. package/scripts/hooks-system/domain/ports/IAstPort.js +67 -0
  302. package/scripts/hooks-system/domain/ports/IEvidencePort.js +86 -0
  303. package/scripts/hooks-system/domain/ports/IGitCommandPort.js +110 -0
  304. package/scripts/hooks-system/domain/ports/IGitPort.js +114 -0
  305. package/scripts/hooks-system/domain/ports/IGitQueryPort.js +93 -0
  306. package/scripts/hooks-system/domain/ports/INotificationPort.js +35 -0
  307. package/scripts/hooks-system/domain/ports/__tests__/ports.spec.js +36 -0
  308. package/scripts/hooks-system/domain/ports/index.js +14 -0
  309. package/scripts/hooks-system/domain/repositories/ICursorTokenRepository.js +13 -0
  310. package/scripts/hooks-system/domain/repositories/IFindingsRepository.js +30 -0
  311. package/scripts/hooks-system/domain/repositories/__tests__/IFindingsRepository.spec.js +18 -0
  312. package/scripts/hooks-system/domain/rules/CommitBlockingRules.js +142 -0
  313. package/scripts/hooks-system/domain/rules/__tests__/CommitBlockingRules.spec.js +18 -0
  314. package/scripts/hooks-system/domain/services/AuditAnalyzer.js +103 -0
  315. package/scripts/hooks-system/domain/services/AuditFilter.js +26 -0
  316. package/scripts/hooks-system/domain/services/AuditResultSerializer.js +35 -0
  317. package/scripts/hooks-system/domain/services/AuditScorer.js +38 -0
  318. package/scripts/hooks-system/domain/values/Severity.js +93 -0
  319. package/scripts/hooks-system/index.js +49 -0
  320. package/scripts/hooks-system/infrastructure/adapters/AstAnalyzerAdapter.js +150 -0
  321. package/scripts/hooks-system/infrastructure/adapters/FileEvidenceAdapter.js +140 -0
  322. package/scripts/hooks-system/infrastructure/adapters/GitCliAdapter.js +16 -0
  323. package/scripts/hooks-system/infrastructure/adapters/GitCommandAdapter.js +68 -0
  324. package/scripts/hooks-system/infrastructure/adapters/GitHubCliAdapter.js +85 -0
  325. package/scripts/hooks-system/infrastructure/adapters/GitQueryAdapter.js +58 -0
  326. package/scripts/hooks-system/infrastructure/adapters/LegacyAnalyzerAdapter.js +61 -0
  327. package/scripts/hooks-system/infrastructure/adapters/MacOSNotificationAdapter.js +99 -0
  328. package/scripts/hooks-system/infrastructure/adapters/__tests__/AstAnalyzerAdapter.spec.js +32 -0
  329. package/scripts/hooks-system/infrastructure/adapters/__tests__/FileEvidenceAdapter.spec.js +31 -0
  330. package/scripts/hooks-system/infrastructure/adapters/__tests__/GitCliAdapter.spec.js +39 -0
  331. package/scripts/hooks-system/infrastructure/adapters/__tests__/MacOSNotificationAdapter.spec.js +33 -0
  332. package/scripts/hooks-system/infrastructure/adapters/git/GitCommandRunner.js +78 -0
  333. package/scripts/hooks-system/infrastructure/adapters/git/GitCommandService.js +67 -0
  334. package/scripts/hooks-system/infrastructure/adapters/git/GitQueryService.js +50 -0
  335. package/scripts/hooks-system/infrastructure/adapters/index.js +14 -0
  336. package/scripts/hooks-system/infrastructure/ast/README.md +198 -0
  337. package/scripts/hooks-system/infrastructure/ast/__tests__/ast-core.spec.js +160 -0
  338. package/scripts/hooks-system/infrastructure/ast/__tests__/ast-intelligence.spec.js +20 -0
  339. package/scripts/hooks-system/infrastructure/ast/android/__tests__/ast-android.spec.js +33 -0
  340. package/scripts/hooks-system/infrastructure/ast/android/__tests__/clean-architecture-analyzer.spec.js +96 -0
  341. package/scripts/hooks-system/infrastructure/ast/android/__tests__/ddd-analyzer.spec.js +113 -0
  342. package/scripts/hooks-system/infrastructure/ast/android/__tests__/detekt-runner.spec.js +36 -0
  343. package/scripts/hooks-system/infrastructure/ast/android/__tests__/feature-first-analyzer.spec.js +80 -0
  344. package/scripts/hooks-system/infrastructure/ast/android/__tests__/native-bridge.spec.js +31 -0
  345. package/scripts/hooks-system/infrastructure/ast/android/analyzers/AndroidASTIntelligentAnalyzer.js +15 -0
  346. package/scripts/hooks-system/infrastructure/ast/android/analyzers/AndroidASTParser.js +157 -0
  347. package/scripts/hooks-system/infrastructure/ast/android/analyzers/AndroidAnalysisOrchestrator.js +164 -0
  348. package/scripts/hooks-system/infrastructure/ast/android/analyzers/AndroidArchitectureDetector.js +334 -0
  349. package/scripts/hooks-system/infrastructure/ast/android/analyzers/AndroidClassAnalyzer.js +162 -0
  350. package/scripts/hooks-system/infrastructure/ast/android/analyzers/AndroidForbiddenLiteralsAnalyzer.js +261 -0
  351. package/scripts/hooks-system/infrastructure/ast/android/analyzers/AndroidSOLIDAnalyzer.js +287 -0
  352. package/scripts/hooks-system/infrastructure/ast/android/analyzers/__tests__/AndroidForbiddenLiteralsAnalyzer.spec.js +58 -0
  353. package/scripts/hooks-system/infrastructure/ast/android/analyzers/__tests__/AndroidSOLIDAnalyzer.spec.js +84 -0
  354. package/scripts/hooks-system/infrastructure/ast/android/ast-android.js +1785 -0
  355. package/scripts/hooks-system/infrastructure/ast/android/clean-architecture-analyzer.js +115 -0
  356. package/scripts/hooks-system/infrastructure/ast/android/ddd-analyzer.js +70 -0
  357. package/scripts/hooks-system/infrastructure/ast/android/detekt-runner.js +81 -0
  358. package/scripts/hooks-system/infrastructure/ast/android/feature-first-analyzer.js +53 -0
  359. package/scripts/hooks-system/infrastructure/ast/android/native-bridge.js +119 -0
  360. package/scripts/hooks-system/infrastructure/ast/archive/README.md +18 -0
  361. package/scripts/hooks-system/infrastructure/ast/archive/ast-intelligence.ts +276 -0
  362. package/scripts/hooks-system/infrastructure/ast/archive/ios-rules.js +329 -0
  363. package/scripts/hooks-system/infrastructure/ast/archive/kotlin-analyzer.js +332 -0
  364. package/scripts/hooks-system/infrastructure/ast/archive/kotlin-parser.js +303 -0
  365. package/scripts/hooks-system/infrastructure/ast/archive/swift-analyzer.js +390 -0
  366. package/scripts/hooks-system/infrastructure/ast/ast-core.js +594 -0
  367. package/scripts/hooks-system/infrastructure/ast/ast-intelligence.js +617 -0
  368. package/scripts/hooks-system/infrastructure/ast/backend/__tests__/ast-backend.spec.js +20 -0
  369. package/scripts/hooks-system/infrastructure/ast/backend/__tests__/clean-architecture-analyzer.spec.js +151 -0
  370. package/scripts/hooks-system/infrastructure/ast/backend/__tests__/ddd-analyzer.spec.js +124 -0
  371. package/scripts/hooks-system/infrastructure/ast/backend/__tests__/feature-first-analyzer.spec.js +128 -0
  372. package/scripts/hooks-system/infrastructure/ast/backend/__tests__/forbidden-literals-analyzer.spec.js +95 -0
  373. package/scripts/hooks-system/infrastructure/ast/backend/__tests__/nestjs-patterns-analyzer.spec.js +59 -0
  374. package/scripts/hooks-system/infrastructure/ast/backend/__tests__/solid-analyzer.spec.js +114 -0
  375. package/scripts/hooks-system/infrastructure/ast/backend/analyzers/BackendArchitectureDetector.js +141 -0
  376. package/scripts/hooks-system/infrastructure/ast/backend/analyzers/BackendPatternDetector.js +23 -0
  377. package/scripts/hooks-system/infrastructure/ast/backend/analyzers/__tests__/BackendArchitectureDetector.spec.js +239 -0
  378. package/scripts/hooks-system/infrastructure/ast/backend/analyzers/__tests__/BackendPatternDetector.spec.js +58 -0
  379. package/scripts/hooks-system/infrastructure/ast/backend/analyzers/detectors/CQRSDetector.js +41 -0
  380. package/scripts/hooks-system/infrastructure/ast/backend/analyzers/detectors/CleanArchitectureDetector.js +52 -0
  381. package/scripts/hooks-system/infrastructure/ast/backend/analyzers/detectors/FeatureFirstCleanDetector.js +74 -0
  382. package/scripts/hooks-system/infrastructure/ast/backend/analyzers/detectors/LayeredArchitectureDetector.js +25 -0
  383. package/scripts/hooks-system/infrastructure/ast/backend/analyzers/detectors/MVCDetector.js +32 -0
  384. package/scripts/hooks-system/infrastructure/ast/backend/analyzers/detectors/OnionArchitectureDetector.js +32 -0
  385. package/scripts/hooks-system/infrastructure/ast/backend/ast-backend-clean.js +44 -0
  386. package/scripts/hooks-system/infrastructure/ast/backend/ast-backend.js +2048 -0
  387. package/scripts/hooks-system/infrastructure/ast/backend/clean-architecture-analyzer.js +142 -0
  388. package/scripts/hooks-system/infrastructure/ast/backend/ddd-analyzer.js +256 -0
  389. package/scripts/hooks-system/infrastructure/ast/backend/feature-first-analyzer.js +70 -0
  390. package/scripts/hooks-system/infrastructure/ast/backend/forbidden-literals-analyzer.js +236 -0
  391. package/scripts/hooks-system/infrastructure/ast/backend/nestjs-patterns-analyzer.js +11 -0
  392. package/scripts/hooks-system/infrastructure/ast/backend/solid-analyzer.js +392 -0
  393. package/scripts/hooks-system/infrastructure/ast/common/BDDTDDWorkflowRules.js +52 -0
  394. package/scripts/hooks-system/infrastructure/ast/common/__tests__/BDDTDDWorkflowRules.spec.js +133 -0
  395. package/scripts/hooks-system/infrastructure/ast/common/__tests__/ast-common.spec.js +20 -0
  396. package/scripts/hooks-system/infrastructure/ast/common/__tests__/documentation-analyzer.spec.js +120 -0
  397. package/scripts/hooks-system/infrastructure/ast/common/__tests__/images-backend-analyzer.spec.js +123 -0
  398. package/scripts/hooks-system/infrastructure/ast/common/__tests__/monorepo-health-analyzer.spec.js +118 -0
  399. package/scripts/hooks-system/infrastructure/ast/common/__tests__/network-resilience-analyzer.spec.js +180 -0
  400. package/scripts/hooks-system/infrastructure/ast/common/__tests__/offline-backend-analyzer.spec.js +111 -0
  401. package/scripts/hooks-system/infrastructure/ast/common/__tests__/push-backend-analyzer.spec.js +124 -0
  402. package/scripts/hooks-system/infrastructure/ast/common/ast-common.js +345 -0
  403. package/scripts/hooks-system/infrastructure/ast/common/documentation-analyzer.js +217 -0
  404. package/scripts/hooks-system/infrastructure/ast/common/images-backend-analyzer.js +36 -0
  405. package/scripts/hooks-system/infrastructure/ast/common/monorepo-health-analyzer.js +452 -0
  406. package/scripts/hooks-system/infrastructure/ast/common/network-resilience-analyzer.js +178 -0
  407. package/scripts/hooks-system/infrastructure/ast/common/offline-backend-analyzer.js +53 -0
  408. package/scripts/hooks-system/infrastructure/ast/common/push-backend-analyzer.js +42 -0
  409. package/scripts/hooks-system/infrastructure/ast/common/rules/BDDRules.js +87 -0
  410. package/scripts/hooks-system/infrastructure/ast/common/rules/ImplementationRules.js +83 -0
  411. package/scripts/hooks-system/infrastructure/ast/common/rules/TDDRules.js +109 -0
  412. package/scripts/hooks-system/infrastructure/ast/common/rules/WorkflowRules.js +137 -0
  413. package/scripts/hooks-system/infrastructure/ast/frontend/__tests__/ast-frontend.spec.js +20 -0
  414. package/scripts/hooks-system/infrastructure/ast/frontend/analyzers/FrontendArchitectureDetector.js +289 -0
  415. package/scripts/hooks-system/infrastructure/ast/frontend/analyzers/FrontendForbiddenLiteralsAnalyzer.js +257 -0
  416. package/scripts/hooks-system/infrastructure/ast/frontend/analyzers/FrontendSOLIDAnalyzer.js +274 -0
  417. package/scripts/hooks-system/infrastructure/ast/frontend/analyzers/__tests__/FrontendArchitectureDetector.spec.js +151 -0
  418. package/scripts/hooks-system/infrastructure/ast/frontend/analyzers/__tests__/FrontendForbiddenLiteralsAnalyzer.spec.js +20 -0
  419. package/scripts/hooks-system/infrastructure/ast/frontend/analyzers/__tests__/FrontendSOLIDAnalyzer.spec.js +108 -0
  420. package/scripts/hooks-system/infrastructure/ast/frontend/ast-frontend-clean.js +42 -0
  421. package/scripts/hooks-system/infrastructure/ast/frontend/ast-frontend.js +2094 -0
  422. package/scripts/hooks-system/infrastructure/ast/frontend/clean-architecture-analyzer.js +88 -0
  423. package/scripts/hooks-system/infrastructure/ast/frontend/ddd-analyzer.js +94 -0
  424. package/scripts/hooks-system/infrastructure/ast/frontend/feature-first-analyzer.js +51 -0
  425. package/scripts/hooks-system/infrastructure/ast/ios/__tests__/ast-ios.spec.js +40 -0
  426. package/scripts/hooks-system/infrastructure/ast/ios/analyzers/__tests__/iOSArchitectureDetector.spec.js +20 -0
  427. package/scripts/hooks-system/infrastructure/ast/ios/analyzers/__tests__/iOSArchitectureRules.spec.js +61 -0
  428. package/scripts/hooks-system/infrastructure/ast/ios/analyzers/__tests__/iOSCICDRules.spec.js +10 -0
  429. package/scripts/hooks-system/infrastructure/ast/ios/analyzers/__tests__/iOSEnterpriseAnalyzer.spec.js +36 -0
  430. package/scripts/hooks-system/infrastructure/ast/ios/analyzers/__tests__/iOSForbiddenLiteralsAnalyzer.spec.js +64 -0
  431. package/scripts/hooks-system/infrastructure/ast/ios/analyzers/__tests__/iOSNetworkingAdvancedRules.spec.js +10 -0
  432. package/scripts/hooks-system/infrastructure/ast/ios/analyzers/__tests__/iOSPerformanceRules.spec.js +34 -0
  433. package/scripts/hooks-system/infrastructure/ast/ios/analyzers/__tests__/iOSSPMRules.spec.js +10 -0
  434. package/scripts/hooks-system/infrastructure/ast/ios/analyzers/__tests__/iOSSwiftUIAdvancedRules.spec.js +10 -0
  435. package/scripts/hooks-system/infrastructure/ast/ios/analyzers/iOSASTIntelligentAnalyzer.js +894 -0
  436. package/scripts/hooks-system/infrastructure/ast/ios/analyzers/iOSArchitectureDetector.js +445 -0
  437. package/scripts/hooks-system/infrastructure/ast/ios/analyzers/iOSArchitectureRules.js +700 -0
  438. package/scripts/hooks-system/infrastructure/ast/ios/analyzers/iOSCICDRules.js +431 -0
  439. package/scripts/hooks-system/infrastructure/ast/ios/analyzers/iOSEnterpriseAnalyzer.js +580 -0
  440. package/scripts/hooks-system/infrastructure/ast/ios/analyzers/iOSForbiddenLiteralsAnalyzer.js +261 -0
  441. package/scripts/hooks-system/infrastructure/ast/ios/analyzers/iOSNetworkingAdvancedRules.js +177 -0
  442. package/scripts/hooks-system/infrastructure/ast/ios/analyzers/iOSPerformanceRules.js +11 -0
  443. package/scripts/hooks-system/infrastructure/ast/ios/analyzers/iOSSPMRules.js +496 -0
  444. package/scripts/hooks-system/infrastructure/ast/ios/analyzers/iOSSwiftUIAdvancedRules.js +333 -0
  445. package/scripts/hooks-system/infrastructure/ast/ios/analyzers/iOSTestingAdvancedRules.js +225 -0
  446. package/scripts/hooks-system/infrastructure/ast/ios/ast-ios.js +2176 -0
  447. package/scripts/hooks-system/infrastructure/ast/ios/native-bridge.js +92 -0
  448. package/scripts/hooks-system/infrastructure/ast/ios/parsers/SourceKittenParser.js +471 -0
  449. package/scripts/hooks-system/infrastructure/ast/ios/parsers/__tests__/SourceKittenParser.spec.js +41 -0
  450. package/scripts/hooks-system/infrastructure/ast/text/__tests__/text-scanner.spec.js +20 -0
  451. package/scripts/hooks-system/infrastructure/ast/text/text-scanner.js +1120 -0
  452. package/scripts/hooks-system/infrastructure/cache/CacheService.js +160 -0
  453. package/scripts/hooks-system/infrastructure/cli/__tests__/install-wizard.spec.js +16 -0
  454. package/scripts/hooks-system/infrastructure/cli/install-wizard.js +74 -0
  455. package/scripts/hooks-system/infrastructure/core/GitOperations.js +50 -0
  456. package/scripts/hooks-system/infrastructure/core/GitOperations.ts +112 -0
  457. package/scripts/hooks-system/infrastructure/core/__tests__/GitOperations.spec.js +146 -0
  458. package/scripts/hooks-system/infrastructure/eslint/eslint-integration.sh +75 -0
  459. package/scripts/hooks-system/infrastructure/events/EventListeners.js +143 -0
  460. package/scripts/hooks-system/infrastructure/events/__tests__/events.spec.js +14 -0
  461. package/scripts/hooks-system/infrastructure/external-tools/GitOperations.js +54 -0
  462. package/scripts/hooks-system/infrastructure/external-tools/eslint/backend.config.template.mjs +58 -0
  463. package/scripts/hooks-system/infrastructure/git-hooks/pre-push +35 -0
  464. package/scripts/hooks-system/infrastructure/git-server/pre-receive-hook +253 -0
  465. package/scripts/hooks-system/infrastructure/guards/git-wrapper.sh +32 -0
  466. package/scripts/hooks-system/infrastructure/guards/master-validator.sh +247 -0
  467. package/scripts/hooks-system/infrastructure/guards/prevent-no-verify.sh +34 -0
  468. package/scripts/hooks-system/infrastructure/hooks/__tests__/skill-activation-prompt.spec.js +11 -0
  469. package/scripts/hooks-system/infrastructure/hooks/pre-tool-use-intelligent-enforcer.sh +489 -0
  470. package/scripts/hooks-system/infrastructure/hooks/skill-activation-prompt.js +244 -0
  471. package/scripts/hooks-system/infrastructure/logging/UnifiedLoggerFactory.js +40 -0
  472. package/scripts/hooks-system/infrastructure/logging/__tests__/logging.spec.js +9 -0
  473. package/scripts/hooks-system/infrastructure/mcp/README.md +116 -0
  474. package/scripts/hooks-system/infrastructure/mcp/__tests__/ast-intelligence-automation.spec.js +38 -0
  475. package/scripts/hooks-system/infrastructure/mcp/__tests__/evidence-watcher.spec.js +38 -0
  476. package/scripts/hooks-system/infrastructure/mcp/ast-intelligence-automation.js +1097 -0
  477. package/scripts/hooks-system/infrastructure/mcp/evidence-watcher.js +128 -0
  478. package/scripts/hooks-system/infrastructure/mcp/package.json +17 -0
  479. package/scripts/hooks-system/infrastructure/mcp/services/EvidenceService.js +87 -0
  480. package/scripts/hooks-system/infrastructure/mcp/services/McpProtocolHandler.js +166 -0
  481. package/scripts/hooks-system/infrastructure/orchestration/__tests__/intelligent-audit.spec.js +11 -0
  482. package/scripts/hooks-system/infrastructure/orchestration/intelligent-audit.js +353 -0
  483. package/scripts/hooks-system/infrastructure/patterns/pattern-checks.sh +98 -0
  484. package/scripts/hooks-system/infrastructure/reporting/ReportImpactAnalyzer.js +109 -0
  485. package/scripts/hooks-system/infrastructure/reporting/ReportMetricsCalculator.js +114 -0
  486. package/scripts/hooks-system/infrastructure/reporting/ReportPresenter.js +86 -0
  487. package/scripts/hooks-system/infrastructure/reporting/__tests__/reporting.spec.js +15 -0
  488. package/scripts/hooks-system/infrastructure/reporting/report-generator.js +130 -0
  489. package/scripts/hooks-system/infrastructure/reporting/severity-tracker.js +105 -0
  490. package/scripts/hooks-system/infrastructure/repositories/CursorTokenRepository.js +76 -0
  491. package/scripts/hooks-system/infrastructure/repositories/FileFindingsRepository.js +88 -0
  492. package/scripts/hooks-system/infrastructure/repositories/__tests__/repositories.spec.js +20 -0
  493. package/scripts/hooks-system/infrastructure/repositories/datasources/CursorApiDataSource.js +73 -0
  494. package/scripts/hooks-system/infrastructure/repositories/datasources/CursorFileDataSource.js +55 -0
  495. package/scripts/hooks-system/infrastructure/severity/__tests__/severity-evaluator.spec.js +18 -0
  496. package/scripts/hooks-system/infrastructure/severity/analyzers/__tests__/maintainability-analyzer.spec.js +170 -0
  497. package/scripts/hooks-system/infrastructure/severity/analyzers/__tests__/performance-analyzer.spec.js +186 -0
  498. package/scripts/hooks-system/infrastructure/severity/analyzers/__tests__/security-analyzer.spec.js +151 -0
  499. package/scripts/hooks-system/infrastructure/severity/analyzers/__tests__/stability-analyzer.spec.js +143 -0
  500. package/scripts/hooks-system/infrastructure/severity/analyzers/maintainability-analyzer.js +100 -0
  501. package/scripts/hooks-system/infrastructure/severity/analyzers/performance-analyzer.js +109 -0
  502. package/scripts/hooks-system/infrastructure/severity/analyzers/security-analyzer.js +104 -0
  503. package/scripts/hooks-system/infrastructure/severity/analyzers/stability-analyzer.js +85 -0
  504. package/scripts/hooks-system/infrastructure/severity/context/analyzers/CodeClassificationAnalyzer.js +71 -0
  505. package/scripts/hooks-system/infrastructure/severity/context/analyzers/DataAnalyzer.js +64 -0
  506. package/scripts/hooks-system/infrastructure/severity/context/analyzers/ImpactAnalyzer.js +68 -0
  507. package/scripts/hooks-system/infrastructure/severity/context/analyzers/SafetyAnalyzer.js +82 -0
  508. package/scripts/hooks-system/infrastructure/severity/context/context-builder.js +88 -0
  509. package/scripts/hooks-system/infrastructure/severity/generators/RecommendationGenerator.js +153 -0
  510. package/scripts/hooks-system/infrastructure/severity/mappers/SeverityMapper.js +10 -0
  511. package/scripts/hooks-system/infrastructure/severity/policies/gate-policies.js +136 -0
  512. package/scripts/hooks-system/infrastructure/severity/policies/severity-policies.json +206 -0
  513. package/scripts/hooks-system/infrastructure/severity/scorers/ContextMultiplier.js +49 -0
  514. package/scripts/hooks-system/infrastructure/severity/severity-evaluator.js +117 -0
  515. package/scripts/hooks-system/infrastructure/shell/core/constants.sh +26 -0
  516. package/scripts/hooks-system/infrastructure/shell/core/utils.sh +45 -0
  517. package/scripts/hooks-system/infrastructure/shell/gitflow/git-wrapper.sh +646 -0
  518. package/scripts/hooks-system/infrastructure/shell/gitflow/gitflow-enforcer.sh +620 -0
  519. package/scripts/hooks-system/infrastructure/shell/gitflow/gitflow-state-manager.sh +235 -0
  520. package/scripts/hooks-system/infrastructure/shell/gitflow-state-manager.sh +225 -0
  521. package/scripts/hooks-system/infrastructure/shell/orchestrators/audit-orchestrator.sh +1106 -0
  522. package/scripts/hooks-system/infrastructure/shell/security/detect-secrets.sh +26 -0
  523. package/scripts/hooks-system/infrastructure/shell/security/detect_secrets.py +182 -0
  524. package/scripts/hooks-system/infrastructure/shell/validate-clean-architecture.sh +254 -0
  525. package/scripts/hooks-system/infrastructure/shell/validators/check-doc-structure.sh +62 -0
  526. package/scripts/hooks-system/infrastructure/shell/validators/ensure-critical-docs.sh +26 -0
  527. package/scripts/hooks-system/infrastructure/shell/validators/validate-ai-protocol.sh +474 -0
  528. package/scripts/hooks-system/infrastructure/shell/validators/validate-clean-architecture.sh +303 -0
  529. package/scripts/hooks-system/infrastructure/shell/validators/validate-conventional-commit.sh +42 -0
  530. package/scripts/hooks-system/infrastructure/storage/file-operations.sh +31 -0
  531. package/scripts/hooks-system/infrastructure/telemetry/TelemetryService.js +165 -0
  532. package/scripts/hooks-system/infrastructure/telemetry/__tests__/telemetry.spec.js +15 -0
  533. package/scripts/hooks-system/infrastructure/telemetry/metrics-logger.js +66 -0
  534. package/scripts/hooks-system/infrastructure/telemetry/metrics-server.js +61 -0
  535. package/scripts/hooks-system/infrastructure/utils/__tests__/utils.spec.js +8 -0
  536. package/scripts/hooks-system/infrastructure/utils/error-utils.js +28 -0
  537. package/scripts/hooks-system/infrastructure/utils/timestamp-helper.sh +106 -0
  538. package/scripts/hooks-system/infrastructure/utils/token-manager.js +121 -0
  539. package/scripts/hooks-system/infrastructure/validators/__tests__/detect-commit-language.spec.js +16 -0
  540. package/scripts/hooks-system/infrastructure/validators/__tests__/enforce-english-literals.spec.js +67 -0
  541. package/scripts/hooks-system/infrastructure/validators/detect-commit-language.js +145 -0
  542. package/scripts/hooks-system/infrastructure/validators/enforce-english-literals.js +202 -0
  543. package/scripts/hooks-system/infrastructure/watchdog/__tests__/.audit-reports/token-monitor.log +18 -0
  544. package/scripts/hooks-system/infrastructure/watchdog/__tests__/auto-recovery.spec.js +14 -0
  545. package/scripts/hooks-system/infrastructure/watchdog/__tests__/token-monitor.spec.js +67 -0
  546. package/scripts/hooks-system/infrastructure/watchdog/__tests__/watchdog.spec.js +22 -0
  547. package/scripts/hooks-system/infrastructure/watchdog/ai-watchdog.sh +278 -0
  548. package/scripts/hooks-system/infrastructure/watchdog/auto-recovery.js +32 -0
  549. package/scripts/hooks-system/infrastructure/watchdog/health-check.js +58 -0
  550. package/scripts/hooks-system/infrastructure/watchdog/token-monitor-loop.sh +20 -0
  551. package/scripts/hooks-system/infrastructure/watchdog/token-monitor.js +69 -0
  552. package/scripts/hooks-system/infrastructure/watchdog/token-tracker.sh +208 -0
  553. package/scripts/hooks-system/presentation/cli/audit.sh +32 -0
  554. package/scripts/hooks-system/presentation/cli/autonomous-status.sh +92 -0
  555. package/scripts/hooks-system/presentation/cli/categorize-violations.sh +179 -0
  556. package/scripts/hooks-system/presentation/cli/direct-audit-option2.sh +23 -0
  557. package/scripts/hooks-system/presentation/cli/direct-audit.sh +33 -0
  558. package/skills/android-guidelines/SKILL.md +475 -0
  559. package/skills/android-guidelines/resources/advanced-topics.md +44 -0
  560. package/skills/android-guidelines/resources/architecture-overview.md +44 -0
  561. package/skills/backend-guidelines/SKILL.md +335 -0
  562. package/skills/backend-guidelines/resources/architecture-overview.md +48 -0
  563. package/skills/frontend-guidelines/SKILL.md +367 -0
  564. package/skills/frontend-guidelines/resources/architecture-overview.md +44 -0
  565. package/skills/ios-guidelines/SKILL.md +406 -0
  566. package/skills/ios-guidelines/resources/architecture-overview.md +47 -0
  567. package/skills/skill-rules.json +334 -0
@@ -0,0 +1,786 @@
1
+ # MCP Servers - Model Context Protocol
2
+
3
+ ## Table of Contents
4
+
5
+ 1. [Introduction](#introduction)
6
+ 2. [evidence-watcher](#evidence-watcher)
7
+ 3. [ast-intelligence-automation](#ast-intelligence-automation)
8
+ 4. [Configuration](#configuration)
9
+ 5. [Usage Examples](#usage-examples)
10
+ 6. [Troubleshooting](#troubleshooting)
11
+
12
+ ---
13
+
14
+ ## Introduction
15
+
16
+ MCP Servers (Model Context Protocol) allow AI in agentic IDEs to interact directly with the project, automating common tasks and providing real-time context.
17
+
18
+ ### What is MCP?
19
+
20
+ MCP (Model Context Protocol) is a **standard open protocol** (JSON-RPC 2.0) that allows AI clients (agentic IDEs) to communicate with external servers that provide:
21
+
22
+ - **Resources**: Data that AI can read (like project state)
23
+ - **Tools**: Functions that AI can execute (like creating PRs, checking status)
24
+ - **Events**: Notifications about system changes
25
+
26
+ ### Compatibility
27
+
28
+ MCP is **IDE-agnostic** and works with any client that implements the protocol, including:
29
+ - **Cursor** - `.cursor/mcp.json` (project or global)
30
+ - **Claude Desktop** - Global configuration file
31
+ - **Windsurf** - `.windsurf/mcp.json` (project or global)
32
+ - **Any other MCP-compatible client**
33
+
34
+ The servers provided by this library are **standard MCP servers** and work with all MCP-compatible clients. The installer automatically detects and configures for multiple IDEs when possible.
35
+
36
+ ### Protocol
37
+
38
+ MCP Servers use **JSON-RPC 2.0** over stdin/stdout to communicate with agentic IDEs.
39
+
40
+ ```json
41
+ {
42
+ "jsonrpc": "2.0",
43
+ "id": 1,
44
+ "method": "tools/list",
45
+ "params": {}
46
+ }
47
+ ```
48
+
49
+ ---
50
+
51
+ ## evidence-watcher
52
+
53
+ ### Description
54
+
55
+ Monitors the status of `.AI_EVIDENCE.json` and allows AI to verify if the evidence is up to date (fresh) or outdated (stale).
56
+
57
+ ### Purpose
58
+
59
+ **Automatically notify AI when evidence is stale**, allowing AI to update context automatically without manual user intervention.
60
+
61
+ ### Resources
62
+
63
+ #### `evidence://status`
64
+
65
+ Current status of `.AI_EVIDENCE.json`:
66
+
67
+ **Format:**
68
+ ```json
69
+ {
70
+ "status": "fresh|stale|missing|error",
71
+ "message": "Evidence is STALE (350s old, max 180s)",
72
+ "action": "Run: ai-start develop",
73
+ "age": 350,
74
+ "isStale": true,
75
+ "timestamp": "2025-11-06T14:33:45Z",
76
+ "session": "develop",
77
+ "currentBranch": "develop"
78
+ }
79
+ ```
80
+
81
+ **States:**
82
+ - `fresh`: Evidence up to date (< 180 seconds)
83
+ - `stale`: Evidence outdated (≥ 180 seconds)
84
+ - `missing`: `.AI_EVIDENCE.json` file doesn't exist
85
+ - `error`: Error reading or parsing the file
86
+
87
+ **Staleness Threshold:**
88
+ - Default: **180 seconds (3 minutes)**
89
+ - Configurable: Environment variable `HOOK_GUARD_EVIDENCE_STALE_THRESHOLD`
90
+
91
+ ### Tools
92
+
93
+ #### `check_evidence_status`
94
+
95
+ Checks if `.AI_EVIDENCE.json` is stale.
96
+
97
+ **Input:**
98
+ ```json
99
+ {}
100
+ ```
101
+
102
+ **Output:**
103
+ Same format as `evidence://status` (see above)
104
+
105
+ **Example usage from Cursor:**
106
+ ```javascript
107
+ // AI can call this tool automatically
108
+ const status = await mcp.callTool('check_evidence_status', {});
109
+ if (status.isStale) {
110
+ // AI can update evidence automatically
111
+ await updateEvidence();
112
+ }
113
+ ```
114
+
115
+ ### Configuration
116
+
117
+ **Location:** `infrastructure/mcp/evidence-watcher.js`
118
+
119
+ **Configuration in `.cursor/mcp.json`:**
120
+ ```json
121
+ {
122
+ "mcpServers": {
123
+ "ai-evidence-watcher": {
124
+ "command": "node",
125
+ "args": [
126
+ "${workspaceFolder}/infrastructure/mcp/evidence-watcher.js"
127
+ ],
128
+ "env": {
129
+ "REPO_ROOT": "${workspaceFolder}"
130
+ }
131
+ }
132
+ }
133
+ }
134
+ ```
135
+
136
+ ### Environment Variables
137
+
138
+ | Variable | Description | Default |
139
+ |----------|-------------|---------|
140
+ | `REPO_ROOT` | Repository root | `process.cwd()` |
141
+ | `HOOK_GUARD_EVIDENCE_STALE_THRESHOLD` | Staleness threshold in seconds | `180` |
142
+
143
+ ### Manual Testing
144
+
145
+ ```bash
146
+ # Test 1: Initialize
147
+ echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' | \
148
+ REPO_ROOT=$(pwd) node infrastructure/mcp/evidence-watcher.js
149
+
150
+ # Test 2: List resources
151
+ echo '{"jsonrpc":"2.0","id":2,"method":"resources/list","params":{}}' | \
152
+ REPO_ROOT=$(pwd) node infrastructure/mcp/evidence-watcher.js
153
+
154
+ # Test 3: Read evidence status
155
+ echo '{"jsonrpc":"2.0","id":3,"method":"resources/read","params":{"uri":"evidence://status"}}' | \
156
+ REPO_ROOT=$(pwd) node infrastructure/mcp/evidence-watcher.js
157
+
158
+ # Test 4: Check evidence status (tool)
159
+ echo '{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"check_evidence_status","arguments":{}}}' | \
160
+ REPO_ROOT=$(pwd) node infrastructure/mcp/evidence-watcher.js
161
+ ```
162
+
163
+ ---
164
+
165
+ ## ast-intelligence-automation
166
+
167
+ ### Description
168
+
169
+ Comprehensive development automation MCP server that provides: evidence management, Git Flow automation, context detection, validation & fixes, and AI gate checks. Automates the complete development workflow from any MCP-compatible agentic IDE.
170
+
171
+ ### Purpose
172
+
173
+ **Fully automate development workflow** including Git Flow, evidence management, validation, and context detection, eliminating repetitive manual steps.
174
+
175
+ ### Resources
176
+
177
+ #### `evidence://status`
178
+
179
+ Status of `.AI_EVIDENCE.json` (same as evidence-watcher).
180
+
181
+ **Format:** See [evidence-watcher - Resources](#evidence-status)
182
+
183
+ #### `gitflow://state`
184
+
185
+ Current Git Flow workflow state.
186
+
187
+ **Format:**
188
+ ```json
189
+ {
190
+ "step": 0,
191
+ "status": "uninitialized|in_progress|completed|error",
192
+ "currentBranch": "feature/my-task",
193
+ "lastCommit": "abc123",
194
+ "prUrl": "https://github.com/user/repo/pull/42",
195
+ "error": null
196
+ }
197
+ ```
198
+
199
+ **States:**
200
+ - `uninitialized`: No active Git Flow workflow
201
+ - `in_progress`: Workflow in progress
202
+ - `completed`: Workflow completed
203
+ - `error`: Error in workflow
204
+
205
+ #### `context://active`
206
+
207
+ Active project context detected automatically.
208
+
209
+ **Format:**
210
+ ```json
211
+ {
212
+ "platforms": ["backend", "frontend"],
213
+ "filesChanged": 5,
214
+ "confidence": 0.85,
215
+ "suggestedActions": ["update_evidence", "run_tests"]
216
+ }
217
+ ```
218
+
219
+ ### Tools
220
+
221
+ #### `check_evidence_status`
222
+
223
+ Checks if `.AI_EVIDENCE.json` is stale (same as evidence-watcher).
224
+
225
+ **Input:**
226
+ ```json
227
+ {}
228
+ ```
229
+
230
+ **Output:**
231
+ See [evidence-watcher - check_evidence_status](#check_evidence_status)
232
+
233
+ ---
234
+
235
+ #### `auto_complete_gitflow`
236
+
237
+ Automates the complete Git Flow cycle: commit → push → PR → merge.
238
+
239
+ **Input:**
240
+ ```json
241
+ {
242
+ "commitMessage": "chore: auto-commit changes", // Optional
243
+ "prTitle": "Merge feature/my-task into develop", // Optional
244
+ "prBody": "Automated PR created by Git Flow Automation", // Optional
245
+ "autoMerge": false // Optional, default: false
246
+ }
247
+ ```
248
+
249
+ **Output:**
250
+ ```json
251
+ {
252
+ "success": true,
253
+ "message": "Git Flow cycle completed",
254
+ "currentBranch": "develop",
255
+ "results": [
256
+ "Current branch: feature/my-task",
257
+ "✅ No uncommitted changes",
258
+ "✅ Pushed to origin",
259
+ "✅ PR created: https://github.com/user/repo/pull/42",
260
+ "✅ PR merged and branch deleted",
261
+ "✅ Switched to develop and pulled latest"
262
+ ]
263
+ }
264
+ ```
265
+
266
+ **Steps executed:**
267
+ 1. Verify you're on a `feature/`, `fix/` or `hotfix/` branch
268
+ 2. Commit uncommitted changes (if any)
269
+ 3. Push to origin
270
+ 4. Create PR to `develop` (requires GitHub CLI)
271
+ 5. If `autoMerge: true`, merge PR and delete branch
272
+ 6. Return to `develop` and pull
273
+
274
+ **Requirements:**
275
+ - GitHub CLI (`gh`) installed to create PRs
276
+ - Must be on a `feature/`, `fix/` or `hotfix/` branch
277
+
278
+ ---
279
+
280
+ #### `sync_branches`
281
+
282
+ Synchronizes `develop` and `main` branches with remote.
283
+
284
+ **Input:**
285
+ ```json
286
+ {
287
+ "returnToBranch": "develop" // Optional, default: "develop"
288
+ }
289
+ ```
290
+
291
+ **Output:**
292
+ ```json
293
+ {
294
+ "success": true,
295
+ "message": "Branches synchronized",
296
+ "results": [
297
+ "✅ Fetched from remote",
298
+ "✅ Develop updated",
299
+ "✅ Main updated",
300
+ "✅ Returned to develop"
301
+ ]
302
+ }
303
+ ```
304
+
305
+ **Steps executed:**
306
+ 1. `git fetch --all --prune`
307
+ 2. `git checkout develop && git pull origin develop`
308
+ 3. `git checkout main && git pull origin main`
309
+ 4. `git checkout {returnToBranch}` (default: develop)
310
+
311
+ ---
312
+
313
+ #### `cleanup_stale_branches`
314
+
315
+ Deletes merged branches (local and remote).
316
+
317
+ **Input:**
318
+ ```json
319
+ {}
320
+ ```
321
+
322
+ **Output:**
323
+ ```json
324
+ {
325
+ "success": true,
326
+ "message": "Stale branches cleaned up",
327
+ "branchesDeleted": ["feature/old-task", "fix/bug-123"],
328
+ "results": [
329
+ "✅ Deleted local branch: feature/old-task",
330
+ "✅ Deleted remote branch: origin/feature/old-task"
331
+ ]
332
+ }
333
+ ```
334
+
335
+ **Steps executed:**
336
+ 1. List merged local branches
337
+ 2. List merged remote branches
338
+ 3. Delete merged local branches (except `main`, `develop`, `master`)
339
+ 4. Delete merged remote branches (requires GitHub CLI)
340
+
341
+ **Note:** Requires GitHub CLI to delete remote branches.
342
+
343
+ ---
344
+
345
+ #### `auto_execute_ai_start`
346
+
347
+ Analyzes context and automatically executes `ai-start` if it detects modified code files (≥30% confidence).
348
+
349
+ **Input:**
350
+ ```json
351
+ {
352
+ "forceAnalysis": false // Optional, default: false
353
+ }
354
+ ```
355
+
356
+ **Output:**
357
+ ```json
358
+ {
359
+ "success": true,
360
+ "message": "AI start executed automatically",
361
+ "confidence": 0.85,
362
+ "platformsDetected": ["backend", "frontend"],
363
+ "filesAnalyzed": 5,
364
+ "evidenceUpdated": true
365
+ }
366
+ ```
367
+
368
+ **Logic:**
369
+ 1. Analyzes modified files with `ContextDetectionEngine`
370
+ 2. Calculates confidence based on percentage of code files
371
+ 3. If confidence ≥ 30% (or `forceAnalysis: true`):
372
+ - Executes `ai-start {currentBranch}`
373
+ - Updates `.AI_EVIDENCE.json`
374
+ - Sends macOS notification with sound
375
+ 4. If confidence < 30%: Does nothing
376
+
377
+ **Confidence threshold:** 30% (configurable in code)
378
+
379
+ ---
380
+
381
+ #### `validate_and_fix`
382
+
383
+ Validates common problems and fixes them automatically when possible.
384
+
385
+ **Input:**
386
+ ```json
387
+ {}
388
+ ```
389
+
390
+ **Output:**
391
+ ```json
392
+ {
393
+ "success": true,
394
+ "message": "Validation completed",
395
+ "issuesFound": 2,
396
+ "issuesFixed": 1,
397
+ "results": [
398
+ "✅ Evidence is fresh",
399
+ "⚠️ Branches out of sync",
400
+ "✅ Branches synchronized",
401
+ "✅ Validation complete"
402
+ ]
403
+ }
404
+ ```
405
+
406
+ **Validations performed:**
407
+ 1. Check evidence status (stale/fresh)
408
+ 2. Check branch synchronization (develop/main)
409
+ 3. Check merged branches without cleanup
410
+ 4. Attempt to fix automatically when possible
411
+
412
+ ---
413
+
414
+ #### `ai_gate_check`
415
+
416
+ **🚦 MANDATORY**: Must be called at the START of EVERY AI response.
417
+
418
+ Checks if there are violations blocking work and returns `BLOCKED` or `ALLOWED`.
419
+
420
+ **Input:**
421
+ ```json
422
+ {}
423
+ ```
424
+
425
+ **Output:**
426
+ ```json
427
+ {
428
+ "status": "ALLOWED|BLOCKED",
429
+ "message": "All checks passed",
430
+ "violations": [],
431
+ "blockingReason": null
432
+ }
433
+ ```
434
+
435
+ **When it returns `BLOCKED`:**
436
+ - There are CRITICAL or HIGH violations
437
+ - Evidence is stale and must be updated first
438
+ - There are critical synchronization problems
439
+
440
+ **Recommended usage:**
441
+ ```javascript
442
+ // AI must call this FIRST before any task
443
+ const gateCheck = await mcp.callTool('ai_gate_check', {});
444
+ if (gateCheck.status === 'BLOCKED') {
445
+ // DO NOT proceed with task
446
+ // Show user message about what to fix
447
+ return;
448
+ }
449
+ // Continue with user task
450
+ ```
451
+
452
+ ---
453
+
454
+ ### Configuration
455
+
456
+ **Location:** `infrastructure/mcp/ast-intelligence-automation.js`
457
+
458
+ **Configuration in `.cursor/mcp.json`:**
459
+ ```json
460
+ {
461
+ "mcpServers": {
462
+ "ast-intelligence-automation": {
463
+ "command": "node",
464
+ "args": [
465
+ "${workspaceFolder}/scripts/hooks-system/infrastructure/mcp/ast-intelligence-automation.js"
466
+ ],
467
+ "env": {
468
+ "REPO_ROOT": "${workspaceFolder}",
469
+ "AUTO_COMMIT_ENABLED": "true",
470
+ "AUTO_PUSH_ENABLED": "true",
471
+ "AUTO_PR_ENABLED": "false"
472
+ }
473
+ }
474
+ }
475
+ }
476
+ ```
477
+
478
+ ### Environment Variables
479
+
480
+ | Variable | Description | Default |
481
+ |----------|-------------|---------|
482
+ | `REPO_ROOT` | Repository root | `process.cwd()` |
483
+ | `AUTO_COMMIT_ENABLED` | Enable auto-commit | `true` |
484
+ | `AUTO_PUSH_ENABLED` | Enable auto-push | `true` |
485
+ | `AUTO_PR_ENABLED` | Enable auto-PR (disabled by default) | `false` |
486
+ | `MAX_EVIDENCE_AGE` | Staleness threshold in seconds | `180` |
487
+
488
+ ### Requirements
489
+
490
+ - **Git**: Installed and configured
491
+ - **GitHub CLI** (`gh`): For creating/merging PRs and cleaning remote branches
492
+ ```bash
493
+ # Install GitHub CLI
494
+ brew install gh # macOS
495
+ # or
496
+ apt install gh # Linux
497
+ ```
498
+
499
+ ### Manual Testing
500
+
501
+ ```bash
502
+ # Test 1: Initialize
503
+ echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' | \
504
+ REPO_ROOT=$(pwd) node scripts/hooks-system/infrastructure/mcp/ast-intelligence-automation.js
505
+
506
+ # Test 2: List tools
507
+ echo '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}' | \
508
+ REPO_ROOT=$(pwd) node scripts/hooks-system/infrastructure/mcp/ast-intelligence-automation.js
509
+
510
+ # Test 3: Check evidence status
511
+ echo '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"check_evidence_status","arguments":{}}}' | \
512
+ REPO_ROOT=$(pwd) node scripts/hooks-system/infrastructure/mcp/ast-intelligence-automation.js
513
+
514
+ # Test 4: AI Gate Check
515
+ echo '{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"ai_gate_check","arguments":{}}}' | \
516
+ REPO_ROOT=$(pwd) node scripts/hooks-system/infrastructure/mcp/ast-intelligence-automation.js
517
+ ```
518
+
519
+ ---
520
+
521
+ ## Configuration
522
+
523
+ ### Complete Configuration Example
524
+
525
+ Example configuration for `.cursor/mcp.json` (Cursor) or similar file for other IDEs:
526
+
527
+ ```json
528
+ {
529
+ "mcpServers": {
530
+ "ai-evidence-watcher": {
531
+ "command": "node",
532
+ "args": [
533
+ "${workspaceFolder}/infrastructure/mcp/evidence-watcher.js"
534
+ ],
535
+ "env": {
536
+ "REPO_ROOT": "${workspaceFolder}"
537
+ }
538
+ },
539
+ "ast-intelligence-automation": {
540
+ "command": "node",
541
+ "args": [
542
+ "${workspaceFolder}/scripts/hooks-system/infrastructure/mcp/ast-intelligence-automation.js"
543
+ ],
544
+ "env": {
545
+ "REPO_ROOT": "${workspaceFolder}",
546
+ "AUTO_COMMIT_ENABLED": "true",
547
+ "AUTO_PUSH_ENABLED": "true",
548
+ "AUTO_PR_ENABLED": "false"
549
+ }
550
+ }
551
+ }
552
+ }
553
+ ```
554
+
555
+ ### File Locations by IDE
556
+
557
+ #### Cursor
558
+ - **Project-level**: `.cursor/mcp.json` (recommended, created automatically by installer)
559
+ - **Global**: `~/.cursor/mcp.json` (macOS/Linux) or `%APPDATA%\Cursor\mcp.json` (Windows)
560
+
561
+ #### Claude Desktop
562
+ - **Global**: `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS)
563
+ - **Global**: `%APPDATA%\Claude\claude_desktop_config.json` (Windows)
564
+ - **Global**: `~/.config/claude_desktop_config.json` (Linux)
565
+
566
+ #### Windsurf
567
+ - **Project-level**: `.windsurf/mcp.json`
568
+ - **Global**: `~/.windsurf/mcp.json`
569
+
570
+ ### Available Variables
571
+
572
+ Most IDEs provide these variables in `mcp.json`:
573
+
574
+ - `${workspaceFolder}`: Full path of current workspace
575
+ - `${workspaceFolderBasename}`: Workspace name (last part of path)
576
+
577
+ **Note**: Variable names may vary slightly between IDEs. Consult your IDE's MCP documentation for specifics.
578
+
579
+ ---
580
+
581
+ ## Usage Examples
582
+
583
+ ### Example 1: Check Evidence Status
584
+
585
+ ```javascript
586
+ // AI in Cursor can do this automatically
587
+ const status = await mcp.callTool('check_evidence_status', {});
588
+ if (status.isStale) {
589
+ console.log(`⚠️ Evidence stale: ${status.message}`);
590
+ console.log(`💡 Action: ${status.action}`);
591
+ }
592
+ ```
593
+
594
+ ### Example 2: Complete Git Flow Automatically
595
+
596
+ ```javascript
597
+ // User says: "Commit, push and create PR for this branch"
598
+ const result = await mcp.callTool('auto_complete_gitflow', {
599
+ commitMessage: 'feat: add new feature',
600
+ prTitle: 'Add new feature',
601
+ prBody: 'This PR adds a new feature to the application',
602
+ autoMerge: false
603
+ });
604
+
605
+ if (result.success) {
606
+ console.log(`✅ Git Flow completed: ${result.message}`);
607
+ result.results.forEach(msg => console.log(` ${msg}`));
608
+ }
609
+ ```
610
+
611
+ ### Example 3: Sync Branches Before Working
612
+
613
+ ```javascript
614
+ // AI can sync branches automatically before starting
615
+ const sync = await mcp.callTool('sync_branches', {
616
+ returnToBranch: 'develop'
617
+ });
618
+
619
+ if (sync.success) {
620
+ console.log('✅ Branches synchronized');
621
+ }
622
+ ```
623
+
624
+ ### Example 4: Gate Check Before Task
625
+
626
+ ```javascript
627
+ // AI MUST do this at the start of each response
628
+ const gateCheck = await mcp.callTool('ai_gate_check', {});
629
+
630
+ if (gateCheck.status === 'BLOCKED') {
631
+ // DO NOT proceed with task
632
+ return {
633
+ blocked: true,
634
+ reason: gateCheck.blockingReason,
635
+ message: gateCheck.message
636
+ };
637
+ }
638
+
639
+ // Continue with task normally
640
+ ```
641
+
642
+ ### Example 5: Auto-execute AI Start
643
+
644
+ ```javascript
645
+ // AI can detect changes and update evidence automatically
646
+ const aiStart = await mcp.callTool('auto_execute_ai_start', {
647
+ forceAnalysis: false
648
+ });
649
+
650
+ if (aiStart.success && aiStart.evidenceUpdated) {
651
+ console.log(`✅ Evidence updated (confidence: ${aiStart.confidence})`);
652
+ }
653
+ ```
654
+
655
+ ---
656
+
657
+ ## Troubleshooting
658
+
659
+ ### MCP Server Doesn't Start
660
+
661
+ **Symptom:** Cursor cannot start the MCP server.
662
+
663
+ **Solution:**
664
+ 1. Verify Node.js is installed: `node --version` (requires ≥18.0.0)
665
+ 2. Verify file path is correct in `mcp.json`
666
+ 3. Verify execution permissions: `chmod +x infrastructure/mcp/*.js`
667
+ 4. Check Cursor logs (View → Output → MCP)
668
+
669
+ ### Error: "Cannot find module"
670
+
671
+ **Symptom:** MCP server fails with module not found error.
672
+
673
+ **Solution:**
674
+ 1. Install dependencies: `npm install`
675
+ 2. Verify `REPO_ROOT` points to correct directory
676
+ 3. Verify required modules are in `node_modules`
677
+
678
+ ### GitHub CLI Not Available
679
+
680
+ **Symptom:** `auto_complete_gitflow` fails when creating PRs.
681
+
682
+ **Solution:**
683
+ 1. Install GitHub CLI:
684
+ ```bash
685
+ brew install gh # macOS
686
+ apt install gh # Linux
687
+ ```
688
+ 2. Authenticate: `gh auth login`
689
+ 3. If you can't install GitHub CLI, create PRs manually from GitHub
690
+
691
+ ### Evidence Always Appears as Stale
692
+
693
+ **Symptom:** `check_evidence_status` always returns `isStale: true`.
694
+
695
+ **Solution:**
696
+ 1. Verify `.AI_EVIDENCE.json` exists in project root
697
+ 2. Verify file has a valid `timestamp` field
698
+ 3. Run `ai-start {branch}` to update evidence
699
+ 4. Verify file read permissions
700
+
701
+ ### Auto-commit Doesn't Work
702
+
703
+ **Symptom:** `auto_complete_gitflow` doesn't commit changes.
704
+
705
+ **Solution:**
706
+ 1. Verify `AUTO_COMMIT_ENABLED=true` in `mcp.json`
707
+ 2. Verify there are uncommitted changes: `git status`
708
+ 3. Verify write permissions in Git repository
709
+
710
+ ### MCP Server Hangs
711
+
712
+ **Symptom:** MCP server doesn't respond to requests.
713
+
714
+ **Solution:**
715
+ 1. Restart your IDE/agentic client
716
+ 2. Verify there are no zombie processes: `ps aux | grep mcp`
717
+ 3. Kill zombie processes: `pkill -f "mcp.*watcher"`
718
+ 4. Check server stderr logs
719
+
720
+ ---
721
+
722
+ ## References
723
+
724
+ - [Model Context Protocol Specification](https://modelcontextprotocol.io) - Official MCP standard
725
+ - [Cursor MCP Documentation](https://cursor.sh/docs/mcp) - Cursor-specific implementation
726
+ - [ARCHITECTURE_DETAILED.md](./ARCHITECTURE_DETAILED.md) - System architecture
727
+ - [API_REFERENCE.md](./API_REFERENCE.md) - API reference
728
+
729
+ ---
730
+
731
+ ## Development Notes
732
+
733
+ ### Add a New MCP Server
734
+
735
+ 1. Create file in `infrastructure/mcp/new-watcher.js`
736
+ 2. Implement `MCPServer` class with methods:
737
+ - `handleMessage(message)`: Handles JSON-RPC requests
738
+ - `start()`: Starts the server
739
+ 3. Expose resources and tools via JSON-RPC
740
+ 4. Add to `.cursor/mcp.json`
741
+ 5. Create tests in `infrastructure/mcp/__tests__/`
742
+
743
+ ### JSON-RPC 2.0 Protocol
744
+
745
+ MCP servers must implement these methods:
746
+
747
+ - `initialize`: Server initialization
748
+ - `resources/list`: List available resources
749
+ - `resources/read`: Read a specific resource
750
+ - `tools/list`: List available tools
751
+ - `tools/call`: Execute a tool
752
+
753
+ **Request format:**
754
+ ```json
755
+ {
756
+ "jsonrpc": "2.0",
757
+ "id": 1,
758
+ "method": "tools/call",
759
+ "params": {
760
+ "name": "tool_name",
761
+ "arguments": {}
762
+ }
763
+ }
764
+ ```
765
+
766
+ **Response format:**
767
+ ```json
768
+ {
769
+ "jsonrpc": "2.0",
770
+ "id": 1,
771
+ "result": {
772
+ "content": [
773
+ {
774
+ "type": "text",
775
+ "text": "Result here"
776
+ }
777
+ ]
778
+ }
779
+ }
780
+ ```
781
+
782
+ ---
783
+
784
+ **Last updated**: 2025-01-13
785
+ **Version**: 5.3.0
786
+ **Author**: Pumuki Team®