@ai-coders/context 0.3.1 → 0.5.0
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/README.md +269 -29
- package/dist/fragments/compose.d.ts +30 -0
- package/dist/fragments/compose.d.ts.map +1 -0
- package/dist/fragments/compose.js +274 -0
- package/dist/fragments/compose.js.map +1 -0
- package/dist/fragments/extractors/index.d.ts +26 -0
- package/dist/fragments/extractors/index.d.ts.map +1 -0
- package/dist/fragments/extractors/index.js +58 -0
- package/dist/fragments/extractors/index.js.map +1 -0
- package/dist/fragments/extractors/module.d.ts +12 -0
- package/dist/fragments/extractors/module.d.ts.map +1 -0
- package/dist/fragments/extractors/module.js +302 -0
- package/dist/fragments/extractors/module.js.map +1 -0
- package/dist/fragments/extractors/project.d.ts +12 -0
- package/dist/fragments/extractors/project.d.ts.map +1 -0
- package/dist/fragments/extractors/project.js +274 -0
- package/dist/fragments/extractors/project.js.map +1 -0
- package/dist/fragments/extractors/semantic.d.ts +12 -0
- package/dist/fragments/extractors/semantic.d.ts.map +1 -0
- package/dist/fragments/extractors/semantic.js +329 -0
- package/dist/fragments/extractors/semantic.js.map +1 -0
- package/dist/fragments/index.d.ts +47 -0
- package/dist/fragments/index.d.ts.map +1 -0
- package/dist/fragments/index.js +75 -0
- package/dist/fragments/index.js.map +1 -0
- package/dist/fragments/query.d.ts +101 -0
- package/dist/fragments/query.d.ts.map +1 -0
- package/dist/fragments/query.js +200 -0
- package/dist/fragments/query.js.map +1 -0
- package/dist/fragments/render/compact.d.ts +15 -0
- package/dist/fragments/render/compact.d.ts.map +1 -0
- package/dist/fragments/render/compact.js +209 -0
- package/dist/fragments/render/compact.js.map +1 -0
- package/dist/fragments/render/index.d.ts +17 -0
- package/dist/fragments/render/index.d.ts.map +1 -0
- package/dist/fragments/render/index.js +40 -0
- package/dist/fragments/render/index.js.map +1 -0
- package/dist/fragments/render/json.d.ts +9 -0
- package/dist/fragments/render/json.d.ts.map +1 -0
- package/dist/fragments/render/json.js +44 -0
- package/dist/fragments/render/json.js.map +1 -0
- package/dist/fragments/render/markdown.d.ts +9 -0
- package/dist/fragments/render/markdown.d.ts.map +1 -0
- package/dist/fragments/render/markdown.js +291 -0
- package/dist/fragments/render/markdown.js.map +1 -0
- package/dist/fragments/store.d.ts +49 -0
- package/dist/fragments/store.d.ts.map +1 -0
- package/dist/fragments/store.js +161 -0
- package/dist/fragments/store.js.map +1 -0
- package/dist/fragments/types.d.ts +241 -0
- package/dist/fragments/types.d.ts.map +1 -0
- package/dist/fragments/types.js +8 -0
- package/dist/fragments/types.js.map +1 -0
- package/dist/generators/agents/agentConfig.d.ts.map +1 -1
- package/dist/generators/agents/agentConfig.js +42 -0
- package/dist/generators/agents/agentConfig.js.map +1 -1
- package/dist/generators/agents/agentGenerator.d.ts +8 -2
- package/dist/generators/agents/agentGenerator.d.ts.map +1 -1
- package/dist/generators/agents/agentGenerator.js +112 -54
- package/dist/generators/agents/agentGenerator.js.map +1 -1
- package/dist/generators/agents/agentTypes.d.ts +1 -1
- package/dist/generators/agents/agentTypes.d.ts.map +1 -1
- package/dist/generators/agents/agentTypes.js +4 -1
- package/dist/generators/agents/agentTypes.js.map +1 -1
- package/dist/generators/agents/templates/indexTemplate.d.ts.map +1 -1
- package/dist/generators/agents/templates/indexTemplate.js +2 -1
- package/dist/generators/agents/templates/indexTemplate.js.map +1 -1
- package/dist/generators/agents/templates/playbookTemplate.d.ts +3 -2
- package/dist/generators/agents/templates/playbookTemplate.d.ts.map +1 -1
- package/dist/generators/agents/templates/playbookTemplate.js +144 -10
- package/dist/generators/agents/templates/playbookTemplate.js.map +1 -1
- package/dist/generators/agents/templates/types.d.ts +9 -1
- package/dist/generators/agents/templates/types.d.ts.map +1 -1
- package/dist/generators/documentation/documentationGenerator.d.ts +5 -1
- package/dist/generators/documentation/documentationGenerator.d.ts.map +1 -1
- package/dist/generators/documentation/documentationGenerator.js +106 -18
- package/dist/generators/documentation/documentationGenerator.js.map +1 -1
- package/dist/generators/documentation/guideRegistry.d.ts.map +1 -1
- package/dist/generators/documentation/guideRegistry.js +0 -8
- package/dist/generators/documentation/guideRegistry.js.map +1 -1
- package/dist/generators/documentation/templates/apiReferenceTemplate.d.ts +2 -0
- package/dist/generators/documentation/templates/apiReferenceTemplate.d.ts.map +1 -0
- package/dist/generators/documentation/templates/apiReferenceTemplate.js +469 -0
- package/dist/generators/documentation/templates/apiReferenceTemplate.js.map +1 -0
- package/dist/generators/documentation/templates/architectureTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/architectureTemplate.js +175 -41
- package/dist/generators/documentation/templates/architectureTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/common.d.ts +28 -1
- package/dist/generators/documentation/templates/common.d.ts.map +1 -1
- package/dist/generators/documentation/templates/common.js +130 -10
- package/dist/generators/documentation/templates/common.js.map +1 -1
- package/dist/generators/documentation/templates/dataFlowTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/dataFlowTemplate.js +98 -33
- package/dist/generators/documentation/templates/dataFlowTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/developmentWorkflowTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/developmentWorkflowTemplate.js +2 -34
- package/dist/generators/documentation/templates/developmentWorkflowTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/glossaryTemplate.d.ts +1 -1
- package/dist/generators/documentation/templates/glossaryTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/glossaryTemplate.js +51 -37
- package/dist/generators/documentation/templates/glossaryTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/index.d.ts +4 -0
- package/dist/generators/documentation/templates/index.d.ts.map +1 -1
- package/dist/generators/documentation/templates/index.js +9 -1
- package/dist/generators/documentation/templates/index.js.map +1 -1
- package/dist/generators/documentation/templates/indexTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/indexTemplate.js +1 -32
- package/dist/generators/documentation/templates/indexTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/migrationTemplate.d.ts +2 -0
- package/dist/generators/documentation/templates/migrationTemplate.d.ts.map +1 -0
- package/dist/generators/documentation/templates/migrationTemplate.js +400 -0
- package/dist/generators/documentation/templates/migrationTemplate.js.map +1 -0
- package/dist/generators/documentation/templates/onboardingTemplate.d.ts +2 -0
- package/dist/generators/documentation/templates/onboardingTemplate.d.ts.map +1 -0
- package/dist/generators/documentation/templates/onboardingTemplate.js +409 -0
- package/dist/generators/documentation/templates/onboardingTemplate.js.map +1 -0
- package/dist/generators/documentation/templates/projectOverviewTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/projectOverviewTemplate.js +97 -38
- package/dist/generators/documentation/templates/projectOverviewTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/securityTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/securityTemplate.js +1 -32
- package/dist/generators/documentation/templates/securityTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/testingTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/testingTemplate.js +1 -33
- package/dist/generators/documentation/templates/testingTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/toolingTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/toolingTemplate.js +2 -33
- package/dist/generators/documentation/templates/toolingTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/troubleshootingTemplate.d.ts +2 -0
- package/dist/generators/documentation/templates/troubleshootingTemplate.d.ts.map +1 -0
- package/dist/generators/documentation/templates/troubleshootingTemplate.js +270 -0
- package/dist/generators/documentation/templates/troubleshootingTemplate.js.map +1 -0
- package/dist/generators/documentation/templates/types.d.ts +2 -1
- package/dist/generators/documentation/templates/types.d.ts.map +1 -1
- package/dist/generators/plans/planGenerator.d.ts +4 -0
- package/dist/generators/plans/planGenerator.d.ts.map +1 -1
- package/dist/generators/plans/planGenerator.js +30 -2
- package/dist/generators/plans/planGenerator.js.map +1 -1
- package/dist/generators/plans/templates/indexTemplate.d.ts.map +1 -1
- package/dist/generators/plans/templates/indexTemplate.js +5 -13
- package/dist/generators/plans/templates/indexTemplate.js.map +1 -1
- package/dist/generators/plans/templates/planTemplate.d.ts.map +1 -1
- package/dist/generators/plans/templates/planTemplate.js +123 -30
- package/dist/generators/plans/templates/planTemplate.js.map +1 -1
- package/dist/generators/plans/templates/types.d.ts +10 -0
- package/dist/generators/plans/templates/types.d.ts.map +1 -1
- package/dist/generators/shared/generatorUtils.d.ts +1 -1
- package/dist/generators/shared/generatorUtils.d.ts.map +1 -1
- package/dist/generators/shared/generatorUtils.js +7 -10
- package/dist/generators/shared/generatorUtils.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +459 -1073
- package/dist/index.js.map +1 -1
- package/dist/prompts/defaults.d.ts +2 -2
- package/dist/prompts/defaults.d.ts.map +1 -1
- package/dist/prompts/defaults.js +26 -56
- package/dist/prompts/defaults.js.map +1 -1
- package/dist/services/ai/agentEvents.d.ts +45 -0
- package/dist/services/ai/agentEvents.d.ts.map +1 -0
- package/dist/services/ai/agentEvents.js +61 -0
- package/dist/services/ai/agentEvents.js.map +1 -0
- package/dist/services/ai/agents/documentationAgent.d.ts +53 -0
- package/dist/services/ai/agents/documentationAgent.d.ts.map +1 -0
- package/dist/services/ai/agents/documentationAgent.js +243 -0
- package/dist/services/ai/agents/documentationAgent.js.map +1 -0
- package/dist/services/ai/agents/index.d.ts +7 -0
- package/dist/services/ai/agents/index.d.ts.map +1 -0
- package/dist/services/ai/agents/index.js +10 -0
- package/dist/services/ai/agents/index.js.map +1 -0
- package/dist/services/ai/agents/planAgent.d.ts +68 -0
- package/dist/services/ai/agents/planAgent.d.ts.map +1 -0
- package/dist/services/ai/agents/planAgent.js +389 -0
- package/dist/services/ai/agents/planAgent.js.map +1 -0
- package/dist/services/ai/agents/playbookAgent.d.ts +54 -0
- package/dist/services/ai/agents/playbookAgent.d.ts.map +1 -0
- package/dist/services/ai/agents/playbookAgent.js +265 -0
- package/dist/services/ai/agents/playbookAgent.js.map +1 -0
- package/dist/services/ai/aiSdkClient.d.ts +67 -0
- package/dist/services/ai/aiSdkClient.d.ts.map +1 -0
- package/dist/services/ai/aiSdkClient.js +143 -0
- package/dist/services/ai/aiSdkClient.js.map +1 -0
- package/dist/services/ai/index.d.ts +7 -0
- package/dist/services/ai/index.d.ts.map +1 -0
- package/dist/services/ai/index.js +49 -0
- package/dist/services/ai/index.js.map +1 -0
- package/dist/services/ai/providerFactory.d.ts +35 -0
- package/dist/services/ai/providerFactory.d.ts.map +1 -0
- package/dist/services/ai/providerFactory.js +107 -0
- package/dist/services/ai/providerFactory.js.map +1 -0
- package/dist/services/ai/schemas.d.ts +331 -0
- package/dist/services/ai/schemas.d.ts.map +1 -0
- package/dist/services/ai/schemas.js +236 -0
- package/dist/services/ai/schemas.js.map +1 -0
- package/dist/services/ai/tools/analyzeSymbolsTool.d.ts +33 -0
- package/dist/services/ai/tools/analyzeSymbolsTool.d.ts.map +1 -0
- package/dist/services/ai/tools/analyzeSymbolsTool.js +57 -0
- package/dist/services/ai/tools/analyzeSymbolsTool.js.map +1 -0
- package/dist/services/ai/tools/checkScaffoldingTool.d.ts +18 -0
- package/dist/services/ai/tools/checkScaffoldingTool.d.ts.map +1 -0
- package/dist/services/ai/tools/checkScaffoldingTool.js +86 -0
- package/dist/services/ai/tools/checkScaffoldingTool.js.map +1 -0
- package/dist/services/ai/tools/fillScaffoldingTool.d.ts +38 -0
- package/dist/services/ai/tools/fillScaffoldingTool.d.ts.map +1 -0
- package/dist/services/ai/tools/fillScaffoldingTool.js +259 -0
- package/dist/services/ai/tools/fillScaffoldingTool.js.map +1 -0
- package/dist/services/ai/tools/getFileStructureTool.d.ts +29 -0
- package/dist/services/ai/tools/getFileStructureTool.d.ts.map +1 -0
- package/dist/services/ai/tools/getFileStructureTool.js +48 -0
- package/dist/services/ai/tools/getFileStructureTool.js.map +1 -0
- package/dist/services/ai/tools/index.d.ts +20 -0
- package/dist/services/ai/tools/index.d.ts.map +1 -0
- package/dist/services/ai/tools/index.js +62 -0
- package/dist/services/ai/tools/index.js.map +1 -0
- package/dist/services/ai/tools/initializeContextTool.d.ts +25 -0
- package/dist/services/ai/tools/initializeContextTool.d.ts.map +1 -0
- package/dist/services/ai/tools/initializeContextTool.js +121 -0
- package/dist/services/ai/tools/initializeContextTool.js.map +1 -0
- package/dist/services/ai/tools/listFilesTool.d.ts +18 -0
- package/dist/services/ai/tools/listFilesTool.d.ts.map +1 -0
- package/dist/services/ai/tools/listFilesTool.js +34 -0
- package/dist/services/ai/tools/listFilesTool.js.map +1 -0
- package/dist/services/ai/tools/readFileTool.d.ts +17 -0
- package/dist/services/ai/tools/readFileTool.d.ts.map +1 -0
- package/dist/services/ai/tools/readFileTool.js +63 -0
- package/dist/services/ai/tools/readFileTool.js.map +1 -0
- package/dist/services/ai/tools/scaffoldPlanTool.d.ts +19 -0
- package/dist/services/ai/tools/scaffoldPlanTool.d.ts.map +1 -0
- package/dist/services/ai/tools/scaffoldPlanTool.js +81 -0
- package/dist/services/ai/tools/scaffoldPlanTool.js.map +1 -0
- package/dist/services/ai/tools/searchCodeTool.d.ts +25 -0
- package/dist/services/ai/tools/searchCodeTool.d.ts.map +1 -0
- package/dist/services/ai/tools/searchCodeTool.js +96 -0
- package/dist/services/ai/tools/searchCodeTool.js.map +1 -0
- package/dist/services/baseLLMClient.d.ts +3 -3
- package/dist/services/baseLLMClient.d.ts.map +1 -1
- package/dist/services/baseLLMClient.js +44 -5
- package/dist/services/baseLLMClient.js.map +1 -1
- package/dist/services/fill/fillService.d.ts +11 -5
- package/dist/services/fill/fillService.d.ts.map +1 -1
- package/dist/services/fill/fillService.js +152 -88
- package/dist/services/fill/fillService.js.map +1 -1
- package/dist/services/init/initService.d.ts +3 -2
- package/dist/services/init/initService.d.ts.map +1 -1
- package/dist/services/init/initService.js +54 -19
- package/dist/services/init/initService.js.map +1 -1
- package/dist/services/llmClientFactory.d.ts +37 -9
- package/dist/services/llmClientFactory.d.ts.map +1 -1
- package/dist/services/llmClientFactory.js +54 -94
- package/dist/services/llmClientFactory.js.map +1 -1
- package/dist/services/mcp/index.d.ts +2 -0
- package/dist/services/mcp/index.d.ts.map +1 -0
- package/dist/services/mcp/index.js +7 -0
- package/dist/services/mcp/index.js.map +1 -0
- package/dist/services/mcp/mcpServer.d.ts +45 -0
- package/dist/services/mcp/mcpServer.d.ts.map +1 -0
- package/dist/services/mcp/mcpServer.js +371 -0
- package/dist/services/mcp/mcpServer.js.map +1 -0
- package/dist/services/openRouterClient.d.ts +0 -3
- package/dist/services/openRouterClient.d.ts.map +1 -1
- package/dist/services/openRouterClient.js +2 -49
- package/dist/services/openRouterClient.js.map +1 -1
- package/dist/services/passthrough/commandRouter.d.ts +53 -0
- package/dist/services/passthrough/commandRouter.d.ts.map +1 -0
- package/dist/services/passthrough/commandRouter.js +349 -0
- package/dist/services/passthrough/commandRouter.js.map +1 -0
- package/dist/services/passthrough/index.d.ts +7 -0
- package/dist/services/passthrough/index.d.ts.map +1 -0
- package/dist/services/passthrough/index.js +23 -0
- package/dist/services/passthrough/index.js.map +1 -0
- package/dist/services/passthrough/protocol.d.ts +269 -0
- package/dist/services/passthrough/protocol.d.ts.map +1 -0
- package/dist/services/passthrough/protocol.js +151 -0
- package/dist/services/passthrough/protocol.js.map +1 -0
- package/dist/services/passthrough/stdinReader.d.ts +42 -0
- package/dist/services/passthrough/stdinReader.d.ts.map +1 -0
- package/dist/services/passthrough/stdinReader.js +111 -0
- package/dist/services/passthrough/stdinReader.js.map +1 -0
- package/dist/services/plan/planService.d.ts +5 -5
- package/dist/services/plan/planService.d.ts.map +1 -1
- package/dist/services/plan/planService.js +52 -53
- package/dist/services/plan/planService.js.map +1 -1
- package/dist/services/semantic/codebaseAnalyzer.d.ts +40 -0
- package/dist/services/semantic/codebaseAnalyzer.d.ts.map +1 -0
- package/dist/services/semantic/codebaseAnalyzer.js +540 -0
- package/dist/services/semantic/codebaseAnalyzer.js.map +1 -0
- package/dist/services/semantic/contextBuilder.d.ts +79 -0
- package/dist/services/semantic/contextBuilder.d.ts.map +1 -0
- package/dist/services/semantic/contextBuilder.js +538 -0
- package/dist/services/semantic/contextBuilder.js.map +1 -0
- package/dist/services/semantic/index.d.ts +12 -0
- package/dist/services/semantic/index.d.ts.map +1 -0
- package/dist/services/semantic/index.js +33 -0
- package/dist/services/semantic/index.js.map +1 -0
- package/dist/services/semantic/lsp/index.d.ts +2 -0
- package/dist/services/semantic/lsp/index.d.ts.map +1 -0
- package/dist/services/semantic/lsp/index.js +6 -0
- package/dist/services/semantic/lsp/index.js.map +1 -0
- package/dist/services/semantic/lsp/lspLayer.d.ts +32 -0
- package/dist/services/semantic/lsp/lspLayer.d.ts.map +1 -0
- package/dist/services/semantic/lsp/lspLayer.js +378 -0
- package/dist/services/semantic/lsp/lspLayer.js.map +1 -0
- package/dist/services/semantic/treeSitter/index.d.ts +2 -0
- package/dist/services/semantic/treeSitter/index.d.ts.map +1 -0
- package/dist/services/semantic/treeSitter/index.js +6 -0
- package/dist/services/semantic/treeSitter/index.js.map +1 -0
- package/dist/services/semantic/treeSitter/treeSitterLayer.d.ts +37 -0
- package/dist/services/semantic/treeSitter/treeSitterLayer.d.ts.map +1 -0
- package/dist/services/semantic/treeSitter/treeSitterLayer.js +518 -0
- package/dist/services/semantic/treeSitter/treeSitterLayer.js.map +1 -0
- package/dist/services/semantic/types.d.ts +122 -0
- package/dist/services/semantic/types.d.ts.map +1 -0
- package/dist/services/semantic/types.js +31 -0
- package/dist/services/semantic/types.js.map +1 -0
- package/dist/services/serve/index.d.ts +2 -0
- package/dist/services/serve/index.d.ts.map +1 -0
- package/dist/services/serve/index.js +6 -0
- package/dist/services/serve/index.js.map +1 -0
- package/dist/services/serve/serveService.d.ts +38 -0
- package/dist/services/serve/serveService.d.ts.map +1 -0
- package/dist/services/serve/serveService.js +99 -0
- package/dist/services/serve/serveService.js.map +1 -0
- package/dist/services/shared/llmConfig.d.ts +19 -3
- package/dist/services/shared/llmConfig.d.ts.map +1 -1
- package/dist/services/shared/llmConfig.js +44 -57
- package/dist/services/shared/llmConfig.js.map +1 -1
- package/dist/services/sync/index.d.ts +6 -0
- package/dist/services/sync/index.d.ts.map +1 -0
- package/dist/services/sync/index.js +16 -0
- package/dist/services/sync/index.js.map +1 -0
- package/dist/services/sync/markdownReferenceHandler.d.ts +3 -0
- package/dist/services/sync/markdownReferenceHandler.d.ts.map +1 -0
- package/dist/services/sync/markdownReferenceHandler.js +133 -0
- package/dist/services/sync/markdownReferenceHandler.js.map +1 -0
- package/dist/services/sync/presets.d.ts +6 -0
- package/dist/services/sync/presets.d.ts.map +1 -0
- package/dist/services/sync/presets.js +49 -0
- package/dist/services/sync/presets.js.map +1 -0
- package/dist/services/sync/symlinkHandler.d.ts +7 -0
- package/dist/services/sync/symlinkHandler.d.ts.map +1 -0
- package/dist/services/sync/symlinkHandler.js +129 -0
- package/dist/services/sync/symlinkHandler.js.map +1 -0
- package/dist/services/sync/syncService.d.ts +15 -0
- package/dist/services/sync/syncService.d.ts.map +1 -0
- package/dist/services/sync/syncService.js +222 -0
- package/dist/services/sync/syncService.js.map +1 -0
- package/dist/services/sync/types.d.ts +62 -0
- package/dist/services/sync/types.d.ts.map +1 -0
- package/dist/services/sync/types.js +3 -0
- package/dist/services/sync/types.js.map +1 -0
- package/dist/types.d.ts +8 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/cliUI.d.ts +33 -0
- package/dist/utils/cliUI.d.ts.map +1 -1
- package/dist/utils/cliUI.js +157 -107
- package/dist/utils/cliUI.js.map +1 -1
- package/dist/utils/contentSanitizer.d.ts +42 -0
- package/dist/utils/contentSanitizer.d.ts.map +1 -0
- package/dist/utils/contentSanitizer.js +238 -0
- package/dist/utils/contentSanitizer.js.map +1 -0
- package/dist/utils/fileMapper.d.ts +1 -1
- package/dist/utils/fileMapper.d.ts.map +1 -1
- package/dist/utils/fileMapper.js +40 -19
- package/dist/utils/fileMapper.js.map +1 -1
- package/dist/utils/gitService.d.ts.map +1 -1
- package/dist/utils/gitService.js +12 -14
- package/dist/utils/gitService.js.map +1 -1
- package/dist/utils/i18n.d.ts +96 -43
- package/dist/utils/i18n.d.ts.map +1 -1
- package/dist/utils/i18n.js +194 -88
- package/dist/utils/i18n.js.map +1 -1
- package/dist/utils/prompts/configSummary.d.ts +7 -0
- package/dist/utils/prompts/configSummary.d.ts.map +1 -0
- package/dist/utils/prompts/configSummary.js +63 -0
- package/dist/utils/prompts/configSummary.js.map +1 -0
- package/dist/utils/prompts/index.d.ts +22 -0
- package/dist/utils/prompts/index.d.ts.map +1 -0
- package/dist/utils/prompts/index.js +122 -0
- package/dist/utils/prompts/index.js.map +1 -0
- package/dist/utils/prompts/llmPrompts.d.ts +11 -0
- package/dist/utils/prompts/llmPrompts.d.ts.map +1 -0
- package/dist/utils/prompts/llmPrompts.js +96 -0
- package/dist/utils/prompts/llmPrompts.js.map +1 -0
- package/dist/utils/prompts/smartDefaults.d.ts +15 -0
- package/dist/utils/prompts/smartDefaults.d.ts.map +1 -0
- package/dist/utils/prompts/smartDefaults.js +105 -0
- package/dist/utils/prompts/smartDefaults.js.map +1 -0
- package/dist/utils/prompts/types.d.ts +38 -0
- package/dist/utils/prompts/types.d.ts.map +1 -0
- package/dist/utils/prompts/types.js +3 -0
- package/dist/utils/prompts/types.js.map +1 -0
- package/dist/utils/theme.d.ts +66 -0
- package/dist/utils/theme.d.ts.map +1 -0
- package/dist/utils/theme.js +93 -0
- package/dist/utils/theme.js.map +1 -0
- package/dist/version.d.ts +8 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +15 -0
- package/dist/version.js.map +1 -0
- package/package.json +18 -11
- package/prompts/update_plan_prompt.md +4 -5
- package/prompts/update_scaffold_prompt.md +14 -35
- package/dist/commands/shared/agents.d.ts +0 -2
- package/dist/commands/shared/agents.d.ts.map +0 -1
- package/dist/commands/shared/agents.js +0 -15
- package/dist/commands/shared/agents.js.map +0 -1
- package/dist/commands/shared/selection.d.ts +0 -12
- package/dist/commands/shared/selection.d.ts.map +0 -1
- package/dist/commands/shared/selection.js +0 -95
- package/dist/commands/shared/selection.js.map +0 -1
- package/dist/generators/agents/contextUtils.d.ts +0 -8
- package/dist/generators/agents/contextUtils.d.ts.map +0 -1
- package/dist/generators/agents/contextUtils.js +0 -15
- package/dist/generators/agents/contextUtils.js.map +0 -1
- package/dist/generators/agents/promptFormatter.d.ts +0 -9
- package/dist/generators/agents/promptFormatter.d.ts.map +0 -1
- package/dist/generators/agents/promptFormatter.js +0 -84
- package/dist/generators/agents/promptFormatter.js.map +0 -1
- package/dist/generators/analyzers/codebaseAnalyzer.d.ts +0 -45
- package/dist/generators/analyzers/codebaseAnalyzer.d.ts.map +0 -1
- package/dist/generators/analyzers/codebaseAnalyzer.js +0 -293
- package/dist/generators/analyzers/codebaseAnalyzer.js.map +0 -1
- package/dist/generators/analyzers/index.d.ts +0 -3
- package/dist/generators/analyzers/index.d.ts.map +0 -1
- package/dist/generators/analyzers/index.js +0 -6
- package/dist/generators/analyzers/index.js.map +0 -1
- package/dist/generators/documentation/documentationTemplates.d.ts +0 -21
- package/dist/generators/documentation/documentationTemplates.d.ts.map +0 -1
- package/dist/generators/documentation/documentationTemplates.js +0 -359
- package/dist/generators/documentation/documentationTemplates.js.map +0 -1
- package/dist/generators/documentation/documentationTypes.d.ts +0 -11
- package/dist/generators/documentation/documentationTypes.d.ts.map +0 -1
- package/dist/generators/documentation/documentationTypes.js +0 -22
- package/dist/generators/documentation/documentationTypes.js.map +0 -1
- package/dist/generators/documentation/documentationUtils.d.ts +0 -7
- package/dist/generators/documentation/documentationUtils.d.ts.map +0 -1
- package/dist/generators/documentation/documentationUtils.js +0 -28
- package/dist/generators/documentation/documentationUtils.js.map +0 -1
- package/dist/generators/documentation/incrementalDocumentationGenerator.d.ts +0 -33
- package/dist/generators/documentation/incrementalDocumentationGenerator.d.ts.map +0 -1
- package/dist/generators/documentation/incrementalDocumentationGenerator.js +0 -400
- package/dist/generators/documentation/incrementalDocumentationGenerator.js.map +0 -1
- package/dist/generators/documentation/templates/frontMatter.d.ts +0 -11
- package/dist/generators/documentation/templates/frontMatter.d.ts.map +0 -1
- package/dist/generators/documentation/templates/frontMatter.js +0 -29
- package/dist/generators/documentation/templates/frontMatter.js.map +0 -1
- package/dist/generators/documentation/templates.d.ts +0 -31
- package/dist/generators/documentation/templates.d.ts.map +0 -1
- package/dist/generators/documentation/templates.js +0 -566
- package/dist/generators/documentation/templates.js.map +0 -1
- package/dist/generators/guidelines/agentIntegration.d.ts +0 -43
- package/dist/generators/guidelines/agentIntegration.d.ts.map +0 -1
- package/dist/generators/guidelines/agentIntegration.js +0 -157
- package/dist/generators/guidelines/agentIntegration.js.map +0 -1
- package/dist/generators/guidelines/guidelineTypes.d.ts +0 -40
- package/dist/generators/guidelines/guidelineTypes.d.ts.map +0 -1
- package/dist/generators/guidelines/guidelineTypes.js +0 -144
- package/dist/generators/guidelines/guidelineTypes.js.map +0 -1
- package/dist/generators/guidelines/guidelinesAnalyzer.d.ts +0 -30
- package/dist/generators/guidelines/guidelinesAnalyzer.d.ts.map +0 -1
- package/dist/generators/guidelines/guidelinesAnalyzer.js +0 -263
- package/dist/generators/guidelines/guidelinesAnalyzer.js.map +0 -1
- package/dist/generators/guidelines/guidelinesGenerator.d.ts +0 -30
- package/dist/generators/guidelines/guidelinesGenerator.d.ts.map +0 -1
- package/dist/generators/guidelines/guidelinesGenerator.js +0 -249
- package/dist/generators/guidelines/guidelinesGenerator.js.map +0 -1
- package/dist/generators/guidelines/guidelinesTemplates.d.ts +0 -23
- package/dist/generators/guidelines/guidelinesTemplates.d.ts.map +0 -1
- package/dist/generators/guidelines/guidelinesTemplates.js +0 -304
- package/dist/generators/guidelines/guidelinesTemplates.js.map +0 -1
- package/dist/generators/guidelines/index.d.ts +0 -6
- package/dist/generators/guidelines/index.d.ts.map +0 -1
- package/dist/generators/guidelines/index.js +0 -16
- package/dist/generators/guidelines/index.js.map +0 -1
- package/dist/generators/moduleGrouper.d.ts +0 -14
- package/dist/generators/moduleGrouper.d.ts.map +0 -1
- package/dist/generators/moduleGrouper.js +0 -82
- package/dist/generators/moduleGrouper.js.map +0 -1
- package/dist/generators/projectAnalyzer.d.ts +0 -14
- package/dist/generators/projectAnalyzer.d.ts.map +0 -1
- package/dist/generators/projectAnalyzer.js +0 -217
- package/dist/generators/projectAnalyzer.js.map +0 -1
- package/dist/services/anthropicClient.d.ts +0 -12
- package/dist/services/anthropicClient.d.ts.map +0 -1
- package/dist/services/anthropicClient.js +0 -98
- package/dist/services/anthropicClient.js.map +0 -1
- package/dist/services/changeAnalyzer.d.ts +0 -44
- package/dist/services/changeAnalyzer.d.ts.map +0 -1
- package/dist/services/changeAnalyzer.js +0 -344
- package/dist/services/changeAnalyzer.js.map +0 -1
- package/dist/services/geminiClient.d.ts +0 -12
- package/dist/services/geminiClient.d.ts.map +0 -1
- package/dist/services/geminiClient.js +0 -96
- package/dist/services/geminiClient.js.map +0 -1
- package/dist/services/grokClient.d.ts +0 -12
- package/dist/services/grokClient.d.ts.map +0 -1
- package/dist/services/grokClient.js +0 -101
- package/dist/services/grokClient.js.map +0 -1
- package/dist/services/openaiClient.d.ts +0 -12
- package/dist/services/openaiClient.d.ts.map +0 -1
- package/dist/services/openaiClient.js +0 -98
- package/dist/services/openaiClient.js.map +0 -1
- package/dist/utils/interactiveMode.d.ts +0 -21
- package/dist/utils/interactiveMode.d.ts.map +0 -1
- package/dist/utils/interactiveMode.js +0 -737
- package/dist/utils/interactiveMode.js.map +0 -1
- package/dist/utils/pricing.d.ts +0 -14
- package/dist/utils/pricing.d.ts.map +0 -1
- package/dist/utils/pricing.js +0 -115
- package/dist/utils/pricing.js.map +0 -1
- package/dist/utils/tokenEstimator.d.ts +0 -28
- package/dist/utils/tokenEstimator.d.ts.map +0 -1
- package/dist/utils/tokenEstimator.js +0 -134
- package/dist/utils/tokenEstimator.js.map +0 -1
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GuidelinesAgentIntegration = void 0;
|
|
4
|
-
const agentGenerator_1 = require("../agents/agentGenerator");
|
|
5
|
-
/**
|
|
6
|
-
* Integration layer between Guidelines Generator and Agent System
|
|
7
|
-
*
|
|
8
|
-
* This class leverages the existing agent system to enhance guideline generation
|
|
9
|
-
* by using specialized agents (architect-specialist, documentation-writer) to
|
|
10
|
-
* provide expert context and validation for generated guidelines.
|
|
11
|
-
*/
|
|
12
|
-
class GuidelinesAgentIntegration {
|
|
13
|
-
constructor(fileMapper, llmClient) {
|
|
14
|
-
this.fileMapper = fileMapper;
|
|
15
|
-
this.llmClient = llmClient;
|
|
16
|
-
this.agentGenerator = new agentGenerator_1.AgentGenerator(fileMapper, llmClient);
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Enhance guideline generation using architect-specialist agent context
|
|
20
|
-
*/
|
|
21
|
-
async enhanceWithArchitectAgent(repoStructure, moduleGroups, category) {
|
|
22
|
-
// The architect-specialist agent is perfect for:
|
|
23
|
-
// - architecture guidelines
|
|
24
|
-
// - performance guidelines
|
|
25
|
-
// - code-style guidelines
|
|
26
|
-
// - overall system design guidance
|
|
27
|
-
const architectContext = `Repository Analysis for ${category} Guidelines:
|
|
28
|
-
|
|
29
|
-
Project Structure:
|
|
30
|
-
${moduleGroups.map(m => `- ${m.name}: ${m.description} (${m.files.length} files)`).join('\n')}
|
|
31
|
-
|
|
32
|
-
Focus Area: ${category}
|
|
33
|
-
|
|
34
|
-
As an architect specialist, analyze this codebase and provide expert insights for creating ${category} guidelines that would be most valuable for this specific project structure and technology stack.
|
|
35
|
-
|
|
36
|
-
Consider:
|
|
37
|
-
1. Current architectural patterns evident in the codebase
|
|
38
|
-
2. Areas where ${category} guidelines would have the most impact
|
|
39
|
-
3. Technology-specific best practices for ${category}
|
|
40
|
-
4. Common pitfalls to avoid in this type of project
|
|
41
|
-
5. Specific recommendations for this codebase's current state
|
|
42
|
-
|
|
43
|
-
Provide architectural insights that should be incorporated into ${category} guidelines.`;
|
|
44
|
-
return architectContext;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Enhance guideline generation using documentation-writer agent context
|
|
48
|
-
*/
|
|
49
|
-
async enhanceWithDocumentationAgent(repoStructure, moduleGroups, category) {
|
|
50
|
-
// The documentation-writer agent is perfect for:
|
|
51
|
-
// - documentation guidelines
|
|
52
|
-
// - code-style guidelines (commenting, naming)
|
|
53
|
-
// - git-workflow guidelines (commit messages, PR descriptions)
|
|
54
|
-
// - general communication and knowledge sharing
|
|
55
|
-
const docContext = `Documentation Analysis for ${category} Guidelines:
|
|
56
|
-
|
|
57
|
-
Current Documentation State:
|
|
58
|
-
- Total Files: ${repoStructure.totalFiles}
|
|
59
|
-
- README files: ${repoStructure.files.filter(f => f.relativePath.toLowerCase().includes('readme')).length}
|
|
60
|
-
- Documentation directories: ${repoStructure.files.filter(f => f.relativePath.includes('docs') || f.relativePath.includes('doc')).length}
|
|
61
|
-
|
|
62
|
-
Focus Area: ${category}
|
|
63
|
-
|
|
64
|
-
As a documentation specialist, analyze how ${category} guidelines should be structured and presented to maximize their effectiveness for developers working on this codebase.
|
|
65
|
-
|
|
66
|
-
Consider:
|
|
67
|
-
1. How ${category} guidelines should be documented for best accessibility
|
|
68
|
-
2. What examples and templates would be most helpful
|
|
69
|
-
3. How to make guidelines actionable and measurable
|
|
70
|
-
4. Integration with existing documentation patterns
|
|
71
|
-
5. Onboarding and reference use cases
|
|
72
|
-
|
|
73
|
-
Provide documentation expertise for creating effective ${category} guidelines.`;
|
|
74
|
-
return docContext;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Get agent-enhanced context for specific guideline categories
|
|
78
|
-
*/
|
|
79
|
-
async getEnhancedContext(category, repoStructure, moduleGroups) {
|
|
80
|
-
const categoryAgentMap = {
|
|
81
|
-
'testing': 'architect',
|
|
82
|
-
'frontend': 'architect',
|
|
83
|
-
'backend': 'architect',
|
|
84
|
-
'database': 'architect',
|
|
85
|
-
'security': 'architect',
|
|
86
|
-
'performance': 'architect',
|
|
87
|
-
'code-style': 'both',
|
|
88
|
-
'git-workflow': 'documentation',
|
|
89
|
-
'deployment': 'architect',
|
|
90
|
-
'monitoring': 'architect',
|
|
91
|
-
'documentation': 'documentation',
|
|
92
|
-
'architecture': 'architect'
|
|
93
|
-
};
|
|
94
|
-
const agentApproach = categoryAgentMap[category];
|
|
95
|
-
const result = { recommendedAgentApproach: agentApproach };
|
|
96
|
-
if (agentApproach === 'architect' || agentApproach === 'both') {
|
|
97
|
-
result.architectContext = await this.enhanceWithArchitectAgent(repoStructure, moduleGroups, category);
|
|
98
|
-
}
|
|
99
|
-
if (agentApproach === 'documentation' || agentApproach === 'both') {
|
|
100
|
-
result.documentationContext = await this.enhanceWithDocumentationAgent(repoStructure, moduleGroups, category);
|
|
101
|
-
}
|
|
102
|
-
return result;
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Generate agent prompts specifically for guideline validation and enhancement
|
|
106
|
-
*/
|
|
107
|
-
async generateGuidelineValidationPrompts(repoStructure, outputDir, verbose = false) {
|
|
108
|
-
// Generate specialized agent prompts for guideline creation and validation
|
|
109
|
-
await this.agentGenerator.generateAgentPrompts(repoStructure, outputDir, verbose);
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Create guideline-specific agent prompt that combines multiple agent perspectives
|
|
113
|
-
*/
|
|
114
|
-
createCombinedAgentPrompt(category, architectContext, documentationContext) {
|
|
115
|
-
let prompt = `# Guidelines Creation Agent for ${category.toUpperCase()}
|
|
116
|
-
|
|
117
|
-
You are a specialized AI agent focused on creating comprehensive ${category} guidelines.
|
|
118
|
-
|
|
119
|
-
## Your Role
|
|
120
|
-
Combine the expertise of both architect and documentation specialists to create actionable, practical guidelines for ${category}.
|
|
121
|
-
|
|
122
|
-
`;
|
|
123
|
-
if (architectContext) {
|
|
124
|
-
prompt += `## Architectural Perspective
|
|
125
|
-
${architectContext}
|
|
126
|
-
|
|
127
|
-
`;
|
|
128
|
-
}
|
|
129
|
-
if (documentationContext) {
|
|
130
|
-
prompt += `## Documentation Perspective
|
|
131
|
-
${documentationContext}
|
|
132
|
-
|
|
133
|
-
`;
|
|
134
|
-
}
|
|
135
|
-
prompt += `## Your Task
|
|
136
|
-
Create detailed, actionable ${category} guidelines that:
|
|
137
|
-
|
|
138
|
-
1. **Are Specific**: Tailored to this exact codebase and technology stack
|
|
139
|
-
2. **Are Actionable**: Provide clear steps and decisions developers can follow
|
|
140
|
-
3. **Are Measurable**: Include ways to verify adherence to guidelines
|
|
141
|
-
4. **Are Practical**: Focus on real-world development scenarios
|
|
142
|
-
5. **Are Maintainable**: Can evolve with the project over time
|
|
143
|
-
|
|
144
|
-
## Guidelines Structure
|
|
145
|
-
For each guideline, provide:
|
|
146
|
-
- **Rule**: Clear, concise statement of what to do
|
|
147
|
-
- **Rationale**: Why this rule matters for this specific project
|
|
148
|
-
- **Examples**: Concrete examples using the project's technology stack
|
|
149
|
-
- **Tools**: Specific tools or automation to support the guideline
|
|
150
|
-
- **Validation**: How to check if the guideline is being followed
|
|
151
|
-
|
|
152
|
-
Focus on guidelines that will have the highest impact on code quality, team productivity, and project maintainability.`;
|
|
153
|
-
return prompt;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
exports.GuidelinesAgentIntegration = GuidelinesAgentIntegration;
|
|
157
|
-
//# sourceMappingURL=agentIntegration.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agentIntegration.js","sourceRoot":"","sources":["../../../src/generators/guidelines/agentIntegration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
export declare const GUIDELINE_CATEGORIES: readonly ["testing", "frontend", "backend", "database", "security", "performance", "code-style", "git-workflow", "deployment", "monitoring", "documentation", "architecture"];
|
|
2
|
-
export type GuidelineCategory = typeof GUIDELINE_CATEGORIES[number];
|
|
3
|
-
export declare const GUIDELINE_CATEGORIES_ARRAY: GuidelineCategory[];
|
|
4
|
-
export interface GuidelineConfig {
|
|
5
|
-
categories: GuidelineCategory[];
|
|
6
|
-
techStack: string[];
|
|
7
|
-
projectType: 'frontend' | 'backend' | 'fullstack' | 'library' | 'cli' | 'mobile';
|
|
8
|
-
complexity: 'simple' | 'moderate' | 'complex';
|
|
9
|
-
teamSize: 'solo' | 'small' | 'medium' | 'large';
|
|
10
|
-
includeExamples: boolean;
|
|
11
|
-
includeTools: boolean;
|
|
12
|
-
}
|
|
13
|
-
export interface DetectedTechnology {
|
|
14
|
-
name: string;
|
|
15
|
-
category: 'framework' | 'library' | 'database' | 'tool' | 'language';
|
|
16
|
-
confidence: number;
|
|
17
|
-
files: string[];
|
|
18
|
-
patterns: string[];
|
|
19
|
-
}
|
|
20
|
-
export interface GuidelineRule {
|
|
21
|
-
rule: string;
|
|
22
|
-
rationale: string;
|
|
23
|
-
examples?: string[];
|
|
24
|
-
antiPatterns?: string[];
|
|
25
|
-
tools?: string[];
|
|
26
|
-
severity: 'must' | 'should' | 'could';
|
|
27
|
-
}
|
|
28
|
-
export interface GuidelineSection {
|
|
29
|
-
title: string;
|
|
30
|
-
description: string;
|
|
31
|
-
rules: GuidelineRule[];
|
|
32
|
-
relatedCategories?: GuidelineCategory[];
|
|
33
|
-
}
|
|
34
|
-
export declare const TECHNOLOGY_PATTERNS: Record<string, {
|
|
35
|
-
files: string[];
|
|
36
|
-
dependencies?: string[];
|
|
37
|
-
patterns?: string[];
|
|
38
|
-
category: DetectedTechnology['category'];
|
|
39
|
-
}>;
|
|
40
|
-
//# sourceMappingURL=guidelineTypes.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"guidelineTypes.d.ts","sourceRoot":"","sources":["../../../src/generators/guidelines/guidelineTypes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,+KAavB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAEpE,eAAO,MAAM,0BAA0B,EAAE,iBAAiB,EAA8B,CAAC;AAEzF,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,CAAC;IACjF,UAAU,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAC9C,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IAChD,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC;IACrE,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACvC;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACzC;AAED,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE;IAC/C,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;CAC1C,CAkIA,CAAC"}
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TECHNOLOGY_PATTERNS = exports.GUIDELINE_CATEGORIES_ARRAY = exports.GUIDELINE_CATEGORIES = void 0;
|
|
4
|
-
exports.GUIDELINE_CATEGORIES = [
|
|
5
|
-
'testing',
|
|
6
|
-
'frontend',
|
|
7
|
-
'backend',
|
|
8
|
-
'database',
|
|
9
|
-
'security',
|
|
10
|
-
'performance',
|
|
11
|
-
'code-style',
|
|
12
|
-
'git-workflow',
|
|
13
|
-
'deployment',
|
|
14
|
-
'monitoring',
|
|
15
|
-
'documentation',
|
|
16
|
-
'architecture'
|
|
17
|
-
];
|
|
18
|
-
exports.GUIDELINE_CATEGORIES_ARRAY = [...exports.GUIDELINE_CATEGORIES];
|
|
19
|
-
exports.TECHNOLOGY_PATTERNS = {
|
|
20
|
-
// Frontend Frameworks
|
|
21
|
-
'React': {
|
|
22
|
-
files: ['package.json', '*.jsx', '*.tsx'],
|
|
23
|
-
dependencies: ['react', '@types/react'],
|
|
24
|
-
patterns: ['useState', 'useEffect', 'Component'],
|
|
25
|
-
category: 'framework'
|
|
26
|
-
},
|
|
27
|
-
'Vue': {
|
|
28
|
-
files: ['package.json', '*.vue'],
|
|
29
|
-
dependencies: ['vue', '@vue/'],
|
|
30
|
-
patterns: ['<template>', '<script>', '<style>'],
|
|
31
|
-
category: 'framework'
|
|
32
|
-
},
|
|
33
|
-
'Angular': {
|
|
34
|
-
files: ['package.json', '*.component.ts', 'angular.json'],
|
|
35
|
-
dependencies: ['@angular/'],
|
|
36
|
-
patterns: ['@Component', '@Injectable', '@NgModule'],
|
|
37
|
-
category: 'framework'
|
|
38
|
-
},
|
|
39
|
-
'Next.js': {
|
|
40
|
-
files: ['package.json', 'next.config.js', 'pages/', 'app/'],
|
|
41
|
-
dependencies: ['next'],
|
|
42
|
-
patterns: ['getServerSideProps', 'getStaticProps'],
|
|
43
|
-
category: 'framework'
|
|
44
|
-
},
|
|
45
|
-
// Backend Frameworks
|
|
46
|
-
'Express': {
|
|
47
|
-
files: ['package.json', '*.js', '*.ts'],
|
|
48
|
-
dependencies: ['express', '@types/express'],
|
|
49
|
-
patterns: ['app.get', 'app.post', 'middleware'],
|
|
50
|
-
category: 'framework'
|
|
51
|
-
},
|
|
52
|
-
'Fastify': {
|
|
53
|
-
files: ['package.json'],
|
|
54
|
-
dependencies: ['fastify'],
|
|
55
|
-
patterns: ['fastify.register', 'fastify.get'],
|
|
56
|
-
category: 'framework'
|
|
57
|
-
},
|
|
58
|
-
'NestJS': {
|
|
59
|
-
files: ['package.json', '*.controller.ts', '*.service.ts'],
|
|
60
|
-
dependencies: ['@nestjs/'],
|
|
61
|
-
patterns: ['@Controller', '@Injectable', '@Module'],
|
|
62
|
-
category: 'framework'
|
|
63
|
-
},
|
|
64
|
-
// Databases
|
|
65
|
-
'MongoDB': {
|
|
66
|
-
files: ['package.json'],
|
|
67
|
-
dependencies: ['mongodb', 'mongoose'],
|
|
68
|
-
patterns: ['Schema', 'Model', 'connect'],
|
|
69
|
-
category: 'database'
|
|
70
|
-
},
|
|
71
|
-
'PostgreSQL': {
|
|
72
|
-
files: ['package.json', '*.sql'],
|
|
73
|
-
dependencies: ['pg', 'postgres', 'prisma'],
|
|
74
|
-
patterns: ['SELECT', 'INSERT', 'CREATE TABLE'],
|
|
75
|
-
category: 'database'
|
|
76
|
-
},
|
|
77
|
-
'Redis': {
|
|
78
|
-
files: ['package.json'],
|
|
79
|
-
dependencies: ['redis', 'ioredis'],
|
|
80
|
-
patterns: ['redis.get', 'redis.set'],
|
|
81
|
-
category: 'database'
|
|
82
|
-
},
|
|
83
|
-
// Testing Frameworks
|
|
84
|
-
'Jest': {
|
|
85
|
-
files: ['package.json', '*.test.js', '*.test.ts', 'jest.config.js'],
|
|
86
|
-
dependencies: ['jest', '@types/jest'],
|
|
87
|
-
patterns: ['describe', 'it', 'expect'],
|
|
88
|
-
category: 'tool'
|
|
89
|
-
},
|
|
90
|
-
'Cypress': {
|
|
91
|
-
files: ['package.json', 'cypress.config.js', 'cypress/'],
|
|
92
|
-
dependencies: ['cypress'],
|
|
93
|
-
patterns: ['cy.visit', 'cy.get', 'cy.click'],
|
|
94
|
-
category: 'tool'
|
|
95
|
-
},
|
|
96
|
-
'Vitest': {
|
|
97
|
-
files: ['package.json', 'vitest.config.ts'],
|
|
98
|
-
dependencies: ['vitest'],
|
|
99
|
-
patterns: ['describe', 'it', 'expect'],
|
|
100
|
-
category: 'tool'
|
|
101
|
-
},
|
|
102
|
-
// Build Tools
|
|
103
|
-
'Webpack': {
|
|
104
|
-
files: ['webpack.config.js', 'package.json'],
|
|
105
|
-
dependencies: ['webpack'],
|
|
106
|
-
patterns: ['module.exports', 'entry:', 'output:'],
|
|
107
|
-
category: 'tool'
|
|
108
|
-
},
|
|
109
|
-
'Vite': {
|
|
110
|
-
files: ['vite.config.ts', 'vite.config.js', 'package.json'],
|
|
111
|
-
dependencies: ['vite'],
|
|
112
|
-
patterns: ['defineConfig', 'plugins:', 'build:'],
|
|
113
|
-
category: 'tool'
|
|
114
|
-
},
|
|
115
|
-
// Languages
|
|
116
|
-
'TypeScript': {
|
|
117
|
-
files: ['tsconfig.json', '*.ts', '*.tsx'],
|
|
118
|
-
dependencies: ['typescript', '@types/'],
|
|
119
|
-
patterns: ['interface', 'type', 'enum'],
|
|
120
|
-
category: 'language'
|
|
121
|
-
},
|
|
122
|
-
'Python': {
|
|
123
|
-
files: ['*.py', 'requirements.txt', 'pyproject.toml'],
|
|
124
|
-
patterns: ['def ', 'class ', 'import '],
|
|
125
|
-
category: 'language'
|
|
126
|
-
},
|
|
127
|
-
'Go': {
|
|
128
|
-
files: ['*.go', 'go.mod'],
|
|
129
|
-
patterns: ['func ', 'package ', 'import ('],
|
|
130
|
-
category: 'language'
|
|
131
|
-
},
|
|
132
|
-
// DevOps/Deployment
|
|
133
|
-
'Docker': {
|
|
134
|
-
files: ['Dockerfile', 'docker-compose.yml', '.dockerignore'],
|
|
135
|
-
patterns: ['FROM ', 'RUN ', 'COPY '],
|
|
136
|
-
category: 'tool'
|
|
137
|
-
},
|
|
138
|
-
'Kubernetes': {
|
|
139
|
-
files: ['*.yaml', '*.yml'],
|
|
140
|
-
patterns: ['apiVersion:', 'kind:', 'metadata:'],
|
|
141
|
-
category: 'tool'
|
|
142
|
-
}
|
|
143
|
-
};
|
|
144
|
-
//# sourceMappingURL=guidelineTypes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"guidelineTypes.js","sourceRoot":"","sources":["../../../src/generators/guidelines/guidelineTypes.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG;IAClC,SAAS;IACT,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,aAAa;IACb,YAAY;IACZ,cAAc;IACd,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,cAAc;CACN,CAAC;AAIE,QAAA,0BAA0B,GAAwB,CAAC,GAAG,4BAAoB,CAAC,CAAC;AAoC5E,QAAA,mBAAmB,GAK3B;IACH,sBAAsB;IACtB,OAAO,EAAE;QACP,KAAK,EAAE,CAAC,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC;QACzC,YAAY,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC;QACvC,QAAQ,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC;QAChD,QAAQ,EAAE,WAAW;KACtB;IACD,KAAK,EAAE;QACL,KAAK,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC;QAChC,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;QAC9B,QAAQ,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,SAAS,CAAC;QAC/C,QAAQ,EAAE,WAAW;KACtB;IACD,SAAS,EAAE;QACT,KAAK,EAAE,CAAC,cAAc,EAAE,gBAAgB,EAAE,cAAc,CAAC;QACzD,YAAY,EAAE,CAAC,WAAW,CAAC;QAC3B,QAAQ,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,WAAW,CAAC;QACpD,QAAQ,EAAE,WAAW;KACtB;IACD,SAAS,EAAE;QACT,KAAK,EAAE,CAAC,cAAc,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,CAAC;QAC3D,YAAY,EAAE,CAAC,MAAM,CAAC;QACtB,QAAQ,EAAE,CAAC,oBAAoB,EAAE,gBAAgB,CAAC;QAClD,QAAQ,EAAE,WAAW;KACtB;IAED,qBAAqB;IACrB,SAAS,EAAE;QACT,KAAK,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC;QACvC,YAAY,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;QAC3C,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC;QAC/C,QAAQ,EAAE,WAAW;KACtB;IACD,SAAS,EAAE;QACT,KAAK,EAAE,CAAC,cAAc,CAAC;QACvB,YAAY,EAAE,CAAC,SAAS,CAAC;QACzB,QAAQ,EAAE,CAAC,kBAAkB,EAAE,aAAa,CAAC;QAC7C,QAAQ,EAAE,WAAW;KACtB;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,cAAc,CAAC;QAC1D,YAAY,EAAE,CAAC,UAAU,CAAC;QAC1B,QAAQ,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,SAAS,CAAC;QACnD,QAAQ,EAAE,WAAW;KACtB;IAED,YAAY;IACZ,SAAS,EAAE;QACT,KAAK,EAAE,CAAC,cAAc,CAAC;QACvB,YAAY,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;QACrC,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC;QACxC,QAAQ,EAAE,UAAU;KACrB;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC;QAChC,YAAY,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC;QAC1C,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC;QAC9C,QAAQ,EAAE,UAAU;KACrB;IACD,OAAO,EAAE;QACP,KAAK,EAAE,CAAC,cAAc,CAAC;QACvB,YAAY,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;QAClC,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;QACpC,QAAQ,EAAE,UAAU;KACrB;IAED,qBAAqB;IACrB,MAAM,EAAE;QACN,KAAK,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,CAAC;QACnE,YAAY,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;QACrC,QAAQ,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC;QACtC,QAAQ,EAAE,MAAM;KACjB;IACD,SAAS,EAAE;QACT,KAAK,EAAE,CAAC,cAAc,EAAE,mBAAmB,EAAE,UAAU,CAAC;QACxD,YAAY,EAAE,CAAC,SAAS,CAAC;QACzB,QAAQ,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC;QAC5C,QAAQ,EAAE,MAAM;KACjB;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,CAAC,cAAc,EAAE,kBAAkB,CAAC;QAC3C,YAAY,EAAE,CAAC,QAAQ,CAAC;QACxB,QAAQ,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC;QACtC,QAAQ,EAAE,MAAM;KACjB;IAED,cAAc;IACd,SAAS,EAAE;QACT,KAAK,EAAE,CAAC,mBAAmB,EAAE,cAAc,CAAC;QAC5C,YAAY,EAAE,CAAC,SAAS,CAAC;QACzB,QAAQ,EAAE,CAAC,gBAAgB,EAAE,QAAQ,EAAE,SAAS,CAAC;QACjD,QAAQ,EAAE,MAAM;KACjB;IACD,MAAM,EAAE;QACN,KAAK,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,CAAC;QAC3D,YAAY,EAAE,CAAC,MAAM,CAAC;QACtB,QAAQ,EAAE,CAAC,cAAc,EAAE,UAAU,EAAE,QAAQ,CAAC;QAChD,QAAQ,EAAE,MAAM;KACjB;IAED,YAAY;IACZ,YAAY,EAAE;QACZ,KAAK,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC;QACzC,YAAY,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;QACvC,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC;QACvC,QAAQ,EAAE,UAAU;KACrB;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,CAAC;QACrD,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC;QACvC,QAAQ,EAAE,UAAU;KACrB;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;QACzB,QAAQ,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC;QAC3C,QAAQ,EAAE,UAAU;KACrB;IAED,oBAAoB;IACpB,QAAQ,EAAE;QACR,KAAK,EAAE,CAAC,YAAY,EAAE,oBAAoB,EAAE,eAAe,CAAC;QAC5D,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC;QACpC,QAAQ,EAAE,MAAM;KACjB;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC1B,QAAQ,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,WAAW,CAAC;QAC/C,QAAQ,EAAE,MAAM;KACjB;CACF,CAAC"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { RepoStructure } from '../../types';
|
|
2
|
-
import { FileMapper } from '../../utils/fileMapper';
|
|
3
|
-
import { GuidelineCategory, DetectedTechnology, GuidelineConfig } from './guidelineTypes';
|
|
4
|
-
export declare class GuidelinesAnalyzer {
|
|
5
|
-
private fileMapper;
|
|
6
|
-
constructor(fileMapper: FileMapper);
|
|
7
|
-
analyzeCodebase(repoStructure: RepoStructure): Promise<{
|
|
8
|
-
technologies: DetectedTechnology[];
|
|
9
|
-
projectType: GuidelineConfig['projectType'];
|
|
10
|
-
complexity: GuidelineConfig['complexity'];
|
|
11
|
-
recommendedCategories: GuidelineCategory[];
|
|
12
|
-
techStack: string[];
|
|
13
|
-
}>;
|
|
14
|
-
detectTechnologies(repoStructure: RepoStructure): Promise<DetectedTechnology[]>;
|
|
15
|
-
private detectTechnology;
|
|
16
|
-
private checkFilePatterns;
|
|
17
|
-
private checkDependencies;
|
|
18
|
-
private checkCodePatterns;
|
|
19
|
-
private matchesPattern;
|
|
20
|
-
private determineProjectType;
|
|
21
|
-
private assessComplexity;
|
|
22
|
-
private recommendCategories;
|
|
23
|
-
analyzeTestingPatterns(repoStructure: RepoStructure): Promise<{
|
|
24
|
-
testFrameworks: string[];
|
|
25
|
-
testPatterns: string[];
|
|
26
|
-
coverageTools: string[];
|
|
27
|
-
testTypes: string[];
|
|
28
|
-
}>;
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=guidelinesAnalyzer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"guidelinesAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/generators/guidelines/guidelinesAnalyzer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAY,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EAEhB,MAAM,kBAAkB,CAAC;AAE1B,qBAAa,kBAAkB;IACjB,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,UAAU;IAEpC,eAAe,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC;QAC3D,YAAY,EAAE,kBAAkB,EAAE,CAAC;QACnC,WAAW,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC;QAC5C,UAAU,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;QAC1C,qBAAqB,EAAE,iBAAiB,EAAE,CAAC;QAC3C,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IAgBI,kBAAkB,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAavE,gBAAgB;IA2C9B,OAAO,CAAC,iBAAiB;YAcX,iBAAiB;YAiCjB,iBAAiB;IAuB/B,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,oBAAoB;IA8B5B,OAAO,CAAC,gBAAgB;IA6BxB,OAAO,CAAC,mBAAmB;IA4CrB,sBAAsB,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC;QAClE,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CA2CH"}
|
|
@@ -1,263 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GuidelinesAnalyzer = void 0;
|
|
4
|
-
const guidelineTypes_1 = require("./guidelineTypes");
|
|
5
|
-
class GuidelinesAnalyzer {
|
|
6
|
-
constructor(fileMapper) {
|
|
7
|
-
this.fileMapper = fileMapper;
|
|
8
|
-
}
|
|
9
|
-
async analyzeCodebase(repoStructure) {
|
|
10
|
-
const technologies = await this.detectTechnologies(repoStructure);
|
|
11
|
-
const projectType = this.determineProjectType(repoStructure, technologies);
|
|
12
|
-
const complexity = this.assessComplexity(repoStructure, technologies);
|
|
13
|
-
const recommendedCategories = this.recommendCategories(technologies, projectType);
|
|
14
|
-
const techStack = technologies.map(t => t.name);
|
|
15
|
-
return {
|
|
16
|
-
technologies,
|
|
17
|
-
projectType,
|
|
18
|
-
complexity,
|
|
19
|
-
recommendedCategories,
|
|
20
|
-
techStack
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
async detectTechnologies(repoStructure) {
|
|
24
|
-
const detectedTech = [];
|
|
25
|
-
for (const [techName, pattern] of Object.entries(guidelineTypes_1.TECHNOLOGY_PATTERNS)) {
|
|
26
|
-
const detection = await this.detectTechnology(techName, pattern, repoStructure);
|
|
27
|
-
if (detection.confidence > 0.3) { // Only include if confidence > 30%
|
|
28
|
-
detectedTech.push(detection);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return detectedTech.sort((a, b) => b.confidence - a.confidence);
|
|
32
|
-
}
|
|
33
|
-
async detectTechnology(techName, pattern, repoStructure) {
|
|
34
|
-
let confidence = 0;
|
|
35
|
-
const matchingFiles = [];
|
|
36
|
-
const foundPatterns = [];
|
|
37
|
-
// Check file patterns
|
|
38
|
-
const fileMatches = this.checkFilePatterns(pattern.files, repoStructure.files);
|
|
39
|
-
if (fileMatches.length > 0) {
|
|
40
|
-
confidence += 0.4;
|
|
41
|
-
matchingFiles.push(...fileMatches);
|
|
42
|
-
}
|
|
43
|
-
// Check dependencies
|
|
44
|
-
if (pattern.dependencies) {
|
|
45
|
-
const depMatches = await this.checkDependencies(pattern.dependencies, repoStructure);
|
|
46
|
-
if (depMatches.length > 0) {
|
|
47
|
-
confidence += 0.5;
|
|
48
|
-
foundPatterns.push(...depMatches);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
// Check code patterns
|
|
52
|
-
if (pattern.patterns) {
|
|
53
|
-
const codeMatches = await this.checkCodePatterns(pattern.patterns, repoStructure, matchingFiles);
|
|
54
|
-
if (codeMatches.length > 0) {
|
|
55
|
-
confidence += 0.3;
|
|
56
|
-
foundPatterns.push(...codeMatches);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
return {
|
|
60
|
-
name: techName,
|
|
61
|
-
category: pattern.category,
|
|
62
|
-
confidence: Math.min(confidence, 1.0),
|
|
63
|
-
files: matchingFiles,
|
|
64
|
-
patterns: foundPatterns
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
checkFilePatterns(patterns, files) {
|
|
68
|
-
const matches = [];
|
|
69
|
-
for (const pattern of patterns) {
|
|
70
|
-
for (const file of files) {
|
|
71
|
-
if (this.matchesPattern(file.relativePath, pattern)) {
|
|
72
|
-
matches.push(file.relativePath);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
return [...new Set(matches)]; // Remove duplicates
|
|
77
|
-
}
|
|
78
|
-
async checkDependencies(dependencies, repoStructure) {
|
|
79
|
-
const packageJsonFiles = repoStructure.files.filter(f => f.relativePath.endsWith('package.json'));
|
|
80
|
-
const foundDeps = [];
|
|
81
|
-
for (const pkgFile of packageJsonFiles) {
|
|
82
|
-
try {
|
|
83
|
-
const content = await this.fileMapper.readFileContent(pkgFile.path);
|
|
84
|
-
const pkg = JSON.parse(content);
|
|
85
|
-
const allDeps = {
|
|
86
|
-
...pkg.dependencies,
|
|
87
|
-
...pkg.devDependencies,
|
|
88
|
-
...pkg.peerDependencies
|
|
89
|
-
};
|
|
90
|
-
for (const dep of dependencies) {
|
|
91
|
-
for (const depName of Object.keys(allDeps)) {
|
|
92
|
-
if (depName.includes(dep) || dep.includes(depName)) {
|
|
93
|
-
foundDeps.push(depName);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
catch (error) {
|
|
99
|
-
// Skip invalid package.json files
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
return [...new Set(foundDeps)];
|
|
103
|
-
}
|
|
104
|
-
async checkCodePatterns(patterns, repoStructure, relevantFiles) {
|
|
105
|
-
const foundPatterns = [];
|
|
106
|
-
const filesToCheck = relevantFiles.length > 0
|
|
107
|
-
? repoStructure.files.filter(f => relevantFiles.includes(f.relativePath))
|
|
108
|
-
: repoStructure.files.slice(0, 20); // Sample files if no relevant files specified
|
|
109
|
-
for (const file of filesToCheck) {
|
|
110
|
-
try {
|
|
111
|
-
const content = await this.fileMapper.readFileContent(file.path);
|
|
112
|
-
for (const pattern of patterns) {
|
|
113
|
-
if (content.includes(pattern)) {
|
|
114
|
-
foundPatterns.push(pattern);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
catch (error) {
|
|
119
|
-
// Skip files that can't be read
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
return [...new Set(foundPatterns)];
|
|
123
|
-
}
|
|
124
|
-
matchesPattern(filePath, pattern) {
|
|
125
|
-
// Convert glob-like patterns to regex
|
|
126
|
-
const regexPattern = pattern
|
|
127
|
-
.replace(/\./g, '\\.')
|
|
128
|
-
.replace(/\*/g, '.*')
|
|
129
|
-
.replace(/\?/g, '.');
|
|
130
|
-
const regex = new RegExp(regexPattern, 'i');
|
|
131
|
-
return regex.test(filePath) || filePath.includes(pattern.replace('*', ''));
|
|
132
|
-
}
|
|
133
|
-
determineProjectType(repoStructure, technologies) {
|
|
134
|
-
const hasBackend = technologies.some(t => ['Express', 'Fastify', 'NestJS'].includes(t.name) ||
|
|
135
|
-
t.category === 'database');
|
|
136
|
-
const hasFrontend = technologies.some(t => ['React', 'Vue', 'Angular', 'Next.js'].includes(t.name));
|
|
137
|
-
const hasCLI = repoStructure.files.some(f => f.relativePath.includes('bin/') ||
|
|
138
|
-
f.relativePath.includes('cli') ||
|
|
139
|
-
f.relativePath.includes('command'));
|
|
140
|
-
const hasLib = repoStructure.files.some(f => f.relativePath === 'index.ts' ||
|
|
141
|
-
f.relativePath === 'lib/index.ts');
|
|
142
|
-
if (hasCLI)
|
|
143
|
-
return 'cli';
|
|
144
|
-
if (hasLib && !hasFrontend && !hasBackend)
|
|
145
|
-
return 'library';
|
|
146
|
-
if (hasFrontend && hasBackend)
|
|
147
|
-
return 'fullstack';
|
|
148
|
-
if (hasFrontend)
|
|
149
|
-
return 'frontend';
|
|
150
|
-
if (hasBackend)
|
|
151
|
-
return 'backend';
|
|
152
|
-
return 'library'; // Default fallback
|
|
153
|
-
}
|
|
154
|
-
assessComplexity(repoStructure, technologies) {
|
|
155
|
-
const fileCount = repoStructure.totalFiles;
|
|
156
|
-
const techCount = technologies.length;
|
|
157
|
-
const hasMultipleFrameworks = technologies.filter(t => t.category === 'framework').length > 1;
|
|
158
|
-
const hasDatabase = technologies.some(t => t.category === 'database');
|
|
159
|
-
const hasDeployment = technologies.some(t => ['Docker', 'Kubernetes'].includes(t.name));
|
|
160
|
-
let complexityScore = 0;
|
|
161
|
-
// File count scoring
|
|
162
|
-
if (fileCount > 200)
|
|
163
|
-
complexityScore += 3;
|
|
164
|
-
else if (fileCount > 50)
|
|
165
|
-
complexityScore += 2;
|
|
166
|
-
else
|
|
167
|
-
complexityScore += 1;
|
|
168
|
-
// Technology diversity scoring
|
|
169
|
-
if (techCount > 10)
|
|
170
|
-
complexityScore += 3;
|
|
171
|
-
else if (techCount > 5)
|
|
172
|
-
complexityScore += 2;
|
|
173
|
-
else
|
|
174
|
-
complexityScore += 1;
|
|
175
|
-
// Architecture complexity
|
|
176
|
-
if (hasMultipleFrameworks)
|
|
177
|
-
complexityScore += 2;
|
|
178
|
-
if (hasDatabase)
|
|
179
|
-
complexityScore += 1;
|
|
180
|
-
if (hasDeployment)
|
|
181
|
-
complexityScore += 2;
|
|
182
|
-
if (complexityScore >= 8)
|
|
183
|
-
return 'complex';
|
|
184
|
-
if (complexityScore >= 5)
|
|
185
|
-
return 'moderate';
|
|
186
|
-
return 'simple';
|
|
187
|
-
}
|
|
188
|
-
recommendCategories(technologies, projectType) {
|
|
189
|
-
const categories = new Set();
|
|
190
|
-
// Always include these basic categories
|
|
191
|
-
categories.add('code-style');
|
|
192
|
-
categories.add('git-workflow');
|
|
193
|
-
categories.add('documentation');
|
|
194
|
-
// Add testing if testing framework detected
|
|
195
|
-
if (technologies.some(t => ['Jest', 'Cypress', 'Vitest'].includes(t.name))) {
|
|
196
|
-
categories.add('testing');
|
|
197
|
-
}
|
|
198
|
-
// Frontend-specific categories
|
|
199
|
-
if (projectType === 'frontend' || projectType === 'fullstack') {
|
|
200
|
-
categories.add('frontend');
|
|
201
|
-
categories.add('performance');
|
|
202
|
-
}
|
|
203
|
-
// Backend-specific categories
|
|
204
|
-
if (projectType === 'backend' || projectType === 'fullstack') {
|
|
205
|
-
categories.add('backend');
|
|
206
|
-
categories.add('security');
|
|
207
|
-
categories.add('monitoring');
|
|
208
|
-
}
|
|
209
|
-
// Database categories
|
|
210
|
-
if (technologies.some(t => t.category === 'database')) {
|
|
211
|
-
categories.add('database');
|
|
212
|
-
}
|
|
213
|
-
// Deployment categories
|
|
214
|
-
if (technologies.some(t => ['Docker', 'Kubernetes'].includes(t.name))) {
|
|
215
|
-
categories.add('deployment');
|
|
216
|
-
}
|
|
217
|
-
// Architecture for complex projects
|
|
218
|
-
if (technologies.length > 5 || projectType === 'fullstack') {
|
|
219
|
-
categories.add('architecture');
|
|
220
|
-
}
|
|
221
|
-
return Array.from(categories);
|
|
222
|
-
}
|
|
223
|
-
async analyzeTestingPatterns(repoStructure) {
|
|
224
|
-
const testFiles = repoStructure.files.filter(f => f.relativePath.includes('test') ||
|
|
225
|
-
f.relativePath.includes('spec') ||
|
|
226
|
-
f.relativePath.includes('__tests__'));
|
|
227
|
-
const testFrameworks = [];
|
|
228
|
-
const testPatterns = [];
|
|
229
|
-
const coverageTools = [];
|
|
230
|
-
const testTypes = [];
|
|
231
|
-
// Detect test frameworks
|
|
232
|
-
for (const file of testFiles.slice(0, 10)) {
|
|
233
|
-
try {
|
|
234
|
-
const content = await this.fileMapper.readFileContent(file.path);
|
|
235
|
-
if (content.includes('describe') && content.includes('it')) {
|
|
236
|
-
testFrameworks.push('Jest/Mocha-style');
|
|
237
|
-
}
|
|
238
|
-
if (content.includes('cy.')) {
|
|
239
|
-
testFrameworks.push('Cypress');
|
|
240
|
-
testTypes.push('E2E Testing');
|
|
241
|
-
}
|
|
242
|
-
if (content.includes('render(') && content.includes('screen.')) {
|
|
243
|
-
testFrameworks.push('React Testing Library');
|
|
244
|
-
testTypes.push('Component Testing');
|
|
245
|
-
}
|
|
246
|
-
if (content.includes('mount(') || content.includes('shallow(')) {
|
|
247
|
-
testFrameworks.push('Enzyme');
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
catch (error) {
|
|
251
|
-
// Skip files that can't be read
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
return {
|
|
255
|
-
testFrameworks: [...new Set(testFrameworks)],
|
|
256
|
-
testPatterns: [...new Set(testPatterns)],
|
|
257
|
-
coverageTools: [...new Set(coverageTools)],
|
|
258
|
-
testTypes: [...new Set(testTypes)]
|
|
259
|
-
};
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
exports.GuidelinesAnalyzer = GuidelinesAnalyzer;
|
|
263
|
-
//# sourceMappingURL=guidelinesAnalyzer.js.map
|