@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
package/README.md
CHANGED
|
@@ -19,14 +19,19 @@ A lightweight CLI that scaffolds living documentation and AI-agent playbooks for
|
|
|
19
19
|
- 🤖 `agents/` folder containing playbooks for common engineering agents and a handy index
|
|
20
20
|
- 🔁 Repeatable scaffolding that you can re-run as the project evolves
|
|
21
21
|
- 🧭 Repository-aware templates that highlight top-level directories for quick orientation
|
|
22
|
-
- 🧠 AI-ready
|
|
22
|
+
- 🧠 AI-ready templates that assistants can update using the `fill` command
|
|
23
|
+
- 🌐 **Multi-provider support** for OpenAI, Anthropic, Google, and OpenRouter
|
|
24
|
+
- ⚡ **Semantic context mode** using Tree-sitter for token-efficient LLM calls
|
|
25
|
+
- 📊 **Real-time progress** showing agent activity and tool usage
|
|
26
|
+
- 🔌 **MCP Server** for seamless Claude Code integration
|
|
27
|
+
- 🔗 **Passthrough mode** for external AI agents via stdin/stdout JSON
|
|
23
28
|
|
|
24
29
|
## 📦 Installation
|
|
25
30
|
|
|
26
31
|
Use `npx` to run the CLI without installing globally:
|
|
27
32
|
|
|
28
33
|
```bash
|
|
29
|
-
npx @ai-coders/context
|
|
34
|
+
npx @ai-coders/context
|
|
30
35
|
```
|
|
31
36
|
|
|
32
37
|
Or add it to your dev dependencies:
|
|
@@ -38,6 +43,10 @@ npm install --save-dev @ai-coders/context
|
|
|
38
43
|
## 🚀 Quick Start
|
|
39
44
|
|
|
40
45
|
```bash
|
|
46
|
+
# Launch the interactive wizard
|
|
47
|
+
npx @ai-coders/context
|
|
48
|
+
|
|
49
|
+
|
|
41
50
|
# Scaffold docs and agents into ./.context
|
|
42
51
|
npx @ai-coders/context init ./my-repo
|
|
43
52
|
|
|
@@ -48,7 +57,16 @@ npx @ai-coders/context init ./my-repo docs
|
|
|
48
57
|
npx @ai-coders/context init ./my-repo agents --output ./knowledge-base
|
|
49
58
|
|
|
50
59
|
# Fill docs and agents with the repo context (preview the first 3 updates)
|
|
51
|
-
npx @ai-coders/context fill ./my-repo --output ./.context --
|
|
60
|
+
npx @ai-coders/context fill ./my-repo --output ./.context --limit 3
|
|
61
|
+
|
|
62
|
+
# Use a specific provider (OpenAI, Anthropic, Google, or OpenRouter)
|
|
63
|
+
npx @ai-coders/context fill ./my-repo --provider anthropic --model claude-sonnet-4-20250514
|
|
64
|
+
|
|
65
|
+
# Disable semantic mode for more thorough tool-based exploration
|
|
66
|
+
npx @ai-coders/context fill ./my-repo --no-semantic
|
|
67
|
+
|
|
68
|
+
# Specify languages for semantic analysis
|
|
69
|
+
npx @ai-coders/context fill ./my-repo --languages typescript,python,go
|
|
52
70
|
|
|
53
71
|
# Draft a collaboration plan seeded with agent and doc touchpoints
|
|
54
72
|
npx @ai-coders/context plan release-readiness --output ./.context
|
|
@@ -73,21 +91,95 @@ After running the command, inspect the generated structure:
|
|
|
73
91
|
└── ...
|
|
74
92
|
```
|
|
75
93
|
|
|
76
|
-
Customize the Markdown files to reflect your project
|
|
94
|
+
Customize the Markdown files to reflect your project's specifics and commit them alongside the code.
|
|
77
95
|
|
|
78
|
-
##
|
|
96
|
+
## 🌐 Multi-Provider Support
|
|
97
|
+
|
|
98
|
+
The `fill` and `plan` commands support multiple LLM providers:
|
|
99
|
+
|
|
100
|
+
| Provider | Models | Environment Variable |
|
|
101
|
+
|----------|--------|---------------------|
|
|
102
|
+
| OpenRouter | `x-ai/grok-4-fast`, `anthropic/claude-sonnet-4`, etc. | `OPENROUTER_API_KEY` |
|
|
103
|
+
| OpenAI | `gpt-4o`, `gpt-4-turbo`, etc. | `OPENAI_API_KEY` |
|
|
104
|
+
| Anthropic | `claude-sonnet-4-20250514`, `claude-opus-4-20250514`, etc. | `ANTHROPIC_API_KEY` |
|
|
105
|
+
| Google | `gemini-2.0-flash`, `gemini-1.5-pro`, etc. | `GOOGLE_API_KEY` |
|
|
106
|
+
|
|
107
|
+
The CLI auto-detects available API keys from environment variables. Override with `--provider` and `--model`:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
# Use Anthropic's Claude
|
|
111
|
+
ANTHROPIC_API_KEY=sk-... npx @ai-coders/context fill . --provider anthropic
|
|
79
112
|
|
|
80
|
-
|
|
113
|
+
# Use OpenAI's GPT-4
|
|
114
|
+
OPENAI_API_KEY=sk-... npx @ai-coders/context fill . --provider openai --model gpt-4o
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## ⚡ Semantic Context Mode
|
|
118
|
+
|
|
119
|
+
By default, the `fill` command uses **semantic context mode** which pre-computes codebase analysis using Tree-sitter before calling the LLM. This is:
|
|
81
120
|
|
|
82
|
-
-
|
|
83
|
-
-
|
|
84
|
-
-
|
|
121
|
+
- **Faster**: Single LLM call instead of multi-step tool exploration
|
|
122
|
+
- **Token-efficient**: Pre-computed context instead of back-and-forth tool calls
|
|
123
|
+
- **Consistent**: Same analysis applied to all files
|
|
85
124
|
|
|
86
|
-
|
|
125
|
+
To use the more thorough tool-based exploration (where the LLM explores the codebase step by step), use `--no-semantic`:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
npx @ai-coders/context fill . --no-semantic
|
|
129
|
+
```
|
|
87
130
|
|
|
88
|
-
###
|
|
131
|
+
### Language Selection
|
|
132
|
+
|
|
133
|
+
Specify which programming languages to analyze for semantic context:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
# Analyze only TypeScript and Python
|
|
137
|
+
npx @ai-coders/context fill . --languages typescript,python
|
|
138
|
+
|
|
139
|
+
# Default languages: typescript, javascript, python, go
|
|
140
|
+
```
|
|
89
141
|
|
|
90
|
-
|
|
142
|
+
Supported languages: `typescript`, `javascript`, `python`, `go`, `rust`, `java`, `cpp`, `c_sharp`, `ruby`, `php`
|
|
143
|
+
|
|
144
|
+
### LSP Enhancement (Optional)
|
|
145
|
+
|
|
146
|
+
For deeper semantic analysis, the tool supports optional **LSP (Language Server Protocol)** integration. While Tree-sitter handles ~90% of the analysis with fast syntactic parsing, LSP provides additional semantic information when enabled:
|
|
147
|
+
|
|
148
|
+
| Feature | Tree-sitter | LSP |
|
|
149
|
+
|---------|-------------|-----|
|
|
150
|
+
| Symbol extraction | ✅ | - |
|
|
151
|
+
| Import/export analysis | ✅ | - |
|
|
152
|
+
| Type inference | - | ✅ |
|
|
153
|
+
| Interface implementations | - | ✅ |
|
|
154
|
+
| Cross-file references | - | ✅ |
|
|
155
|
+
| Definition resolution | - | ✅ |
|
|
156
|
+
|
|
157
|
+
**Usage:**
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
# Enable LSP for fill command (disabled by default)
|
|
161
|
+
npx @ai-coders/context fill ./my-repo --lsp
|
|
162
|
+
|
|
163
|
+
# LSP is enabled by default for plan fill
|
|
164
|
+
npx @ai-coders/context plan my-plan --fill
|
|
165
|
+
|
|
166
|
+
# Disable LSP for plan fill
|
|
167
|
+
npx @ai-coders/context plan my-plan --fill --no-lsp
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
**Supported Language Servers:**
|
|
171
|
+
- TypeScript/JavaScript: `typescript-language-server`
|
|
172
|
+
- Python: `pylsp`
|
|
173
|
+
|
|
174
|
+
**Graceful Degradation:** If a language server is not installed, the analysis continues without LSP enhancement—no errors, no interruption.
|
|
175
|
+
|
|
176
|
+
## 🧠 Guided Updates for AI Assistants
|
|
177
|
+
|
|
178
|
+
Need help filling in the scaffold? Use [`prompts/update_scaffold_prompt.md`](./prompts/update_scaffold_prompt.md) as the canonical instruction set for any LLM or CLI agent. Share that prompt verbatim with your assistant to keep updates consistent across teams.
|
|
179
|
+
|
|
180
|
+
### Available Doc Guides & Agent Types
|
|
181
|
+
|
|
182
|
+
The scaffold includes the following guides and playbooks out of the box:
|
|
91
183
|
|
|
92
184
|
- Docs: `project-overview`, `architecture`, `development-workflow`, `testing-strategy`, `glossary`, `data-flow`, `security`, `tooling`
|
|
93
185
|
- Agents: `code-reviewer`, `bug-fixer`, `feature-developer`, `refactoring-specialist`, `test-writer`, `documentation-writer`, `performance-optimizer`, `security-auditor`, `backend-specialist`, `frontend-specialist`, `architect-specialist`
|
|
@@ -106,17 +198,13 @@ Arguments:
|
|
|
106
198
|
|
|
107
199
|
Options:
|
|
108
200
|
-o, --output <dir> Output directory (default: ./.context)
|
|
109
|
-
--docs <keys...> Doc keys to scaffold (e.g., project-overview, security)
|
|
110
|
-
--agents <keys...> Agent types to scaffold (e.g., code-reviewer, feature-developer)
|
|
111
201
|
--exclude <patterns...> Glob patterns to skip during the scan
|
|
112
202
|
--include <patterns...> Glob patterns to explicitly include
|
|
203
|
+
--no-semantic Disable semantic code analysis
|
|
113
204
|
-v, --verbose Print detailed progress information
|
|
114
205
|
-h, --help Display help for command
|
|
115
206
|
```
|
|
116
207
|
|
|
117
|
-
### `scaffold`
|
|
118
|
-
Alias for `init`. Use whichever verb fits your workflow.
|
|
119
|
-
|
|
120
208
|
### `fill`
|
|
121
209
|
Use an LLM to refresh scaffolded docs and agent playbooks automatically.
|
|
122
210
|
|
|
@@ -126,18 +214,20 @@ Usage: ai-context fill <repo-path>
|
|
|
126
214
|
Options:
|
|
127
215
|
-o, --output <dir> Scaffold directory containing docs/ and agents/ (default: ./.context)
|
|
128
216
|
-k, --api-key <key> API key for the selected LLM provider
|
|
129
|
-
-m, --model <model> LLM model to use (default:
|
|
130
|
-
-p, --provider <name> Provider
|
|
217
|
+
-m, --model <model> LLM model to use (default: x-ai/grok-4-fast)
|
|
218
|
+
-p, --provider <name> Provider: openrouter, openai, anthropic, or google
|
|
219
|
+
--base-url <url> Custom base URL for provider APIs
|
|
131
220
|
--prompt <file> Instruction prompt to follow (optional; uses bundled instructions when omitted)
|
|
132
|
-
--docs <keys...> Doc keys to update (default: all)
|
|
133
|
-
--agents <keys...> Agent types to update (default: all)
|
|
134
|
-
--dry-run Preview changes without writing files
|
|
135
|
-
--all Process every Markdown file even if no TODO markers remain
|
|
136
221
|
--limit <number> Maximum number of files to update in one run
|
|
222
|
+
--no-semantic Disable semantic context mode (use tool-based exploration)
|
|
223
|
+
--languages <langs> Programming languages to analyze (e.g., typescript,python,go)
|
|
224
|
+
--exclude <patterns...> Glob patterns to exclude from repository analysis
|
|
225
|
+
--include <patterns...> Glob patterns to include during analysis
|
|
226
|
+
-v, --verbose Print detailed progress information
|
|
137
227
|
-h, --help Display help for command
|
|
138
228
|
```
|
|
139
229
|
|
|
140
|
-
Under the hood, the command
|
|
230
|
+
Under the hood, the command uses specialized agents (DocumentationAgent, PlaybookAgent) that analyze your codebase and generate context-aware documentation. Real-time progress is displayed showing which agent is working and what tools are being used.
|
|
141
231
|
|
|
142
232
|
### `plan`
|
|
143
233
|
Create a collaboration plan that links documentation guides and agent playbooks, or fill an existing plan with LLM assistance.
|
|
@@ -149,19 +239,19 @@ Options:
|
|
|
149
239
|
-o, --output <dir> Scaffold directory containing docs/ and agents/ (default: ./.context)
|
|
150
240
|
--title <title> Custom title for the plan document
|
|
151
241
|
--summary <text> Seed the plan with a short summary or goal statement
|
|
152
|
-
--agents <types...> Agent playbooks to highlight (default: all)
|
|
153
|
-
--docs <keys...> Documentation guides to reference (default: all)
|
|
154
242
|
-f, --force Overwrite the plan if it already exists (scaffold mode)
|
|
155
243
|
--fill Use an LLM to fill or update the plan instead of scaffolding
|
|
156
244
|
-r, --repo <path> Repository root to summarize for additional context (fill mode)
|
|
157
245
|
-k, --api-key <key> API key for the selected LLM provider (fill mode)
|
|
158
|
-
-m, --model <model> LLM model to use (default: x-ai/grok-4-fast
|
|
159
|
-
-p, --provider <name> Provider
|
|
246
|
+
-m, --model <model> LLM model to use (default: x-ai/grok-4-fast)
|
|
247
|
+
-p, --provider <name> Provider: openrouter, openai, anthropic, or google
|
|
160
248
|
--base-url <url> Custom base URL for provider APIs
|
|
161
249
|
--prompt <file> Instruction prompt to follow (optional; uses bundled instructions when omitted)
|
|
162
250
|
--dry-run Preview changes without writing files
|
|
251
|
+
--no-semantic Disable semantic context mode
|
|
163
252
|
--include <patterns...> Glob patterns to include during repository analysis
|
|
164
253
|
--exclude <patterns...> Glob patterns to exclude from repository analysis
|
|
254
|
+
-v, --verbose Print detailed progress information
|
|
165
255
|
-h, --help Display help for command
|
|
166
256
|
```
|
|
167
257
|
|
|
@@ -169,7 +259,157 @@ In scaffold mode the command creates `.context/plans/<plan-name>.md`, keeps a `p
|
|
|
169
259
|
|
|
170
260
|
💡 Tip: run `npx @ai-coders/context` with no arguments to enter an interactive mode that guides you through scaffold and LLM-fill options.
|
|
171
261
|
|
|
172
|
-
Prefer driving the update elsewhere? Just grab [`prompts/update_scaffold_prompt.md`](./prompts/update_scaffold_prompt.md) and run it in your favorite playground or agent host. When you
|
|
262
|
+
Prefer driving the update elsewhere? Just grab [`prompts/update_scaffold_prompt.md`](./prompts/update_scaffold_prompt.md) and run it in your favorite playground or agent host. When you're ready to automate, drop your API key in `.env` (for example `OPENROUTER_API_KEY` and `OPENROUTER_MODEL`) and let `fill` handle the edits inline.
|
|
263
|
+
|
|
264
|
+
### `mcp`
|
|
265
|
+
Start an MCP (Model Context Protocol) server for Claude Code integration. This exposes code analysis tools and semantic context as MCP resources.
|
|
266
|
+
|
|
267
|
+
```
|
|
268
|
+
Usage: ai-context mcp
|
|
269
|
+
|
|
270
|
+
Options:
|
|
271
|
+
-r, --repo-path <path> Default repository path for tools
|
|
272
|
+
-v, --verbose Enable verbose logging to stderr
|
|
273
|
+
-h, --help Display help for command
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
**Available MCP Tools:**
|
|
277
|
+
- `readFile` - Read file contents from the filesystem
|
|
278
|
+
- `listFiles` - List files matching a glob pattern
|
|
279
|
+
- `analyzeSymbols` - Extract code symbols (classes, functions, interfaces) using Tree-sitter
|
|
280
|
+
- `getFileStructure` - Get the directory structure of a repository
|
|
281
|
+
- `searchCode` - Search for code patterns using regex
|
|
282
|
+
- `buildSemanticContext` - Build optimized semantic context for LLM prompts
|
|
283
|
+
- `checkScaffolding` - Check if `.context` scaffolding exists (returns granular status for docs, agents, plans)
|
|
284
|
+
- `initializeContext` - Initialize `.context` scaffolding (create template files)
|
|
285
|
+
- `fillScaffolding` - Analyze codebase and generate content for each template file (AI agent writes the content)
|
|
286
|
+
- `scaffoldPlan` - Create a plan template in `.context/plans/`
|
|
287
|
+
|
|
288
|
+
**Available MCP Resources:**
|
|
289
|
+
- `context://codebase/{contextType}` - Semantic context (documentation, playbook, plan, compact)
|
|
290
|
+
- `file://{path}` - Read file contents
|
|
291
|
+
|
|
292
|
+
### `serve`
|
|
293
|
+
Start a passthrough server for external AI agents. Accepts JSON commands via stdin and responds via stdout.
|
|
294
|
+
|
|
295
|
+
```
|
|
296
|
+
Usage: ai-context serve
|
|
297
|
+
|
|
298
|
+
Options:
|
|
299
|
+
-r, --repo-path <path> Default repository path for tools
|
|
300
|
+
-f, --format <format> Output format: json or jsonl (default: jsonl)
|
|
301
|
+
-v, --verbose Enable verbose logging to stderr
|
|
302
|
+
-h, --help Display help for command
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
**Available Methods:**
|
|
306
|
+
- `capabilities` - List server capabilities
|
|
307
|
+
- `tool.list` - List available tools
|
|
308
|
+
- `tool.call` - Execute a tool
|
|
309
|
+
- `context.build` - Build semantic context
|
|
310
|
+
- `agent.run` - Run an agent (requires LLM config)
|
|
311
|
+
|
|
312
|
+
## 🔌 Claude Code Integration (MCP)
|
|
313
|
+
|
|
314
|
+
The easiest way to use this package with Claude Code is through the MCP server. Add the following to your Claude Code settings:
|
|
315
|
+
|
|
316
|
+
**~/.claude/settings.json:**
|
|
317
|
+
```json
|
|
318
|
+
{
|
|
319
|
+
"mcpServers": {
|
|
320
|
+
"ai-context": {
|
|
321
|
+
"command": "npx",
|
|
322
|
+
"args": ["@ai-coders/context", "mcp", "-r", "/path/to/your/repo"]
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
Once configured, Claude Code will have access to all code analysis tools:
|
|
329
|
+
|
|
330
|
+
```
|
|
331
|
+
# Claude Code can now use these tools:
|
|
332
|
+
- readFile: Read any file in your repository
|
|
333
|
+
- listFiles: Find files by glob patterns
|
|
334
|
+
- analyzeSymbols: Extract code structure with Tree-sitter
|
|
335
|
+
- searchCode: Search for patterns across the codebase
|
|
336
|
+
- buildSemanticContext: Get optimized context for any task
|
|
337
|
+
- checkScaffolding: Check if .context scaffolding exists
|
|
338
|
+
- initializeContext: Create scaffolding templates
|
|
339
|
+
- fillScaffolding: Generate content for templates
|
|
340
|
+
- scaffoldPlan: Create plan templates
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
### Example MCP Usage in Claude Code
|
|
344
|
+
|
|
345
|
+
When working with Claude Code, you can ask it to:
|
|
346
|
+
|
|
347
|
+
- "Use the ai-context tools to analyze the authentication module"
|
|
348
|
+
- "Build a semantic context for the src/services directory"
|
|
349
|
+
- "List all TypeScript files in the project and analyze their exports"
|
|
350
|
+
|
|
351
|
+
## 🔗 External AI Agent Integration (Passthrough)
|
|
352
|
+
|
|
353
|
+
For AI agents that don't support MCP, use the passthrough server with JSON communication:
|
|
354
|
+
|
|
355
|
+
```bash
|
|
356
|
+
# Start the server
|
|
357
|
+
npx @ai-coders/context serve -r ./my-project
|
|
358
|
+
|
|
359
|
+
# Send commands via stdin
|
|
360
|
+
echo '{"id":"1","method":"capabilities"}' | npx @ai-coders/context serve
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
**Example: List files**
|
|
364
|
+
```bash
|
|
365
|
+
echo '{"id":"1","method":"tool.call","params":{"tool":"listFiles","args":{"pattern":"**/*.ts"}}}' \
|
|
366
|
+
| npx @ai-coders/context serve -r ./my-project
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
**Example: Build semantic context**
|
|
370
|
+
```bash
|
|
371
|
+
echo '{"id":"1","method":"context.build","params":{"repoPath":"./","contextType":"documentation"}}' \
|
|
372
|
+
| npx @ai-coders/context serve
|
|
373
|
+
```
|
|
374
|
+
|
|
375
|
+
**Response format:**
|
|
376
|
+
```json
|
|
377
|
+
{
|
|
378
|
+
"id": "1",
|
|
379
|
+
"success": true,
|
|
380
|
+
"result": { /* tool output */ }
|
|
381
|
+
}
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
**Notifications (streamed during execution):**
|
|
385
|
+
```json
|
|
386
|
+
{"type": "progress", "data": {"step": 1, "message": "Analyzing..."}}
|
|
387
|
+
{"type": "tool_call", "data": {"toolName": "readFile", "args": {"filePath": "..."}}}
|
|
388
|
+
{"type": "tool_result", "data": {"toolName": "readFile", "success": true}}
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
## 🔧 Environment Variables
|
|
392
|
+
|
|
393
|
+
```bash
|
|
394
|
+
# Provider selection (auto-detected from available keys)
|
|
395
|
+
AI_CONTEXT_PROVIDER=openrouter|openai|anthropic|google
|
|
396
|
+
|
|
397
|
+
# API Keys (at least one required for fill/plan --fill)
|
|
398
|
+
OPENROUTER_API_KEY=...
|
|
399
|
+
OPENAI_API_KEY=...
|
|
400
|
+
ANTHROPIC_API_KEY=...
|
|
401
|
+
GOOGLE_API_KEY=...
|
|
402
|
+
|
|
403
|
+
# Optional model override per provider
|
|
404
|
+
OPENROUTER_MODEL=x-ai/grok-4-fast
|
|
405
|
+
OPENAI_MODEL=gpt-4o
|
|
406
|
+
ANTHROPIC_MODEL=claude-sonnet-4-20250514
|
|
407
|
+
GOOGLE_MODEL=gemini-2.0-flash
|
|
408
|
+
|
|
409
|
+
# CLI settings
|
|
410
|
+
AI_CONTEXT_LANG=en|pt-BR
|
|
411
|
+
AI_CONTEXT_DISABLE_UPDATE_CHECK=true
|
|
412
|
+
```
|
|
173
413
|
|
|
174
414
|
## 🧰 Local Development
|
|
175
415
|
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fragment Composition - Strategies for combining fragments
|
|
3
|
+
*/
|
|
4
|
+
import type { ContextFragment, CompositionOptions, FragmentStore } from './types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Compose fragments into a coherent context using the specified strategy
|
|
7
|
+
*/
|
|
8
|
+
export declare function composeFragments(fragments: ContextFragment<unknown>[], options: CompositionOptions): ContextFragment<unknown>[];
|
|
9
|
+
/**
|
|
10
|
+
* Create a composition pipeline helper
|
|
11
|
+
*/
|
|
12
|
+
export declare function createComposer(store: FragmentStore): {
|
|
13
|
+
/**
|
|
14
|
+
* Compose by priority (default)
|
|
15
|
+
*/
|
|
16
|
+
byPriority(maxTokens?: number): ContextFragment<unknown>[];
|
|
17
|
+
/**
|
|
18
|
+
* Compose by expanding from a seed
|
|
19
|
+
*/
|
|
20
|
+
expand(seed: string, depth?: number, maxTokens?: number): ContextFragment<unknown>[];
|
|
21
|
+
/**
|
|
22
|
+
* Compose by task relevance
|
|
23
|
+
*/
|
|
24
|
+
forTask(task: string, maxTokens?: number): ContextFragment<unknown>[];
|
|
25
|
+
/**
|
|
26
|
+
* Get essential context (project overview + high priority)
|
|
27
|
+
*/
|
|
28
|
+
essential(maxTokens?: number): ContextFragment<unknown>[];
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=compose.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/fragments/compose.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAElB,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,EACrC,OAAO,EAAE,kBAAkB,GAC1B,eAAe,CAAC,OAAO,CAAC,EAAE,CAW5B;AA6QD;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa;IAE/C;;OAEG;2BACoB,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,EAAE;IAO1D;;OAEG;iBACU,MAAM,UAAU,MAAM,cAAc,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,EAAE;IASpF;;OAEG;kBACW,MAAM,cAAc,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,EAAE;IAQrE;;OAEG;0BACmB,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,EAAE;EAe5D"}
|