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