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
package/docs/USAGE.md
ADDED
|
@@ -0,0 +1,856 @@
|
|
|
1
|
+
# Usage Guide - ast-intelligence-hooks
|
|
2
|
+
|
|
3
|
+
## Table of Contents
|
|
4
|
+
|
|
5
|
+
1. [Minimal Example (5 minutes)](#minimal-example-5-minutes)
|
|
6
|
+
2. [Basic Commands](#basic-commands)
|
|
7
|
+
3. [Git Hooks Integration](#git-hooks-integration)
|
|
8
|
+
4. [Programmatic Usage](#programmatic-usage)
|
|
9
|
+
5. [Advanced Examples](#advanced-examples)
|
|
10
|
+
6. [CI/CD Integration](#cicd-integration)
|
|
11
|
+
7. [Rule Configuration](#rule-configuration)
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Minimal Example (5 minutes)
|
|
16
|
+
|
|
17
|
+
### Step 1: Install
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npm install --save-dev @pumuki/ast-intelligence-hooks
|
|
21
|
+
npm run install-hooks
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Step 2: Make a commit
|
|
25
|
+
|
|
26
|
+
**For AI/Agentic IDE users (Recommended):**
|
|
27
|
+
|
|
28
|
+
Use `ai-commit` to automatically update `.AI_EVIDENCE.json` before committing:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# Create a test file
|
|
32
|
+
echo "export const test = () => {};" > test.ts
|
|
33
|
+
git add test.ts
|
|
34
|
+
|
|
35
|
+
# Use ai-commit (recommended for AI-driven commits)
|
|
36
|
+
npx ai-commit -m "test: verify hooks"
|
|
37
|
+
# Or if installed globally:
|
|
38
|
+
ai-commit -m "test: verify hooks"
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**For manual commits:**
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# Create a test file
|
|
45
|
+
echo "export const test = () => {};" > test.ts
|
|
46
|
+
git add test.ts
|
|
47
|
+
|
|
48
|
+
# Standard git commit (hooks will run automatically)
|
|
49
|
+
git commit -m "test: verify hooks"
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Step 3: View result
|
|
53
|
+
|
|
54
|
+
If there are violations, you'll see a detailed report. If everything is OK, the commit will complete normally.
|
|
55
|
+
|
|
56
|
+
Done! You now have AST Intelligence working in your project.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Basic Commands
|
|
61
|
+
|
|
62
|
+
### Code Analysis
|
|
63
|
+
|
|
64
|
+
#### Interactive Menu (Recommended)
|
|
65
|
+
|
|
66
|
+
The library includes an **interactive menu** for selecting audit options:
|
|
67
|
+
|
|
68
|
+

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