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
package/docs/USAGE.md ADDED
@@ -0,0 +1,856 @@
1
+ # Usage Guide - ast-intelligence-hooks
2
+
3
+ ## Table of Contents
4
+
5
+ 1. [Minimal Example (5 minutes)](#minimal-example-5-minutes)
6
+ 2. [Basic Commands](#basic-commands)
7
+ 3. [Git Hooks Integration](#git-hooks-integration)
8
+ 4. [Programmatic Usage](#programmatic-usage)
9
+ 5. [Advanced Examples](#advanced-examples)
10
+ 6. [CI/CD Integration](#cicd-integration)
11
+ 7. [Rule Configuration](#rule-configuration)
12
+
13
+ ---
14
+
15
+ ## Minimal Example (5 minutes)
16
+
17
+ ### Step 1: Install
18
+
19
+ ```bash
20
+ npm install --save-dev @pumuki/ast-intelligence-hooks
21
+ npm run install-hooks
22
+ ```
23
+
24
+ ### Step 2: Make a commit
25
+
26
+ **For AI/Agentic IDE users (Recommended):**
27
+
28
+ Use `ai-commit` to automatically update `.AI_EVIDENCE.json` before committing:
29
+
30
+ ```bash
31
+ # Create a test file
32
+ echo "export const test = () => {};" > test.ts
33
+ git add test.ts
34
+
35
+ # Use ai-commit (recommended for AI-driven commits)
36
+ npx ai-commit -m "test: verify hooks"
37
+ # Or if installed globally:
38
+ ai-commit -m "test: verify hooks"
39
+ ```
40
+
41
+ **For manual commits:**
42
+
43
+ ```bash
44
+ # Create a test file
45
+ echo "export const test = () => {};" > test.ts
46
+ git add test.ts
47
+
48
+ # Standard git commit (hooks will run automatically)
49
+ git commit -m "test: verify hooks"
50
+ ```
51
+
52
+ ### Step 3: View result
53
+
54
+ If there are violations, you'll see a detailed report. If everything is OK, the commit will complete normally.
55
+
56
+ Done! You now have AST Intelligence working in your project.
57
+
58
+ ---
59
+
60
+ ## Basic Commands
61
+
62
+ ### Code Analysis
63
+
64
+ #### Interactive Menu (Recommended)
65
+
66
+ The library includes an **interactive menu** for selecting audit options:
67
+
68
+ ![Interactive Audit Menu](images/interactive-audit-menu.png)
69
+
70
+ *Interactive menu showing the PUMUKI Advanced Project Audit interface with 9 options for selecting different audit modes (Full audit, Strict modes, Pattern checks, ESLint, AST Intelligence, etc.)*
71
+
72
+ ```bash
73
+ # Run interactive menu (recommended for manual audits)
74
+ # From node_modules (when installed via npm):
75
+ bash node_modules/@pumuki/ast-intelligence-hooks/presentation/cli/audit.sh
76
+
77
+ # Or from scripts/hooks-system (local development):
78
+ bash scripts/hooks-system/presentation/cli/audit.sh
79
+
80
+ # Or using the npm binary (if configured):
81
+ npx audit
82
+ ```
83
+
84
+ **Menu Options:**
85
+ 1. **Full audit (repo analysis)** - Complete repository analysis
86
+ 2. **Strict REPO+STAGING (CI/CD)** - Strict mode for CI/CD pipelines
87
+ 3. **Strict STAGING only (dev)** - Analyze only staged files (pre-commit mode)
88
+ 4. **Standard CRITICAL/HIGH** - Standard analysis focusing on blocking violations
89
+ 5. **Pattern checks** - Check for TODO, FIXME, console.log patterns
90
+ 6. **ESLint Admin+Web** - Run ESLint analysis
91
+ 7. **AST Intelligence** - Run AST-based code analysis
92
+ 8. **Export Markdown** - Export results to Markdown format
93
+ 9. **Exit** - Exit the menu
94
+
95
+ **Non-interactive mode:**
96
+ ```bash
97
+ # Execute specific option directly (from node_modules):
98
+ AUDIT_OPTION=7 bash node_modules/@pumuki/ast-intelligence-hooks/presentation/cli/audit.sh # AST Intelligence
99
+ AUDIT_OPTION=3 bash node_modules/@pumuki/ast-intelligence-hooks/presentation/cli/audit.sh # Staged files only
100
+
101
+ # Or from scripts/hooks-system:
102
+ AUDIT_OPTION=7 bash scripts/hooks-system/presentation/cli/audit.sh # AST Intelligence
103
+ AUDIT_OPTION=3 bash scripts/hooks-system/presentation/cli/audit.sh # Staged files only
104
+ ```
105
+
106
+ #### Direct Analysis (No Menu)
107
+
108
+ ```bash
109
+ # Using npm script (runs AST analysis directly)
110
+ npm run audit
111
+
112
+ # Or using CLI
113
+ ast-hooks analyze
114
+ ```
115
+
116
+ #### Analysis of Staged Files Only
117
+
118
+ ```bash
119
+ # Only files in staging
120
+ ast-hooks analyze --staged
121
+ ```
122
+
123
+ #### Analysis by Platform
124
+
125
+ ```bash
126
+ # Backend only
127
+ ast-hooks analyze --platform backend
128
+
129
+ # Frontend only
130
+ ast-hooks analyze --platform frontend
131
+
132
+ # Multiple platforms
133
+ ast-hooks analyze --platform backend,frontend
134
+ ```
135
+
136
+ ### Query Violations
137
+
138
+ #### List All Violations
139
+
140
+ ```bash
141
+ # Using npm script
142
+ npm run violations:list
143
+
144
+ # Or using CLI
145
+ ast-violations list
146
+ ```
147
+
148
+ **Example output:**
149
+ ```
150
+ 🚨 CRITICAL: backend.api.password_not_hashed
151
+ File: src/users/users.service.ts:45
152
+ Message: Password not hashed. Use bcrypt.
153
+
154
+ ⚠️ HIGH: frontend.component.prop_drilling
155
+ File: app/components/UserProfile.tsx:23
156
+ Message: Prop drilling detected. Consider using Context or Zustand.
157
+ ```
158
+
159
+ #### View Summary
160
+
161
+ ```bash
162
+ npm run violations:summary
163
+ ```
164
+
165
+ **Example output:**
166
+ ```
167
+ Violations Summary:
168
+ CRITICAL: 2
169
+ HIGH: 5
170
+ MEDIUM: 12
171
+ LOW: 8
172
+
173
+ Total: 27 violations
174
+ Technical Debt: ~15 hours
175
+ ```
176
+
177
+ #### Top Violations
178
+
179
+ ```bash
180
+ npm run violations:top
181
+ ```
182
+
183
+ Shows the most frequent violations grouped by rule.
184
+
185
+ #### View Specific Violation
186
+
187
+ ```bash
188
+ # By ID
189
+ ast-violations show backend.api.password_not_hashed
190
+
191
+ # By file
192
+ ast-violations show --file src/users/users.service.ts
193
+ ```
194
+
195
+ ### System Status
196
+
197
+ ```bash
198
+ # View hook status
199
+ hook-status
200
+
201
+ # Health check
202
+ ast-hooks health
203
+ ```
204
+
205
+ ### Watch Mode
206
+
207
+ ```bash
208
+ # Continuous monitoring
209
+ hook-watch
210
+
211
+ # In another terminal, edit files and see real-time analysis
212
+ ```
213
+
214
+ ---
215
+
216
+ ## Git Hooks Integration
217
+
218
+ ### Automatic Pre-commit Hook
219
+
220
+ Once installed, the hook runs automatically on each `git commit`:
221
+
222
+ ```bash
223
+ git add .
224
+ git commit -m "feat: add new feature"
225
+ # → Hook runs automatically
226
+ # → Analyzes only staged files
227
+ # → Blocks commit if CRITICAL/HIGH violations found
228
+ ```
229
+
230
+ ### Temporary Bypass (Emergency)
231
+
232
+ ```bash
233
+ # For a specific commit (emergencies only)
234
+ GIT_BYPASS_HOOK=1 git commit -m "emergency fix"
235
+ ```
236
+
237
+ **⚠️ Warning:** Don't abuse the bypass. Use it only in real emergency cases.
238
+
239
+ ### AI Commit Command
240
+
241
+ The library provides an `ai-commit` command that **must be used** by agentic IDEs (Cursor, Claude Desktop, Windsurf) when making commits. This ensures `.AI_EVIDENCE.json` is properly updated before the commit.
242
+
243
+ **Why use `ai-commit`?**
244
+
245
+ - ✅ Automatically updates `.AI_EVIDENCE.json` timestamp if stale (>2 minutes)
246
+ - ✅ Ensures evidence freshness (required by pre-commit hook validation)
247
+ - ✅ Creates minimal evidence file if missing
248
+ - ✅ Prevents commit failures due to stale evidence
249
+
250
+ **Usage:**
251
+
252
+ ```bash
253
+ # Basic usage (same as git commit)
254
+ npx ai-commit -m "feat: add user authentication"
255
+
256
+ # With multiple flags
257
+ npx ai-commit -m "fix: resolve null pointer" --no-verify
258
+
259
+ # All git commit options are supported
260
+ npx ai-commit -m "docs: update README" --author="John Doe <john@example.com>"
261
+ ```
262
+
263
+ **How it works:**
264
+
265
+ 1. **Checks evidence freshness**: If `.AI_EVIDENCE.json` timestamp is older than 2 minutes, updates it
266
+ 2. **Updates timestamp**: Sets timestamp to current UTC time
267
+ 3. **Stages evidence file**: Automatically adds `.AI_EVIDENCE.json` to staging
268
+ 4. **Executes commit**: Runs `git commit` with all provided arguments
269
+
270
+ **When to use:**
271
+
272
+ - ✅ **Always** when committing from an agentic IDE (Cursor, Claude Desktop, Windsurf)
273
+ - ✅ When making commits after editing code for >2 minutes
274
+ - ✅ When you see "Evidence is stale" warnings
275
+
276
+ **When NOT to use:**
277
+
278
+ - ❌ Manual commits (use `git commit` directly)
279
+ - ❌ Commits not involving AI-assisted code changes
280
+
281
+ **Example workflow:**
282
+
283
+ ```bash
284
+ # 1. Make code changes (via AI)
285
+ # 2. Stage files
286
+ git add src/users/user.service.ts
287
+
288
+ # 3. Commit using ai-commit (AI-driven commit)
289
+ npx ai-commit -m "feat: add user validation logic"
290
+
291
+ # Output:
292
+ # 🤖 AI-COMMIT: Preparando commit...
293
+ # ✅ AI_EVIDENCE updated: 2025-12-14T12:34:56.000Z
294
+ # 🚀 Executing commit...
295
+ # ✅ AI-COMMIT completed
296
+ ```
297
+
298
+ ### Configure Hook Manually
299
+
300
+ If you need to customize the hook:
301
+
302
+ ```bash
303
+ # Edit .git/hooks/pre-commit
304
+ nano .git/hooks/pre-commit
305
+ ```
306
+
307
+ **Example of custom hook:**
308
+
309
+ ```bash
310
+ #!/bin/bash
311
+ # Custom pre-commit hook
312
+
313
+ # Only analyze backend and frontend
314
+ AUDIT_PLATFORMS=backend,frontend npm run audit
315
+
316
+ # Or strict mode
317
+ AUDIT_STRICT=1 npm run audit
318
+ ```
319
+
320
+ ### Post-commit Hook (Optional)
321
+
322
+ You can add a post-commit hook to generate reports after each commit:
323
+
324
+ ```bash
325
+ # Create .git/hooks/post-commit
326
+ cat > .git/hooks/post-commit << 'EOF'
327
+ #!/bin/bash
328
+ # Generate report after commit
329
+ npm run violations:summary > .last-commit-report.txt
330
+ EOF
331
+
332
+ chmod +x .git/hooks/post-commit
333
+ ```
334
+
335
+ ---
336
+
337
+ ## Programmatic Usage
338
+
339
+ ### Basic Example
340
+
341
+ ```javascript
342
+ const { runASTIntelligence } = require('@pumuki/ast-intelligence-hooks');
343
+
344
+ async function analyzeCode() {
345
+ const result = await runASTIntelligence({
346
+ files: ['src/**/*.ts'],
347
+ platforms: ['backend', 'frontend'],
348
+ strict: false
349
+ });
350
+
351
+ // Check for critical violations
352
+ if (result.hasCriticalViolations()) {
353
+ console.error('❌ Critical violations found!');
354
+ result.getCriticalFindings().forEach(finding => {
355
+ console.error(` - ${finding.getRule()}: ${finding.getMessage()}`);
356
+ });
357
+ process.exit(1);
358
+ }
359
+
360
+ // View summary
361
+ console.log(`✅ Analysis complete: ${result.getFindings().length} violations found`);
362
+ console.log(` Technical Debt: ${result.getTechnicalDebtHours()} hours`);
363
+ }
364
+
365
+ analyzeCode().catch(console.error);
366
+ ```
367
+
368
+ ### Use Use Cases Directly
369
+
370
+ ```javascript
371
+ const { AnalyzeStagedFilesUseCase } = require('@pumuki/ast-intelligence-hooks');
372
+ const { FileFindingsRepository } = require('@pumuki/ast-intelligence-hooks/infrastructure/repositories');
373
+ const { PlatformDetectionService } = require('@pumuki/ast-intelligence-hooks/application/services');
374
+
375
+ // Create use case instance
376
+ const repository = new FileFindingsRepository();
377
+ const detectionService = new PlatformDetectionService();
378
+ const useCase = new AnalyzeStagedFilesUseCase(repository, detectionService);
379
+
380
+ // Execute analysis
381
+ async function analyzeStaged() {
382
+ const result = await useCase.execute();
383
+
384
+ if (result.shouldBlockCommit()) {
385
+ console.error('Commit blocked due to violations');
386
+ return false;
387
+ }
388
+
389
+ return true;
390
+ }
391
+ ```
392
+
393
+ ### Custom Analysis
394
+
395
+ ```javascript
396
+ const { runBackendIntelligence } = require('@pumuki/ast-intelligence-hooks');
397
+ const glob = require('glob');
398
+
399
+ // Analyze only specific files
400
+ const files = glob.sync('src/**/*.controller.ts');
401
+
402
+ const findings = await runBackendIntelligence(files, {
403
+ strict: true,
404
+ excludePatterns: ['**/*.spec.ts']
405
+ });
406
+
407
+ // Process findings
408
+ findings.forEach(finding => {
409
+ console.log(`${finding.getSeverity()}: ${finding.getRule()}`);
410
+ console.log(` File: ${finding.getFile()}`);
411
+ console.log(` Message: ${finding.getMessage()}\n`);
412
+ });
413
+ ```
414
+
415
+ ### Filter Violations
416
+
417
+ ```javascript
418
+ const { AuditResult } = require('@pumuki/ast-intelligence-hooks');
419
+
420
+ // Get only HIGH and CRITICAL violations
421
+ const criticalAndHigh = result.getFindings().filter(f => {
422
+ const severity = f.getSeverity();
423
+ return severity === 'critical' || severity === 'high';
424
+ });
425
+
426
+ // Group by file
427
+ const byFile = {};
428
+ result.getFindings().forEach(finding => {
429
+ const file = finding.getFile();
430
+ if (!byFile[file]) {
431
+ byFile[file] = [];
432
+ }
433
+ byFile[file].push(finding);
434
+ });
435
+ ```
436
+
437
+ ---
438
+
439
+ ## Advanced Examples
440
+
441
+ ### Example 1: Webhook Integration
442
+
443
+ ```javascript
444
+ const { runASTIntelligence } = require('@pumuki/ast-intelligence-hooks');
445
+ const express = require('express');
446
+
447
+ const app = express();
448
+ app.use(express.json());
449
+
450
+ app.post('/webhook/analyze', async (req, res) => {
451
+ const { files, branch } = req.body;
452
+
453
+ try {
454
+ const result = await runASTIntelligence({
455
+ files: files || ['src/**/*.ts'],
456
+ platforms: ['backend', 'frontend']
457
+ });
458
+
459
+ res.json({
460
+ success: true,
461
+ violations: result.getFindings().length,
462
+ critical: result.getCriticalFindings().length,
463
+ technicalDebt: result.getTechnicalDebtHours()
464
+ });
465
+ } catch (error) {
466
+ res.status(500).json({ success: false, error: error.message });
467
+ }
468
+ });
469
+
470
+ app.listen(3000);
471
+ ```
472
+
473
+ ### Example 2: Custom Report
474
+
475
+ ```javascript
476
+ const { runASTIntelligence } = require('@pumuki/ast-intelligence-hooks');
477
+ const fs = require('fs');
478
+
479
+ async function generateCustomReport() {
480
+ const result = await runASTIntelligence({
481
+ files: ['src/**/*.ts', 'src/**/*.tsx'],
482
+ platforms: ['backend', 'frontend']
483
+ });
484
+
485
+ // Generate custom HTML report
486
+ const html = `
487
+ <!DOCTYPE html>
488
+ <html>
489
+ <head>
490
+ <title>AST Analysis Report</title>
491
+ <style>
492
+ body { font-family: Arial, sans-serif; margin: 20px; }
493
+ .critical { color: red; }
494
+ .high { color: orange; }
495
+ .medium { color: yellow; }
496
+ .low { color: green; }
497
+ </style>
498
+ </head>
499
+ <body>
500
+ <h1>AST Analysis Report</h1>
501
+ <p>Total Violations: ${result.getFindings().length}</p>
502
+ <p>Technical Debt: ${result.getTechnicalDebtHours()} hours</p>
503
+
504
+ <h2>Violations by Severity</h2>
505
+ <ul>
506
+ <li class="critical">CRITICAL: ${result.getCriticalFindings().length}</li>
507
+ <li class="high">HIGH: ${result.getFindings().filter(f => f.getSeverity() === 'high').length}</li>
508
+ <li class="medium">MEDIUM: ${result.getFindings().filter(f => f.getSeverity() === 'medium').length}</li>
509
+ <li class="low">LOW: ${result.getFindings().filter(f => f.getSeverity() === 'low').length}</li>
510
+ </ul>
511
+
512
+ <h2>Details</h2>
513
+ ${result.getFindings().map(f => `
514
+ <div class="${f.getSeverity()}">
515
+ <strong>${f.getRule()}</strong> - ${f.getFile()}<br>
516
+ ${f.getMessage()}
517
+ </div>
518
+ `).join('')}
519
+ </body>
520
+ </html>
521
+ `;
522
+
523
+ fs.writeFileSync('custom-report.html', html);
524
+ console.log('Report generated: custom-report.html');
525
+ }
526
+
527
+ generateCustomReport();
528
+ ```
529
+
530
+ ### Example 3: Incremental Analysis
531
+
532
+ ```javascript
533
+ const { AnalyzeStagedFilesUseCase } = require('@pumuki/ast-intelligence-hooks');
534
+ const { execSync } = require('child_process');
535
+
536
+ // Get only staged files
537
+ function getStagedFiles() {
538
+ try {
539
+ const output = execSync('git diff --cached --name-only --diff-filter=ACM', {
540
+ encoding: 'utf8'
541
+ });
542
+ return output.trim().split('\n').filter(f => f);
543
+ } catch (error) {
544
+ return [];
545
+ }
546
+ }
547
+
548
+ // Analyze only staged files
549
+ async function analyzeStagedOnly() {
550
+ const stagedFiles = getStagedFiles();
551
+
552
+ if (stagedFiles.length === 0) {
553
+ console.log('No staged files to analyze');
554
+ return;
555
+ }
556
+
557
+ console.log(`Analyzing ${stagedFiles.length} staged files...`);
558
+
559
+ // Here you would use the use case with specific files
560
+ // (simplified for example)
561
+ const useCase = new AnalyzeStagedFilesUseCase(/* dependencies */);
562
+ const result = await useCase.execute();
563
+
564
+ console.log(`Found ${result.getFindings().length} violations`);
565
+ }
566
+ ```
567
+
568
+ ### Example 4: Notification Integration
569
+
570
+ ```javascript
571
+ const { runASTIntelligence } = require('@pumuki/ast-intelligence-hooks');
572
+ const { NotificationAdapter } = require('./notification-adapter');
573
+
574
+ async function analyzeAndNotify() {
575
+ const result = await runASTIntelligence({
576
+ files: ['src/**/*.ts'],
577
+ platforms: ['backend', 'frontend']
578
+ });
579
+
580
+ const criticalCount = result.getCriticalFindings().length;
581
+
582
+ if (criticalCount > 0) {
583
+ await NotificationAdapter.send({
584
+ title: '🚨 Critical Violations Found',
585
+ message: `${criticalCount} critical violations detected`,
586
+ priority: 'high'
587
+ });
588
+ }
589
+ }
590
+ ```
591
+
592
+ ---
593
+
594
+ ## CI/CD Integration
595
+
596
+ ### GitHub Actions
597
+
598
+ ```yaml
599
+ name: AST Analysis
600
+
601
+ on:
602
+ pull_request:
603
+ branches: [main, develop]
604
+ push:
605
+ branches: [main, develop]
606
+
607
+ jobs:
608
+ ast-analysis:
609
+ runs-on: ubuntu-latest
610
+
611
+ steps:
612
+ - uses: actions/checkout@v3
613
+
614
+ - name: Setup Node.js
615
+ uses: actions/setup-node@v3
616
+ with:
617
+ node-version: '20'
618
+
619
+ - name: Install dependencies
620
+ run: npm ci
621
+
622
+ - name: Install AST Intelligence Hooks
623
+ run: npm install --save-dev @pumuki/ast-intelligence-hooks
624
+
625
+ - name: Run AST Analysis
626
+ run: npm run audit
627
+ continue-on-error: true
628
+
629
+ - name: Upload violations report
630
+ if: always()
631
+ uses: actions/upload-artifact@v3
632
+ with:
633
+ name: ast-violations-report
634
+ path: .audit-reports/
635
+ ```
636
+
637
+ ### GitLab CI
638
+
639
+ ```yaml
640
+ ast_analysis:
641
+ stage: test
642
+ image: node:20
643
+
644
+ script:
645
+ - npm ci
646
+ - npm install --save-dev @pumuki/ast-intelligence-hooks
647
+ - npm run audit || true
648
+ - npm run violations:summary > violations-summary.txt
649
+
650
+ artifacts:
651
+ when: always
652
+ paths:
653
+ - .audit-reports/
654
+ - violations-summary.txt
655
+ expire_in: 7 days
656
+ ```
657
+
658
+ ### Jenkins Pipeline
659
+
660
+ ```groovy
661
+ pipeline {
662
+ agent any
663
+
664
+ stages {
665
+ stage('AST Analysis') {
666
+ steps {
667
+ sh 'npm ci'
668
+ sh 'npm install --save-dev @pumuki/ast-intelligence-hooks'
669
+ sh 'npm run audit || true'
670
+ archiveArtifacts artifacts: '.audit-reports/**', fingerprint: true
671
+ }
672
+ }
673
+ }
674
+
675
+ post {
676
+ always {
677
+ publishHTML([
678
+ reportDir: '.audit-reports',
679
+ reportFiles: 'report.html',
680
+ reportName: 'AST Analysis Report'
681
+ ])
682
+ }
683
+ }
684
+ }
685
+ ```
686
+
687
+ ### CircleCI
688
+
689
+ ```yaml
690
+ version: 2.1
691
+
692
+ jobs:
693
+ ast-analysis:
694
+ docker:
695
+ - image: cimg/node:20.0
696
+ steps:
697
+ - checkout
698
+ - run: npm ci
699
+ - run: npm install --save-dev @pumuki/ast-intelligence-hooks
700
+ - run: npm run audit || true
701
+ - store_artifacts:
702
+ path: .audit-reports
703
+ destination: ast-reports
704
+
705
+ workflows:
706
+ version: 2
707
+ test:
708
+ jobs:
709
+ - ast-analysis
710
+ ```
711
+
712
+ ---
713
+
714
+ ## Rule Configuration
715
+
716
+ ### Adding Your Own IDE Rules (.mdc files)
717
+
718
+ This library works seamlessly with **agentic IDE rules** (`.mdc` files) compatible with Cursor, Claude Desktop, Windsurf, and other agentic IDEs. The system automatically searches for rules in multiple locations:
719
+
720
+ **Search Order:**
721
+ 1. **Project-level**: `.cursor/rules/`, `.windsurf/rules/`, `.vscode/rules/`, `.kilo/rules/`, `.cline/rules/` (highest priority)
722
+ 2. **IDE project cache**: `~/.cursor/projects/[project-name]/rules/` (for Cursor)
723
+ 3. **Global IDE locations**:
724
+ - `~/.cursor/rules/` (Cursor)
725
+ - `~/Library/Application Support/Cursor/User/rules/` (Cursor - macOS)
726
+ - `~/.config/cursor/rules/` (Cursor - Linux)
727
+
728
+ **Supported Rule Files:**
729
+ - `rulesbackend.mdc` - Backend/Node.js/TypeScript rules
730
+ - `rulesfront.mdc` - Frontend/React/Next.js rules
731
+ - `rulesios.mdc` - iOS/Swift/SwiftUI rules
732
+ - `rulesandroid.mdc` - Android/Kotlin/Jetpack Compose rules
733
+ - `rulesgold.mdc` - Universal rules (applies to all platforms)
734
+
735
+ **How to Add Rules:**
736
+
737
+ **Option 1: Project-specific rules** (Recommended for team projects)
738
+ ```bash
739
+ # Create rules directory in your project
740
+ mkdir -p .cursor/rules
741
+
742
+ # Add your platform-specific rules
743
+ # Example: .cursor/rules/rulesbackend.mdc
744
+ ```
745
+
746
+ **Option 2: Global rules** (Recommended for personal rules across all projects)
747
+ ```bash
748
+ # Create global rules directory
749
+ mkdir -p ~/.cursor/rules
750
+
751
+ # Add your rules there - they'll be automatically used by all projects
752
+ # Example: ~/.cursor/rules/rulesbackend.mdc
753
+ ```
754
+
755
+ **Option 3: Copy from another project**
756
+ ```bash
757
+ # Copy rules from a template project
758
+ cp /path/to/template-project/.cursor/rules/*.mdc .cursor/rules/
759
+ ```
760
+
761
+ **Important Notes:**
762
+ - ✅ Rules are **automatically detected** - no configuration needed
763
+ - ✅ Works with any agentic IDE (Cursor, Claude Desktop, Windsurf, etc.)
764
+ - ✅ Project-level rules take precedence over global rules
765
+ - ✅ The library **does not include** default `.mdc` rules (to avoid conflicts with your team's standards)
766
+ - ✅ Rules are used by `ai-start` and evidence generation to provide context to AI assistants
767
+
768
+ **Example Rule File Structure:**
769
+ ```markdown
770
+ ---
771
+ alwaysApply: true
772
+ ---
773
+
774
+ ### Your Team Standards
775
+
776
+ ✅ Always follow Clean Architecture
777
+ ✅ Use dependency injection
778
+ ✅ Write tests before implementation
779
+ # ... your rules here
780
+ ```
781
+
782
+ ---
783
+
784
+ ### Exclude Files from Analysis
785
+
786
+ Create or edit `config/ast-exclusions.json`:
787
+
788
+ ```json
789
+ {
790
+ "patterns": [
791
+ "node_modules/**",
792
+ "dist/**",
793
+ "build/**",
794
+ "coverage/**",
795
+ "**/*.test.ts",
796
+ "**/*.spec.ts",
797
+ "**/migrations/**"
798
+ ]
799
+ }
800
+ ```
801
+
802
+ ### Configure Severity by Rule
803
+
804
+ Edit `config/language-guard.json`:
805
+
806
+ ```json
807
+ {
808
+ "backend": {
809
+ "rules": {
810
+ "backend.api.password_not_hashed": {
811
+ "severity": "critical",
812
+ "enabled": true
813
+ },
814
+ "backend.architecture.domain_import": {
815
+ "severity": "high",
816
+ "enabled": true
817
+ }
818
+ }
819
+ }
820
+ }
821
+ ```
822
+
823
+ ### Customize Quality Gates
824
+
825
+ ```javascript
826
+ // In your custom code
827
+ const { CommitBlockingRules } = require('@pumuki/ast-intelligence-hooks');
828
+
829
+ // Extend blocking rules
830
+ class CustomCommitBlockingRules extends CommitBlockingRules {
831
+ shouldBlockCommit(auditResult) {
832
+ // Your custom logic
833
+ const criticalCount = auditResult.getCriticalFindings().length;
834
+ const highCount = auditResult.getFindings().filter(f =>
835
+ f.getSeverity() === 'high'
836
+ ).length;
837
+
838
+ // Block if there are more than 3 critical or more than 10 high
839
+ return criticalCount > 3 || highCount > 10;
840
+ }
841
+ }
842
+ ```
843
+
844
+ ---
845
+
846
+ ## Next Steps
847
+
848
+ - 📚 [API Reference](./API_REFERENCE.md) - Complete API reference
849
+ - 🏗️ [Architecture](./ARCHITECTURE_DETAILED.md) - System architecture
850
+ - 🔌 [MCP Servers](./MCP_SERVERS.md) - Cursor AI integration
851
+ - 📦 [Installation](./INSTALLATION.md) - Installation guide
852
+
853
+ ---
854
+
855
+ **Last updated**: 2025-01-13
856
+ **Version**: 5.3.0