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.
- package/LICENSE +21 -0
- package/README.md +1105 -0
- package/bin/__tests__/auto-fix-violations.spec.js +132 -0
- package/bin/__tests__/auto-restart-guards.spec.js +11 -0
- package/bin/__tests__/check-doc-drift.spec.js +11 -0
- package/bin/__tests__/check-version.spec.js +240 -0
- package/bin/__tests__/cli.spec.js +11 -0
- package/bin/__tests__/guard-auto-manager.spec.js +11 -0
- package/bin/__tests__/guard-supervisor.spec.js +11 -0
- package/bin/__tests__/hook-status.spec.js +11 -0
- package/bin/__tests__/install.spec.js +11 -0
- package/bin/__tests__/nightly-metrics-report.spec.js +94 -0
- package/bin/__tests__/plan-review.spec.js +11 -0
- package/bin/__tests__/predictive-hooks.spec.js +11 -0
- package/bin/__tests__/run-ast-adapter.spec.js +11 -0
- package/bin/__tests__/run-orchestrator.spec.js +11 -0
- package/bin/__tests__/run-playbook.spec.js +11 -0
- package/bin/__tests__/setup-eslint.spec.js +11 -0
- package/bin/__tests__/violations-api.spec.js +11 -0
- package/bin/__tests__/watch-hooks.spec.js +11 -0
- package/bin/ai-commit.sh +5 -0
- package/bin/audit +5 -0
- package/bin/audit-library.js +6 -0
- package/bin/auto-fix-violations.js +19 -0
- package/bin/auto-restart-guards.js +6 -0
- package/bin/check-doc-drift.js +6 -0
- package/bin/check-version.js +19 -0
- package/bin/cleanup-branches.sh +5 -0
- package/bin/cli.js +6 -0
- package/bin/demo-recording.sh +5 -0
- package/bin/demo-violations +5 -0
- package/bin/fix-enforcer +5 -0
- package/bin/fix-gitflow-enforcement.sh +5 -0
- package/bin/generate-progress-report.sh +5 -0
- package/bin/git-analyze-pairs.sh +5 -0
- package/bin/git-leave-branch-check.sh +5 -0
- package/bin/gitflow +5 -0
- package/bin/gitflow-shell-integration.sh +5 -0
- package/bin/guard-auto-manager.js +6 -0
- package/bin/guard-autostart.sh +5 -0
- package/bin/guard-env.sh +5 -0
- package/bin/guard-supervisor.js +6 -0
- package/bin/hook-status.js +6 -0
- package/bin/install-git-wrapper.sh +5 -0
- package/bin/install.js +6 -0
- package/bin/kill-mcp-zombies.sh +5 -0
- package/bin/nightly-metrics-report.js +8 -0
- package/bin/plan-review.js +6 -0
- package/bin/predictive-hooks.js +6 -0
- package/bin/pumuki-audit.js +6 -0
- package/bin/pumuki-init.js +19 -0
- package/bin/pumuki-mcp-server.js +13 -0
- package/bin/pumuki-mcp.js +6 -0
- package/bin/pumuki-rules.js +6 -0
- package/bin/request-no-verify-approval.sh +5 -0
- package/bin/run-ast-adapter.js +6 -0
- package/bin/run-intelligent-audit.sh +5 -0
- package/bin/run-orchestrator.js +6 -0
- package/bin/run-playbook.js +6 -0
- package/bin/session-loader.sh +5 -0
- package/bin/setup-eslint.js +6 -0
- package/bin/start-guards.sh +5 -0
- package/bin/sync-autonomous-orchestrator.sh +5 -0
- package/bin/sync-to-library.sh +5 -0
- package/bin/update-evidence.sh +5 -0
- package/bin/update-session-context.sh +5 -0
- package/bin/verify-no-verify.sh +5 -0
- package/bin/violations +5 -0
- package/bin/violations-api.js +6 -0
- package/bin/watch-hooks.js +6 -0
- package/docs/API_REFERENCE.md +161 -0
- package/docs/ARCHITECTURE.md +236 -0
- package/docs/ARCHITECTURE_DETAILED.md +499 -0
- package/docs/BRANCH_PROTECTION_GUIDE.md +236 -0
- package/docs/CODE_STANDARDS.md +440 -0
- package/docs/CONTRIBUTING.md +246 -0
- package/docs/DEPENDENCIES.md +541 -0
- package/docs/HOW_IT_WORKS.md +716 -0
- package/docs/INSTALLATION.md +784 -0
- package/docs/MCP_SERVERS.md +786 -0
- package/docs/TESTING.md +423 -0
- package/docs/USAGE.md +856 -0
- package/docs/images/ast_intelligence_01.png +0 -0
- package/docs/images/ast_intelligence_02.png +0 -0
- package/docs/images/ast_intelligence_03.png +0 -0
- package/docs/images/ast_intelligence_04.png +0 -0
- package/docs/images/ast_intelligence_05.png +0 -0
- package/hooks/getSkillRulesPath.ts +52 -0
- package/hooks/git-status-monitor.ts +160 -0
- package/hooks/index.js +5 -0
- package/hooks/notify-macos.ts +42 -0
- package/hooks/package.json +16 -0
- package/hooks/post-tool-use-tracker.sh +89 -0
- package/hooks/pre-tool-use-evidence-validator.ts +252 -0
- package/hooks/pre-tool-use-guard.ts +151 -0
- package/hooks/skill-activation-prompt.sh +8 -0
- package/hooks/skill-activation-prompt.ts +307 -0
- package/index.js +49 -0
- package/package.json +117 -0
- package/presentation/cli/audit.sh +24 -0
- package/presentation/cli/autonomous-status.sh +92 -0
- package/presentation/cli/categorize-violations.sh +179 -0
- package/presentation/cli/direct-audit-option2.sh +23 -0
- package/presentation/cli/direct-audit.sh +33 -0
- package/scripts/hooks-system/.AI_TOKEN_STATUS.txt +16 -0
- package/scripts/hooks-system/.audit-reports/auto-recovery.log +1 -0
- package/scripts/hooks-system/.audit-reports/install-wizard.log +4 -0
- package/scripts/hooks-system/.audit-reports/notifications.log +425 -0
- package/scripts/hooks-system/.audit-reports/token-monitor.log +1275 -0
- package/scripts/hooks-system/.audit_tmp/intelligent-report.json +44953 -0
- package/scripts/hooks-system/.audit_tmp/intelligent-report.txt +1338 -0
- package/scripts/hooks-system/.audit_tmp/severity-history.jsonl +1 -0
- package/scripts/hooks-system/.audit_tmp/token-usage.jsonl +1 -0
- package/scripts/hooks-system/.hook-system/config.json +8 -0
- package/scripts/hooks-system/application/CompositionRoot.js +325 -0
- package/scripts/hooks-system/application/__tests__/CompositionRoot.spec.js +84 -0
- package/scripts/hooks-system/application/commands/index.js +64 -0
- package/scripts/hooks-system/application/queries/index.js +60 -0
- package/scripts/hooks-system/application/services/AutonomousOrchestrator.js +130 -0
- package/scripts/hooks-system/application/services/ContextDetectionEngine.js +181 -0
- package/scripts/hooks-system/application/services/DynamicRulesLoader.js +182 -0
- package/scripts/hooks-system/application/services/GitFlowService.js +156 -0
- package/scripts/hooks-system/application/services/GitTreeState.js +140 -0
- package/scripts/hooks-system/application/services/HookSystemScheduler.js +77 -0
- package/scripts/hooks-system/application/services/IntelligentCommitAnalyzer.js +151 -0
- package/scripts/hooks-system/application/services/IntelligentGitTreeMonitor.js +118 -0
- package/scripts/hooks-system/application/services/PlatformAnalysisService.js +173 -0
- package/scripts/hooks-system/application/services/PlatformDetectionService.js +168 -0
- package/scripts/hooks-system/application/services/PlaybookRunner.js +39 -0
- package/scripts/hooks-system/application/services/PredictiveHookAdvisor.js +56 -0
- package/scripts/hooks-system/application/services/RealtimeGuardPlugin.js +62 -0
- package/scripts/hooks-system/application/services/RealtimeGuardService.js +374 -0
- package/scripts/hooks-system/application/services/SmartDirtyTreeAnalyzer.js +63 -0
- package/scripts/hooks-system/application/services/__tests__/AutonomousOrchestrator.spec.js +36 -0
- package/scripts/hooks-system/application/services/__tests__/ContextDetectionEngine.spec.js +33 -0
- package/scripts/hooks-system/application/services/__tests__/DynamicRulesLoader.spec.js +43 -0
- package/scripts/hooks-system/application/services/__tests__/GitTreeState.spec.js +163 -0
- package/scripts/hooks-system/application/services/__tests__/HookSystemScheduler.spec.js +207 -0
- package/scripts/hooks-system/application/services/__tests__/IntelligentCommitAnalyzer.spec.js +365 -0
- package/scripts/hooks-system/application/services/__tests__/IntelligentGitTreeMonitor.spec.js +188 -0
- package/scripts/hooks-system/application/services/__tests__/PlatformDetectionService.spec.js +28 -0
- package/scripts/hooks-system/application/services/__tests__/PlaybookRunner.spec.js +143 -0
- package/scripts/hooks-system/application/services/__tests__/PredictiveHookAdvisor.spec.js +181 -0
- package/scripts/hooks-system/application/services/__tests__/RealtimeGuardPlugin.spec.js +45 -0
- package/scripts/hooks-system/application/services/__tests__/RealtimeGuardService.critical.spec.js +401 -0
- package/scripts/hooks-system/application/services/commit/CommitMessageGenerator.js +34 -0
- package/scripts/hooks-system/application/services/commit/FeatureDetector.js +101 -0
- package/scripts/hooks-system/application/services/evidence/EvidenceContextManager.js +163 -0
- package/scripts/hooks-system/application/services/evidence/__tests__/EvidenceContextManager.spec.js +98 -0
- package/scripts/hooks-system/application/services/guard/GuardAutoManagerService.js +169 -0
- package/scripts/hooks-system/application/services/guard/GuardConfig.js +15 -0
- package/scripts/hooks-system/application/services/guard/GuardEventLogger.js +70 -0
- package/scripts/hooks-system/application/services/guard/GuardHealthReminder.js +54 -0
- package/scripts/hooks-system/application/services/guard/GuardHeartbeatMonitor.js +94 -0
- package/scripts/hooks-system/application/services/guard/GuardLockManager.js +72 -0
- package/scripts/hooks-system/application/services/guard/GuardMonitorLoop.js +29 -0
- package/scripts/hooks-system/application/services/guard/GuardNotificationHandler.js +36 -0
- package/scripts/hooks-system/application/services/guard/GuardProcessManager.js +113 -0
- package/scripts/hooks-system/application/services/guard/GuardRecoveryService.js +90 -0
- package/scripts/hooks-system/application/services/guard/__tests__/GuardAutoManagerService.spec.js +77 -0
- package/scripts/hooks-system/application/services/installation/ConfigurationGeneratorService.js +123 -0
- package/scripts/hooks-system/application/services/installation/FileSystemInstallerService.js +112 -0
- package/scripts/hooks-system/application/services/installation/GitEnvironmentService.js +166 -0
- package/scripts/hooks-system/application/services/installation/HookInstaller.js +197 -0
- package/scripts/hooks-system/application/services/installation/IdeIntegrationService.js +37 -0
- package/scripts/hooks-system/application/services/installation/InstallService.js +130 -0
- package/scripts/hooks-system/application/services/installation/McpConfigurator.js +172 -0
- package/scripts/hooks-system/application/services/installation/PlatformDetectorService.js +36 -0
- package/scripts/hooks-system/application/services/installation/VSCodeTaskConfigurator.js +97 -0
- package/scripts/hooks-system/application/services/logging/UnifiedLogger.js +142 -0
- package/scripts/hooks-system/application/services/logging/__tests__/UnifiedLogger.spec.js +66 -0
- package/scripts/hooks-system/application/services/monitoring/ActivityMonitor.js +80 -0
- package/scripts/hooks-system/application/services/monitoring/AstMonitor.js +140 -0
- package/scripts/hooks-system/application/services/monitoring/DevDocsMonitor.js +85 -0
- package/scripts/hooks-system/application/services/monitoring/EvidenceMonitor.js +103 -0
- package/scripts/hooks-system/application/services/monitoring/EvidenceMonitorService.js +162 -0
- package/scripts/hooks-system/application/services/monitoring/GitTreeMonitor.js +123 -0
- package/scripts/hooks-system/application/services/monitoring/GitTreeMonitorService.js +114 -0
- package/scripts/hooks-system/application/services/monitoring/HealthCheckProviders.js +153 -0
- package/scripts/hooks-system/application/services/monitoring/HealthCheckService.js +118 -0
- package/scripts/hooks-system/application/services/monitoring/HeartbeatMonitorService.js +61 -0
- package/scripts/hooks-system/application/services/monitoring/TokenMonitor.js +60 -0
- package/scripts/hooks-system/application/services/monitoring/__tests__/EvidenceMonitorService.spec.js +107 -0
- package/scripts/hooks-system/application/services/monitoring/__tests__/GitTreeMonitorService.spec.js +27 -0
- package/scripts/hooks-system/application/services/monitoring/__tests__/HealthCheckProviders.spec.js +68 -0
- package/scripts/hooks-system/application/services/monitoring/__tests__/HealthCheckService.spec.js +69 -0
- package/scripts/hooks-system/application/services/monitoring/__tests__/HeartbeatMonitorService.spec.js +35 -0
- package/scripts/hooks-system/application/services/notification/MacNotificationSender.js +106 -0
- package/scripts/hooks-system/application/services/notification/NotificationCenterService.js +221 -0
- package/scripts/hooks-system/application/services/notification/NotificationDispatcher.js +42 -0
- package/scripts/hooks-system/application/services/notification/__tests__/NotificationCenterService.spec.js +40 -0
- package/scripts/hooks-system/application/services/notification/components/NotificationCooldownManager.js +62 -0
- package/scripts/hooks-system/application/services/notification/components/NotificationDeduplicator.js +67 -0
- package/scripts/hooks-system/application/services/notification/components/NotificationQueue.js +36 -0
- package/scripts/hooks-system/application/services/notification/components/NotificationRetryExecutor.js +58 -0
- package/scripts/hooks-system/application/services/platform/PlatformHeuristics.js +144 -0
- package/scripts/hooks-system/application/services/recovery/AutoRecoveryManager.js +137 -0
- package/scripts/hooks-system/application/services/recovery/__tests__/AutoRecoveryManager.spec.js +62 -0
- package/scripts/hooks-system/application/services/smart-commit/CommitMessageSuggester.js +97 -0
- package/scripts/hooks-system/application/services/smart-commit/FileContextGrouper.js +114 -0
- package/scripts/hooks-system/application/services/smart-commit/SmartCommitSummaryBuilder.js +53 -0
- package/scripts/hooks-system/application/services/token/CursorTokenService.js +44 -0
- package/scripts/hooks-system/application/services/token/TokenMetricsService.js +109 -0
- package/scripts/hooks-system/application/services/token/TokenMonitorService.js +160 -0
- package/scripts/hooks-system/application/services/token/TokenStatusReporter.js +56 -0
- package/scripts/hooks-system/application/services/token/__tests__/CursorTokenService.spec.js +69 -0
- package/scripts/hooks-system/application/services/token/__tests__/TokenMonitorService.spec.js +185 -0
- package/scripts/hooks-system/application/state/HookSystemStateMachine.js +59 -0
- package/scripts/hooks-system/application/state/__tests__/HookSystemStateMachine.spec.js +115 -0
- package/scripts/hooks-system/application/use-cases/AnalyzeCodebaseUseCase.js +54 -0
- package/scripts/hooks-system/application/use-cases/AnalyzeStagedFilesUseCase.js +61 -0
- package/scripts/hooks-system/application/use-cases/AutoExecuteAIStartUseCase.js +123 -0
- package/scripts/hooks-system/application/use-cases/BlockCommitUseCase.js +90 -0
- package/scripts/hooks-system/application/use-cases/GenerateAuditReportUseCase.js +184 -0
- package/scripts/hooks-system/application/use-cases/__tests__/AnalyzeCodebaseUseCase.spec.js +156 -0
- package/scripts/hooks-system/application/use-cases/__tests__/AnalyzeStagedFilesUseCase.spec.js +146 -0
- package/scripts/hooks-system/application/use-cases/__tests__/AutoExecuteAIStartUseCase.spec.js +89 -0
- package/scripts/hooks-system/application/use-cases/__tests__/BlockCommitUseCase.spec.js +171 -0
- package/scripts/hooks-system/application/use-cases/__tests__/GenerateAuditReportUseCase.spec.js +207 -0
- package/scripts/hooks-system/bin/__tests__/auto-fix-violations.spec.js +132 -0
- package/scripts/hooks-system/bin/__tests__/auto-restart-guards.spec.js +11 -0
- package/scripts/hooks-system/bin/__tests__/check-doc-drift.spec.js +11 -0
- package/scripts/hooks-system/bin/__tests__/check-version.spec.js +240 -0
- package/scripts/hooks-system/bin/__tests__/cli.spec.js +11 -0
- package/scripts/hooks-system/bin/__tests__/guard-auto-manager.spec.js +11 -0
- package/scripts/hooks-system/bin/__tests__/guard-supervisor.spec.js +11 -0
- package/scripts/hooks-system/bin/__tests__/hook-status.spec.js +11 -0
- package/scripts/hooks-system/bin/__tests__/install.spec.js +11 -0
- package/scripts/hooks-system/bin/__tests__/nightly-metrics-report.spec.js +94 -0
- package/scripts/hooks-system/bin/__tests__/plan-review.spec.js +11 -0
- package/scripts/hooks-system/bin/__tests__/predictive-hooks.spec.js +11 -0
- package/scripts/hooks-system/bin/__tests__/run-ast-adapter.spec.js +11 -0
- package/scripts/hooks-system/bin/__tests__/run-orchestrator.spec.js +11 -0
- package/scripts/hooks-system/bin/__tests__/run-playbook.spec.js +11 -0
- package/scripts/hooks-system/bin/__tests__/setup-eslint.spec.js +11 -0
- package/scripts/hooks-system/bin/__tests__/violations-api.spec.js +11 -0
- package/scripts/hooks-system/bin/__tests__/watch-hooks.spec.js +11 -0
- package/scripts/hooks-system/bin/ai-commit.sh +63 -0
- package/scripts/hooks-system/bin/audit +463 -0
- package/scripts/hooks-system/bin/audit-library.js +54 -0
- package/scripts/hooks-system/bin/auto-fix-violations.js +130 -0
- package/scripts/hooks-system/bin/auto-restart-guards.js +93 -0
- package/scripts/hooks-system/bin/check-doc-drift.js +35 -0
- package/scripts/hooks-system/bin/check-version.js +201 -0
- package/scripts/hooks-system/bin/cleanup-branches.sh +106 -0
- package/scripts/hooks-system/bin/cli.js +208 -0
- package/scripts/hooks-system/bin/demo-recording.sh +57 -0
- package/scripts/hooks-system/bin/demo-violations +44 -0
- package/scripts/hooks-system/bin/fix-enforcer +27 -0
- package/scripts/hooks-system/bin/fix-gitflow-enforcement.sh +68 -0
- package/scripts/hooks-system/bin/generate-progress-report.sh +129 -0
- package/scripts/hooks-system/bin/git-analyze-pairs.sh +0 -0
- package/scripts/hooks-system/bin/git-leave-branch-check.sh +73 -0
- package/scripts/hooks-system/bin/gitflow +17 -0
- package/scripts/hooks-system/bin/gitflow-shell-integration.sh +64 -0
- package/scripts/hooks-system/bin/guard-auto-manager.js +44 -0
- package/scripts/hooks-system/bin/guard-autostart.sh +158 -0
- package/scripts/hooks-system/bin/guard-env.sh +40 -0
- package/scripts/hooks-system/bin/guard-supervisor.js +516 -0
- package/scripts/hooks-system/bin/hook-status.js +41 -0
- package/scripts/hooks-system/bin/install-git-wrapper.sh +53 -0
- package/scripts/hooks-system/bin/install.js +10 -0
- package/scripts/hooks-system/bin/kill-mcp-zombies.sh +48 -0
- package/scripts/hooks-system/bin/nightly-metrics-report.js +138 -0
- package/scripts/hooks-system/bin/plan-review.js +31 -0
- package/scripts/hooks-system/bin/predictive-hooks.js +18 -0
- package/scripts/hooks-system/bin/pumuki-audit.js +113 -0
- package/scripts/hooks-system/bin/pumuki-init.js +104 -0
- package/scripts/hooks-system/bin/pumuki-mcp.js +74 -0
- package/scripts/hooks-system/bin/pumuki-rules.js +74 -0
- package/scripts/hooks-system/bin/request-no-verify-approval.sh +116 -0
- package/scripts/hooks-system/bin/run-ast-adapter.js +86 -0
- package/scripts/hooks-system/bin/run-intelligent-audit.sh +67 -0
- package/scripts/hooks-system/bin/run-orchestrator.js +27 -0
- package/scripts/hooks-system/bin/run-playbook.js +23 -0
- package/scripts/hooks-system/bin/session-loader.sh +264 -0
- package/scripts/hooks-system/bin/setup-eslint.js +110 -0
- package/scripts/hooks-system/bin/start-guards.sh +190 -0
- package/scripts/hooks-system/bin/sync-autonomous-orchestrator.sh +32 -0
- package/scripts/hooks-system/bin/sync-to-library.sh +46 -0
- package/scripts/hooks-system/bin/update-evidence.sh +1167 -0
- package/scripts/hooks-system/bin/update-session-context.sh +261 -0
- package/scripts/hooks-system/bin/verify-no-verify.sh +68 -0
- package/scripts/hooks-system/bin/violations +20 -0
- package/scripts/hooks-system/bin/violations-api.js +345 -0
- package/scripts/hooks-system/bin/watch-hooks.js +20 -0
- package/scripts/hooks-system/config/project.config.json +36 -0
- package/scripts/hooks-system/config/state-map.json +12 -0
- package/scripts/hooks-system/domain/entities/AuditResult.js +139 -0
- package/scripts/hooks-system/domain/entities/Finding.js +116 -0
- package/scripts/hooks-system/domain/entities/SeverityConfig.js +73 -0
- package/scripts/hooks-system/domain/entities/SeverityConfig.ts +90 -0
- package/scripts/hooks-system/domain/entities/__tests__/AuditResult.spec.js +450 -0
- package/scripts/hooks-system/domain/entities/__tests__/Finding.spec.js +335 -0
- package/scripts/hooks-system/domain/entities/__tests__/SeverityConfig.spec.js +240 -0
- package/scripts/hooks-system/domain/entities/__tests__/entities.spec.js +29 -0
- package/scripts/hooks-system/domain/errors/__tests__/DomainErrors.spec.js +59 -0
- package/scripts/hooks-system/domain/errors/index.js +169 -0
- package/scripts/hooks-system/domain/events/__tests__/DomainEvents.spec.js +60 -0
- package/scripts/hooks-system/domain/events/index.js +121 -0
- package/scripts/hooks-system/domain/ports/IAstPort.js +67 -0
- package/scripts/hooks-system/domain/ports/IEvidencePort.js +86 -0
- package/scripts/hooks-system/domain/ports/IGitCommandPort.js +110 -0
- package/scripts/hooks-system/domain/ports/IGitPort.js +114 -0
- package/scripts/hooks-system/domain/ports/IGitQueryPort.js +93 -0
- package/scripts/hooks-system/domain/ports/INotificationPort.js +35 -0
- package/scripts/hooks-system/domain/ports/__tests__/ports.spec.js +36 -0
- package/scripts/hooks-system/domain/ports/index.js +14 -0
- package/scripts/hooks-system/domain/repositories/ICursorTokenRepository.js +13 -0
- package/scripts/hooks-system/domain/repositories/IFindingsRepository.js +30 -0
- package/scripts/hooks-system/domain/repositories/__tests__/IFindingsRepository.spec.js +18 -0
- package/scripts/hooks-system/domain/rules/CommitBlockingRules.js +142 -0
- package/scripts/hooks-system/domain/rules/__tests__/CommitBlockingRules.spec.js +18 -0
- package/scripts/hooks-system/domain/services/AuditAnalyzer.js +103 -0
- package/scripts/hooks-system/domain/services/AuditFilter.js +26 -0
- package/scripts/hooks-system/domain/services/AuditResultSerializer.js +35 -0
- package/scripts/hooks-system/domain/services/AuditScorer.js +38 -0
- package/scripts/hooks-system/domain/values/Severity.js +93 -0
- package/scripts/hooks-system/index.js +49 -0
- package/scripts/hooks-system/infrastructure/adapters/AstAnalyzerAdapter.js +150 -0
- package/scripts/hooks-system/infrastructure/adapters/FileEvidenceAdapter.js +140 -0
- package/scripts/hooks-system/infrastructure/adapters/GitCliAdapter.js +16 -0
- package/scripts/hooks-system/infrastructure/adapters/GitCommandAdapter.js +68 -0
- package/scripts/hooks-system/infrastructure/adapters/GitHubCliAdapter.js +85 -0
- package/scripts/hooks-system/infrastructure/adapters/GitQueryAdapter.js +58 -0
- package/scripts/hooks-system/infrastructure/adapters/LegacyAnalyzerAdapter.js +61 -0
- package/scripts/hooks-system/infrastructure/adapters/MacOSNotificationAdapter.js +99 -0
- package/scripts/hooks-system/infrastructure/adapters/__tests__/AstAnalyzerAdapter.spec.js +32 -0
- package/scripts/hooks-system/infrastructure/adapters/__tests__/FileEvidenceAdapter.spec.js +31 -0
- package/scripts/hooks-system/infrastructure/adapters/__tests__/GitCliAdapter.spec.js +39 -0
- package/scripts/hooks-system/infrastructure/adapters/__tests__/MacOSNotificationAdapter.spec.js +33 -0
- package/scripts/hooks-system/infrastructure/adapters/git/GitCommandRunner.js +78 -0
- package/scripts/hooks-system/infrastructure/adapters/git/GitCommandService.js +67 -0
- package/scripts/hooks-system/infrastructure/adapters/git/GitQueryService.js +50 -0
- package/scripts/hooks-system/infrastructure/adapters/index.js +14 -0
- package/scripts/hooks-system/infrastructure/ast/README.md +198 -0
- package/scripts/hooks-system/infrastructure/ast/__tests__/ast-core.spec.js +160 -0
- package/scripts/hooks-system/infrastructure/ast/__tests__/ast-intelligence.spec.js +20 -0
- package/scripts/hooks-system/infrastructure/ast/android/__tests__/ast-android.spec.js +33 -0
- package/scripts/hooks-system/infrastructure/ast/android/__tests__/clean-architecture-analyzer.spec.js +96 -0
- package/scripts/hooks-system/infrastructure/ast/android/__tests__/ddd-analyzer.spec.js +113 -0
- package/scripts/hooks-system/infrastructure/ast/android/__tests__/detekt-runner.spec.js +36 -0
- package/scripts/hooks-system/infrastructure/ast/android/__tests__/feature-first-analyzer.spec.js +80 -0
- package/scripts/hooks-system/infrastructure/ast/android/__tests__/native-bridge.spec.js +31 -0
- package/scripts/hooks-system/infrastructure/ast/android/analyzers/AndroidASTIntelligentAnalyzer.js +15 -0
- package/scripts/hooks-system/infrastructure/ast/android/analyzers/AndroidASTParser.js +157 -0
- package/scripts/hooks-system/infrastructure/ast/android/analyzers/AndroidAnalysisOrchestrator.js +164 -0
- package/scripts/hooks-system/infrastructure/ast/android/analyzers/AndroidArchitectureDetector.js +334 -0
- package/scripts/hooks-system/infrastructure/ast/android/analyzers/AndroidClassAnalyzer.js +162 -0
- package/scripts/hooks-system/infrastructure/ast/android/analyzers/AndroidForbiddenLiteralsAnalyzer.js +261 -0
- package/scripts/hooks-system/infrastructure/ast/android/analyzers/AndroidSOLIDAnalyzer.js +287 -0
- package/scripts/hooks-system/infrastructure/ast/android/analyzers/__tests__/AndroidForbiddenLiteralsAnalyzer.spec.js +58 -0
- package/scripts/hooks-system/infrastructure/ast/android/analyzers/__tests__/AndroidSOLIDAnalyzer.spec.js +84 -0
- package/scripts/hooks-system/infrastructure/ast/android/ast-android.js +1785 -0
- package/scripts/hooks-system/infrastructure/ast/android/clean-architecture-analyzer.js +115 -0
- package/scripts/hooks-system/infrastructure/ast/android/ddd-analyzer.js +70 -0
- package/scripts/hooks-system/infrastructure/ast/android/detekt-runner.js +81 -0
- package/scripts/hooks-system/infrastructure/ast/android/feature-first-analyzer.js +53 -0
- package/scripts/hooks-system/infrastructure/ast/android/native-bridge.js +119 -0
- package/scripts/hooks-system/infrastructure/ast/archive/README.md +18 -0
- package/scripts/hooks-system/infrastructure/ast/archive/ast-intelligence.ts +276 -0
- package/scripts/hooks-system/infrastructure/ast/archive/ios-rules.js +329 -0
- package/scripts/hooks-system/infrastructure/ast/archive/kotlin-analyzer.js +332 -0
- package/scripts/hooks-system/infrastructure/ast/archive/kotlin-parser.js +303 -0
- package/scripts/hooks-system/infrastructure/ast/archive/swift-analyzer.js +390 -0
- package/scripts/hooks-system/infrastructure/ast/ast-core.js +594 -0
- package/scripts/hooks-system/infrastructure/ast/ast-intelligence.js +617 -0
- package/scripts/hooks-system/infrastructure/ast/backend/__tests__/ast-backend.spec.js +20 -0
- package/scripts/hooks-system/infrastructure/ast/backend/__tests__/clean-architecture-analyzer.spec.js +151 -0
- package/scripts/hooks-system/infrastructure/ast/backend/__tests__/ddd-analyzer.spec.js +124 -0
- package/scripts/hooks-system/infrastructure/ast/backend/__tests__/feature-first-analyzer.spec.js +128 -0
- package/scripts/hooks-system/infrastructure/ast/backend/__tests__/forbidden-literals-analyzer.spec.js +95 -0
- package/scripts/hooks-system/infrastructure/ast/backend/__tests__/nestjs-patterns-analyzer.spec.js +59 -0
- package/scripts/hooks-system/infrastructure/ast/backend/__tests__/solid-analyzer.spec.js +114 -0
- package/scripts/hooks-system/infrastructure/ast/backend/analyzers/BackendArchitectureDetector.js +141 -0
- package/scripts/hooks-system/infrastructure/ast/backend/analyzers/BackendPatternDetector.js +23 -0
- package/scripts/hooks-system/infrastructure/ast/backend/analyzers/__tests__/BackendArchitectureDetector.spec.js +239 -0
- package/scripts/hooks-system/infrastructure/ast/backend/analyzers/__tests__/BackendPatternDetector.spec.js +58 -0
- package/scripts/hooks-system/infrastructure/ast/backend/analyzers/detectors/CQRSDetector.js +41 -0
- package/scripts/hooks-system/infrastructure/ast/backend/analyzers/detectors/CleanArchitectureDetector.js +52 -0
- package/scripts/hooks-system/infrastructure/ast/backend/analyzers/detectors/FeatureFirstCleanDetector.js +74 -0
- package/scripts/hooks-system/infrastructure/ast/backend/analyzers/detectors/LayeredArchitectureDetector.js +25 -0
- package/scripts/hooks-system/infrastructure/ast/backend/analyzers/detectors/MVCDetector.js +32 -0
- package/scripts/hooks-system/infrastructure/ast/backend/analyzers/detectors/OnionArchitectureDetector.js +32 -0
- package/scripts/hooks-system/infrastructure/ast/backend/ast-backend-clean.js +44 -0
- package/scripts/hooks-system/infrastructure/ast/backend/ast-backend.js +2048 -0
- package/scripts/hooks-system/infrastructure/ast/backend/clean-architecture-analyzer.js +142 -0
- package/scripts/hooks-system/infrastructure/ast/backend/ddd-analyzer.js +256 -0
- package/scripts/hooks-system/infrastructure/ast/backend/feature-first-analyzer.js +70 -0
- package/scripts/hooks-system/infrastructure/ast/backend/forbidden-literals-analyzer.js +236 -0
- package/scripts/hooks-system/infrastructure/ast/backend/nestjs-patterns-analyzer.js +11 -0
- package/scripts/hooks-system/infrastructure/ast/backend/solid-analyzer.js +392 -0
- package/scripts/hooks-system/infrastructure/ast/common/BDDTDDWorkflowRules.js +52 -0
- package/scripts/hooks-system/infrastructure/ast/common/__tests__/BDDTDDWorkflowRules.spec.js +133 -0
- package/scripts/hooks-system/infrastructure/ast/common/__tests__/ast-common.spec.js +20 -0
- package/scripts/hooks-system/infrastructure/ast/common/__tests__/documentation-analyzer.spec.js +120 -0
- package/scripts/hooks-system/infrastructure/ast/common/__tests__/images-backend-analyzer.spec.js +123 -0
- package/scripts/hooks-system/infrastructure/ast/common/__tests__/monorepo-health-analyzer.spec.js +118 -0
- package/scripts/hooks-system/infrastructure/ast/common/__tests__/network-resilience-analyzer.spec.js +180 -0
- package/scripts/hooks-system/infrastructure/ast/common/__tests__/offline-backend-analyzer.spec.js +111 -0
- package/scripts/hooks-system/infrastructure/ast/common/__tests__/push-backend-analyzer.spec.js +124 -0
- package/scripts/hooks-system/infrastructure/ast/common/ast-common.js +345 -0
- package/scripts/hooks-system/infrastructure/ast/common/documentation-analyzer.js +217 -0
- package/scripts/hooks-system/infrastructure/ast/common/images-backend-analyzer.js +36 -0
- package/scripts/hooks-system/infrastructure/ast/common/monorepo-health-analyzer.js +452 -0
- package/scripts/hooks-system/infrastructure/ast/common/network-resilience-analyzer.js +178 -0
- package/scripts/hooks-system/infrastructure/ast/common/offline-backend-analyzer.js +53 -0
- package/scripts/hooks-system/infrastructure/ast/common/push-backend-analyzer.js +42 -0
- package/scripts/hooks-system/infrastructure/ast/common/rules/BDDRules.js +87 -0
- package/scripts/hooks-system/infrastructure/ast/common/rules/ImplementationRules.js +83 -0
- package/scripts/hooks-system/infrastructure/ast/common/rules/TDDRules.js +109 -0
- package/scripts/hooks-system/infrastructure/ast/common/rules/WorkflowRules.js +137 -0
- package/scripts/hooks-system/infrastructure/ast/frontend/__tests__/ast-frontend.spec.js +20 -0
- package/scripts/hooks-system/infrastructure/ast/frontend/analyzers/FrontendArchitectureDetector.js +289 -0
- package/scripts/hooks-system/infrastructure/ast/frontend/analyzers/FrontendForbiddenLiteralsAnalyzer.js +257 -0
- package/scripts/hooks-system/infrastructure/ast/frontend/analyzers/FrontendSOLIDAnalyzer.js +274 -0
- package/scripts/hooks-system/infrastructure/ast/frontend/analyzers/__tests__/FrontendArchitectureDetector.spec.js +151 -0
- package/scripts/hooks-system/infrastructure/ast/frontend/analyzers/__tests__/FrontendForbiddenLiteralsAnalyzer.spec.js +20 -0
- package/scripts/hooks-system/infrastructure/ast/frontend/analyzers/__tests__/FrontendSOLIDAnalyzer.spec.js +108 -0
- package/scripts/hooks-system/infrastructure/ast/frontend/ast-frontend-clean.js +42 -0
- package/scripts/hooks-system/infrastructure/ast/frontend/ast-frontend.js +2094 -0
- package/scripts/hooks-system/infrastructure/ast/frontend/clean-architecture-analyzer.js +88 -0
- package/scripts/hooks-system/infrastructure/ast/frontend/ddd-analyzer.js +94 -0
- package/scripts/hooks-system/infrastructure/ast/frontend/feature-first-analyzer.js +51 -0
- package/scripts/hooks-system/infrastructure/ast/ios/__tests__/ast-ios.spec.js +40 -0
- package/scripts/hooks-system/infrastructure/ast/ios/analyzers/__tests__/iOSArchitectureDetector.spec.js +20 -0
- package/scripts/hooks-system/infrastructure/ast/ios/analyzers/__tests__/iOSArchitectureRules.spec.js +61 -0
- package/scripts/hooks-system/infrastructure/ast/ios/analyzers/__tests__/iOSCICDRules.spec.js +10 -0
- package/scripts/hooks-system/infrastructure/ast/ios/analyzers/__tests__/iOSEnterpriseAnalyzer.spec.js +36 -0
- package/scripts/hooks-system/infrastructure/ast/ios/analyzers/__tests__/iOSForbiddenLiteralsAnalyzer.spec.js +64 -0
- package/scripts/hooks-system/infrastructure/ast/ios/analyzers/__tests__/iOSNetworkingAdvancedRules.spec.js +10 -0
- package/scripts/hooks-system/infrastructure/ast/ios/analyzers/__tests__/iOSPerformanceRules.spec.js +34 -0
- package/scripts/hooks-system/infrastructure/ast/ios/analyzers/__tests__/iOSSPMRules.spec.js +10 -0
- package/scripts/hooks-system/infrastructure/ast/ios/analyzers/__tests__/iOSSwiftUIAdvancedRules.spec.js +10 -0
- package/scripts/hooks-system/infrastructure/ast/ios/analyzers/iOSASTIntelligentAnalyzer.js +894 -0
- package/scripts/hooks-system/infrastructure/ast/ios/analyzers/iOSArchitectureDetector.js +445 -0
- package/scripts/hooks-system/infrastructure/ast/ios/analyzers/iOSArchitectureRules.js +700 -0
- package/scripts/hooks-system/infrastructure/ast/ios/analyzers/iOSCICDRules.js +431 -0
- package/scripts/hooks-system/infrastructure/ast/ios/analyzers/iOSEnterpriseAnalyzer.js +580 -0
- package/scripts/hooks-system/infrastructure/ast/ios/analyzers/iOSForbiddenLiteralsAnalyzer.js +261 -0
- package/scripts/hooks-system/infrastructure/ast/ios/analyzers/iOSNetworkingAdvancedRules.js +177 -0
- package/scripts/hooks-system/infrastructure/ast/ios/analyzers/iOSPerformanceRules.js +11 -0
- package/scripts/hooks-system/infrastructure/ast/ios/analyzers/iOSSPMRules.js +496 -0
- package/scripts/hooks-system/infrastructure/ast/ios/analyzers/iOSSwiftUIAdvancedRules.js +333 -0
- package/scripts/hooks-system/infrastructure/ast/ios/analyzers/iOSTestingAdvancedRules.js +225 -0
- package/scripts/hooks-system/infrastructure/ast/ios/ast-ios.js +2176 -0
- package/scripts/hooks-system/infrastructure/ast/ios/native-bridge.js +92 -0
- package/scripts/hooks-system/infrastructure/ast/ios/parsers/SourceKittenParser.js +471 -0
- package/scripts/hooks-system/infrastructure/ast/ios/parsers/__tests__/SourceKittenParser.spec.js +41 -0
- package/scripts/hooks-system/infrastructure/ast/text/__tests__/text-scanner.spec.js +20 -0
- package/scripts/hooks-system/infrastructure/ast/text/text-scanner.js +1120 -0
- package/scripts/hooks-system/infrastructure/cache/CacheService.js +160 -0
- package/scripts/hooks-system/infrastructure/cli/__tests__/install-wizard.spec.js +16 -0
- package/scripts/hooks-system/infrastructure/cli/install-wizard.js +74 -0
- package/scripts/hooks-system/infrastructure/core/GitOperations.js +50 -0
- package/scripts/hooks-system/infrastructure/core/GitOperations.ts +112 -0
- package/scripts/hooks-system/infrastructure/core/__tests__/GitOperations.spec.js +146 -0
- package/scripts/hooks-system/infrastructure/eslint/eslint-integration.sh +75 -0
- package/scripts/hooks-system/infrastructure/events/EventListeners.js +143 -0
- package/scripts/hooks-system/infrastructure/events/__tests__/events.spec.js +14 -0
- package/scripts/hooks-system/infrastructure/external-tools/GitOperations.js +54 -0
- package/scripts/hooks-system/infrastructure/external-tools/eslint/backend.config.template.mjs +58 -0
- package/scripts/hooks-system/infrastructure/git-hooks/pre-push +35 -0
- package/scripts/hooks-system/infrastructure/git-server/pre-receive-hook +253 -0
- package/scripts/hooks-system/infrastructure/guards/git-wrapper.sh +32 -0
- package/scripts/hooks-system/infrastructure/guards/master-validator.sh +247 -0
- package/scripts/hooks-system/infrastructure/guards/prevent-no-verify.sh +34 -0
- package/scripts/hooks-system/infrastructure/hooks/__tests__/skill-activation-prompt.spec.js +11 -0
- package/scripts/hooks-system/infrastructure/hooks/pre-tool-use-intelligent-enforcer.sh +489 -0
- package/scripts/hooks-system/infrastructure/hooks/skill-activation-prompt.js +244 -0
- package/scripts/hooks-system/infrastructure/logging/UnifiedLoggerFactory.js +40 -0
- package/scripts/hooks-system/infrastructure/logging/__tests__/logging.spec.js +9 -0
- package/scripts/hooks-system/infrastructure/mcp/README.md +116 -0
- package/scripts/hooks-system/infrastructure/mcp/__tests__/ast-intelligence-automation.spec.js +38 -0
- package/scripts/hooks-system/infrastructure/mcp/__tests__/evidence-watcher.spec.js +38 -0
- package/scripts/hooks-system/infrastructure/mcp/ast-intelligence-automation.js +1097 -0
- package/scripts/hooks-system/infrastructure/mcp/evidence-watcher.js +128 -0
- package/scripts/hooks-system/infrastructure/mcp/package.json +17 -0
- package/scripts/hooks-system/infrastructure/mcp/services/EvidenceService.js +87 -0
- package/scripts/hooks-system/infrastructure/mcp/services/McpProtocolHandler.js +166 -0
- package/scripts/hooks-system/infrastructure/orchestration/__tests__/intelligent-audit.spec.js +11 -0
- package/scripts/hooks-system/infrastructure/orchestration/intelligent-audit.js +353 -0
- package/scripts/hooks-system/infrastructure/patterns/pattern-checks.sh +98 -0
- package/scripts/hooks-system/infrastructure/reporting/ReportImpactAnalyzer.js +109 -0
- package/scripts/hooks-system/infrastructure/reporting/ReportMetricsCalculator.js +114 -0
- package/scripts/hooks-system/infrastructure/reporting/ReportPresenter.js +86 -0
- package/scripts/hooks-system/infrastructure/reporting/__tests__/reporting.spec.js +15 -0
- package/scripts/hooks-system/infrastructure/reporting/report-generator.js +130 -0
- package/scripts/hooks-system/infrastructure/reporting/severity-tracker.js +105 -0
- package/scripts/hooks-system/infrastructure/repositories/CursorTokenRepository.js +76 -0
- package/scripts/hooks-system/infrastructure/repositories/FileFindingsRepository.js +88 -0
- package/scripts/hooks-system/infrastructure/repositories/__tests__/repositories.spec.js +20 -0
- package/scripts/hooks-system/infrastructure/repositories/datasources/CursorApiDataSource.js +73 -0
- package/scripts/hooks-system/infrastructure/repositories/datasources/CursorFileDataSource.js +55 -0
- package/scripts/hooks-system/infrastructure/severity/__tests__/severity-evaluator.spec.js +18 -0
- package/scripts/hooks-system/infrastructure/severity/analyzers/__tests__/maintainability-analyzer.spec.js +170 -0
- package/scripts/hooks-system/infrastructure/severity/analyzers/__tests__/performance-analyzer.spec.js +186 -0
- package/scripts/hooks-system/infrastructure/severity/analyzers/__tests__/security-analyzer.spec.js +151 -0
- package/scripts/hooks-system/infrastructure/severity/analyzers/__tests__/stability-analyzer.spec.js +143 -0
- package/scripts/hooks-system/infrastructure/severity/analyzers/maintainability-analyzer.js +100 -0
- package/scripts/hooks-system/infrastructure/severity/analyzers/performance-analyzer.js +109 -0
- package/scripts/hooks-system/infrastructure/severity/analyzers/security-analyzer.js +104 -0
- package/scripts/hooks-system/infrastructure/severity/analyzers/stability-analyzer.js +85 -0
- package/scripts/hooks-system/infrastructure/severity/context/analyzers/CodeClassificationAnalyzer.js +71 -0
- package/scripts/hooks-system/infrastructure/severity/context/analyzers/DataAnalyzer.js +64 -0
- package/scripts/hooks-system/infrastructure/severity/context/analyzers/ImpactAnalyzer.js +68 -0
- package/scripts/hooks-system/infrastructure/severity/context/analyzers/SafetyAnalyzer.js +82 -0
- package/scripts/hooks-system/infrastructure/severity/context/context-builder.js +88 -0
- package/scripts/hooks-system/infrastructure/severity/generators/RecommendationGenerator.js +153 -0
- package/scripts/hooks-system/infrastructure/severity/mappers/SeverityMapper.js +10 -0
- package/scripts/hooks-system/infrastructure/severity/policies/gate-policies.js +136 -0
- package/scripts/hooks-system/infrastructure/severity/policies/severity-policies.json +206 -0
- package/scripts/hooks-system/infrastructure/severity/scorers/ContextMultiplier.js +49 -0
- package/scripts/hooks-system/infrastructure/severity/severity-evaluator.js +117 -0
- package/scripts/hooks-system/infrastructure/shell/core/constants.sh +26 -0
- package/scripts/hooks-system/infrastructure/shell/core/utils.sh +45 -0
- package/scripts/hooks-system/infrastructure/shell/gitflow/git-wrapper.sh +646 -0
- package/scripts/hooks-system/infrastructure/shell/gitflow/gitflow-enforcer.sh +620 -0
- package/scripts/hooks-system/infrastructure/shell/gitflow/gitflow-state-manager.sh +235 -0
- package/scripts/hooks-system/infrastructure/shell/gitflow-state-manager.sh +225 -0
- package/scripts/hooks-system/infrastructure/shell/orchestrators/audit-orchestrator.sh +1106 -0
- package/scripts/hooks-system/infrastructure/shell/security/detect-secrets.sh +26 -0
- package/scripts/hooks-system/infrastructure/shell/security/detect_secrets.py +182 -0
- package/scripts/hooks-system/infrastructure/shell/validate-clean-architecture.sh +254 -0
- package/scripts/hooks-system/infrastructure/shell/validators/check-doc-structure.sh +62 -0
- package/scripts/hooks-system/infrastructure/shell/validators/ensure-critical-docs.sh +26 -0
- package/scripts/hooks-system/infrastructure/shell/validators/validate-ai-protocol.sh +474 -0
- package/scripts/hooks-system/infrastructure/shell/validators/validate-clean-architecture.sh +303 -0
- package/scripts/hooks-system/infrastructure/shell/validators/validate-conventional-commit.sh +42 -0
- package/scripts/hooks-system/infrastructure/storage/file-operations.sh +31 -0
- package/scripts/hooks-system/infrastructure/telemetry/TelemetryService.js +165 -0
- package/scripts/hooks-system/infrastructure/telemetry/__tests__/telemetry.spec.js +15 -0
- package/scripts/hooks-system/infrastructure/telemetry/metrics-logger.js +66 -0
- package/scripts/hooks-system/infrastructure/telemetry/metrics-server.js +61 -0
- package/scripts/hooks-system/infrastructure/utils/__tests__/utils.spec.js +8 -0
- package/scripts/hooks-system/infrastructure/utils/error-utils.js +28 -0
- package/scripts/hooks-system/infrastructure/utils/timestamp-helper.sh +106 -0
- package/scripts/hooks-system/infrastructure/utils/token-manager.js +121 -0
- package/scripts/hooks-system/infrastructure/validators/__tests__/detect-commit-language.spec.js +16 -0
- package/scripts/hooks-system/infrastructure/validators/__tests__/enforce-english-literals.spec.js +67 -0
- package/scripts/hooks-system/infrastructure/validators/detect-commit-language.js +145 -0
- package/scripts/hooks-system/infrastructure/validators/enforce-english-literals.js +202 -0
- package/scripts/hooks-system/infrastructure/watchdog/__tests__/.audit-reports/token-monitor.log +18 -0
- package/scripts/hooks-system/infrastructure/watchdog/__tests__/auto-recovery.spec.js +14 -0
- package/scripts/hooks-system/infrastructure/watchdog/__tests__/token-monitor.spec.js +67 -0
- package/scripts/hooks-system/infrastructure/watchdog/__tests__/watchdog.spec.js +22 -0
- package/scripts/hooks-system/infrastructure/watchdog/ai-watchdog.sh +278 -0
- package/scripts/hooks-system/infrastructure/watchdog/auto-recovery.js +32 -0
- package/scripts/hooks-system/infrastructure/watchdog/health-check.js +58 -0
- package/scripts/hooks-system/infrastructure/watchdog/token-monitor-loop.sh +20 -0
- package/scripts/hooks-system/infrastructure/watchdog/token-monitor.js +69 -0
- package/scripts/hooks-system/infrastructure/watchdog/token-tracker.sh +208 -0
- package/scripts/hooks-system/presentation/cli/audit.sh +32 -0
- package/scripts/hooks-system/presentation/cli/autonomous-status.sh +92 -0
- package/scripts/hooks-system/presentation/cli/categorize-violations.sh +179 -0
- package/scripts/hooks-system/presentation/cli/direct-audit-option2.sh +23 -0
- package/scripts/hooks-system/presentation/cli/direct-audit.sh +33 -0
- package/skills/android-guidelines/SKILL.md +475 -0
- package/skills/android-guidelines/resources/advanced-topics.md +44 -0
- package/skills/android-guidelines/resources/architecture-overview.md +44 -0
- package/skills/backend-guidelines/SKILL.md +335 -0
- package/skills/backend-guidelines/resources/architecture-overview.md +48 -0
- package/skills/frontend-guidelines/SKILL.md +367 -0
- package/skills/frontend-guidelines/resources/architecture-overview.md +44 -0
- package/skills/ios-guidelines/SKILL.md +406 -0
- package/skills/ios-guidelines/resources/architecture-overview.md +47 -0
- package/skills/skill-rules.json +334 -0
|
@@ -0,0 +1,716 @@
|
|
|
1
|
+
# How It Works - Step by Step Guide
|
|
2
|
+
|
|
3
|
+
## Table of Contents
|
|
4
|
+
|
|
5
|
+
1. [Overview](#overview)
|
|
6
|
+
2. [Installation Process](#installation-process)
|
|
7
|
+
3. [What Gets Installed](#what-gets-installed)
|
|
8
|
+
4. [How Each Component Works](#how-each-component-works)
|
|
9
|
+
5. [Execution Flow](#execution-flow)
|
|
10
|
+
6. [Real-World Examples](#real-world-examples)
|
|
11
|
+
7. [Troubleshooting](#troubleshooting)
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
`ast-intelligence-hooks` is a comprehensive code quality system that integrates seamlessly into your development workflow. It combines **Git hooks**, **MCP servers**, and **AST analysis** to ensure code quality and automate development tasks.
|
|
18
|
+
|
|
19
|
+
### Core Components
|
|
20
|
+
|
|
21
|
+
1. **Git Hook (pre-commit)**: Automatically analyzes code before commits
|
|
22
|
+
2. **MCP Server (ast-intelligence-automation)**: Provides AI tools and resources for Cursor
|
|
23
|
+
3. **AST Analysis Engine**: Scans code for violations of Clean Architecture, SOLID, and coding standards
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Installation Process
|
|
28
|
+
|
|
29
|
+
### Step 0: Git Repository Check ⚠️
|
|
30
|
+
|
|
31
|
+
**What happens:**
|
|
32
|
+
- The installer checks if you're in a Git repository (automatically at Step 0)
|
|
33
|
+
- Verifies that `.git` directory exists
|
|
34
|
+
- Tests that `git rev-parse --show-toplevel` works correctly
|
|
35
|
+
|
|
36
|
+
**Why it matters:**
|
|
37
|
+
- **Required for**: Git hooks, Git Flow automation, commit-time analysis
|
|
38
|
+
- **Without Git**: The library cannot function properly
|
|
39
|
+
|
|
40
|
+
**Automatic Detection:**
|
|
41
|
+
The installer now automatically detects if Git is missing and shows a clear warning before proceeding. This prevents incomplete installations.
|
|
42
|
+
|
|
43
|
+
**If Git is missing:**
|
|
44
|
+
```
|
|
45
|
+
❌ CRITICAL: Git repository not found!
|
|
46
|
+
This library REQUIRES a Git repository to function properly.
|
|
47
|
+
Please run: git init
|
|
48
|
+
|
|
49
|
+
⚠️ Without Git:
|
|
50
|
+
• Pre-commit hooks cannot be installed
|
|
51
|
+
• Git Flow automation will not work
|
|
52
|
+
• Code analysis on commits is disabled
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**Action required:**
|
|
56
|
+
```bash
|
|
57
|
+
git init
|
|
58
|
+
git add .
|
|
59
|
+
git commit -m "Initial commit"
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
### Step 1: Platform Detection
|
|
65
|
+
|
|
66
|
+
**What happens:**
|
|
67
|
+
- Scans project files for platform indicators
|
|
68
|
+
- Detects iOS (`.swift`, `.xcodeproj`, `Podfile`)
|
|
69
|
+
- Detects Android (`.kt`, `.gradle.kts`, `AndroidManifest.xml`)
|
|
70
|
+
- Detects Backend (`nest-cli.json`, `tsconfig.json`, `controllers/`)
|
|
71
|
+
- Detects Frontend (`next.config.js`, `app/**/page.tsx`)
|
|
72
|
+
|
|
73
|
+
**Output:**
|
|
74
|
+
```
|
|
75
|
+
✓ Detected: backend, frontend
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**Impact:**
|
|
79
|
+
- Only relevant rules are loaded for detected platforms
|
|
80
|
+
- Platform-specific analysis is enabled
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
### Step 2: ESLint Configuration
|
|
85
|
+
|
|
86
|
+
**What happens:**
|
|
87
|
+
- Installs ESLint configs for detected platforms
|
|
88
|
+
- Creates `.eslintrc.js` files with appropriate rules
|
|
89
|
+
- Configures TypeScript/JavaScript linting
|
|
90
|
+
|
|
91
|
+
**Files created:**
|
|
92
|
+
- `.eslintrc.js` (project root)
|
|
93
|
+
- Platform-specific configs in `scripts/hooks-system/`
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
### Step 3: Directory Structure
|
|
98
|
+
|
|
99
|
+
**What happens:**
|
|
100
|
+
- Creates `scripts/hooks-system/` directory structure
|
|
101
|
+
- Sets up folders for: `domain/`, `application/`, `infrastructure/`, `presentation/`
|
|
102
|
+
|
|
103
|
+
**Structure created:**
|
|
104
|
+
```
|
|
105
|
+
scripts/hooks-system/
|
|
106
|
+
├── domain/
|
|
107
|
+
├── application/
|
|
108
|
+
├── infrastructure/
|
|
109
|
+
│ ├── ast/
|
|
110
|
+
│ ├── mcp/
|
|
111
|
+
│ └── guards/
|
|
112
|
+
└── presentation/
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
### Step 4: Copy System Files
|
|
118
|
+
|
|
119
|
+
**What happens:**
|
|
120
|
+
- Copies all AST analysis engines from the library
|
|
121
|
+
- Installs MCP server scripts
|
|
122
|
+
- Copies rule definitions and validators
|
|
123
|
+
|
|
124
|
+
**Files copied:**
|
|
125
|
+
- `infrastructure/ast/ast-intelligence.js` - Main analysis engine
|
|
126
|
+
- `infrastructure/mcp/ast-intelligence-automation.js` - MCP server
|
|
127
|
+
- Platform-specific analyzers (iOS, Android, Backend, Frontend)
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
### Step 5: Project Configuration
|
|
132
|
+
|
|
133
|
+
**What happens:**
|
|
134
|
+
- Creates `.ast-intelligence.config.js` in project root
|
|
135
|
+
- Configures platform settings
|
|
136
|
+
- Sets up ignore patterns
|
|
137
|
+
|
|
138
|
+
**Configuration file:**
|
|
139
|
+
```javascript
|
|
140
|
+
module.exports = {
|
|
141
|
+
platforms: ['backend', 'frontend'],
|
|
142
|
+
ignore: ['node_modules/', 'dist/', '.git/'],
|
|
143
|
+
// ... more config
|
|
144
|
+
};
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
### Step 6: IDE Configuration and MCP Servers
|
|
150
|
+
|
|
151
|
+
**What happens:**
|
|
152
|
+
- Creates `.cursor/` directory (or `.windsurf/`, `.vscode/`, etc. for other agentic IDEs)
|
|
153
|
+
- Creates `.cursor/mcp.json` with MCP server configuration
|
|
154
|
+
- Creates `.cursor/settings.json` with IDE-specific settings
|
|
155
|
+
|
|
156
|
+
**Note on Rules:** The library automatically searches for agentic IDE rules (`.mdc` files) in:
|
|
157
|
+
- Project-level: `.cursor/rules/`, `.windsurf/rules/`, `.vscode/rules/` (highest priority)
|
|
158
|
+
- Global locations: `~/.cursor/rules/`, `~/Library/Application Support/Cursor/User/rules/`
|
|
159
|
+
- Other IDE project caches
|
|
160
|
+
|
|
161
|
+
Rules are used by `ai-start` when generating `.AI_EVIDENCE.json` to provide context to AI assistants. See [Usage Guide - Adding Your Own IDE Rules](../docs/USAGE.md#adding-your-own-ide-rules-mdc-files) for details.
|
|
162
|
+
|
|
163
|
+
**MCP Configuration (`.cursor/mcp.json`):**
|
|
164
|
+
```json
|
|
165
|
+
{
|
|
166
|
+
"mcpServers": {
|
|
167
|
+
"ast-intelligence-automation": {
|
|
168
|
+
"command": "/opt/homebrew/opt/node@20/bin/node",
|
|
169
|
+
"args": [
|
|
170
|
+
"${workspaceFolder}/scripts/hooks-system/infrastructure/mcp/ast-intelligence-automation.js"
|
|
171
|
+
],
|
|
172
|
+
"env": {
|
|
173
|
+
"REPO_ROOT": "${workspaceFolder}",
|
|
174
|
+
"AUTO_COMMIT_ENABLED": "true",
|
|
175
|
+
"AUTO_PUSH_ENABLED": "true",
|
|
176
|
+
"AUTO_PR_ENABLED": "false"
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
**What this enables:**
|
|
184
|
+
- Cursor AI can read project state (evidence status, gitflow state, context)
|
|
185
|
+
- Cursor AI can execute tools (gate checks, gitflow automation, validation)
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
### Step 7: Git Hooks Installation
|
|
190
|
+
|
|
191
|
+
**What happens:**
|
|
192
|
+
- Creates `.git/hooks/pre-commit` script
|
|
193
|
+
- Makes it executable (`chmod +x`)
|
|
194
|
+
- Hook analyzes staged files before commit
|
|
195
|
+
|
|
196
|
+
**Pre-commit hook script:**
|
|
197
|
+
```bash
|
|
198
|
+
#!/bin/bash
|
|
199
|
+
# AST Intelligence Hooks - Pre-commit
|
|
200
|
+
# Auto-generated by @pumuki/ast-intelligence-hooks v5.3.1
|
|
201
|
+
|
|
202
|
+
# Check for bypass
|
|
203
|
+
if [[ -n "${GIT_BYPASS_HOOK}" ]]; then
|
|
204
|
+
echo "⚠️ Bypassing AST hooks (GIT_BYPASS_HOOK=1)"
|
|
205
|
+
exit 0
|
|
206
|
+
fi
|
|
207
|
+
|
|
208
|
+
# Change to project root
|
|
209
|
+
cd "$(git rev-parse --show-toplevel)" || exit 1
|
|
210
|
+
|
|
211
|
+
# Analyze staged files
|
|
212
|
+
# ... (analysis logic)
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## What Gets Installed
|
|
218
|
+
|
|
219
|
+
### ✅ Files Created
|
|
220
|
+
|
|
221
|
+
1. **`.cursor/mcp.json`** - MCP server configuration
|
|
222
|
+
2. **`.cursor/settings.json`** - Cursor IDE settings
|
|
223
|
+
3. **`.git/hooks/pre-commit`** - Git pre-commit hook
|
|
224
|
+
4. **`scripts/hooks-system/`** - Complete system directory with all analyzers
|
|
225
|
+
5. **`.ast-intelligence.config.js`** - Project configuration
|
|
226
|
+
6. **`.eslintrc.js`** - ESLint configuration
|
|
227
|
+
|
|
228
|
+
### ✅ NPM Scripts Added
|
|
229
|
+
|
|
230
|
+
Check your `package.json` for these scripts:
|
|
231
|
+
|
|
232
|
+
```json
|
|
233
|
+
{
|
|
234
|
+
"scripts": {
|
|
235
|
+
"audit": "ast-hooks ast",
|
|
236
|
+
"violations:list": "ast-hooks violations list",
|
|
237
|
+
"violations:summary": "ast-hooks violations summary",
|
|
238
|
+
"violations:top": "ast-hooks violations top"
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## How Each Component Works
|
|
246
|
+
|
|
247
|
+
### 1. Git Hook (pre-commit) - ⚡ **ACTIVE**
|
|
248
|
+
|
|
249
|
+
**Status:** Always ready, executes automatically
|
|
250
|
+
|
|
251
|
+
**When it runs:**
|
|
252
|
+
- Every time you execute `git commit`
|
|
253
|
+
- Only analyzes staged files (`.ts`, `.tsx`, `.js`, `.jsx`, `.swift`, `.kt`)
|
|
254
|
+
|
|
255
|
+
**What it does:**
|
|
256
|
+
1. Checks for bypass flag (`GIT_BYPASS_HOOK=1`)
|
|
257
|
+
2. Changes to project root directory
|
|
258
|
+
3. Filters staged files by extension
|
|
259
|
+
4. If no relevant files → allows commit
|
|
260
|
+
5. If files found → runs AST analysis
|
|
261
|
+
6. Checks for CRITICAL or HIGH violations
|
|
262
|
+
7. If violations found → **BLOCKS commit** with detailed report
|
|
263
|
+
8. If no violations → allows commit to proceed
|
|
264
|
+
|
|
265
|
+
**Example output (blocked):**
|
|
266
|
+
```
|
|
267
|
+
🚨 CRITICAL: backend.service.singleton_pattern
|
|
268
|
+
File: src/users/users.service.ts:12
|
|
269
|
+
Rule: No Singleton pattern
|
|
270
|
+
Message: Singleton pattern detected. Use Dependency Injection.
|
|
271
|
+
|
|
272
|
+
❌ Commit blocked: Critical violations detected
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
**Example output (allowed):**
|
|
276
|
+
```
|
|
277
|
+
✅ No violations detected
|
|
278
|
+
[commit proceeds normally]
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
**Important:**
|
|
282
|
+
- Only CRITICAL and HIGH violations block commits
|
|
283
|
+
- MEDIUM and LOW violations are reported but don't block
|
|
284
|
+
- You can bypass temporarily with `GIT_BYPASS_HOOK=1 git commit`
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
### 2. MCP Server (ast-intelligence-automation) - 👁️ **PASSIVE**
|
|
289
|
+
|
|
290
|
+
**Status:** Running, waiting for Cursor AI to use it
|
|
291
|
+
|
|
292
|
+
**Important:** The MCP server does **NOT** do anything automatically. It's a "toolbox" that Cursor AI can use when needed.
|
|
293
|
+
|
|
294
|
+
#### 📚 Resources (Cursor can READ these)
|
|
295
|
+
|
|
296
|
+
**`evidence://status`**
|
|
297
|
+
- Status of `.AI_EVIDENCE.json` file
|
|
298
|
+
- Returns: `fresh`, `stale`, `missing`, or `error`
|
|
299
|
+
- Age in seconds, timestamp, current branch
|
|
300
|
+
- Cursor uses this to know if project context is up-to-date
|
|
301
|
+
|
|
302
|
+
**`gitflow://state`**
|
|
303
|
+
- Current Git Flow workflow state
|
|
304
|
+
- Returns: branch name, last commit, PR URL, status
|
|
305
|
+
- Cursor uses this to understand Git state
|
|
306
|
+
|
|
307
|
+
**`context://active`**
|
|
308
|
+
- Automatically detected project context
|
|
309
|
+
- Returns: platforms detected, files changed, confidence level
|
|
310
|
+
- Cursor uses this to understand what you're working on
|
|
311
|
+
|
|
312
|
+
#### 🛠️ Tools (Cursor can EXECUTE these)
|
|
313
|
+
|
|
314
|
+
**`check_evidence_status`**
|
|
315
|
+
- Checks if `.AI_EVIDENCE.json` is stale
|
|
316
|
+
- Cursor calls this to verify evidence freshness
|
|
317
|
+
|
|
318
|
+
**`ai_gate_check` ⚠️ MANDATORY**
|
|
319
|
+
- **Must be called at START of EVERY AI response**
|
|
320
|
+
- Checks if there are blocking violations
|
|
321
|
+
- Returns: `ALLOWED` or `BLOCKED`
|
|
322
|
+
- If `BLOCKED`: AI should NOT proceed with task
|
|
323
|
+
|
|
324
|
+
**`auto_complete_gitflow`**
|
|
325
|
+
- Automates complete Git Flow cycle
|
|
326
|
+
- Commit → Push → Create PR → Merge (optional)
|
|
327
|
+
- Cursor can call this when you ask for Git Flow automation
|
|
328
|
+
|
|
329
|
+
**`sync_branches`**
|
|
330
|
+
- Synchronizes `develop` and `main` branches
|
|
331
|
+
- Fetches, pulls, updates local branches
|
|
332
|
+
- Cursor can call this to ensure branches are in sync
|
|
333
|
+
|
|
334
|
+
**`validate_and_fix`**
|
|
335
|
+
- Validates common problems
|
|
336
|
+
- Fixes automatically when possible
|
|
337
|
+
- Cursor can call this to check/fix issues
|
|
338
|
+
|
|
339
|
+
**`auto_execute_ai_start`**
|
|
340
|
+
- Analyzes context and executes `ai-start` if needed
|
|
341
|
+
- Detects if code files were modified (≥30% confidence)
|
|
342
|
+
- Updates `.AI_EVIDENCE.json` automatically
|
|
343
|
+
- Cursor can call this to update evidence when changes are detected
|
|
344
|
+
|
|
345
|
+
---
|
|
346
|
+
|
|
347
|
+
### 3. AST Analysis Engine
|
|
348
|
+
|
|
349
|
+
**Status:** Executed on-demand (by hooks or manual commands)
|
|
350
|
+
|
|
351
|
+
**What it does:**
|
|
352
|
+
- Parses code files into Abstract Syntax Trees (AST)
|
|
353
|
+
- Applies rule checkers for each platform
|
|
354
|
+
- Detects violations of:
|
|
355
|
+
- Clean Architecture principles
|
|
356
|
+
- SOLID principles
|
|
357
|
+
- Platform-specific best practices
|
|
358
|
+
- Calculates severity (CRITICAL, HIGH, MEDIUM, LOW)
|
|
359
|
+
- Generates detailed violation reports
|
|
360
|
+
|
|
361
|
+
**Rule categories:**
|
|
362
|
+
- **Architecture violations**: Dependency direction, layer violations
|
|
363
|
+
- **SOLID violations**: Singleton, God classes, tight coupling
|
|
364
|
+
- **Platform-specific**: iOS patterns, Android patterns, NestJS patterns, React patterns
|
|
365
|
+
|
|
366
|
+
#### Architecture Detection by Platform
|
|
367
|
+
|
|
368
|
+
**All Platforms - Automatic Pattern Detection:**
|
|
369
|
+
|
|
370
|
+
The library automatically detects architecture patterns for **all platforms** (iOS, Android, Backend, Frontend) without any configuration needed.
|
|
371
|
+
|
|
372
|
+
**iOS - Detected Patterns:**
|
|
373
|
+
- Feature-First + Clean + DDD
|
|
374
|
+
- MVVM-C (MVVM + Coordinator)
|
|
375
|
+
- MVVM
|
|
376
|
+
- MVP
|
|
377
|
+
- VIPER
|
|
378
|
+
- TCA (The Composable Architecture)
|
|
379
|
+
- Clean Swift
|
|
380
|
+
|
|
381
|
+
**Android - Detected Patterns:**
|
|
382
|
+
- Feature-First + Clean + DDD
|
|
383
|
+
- MVVM (Model-View-ViewModel)
|
|
384
|
+
- MVI (Model-View-Intent)
|
|
385
|
+
- MVP (Model-View-Presenter)
|
|
386
|
+
- Clean Architecture (Domain-Data-Presentation)
|
|
387
|
+
|
|
388
|
+
**Backend - Detected Patterns:**
|
|
389
|
+
- Feature-First + Clean + DDD
|
|
390
|
+
- Clean Architecture (Hexagonal/Ports & Adapters)
|
|
391
|
+
- Onion Architecture
|
|
392
|
+
- Layered Architecture (3-tier)
|
|
393
|
+
- CQRS (Command Query Responsibility Segregation)
|
|
394
|
+
|
|
395
|
+
**Frontend - Detected Patterns:**
|
|
396
|
+
- Feature-First + Clean + DDD
|
|
397
|
+
- Component-Based Architecture
|
|
398
|
+
- Atomic Design Pattern
|
|
399
|
+
- State Management patterns (Zustand, Redux, Context)
|
|
400
|
+
|
|
401
|
+
**Automatic Detection:**
|
|
402
|
+
- The library analyzes your project structure, imports, and code patterns
|
|
403
|
+
- No configuration file needed - detection happens automatically
|
|
404
|
+
- Works with any architecture pattern you use
|
|
405
|
+
- All platforms support automatic detection
|
|
406
|
+
|
|
407
|
+
**Optional Manual Override (All Platforms):**
|
|
408
|
+
|
|
409
|
+
If you want to force a specific architecture pattern (rarely needed), you can create `.ast-architecture.json` in your project root:
|
|
410
|
+
|
|
411
|
+
```json
|
|
412
|
+
{
|
|
413
|
+
"ios": {
|
|
414
|
+
"architecturePattern": "MVVM-C",
|
|
415
|
+
"allowedPatterns": ["MVVM-C", "MVVM"],
|
|
416
|
+
"prohibitedPatterns": ["MVC"]
|
|
417
|
+
},
|
|
418
|
+
"android": {
|
|
419
|
+
"architecturePattern": "FEATURE_FIRST_CLEAN_DDD",
|
|
420
|
+
"allowedPatterns": ["FEATURE_FIRST_CLEAN_DDD", "MVVM"],
|
|
421
|
+
"prohibitedPatterns": ["MVC"]
|
|
422
|
+
},
|
|
423
|
+
"backend": {
|
|
424
|
+
"architecturePattern": "FEATURE_FIRST_CLEAN_DDD",
|
|
425
|
+
"allowedPatterns": ["FEATURE_FIRST_CLEAN_DDD", "CLEAN_ARCHITECTURE"],
|
|
426
|
+
"prohibitedPatterns": ["MVC"]
|
|
427
|
+
},
|
|
428
|
+
"frontend": {
|
|
429
|
+
"architecturePattern": "FEATURE_FIRST_CLEAN_DDD",
|
|
430
|
+
"allowedPatterns": ["FEATURE_FIRST_CLEAN_DDD", "COMPONENT_BASED"],
|
|
431
|
+
"prohibitedPatterns": ["MVC"]
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
**Note:** This file is completely optional for all platforms. The library works perfectly without it, using automatic detection. Manual override is rarely needed since automatic detection works for all common patterns.
|
|
437
|
+
|
|
438
|
+
---
|
|
439
|
+
|
|
440
|
+
## Execution Flow
|
|
441
|
+
|
|
442
|
+
### Flow 1: Making a Commit
|
|
443
|
+
|
|
444
|
+
```
|
|
445
|
+
You: git commit -m "feat: add user service"
|
|
446
|
+
↓
|
|
447
|
+
Git Hook (pre-commit) activates
|
|
448
|
+
↓
|
|
449
|
+
Scans staged files: [src/users/users.service.ts]
|
|
450
|
+
↓
|
|
451
|
+
AST Analysis Engine processes file
|
|
452
|
+
↓
|
|
453
|
+
Rule Checkers analyze code
|
|
454
|
+
↓
|
|
455
|
+
Violation Detected: Singleton pattern
|
|
456
|
+
↓
|
|
457
|
+
Severity: CRITICAL
|
|
458
|
+
↓
|
|
459
|
+
Hook blocks commit
|
|
460
|
+
↓
|
|
461
|
+
Displays error message with details
|
|
462
|
+
↓
|
|
463
|
+
You fix the code (use Dependency Injection)
|
|
464
|
+
↓
|
|
465
|
+
git commit again
|
|
466
|
+
↓
|
|
467
|
+
Hook runs again
|
|
468
|
+
↓
|
|
469
|
+
No violations found
|
|
470
|
+
↓
|
|
471
|
+
Commit proceeds ✅
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
### Flow 2: Cursor AI Using MCP
|
|
475
|
+
|
|
476
|
+
```
|
|
477
|
+
You ask Cursor: "Create a user service"
|
|
478
|
+
↓
|
|
479
|
+
Cursor calls: ai_gate_check
|
|
480
|
+
↓
|
|
481
|
+
MCP checks: Are there blocking violations?
|
|
482
|
+
↓
|
|
483
|
+
Response: ALLOWED
|
|
484
|
+
↓
|
|
485
|
+
Cursor proceeds with task
|
|
486
|
+
↓
|
|
487
|
+
Cursor detects code changes
|
|
488
|
+
↓
|
|
489
|
+
Cursor calls: auto_execute_ai_start
|
|
490
|
+
↓
|
|
491
|
+
MCP analyzes changes (85% confidence - code files modified)
|
|
492
|
+
↓
|
|
493
|
+
MCP executes: ai-start develop
|
|
494
|
+
↓
|
|
495
|
+
Evidence updated (.AI_EVIDENCE.json refreshed)
|
|
496
|
+
↓
|
|
497
|
+
Cursor continues with task
|
|
498
|
+
↓
|
|
499
|
+
You finish and ask: "Commit and push this"
|
|
500
|
+
↓
|
|
501
|
+
Cursor calls: auto_complete_gitflow
|
|
502
|
+
↓
|
|
503
|
+
MCP: Commits → Pushes → Creates PR
|
|
504
|
+
↓
|
|
505
|
+
Task complete ✅
|
|
506
|
+
```
|
|
507
|
+
|
|
508
|
+
### Flow 3: Manual Analysis
|
|
509
|
+
|
|
510
|
+
```
|
|
511
|
+
You run: npm run audit
|
|
512
|
+
↓
|
|
513
|
+
CLI tool executes AST analysis
|
|
514
|
+
↓
|
|
515
|
+
Scans all project files (or staged files with --staged)
|
|
516
|
+
↓
|
|
517
|
+
Generates comprehensive report
|
|
518
|
+
↓
|
|
519
|
+
Shows violations grouped by severity
|
|
520
|
+
↓
|
|
521
|
+
You review and fix issues
|
|
522
|
+
↓
|
|
523
|
+
Run audit again to verify fixes
|
|
524
|
+
```
|
|
525
|
+
|
|
526
|
+
---
|
|
527
|
+
|
|
528
|
+
## Real-World Examples
|
|
529
|
+
|
|
530
|
+
### Example 1: Singleton Violation Detected
|
|
531
|
+
|
|
532
|
+
**Scenario:** You create a service with Singleton pattern
|
|
533
|
+
|
|
534
|
+
**Code:**
|
|
535
|
+
```typescript
|
|
536
|
+
class UserService {
|
|
537
|
+
private static instance: UserService;
|
|
538
|
+
|
|
539
|
+
static getInstance() {
|
|
540
|
+
if (!this.instance) {
|
|
541
|
+
this.instance = new UserService();
|
|
542
|
+
}
|
|
543
|
+
return this.instance;
|
|
544
|
+
}
|
|
545
|
+
}
|
|
546
|
+
```
|
|
547
|
+
|
|
548
|
+
**When you commit:**
|
|
549
|
+
```
|
|
550
|
+
$ git commit -m "feat: add user service"
|
|
551
|
+
|
|
552
|
+
🚨 CRITICAL: backend.service.singleton_pattern
|
|
553
|
+
File: src/users/users.service.ts:5
|
|
554
|
+
Rule: No Singleton pattern
|
|
555
|
+
Message: Singleton pattern detected. Use Dependency Injection.
|
|
556
|
+
|
|
557
|
+
❌ Commit blocked: Critical violations detected
|
|
558
|
+
```
|
|
559
|
+
|
|
560
|
+
**Fix:**
|
|
561
|
+
```typescript
|
|
562
|
+
@Injectable()
|
|
563
|
+
export class UserService {
|
|
564
|
+
// Use Dependency Injection instead
|
|
565
|
+
}
|
|
566
|
+
```
|
|
567
|
+
|
|
568
|
+
**Commit again:**
|
|
569
|
+
```
|
|
570
|
+
$ git commit -m "feat: add user service"
|
|
571
|
+
|
|
572
|
+
✅ No violations detected
|
|
573
|
+
[master abc1234] feat: add user service
|
|
574
|
+
1 file changed, 15 insertions(+)
|
|
575
|
+
```
|
|
576
|
+
|
|
577
|
+
---
|
|
578
|
+
|
|
579
|
+
### Example 2: Evidence Becomes Stale
|
|
580
|
+
|
|
581
|
+
**Scenario:** You modify code, evidence is 5 minutes old
|
|
582
|
+
|
|
583
|
+
**Cursor AI workflow:**
|
|
584
|
+
1. You ask: "Add authentication to this endpoint"
|
|
585
|
+
2. Cursor calls `ai_gate_check` → `ALLOWED`
|
|
586
|
+
3. Cursor reads `evidence://status` → `stale` (age: 350s)
|
|
587
|
+
4. Cursor calls `auto_execute_ai_start`
|
|
588
|
+
5. MCP detects 85% confidence (code files modified)
|
|
589
|
+
6. MCP executes `ai-start develop`
|
|
590
|
+
7. Evidence updated (fresh timestamp)
|
|
591
|
+
8. Cursor proceeds with task using fresh context
|
|
592
|
+
|
|
593
|
+
---
|
|
594
|
+
|
|
595
|
+
### Example 3: Git Flow Automation
|
|
596
|
+
|
|
597
|
+
**Scenario:** You're on `feature/user-auth` branch, finished work
|
|
598
|
+
|
|
599
|
+
**You ask Cursor:** "Commit, push and create PR"
|
|
600
|
+
|
|
601
|
+
**Cursor workflow:**
|
|
602
|
+
1. Cursor calls `auto_complete_gitflow` with your message
|
|
603
|
+
2. MCP verifies you're on feature branch ✅
|
|
604
|
+
3. MCP commits changes (if any) ✅
|
|
605
|
+
4. MCP pushes to origin ✅
|
|
606
|
+
5. MCP creates PR to `develop` ✅
|
|
607
|
+
6. MCP returns PR URL
|
|
608
|
+
7. Cursor shows you: "✅ PR created: https://github.com/user/repo/pull/42"
|
|
609
|
+
|
|
610
|
+
---
|
|
611
|
+
|
|
612
|
+
## Troubleshooting
|
|
613
|
+
|
|
614
|
+
### Problem: "Git repository not found"
|
|
615
|
+
|
|
616
|
+
**Cause:** You're not in a Git repository
|
|
617
|
+
|
|
618
|
+
**Solution:**
|
|
619
|
+
```bash
|
|
620
|
+
git init
|
|
621
|
+
git add .
|
|
622
|
+
git commit -m "Initial commit"
|
|
623
|
+
```
|
|
624
|
+
|
|
625
|
+
Then re-run the installer:
|
|
626
|
+
```bash
|
|
627
|
+
npm run install-hooks
|
|
628
|
+
```
|
|
629
|
+
|
|
630
|
+
---
|
|
631
|
+
|
|
632
|
+
### Problem: Commit blocked but I need to commit now
|
|
633
|
+
|
|
634
|
+
**Temporary bypass:**
|
|
635
|
+
```bash
|
|
636
|
+
GIT_BYPASS_HOOK=1 git commit -m "emergency fix"
|
|
637
|
+
```
|
|
638
|
+
|
|
639
|
+
**⚠️ Warning:** Only use for emergencies. Fix violations as soon as possible.
|
|
640
|
+
|
|
641
|
+
---
|
|
642
|
+
|
|
643
|
+
### Problem: MCP server not showing in Cursor
|
|
644
|
+
|
|
645
|
+
**Check 1:** Verify `.cursor/mcp.json` exists
|
|
646
|
+
```bash
|
|
647
|
+
cat .cursor/mcp.json
|
|
648
|
+
```
|
|
649
|
+
|
|
650
|
+
**Check 2:** Verify Node path is correct
|
|
651
|
+
```bash
|
|
652
|
+
which node
|
|
653
|
+
# Update .cursor/mcp.json with correct path
|
|
654
|
+
```
|
|
655
|
+
|
|
656
|
+
**Check 3:** Restart Cursor completely
|
|
657
|
+
|
|
658
|
+
**Check 4:** Check Cursor logs
|
|
659
|
+
- View → Output → MCP
|
|
660
|
+
|
|
661
|
+
---
|
|
662
|
+
|
|
663
|
+
### Problem: Hook not running
|
|
664
|
+
|
|
665
|
+
**Check 1:** Verify hook exists and is executable
|
|
666
|
+
```bash
|
|
667
|
+
ls -la .git/hooks/pre-commit
|
|
668
|
+
# Should show: -rwxr-xr-x
|
|
669
|
+
```
|
|
670
|
+
|
|
671
|
+
**Check 2:** Make executable if needed
|
|
672
|
+
```bash
|
|
673
|
+
chmod +x .git/hooks/pre-commit
|
|
674
|
+
```
|
|
675
|
+
|
|
676
|
+
**Check 3:** Test hook manually
|
|
677
|
+
```bash
|
|
678
|
+
.git/hooks/pre-commit
|
|
679
|
+
```
|
|
680
|
+
|
|
681
|
+
---
|
|
682
|
+
|
|
683
|
+
### Problem: Evidence always stale
|
|
684
|
+
|
|
685
|
+
**Check 1:** Verify `.AI_EVIDENCE.json` exists
|
|
686
|
+
```bash
|
|
687
|
+
ls -la .AI_EVIDENCE.json
|
|
688
|
+
```
|
|
689
|
+
|
|
690
|
+
**Check 2:** Update evidence manually
|
|
691
|
+
```bash
|
|
692
|
+
npm run ai-start develop
|
|
693
|
+
```
|
|
694
|
+
|
|
695
|
+
**Check 3:** Check file permissions
|
|
696
|
+
```bash
|
|
697
|
+
chmod 644 .AI_EVIDENCE.json
|
|
698
|
+
```
|
|
699
|
+
|
|
700
|
+
---
|
|
701
|
+
|
|
702
|
+
## Next Steps
|
|
703
|
+
|
|
704
|
+
Now that you understand how it works:
|
|
705
|
+
|
|
706
|
+
1. **Test the Git hook**: Make a commit with intentional violations
|
|
707
|
+
2. **Use MCP tools**: Ask Cursor to check evidence status or sync branches
|
|
708
|
+
3. **Run manual analysis**: Use `npm run audit` to see all violations
|
|
709
|
+
4. **Read the docs**: Check `docs/USAGE.md` for detailed usage examples
|
|
710
|
+
|
|
711
|
+
---
|
|
712
|
+
|
|
713
|
+
**Last updated**: 2025-01-13
|
|
714
|
+
**Version**: 5.3.1
|
|
715
|
+
**Author**: Juan Carlos Merlos Albarracín (Senior Software Architect - AI-Driven Development) <freelancemerlos@gmail.com>
|
|
716
|
+
|