memor-code-cli 0.2.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/LICENSE +21 -0
- package/README.md +109 -0
- package/dist/IntentionalStructure/index.d.ts +13 -0
- package/dist/IntentionalStructure/index.d.ts.map +1 -0
- package/dist/IntentionalStructure/index.js +46 -0
- package/dist/IntentionalStructure/index.js.map +1 -0
- package/dist/IntentionalStructure/parseCompose.d.ts +13 -0
- package/dist/IntentionalStructure/parseCompose.d.ts.map +1 -0
- package/dist/IntentionalStructure/parseCompose.js +234 -0
- package/dist/IntentionalStructure/parseCompose.js.map +1 -0
- package/dist/IntentionalStructure/parseDeployConfigs.d.ts +7 -0
- package/dist/IntentionalStructure/parseDeployConfigs.d.ts.map +1 -0
- package/dist/IntentionalStructure/parseDeployConfigs.js +168 -0
- package/dist/IntentionalStructure/parseDeployConfigs.js.map +1 -0
- package/dist/IntentionalStructure/parseEnvWiring.d.ts +7 -0
- package/dist/IntentionalStructure/parseEnvWiring.d.ts.map +1 -0
- package/dist/IntentionalStructure/parseEnvWiring.js +159 -0
- package/dist/IntentionalStructure/parseEnvWiring.js.map +1 -0
- package/dist/IntentionalStructure/parseWorkspaces.d.ts +8 -0
- package/dist/IntentionalStructure/parseWorkspaces.d.ts.map +1 -0
- package/dist/IntentionalStructure/parseWorkspaces.js +179 -0
- package/dist/IntentionalStructure/parseWorkspaces.js.map +1 -0
- package/dist/IntentionalStructure/types.d.ts +34 -0
- package/dist/IntentionalStructure/types.d.ts.map +1 -0
- package/dist/IntentionalStructure/types.js +8 -0
- package/dist/IntentionalStructure/types.js.map +1 -0
- package/dist/RepoTypeDetection/applyRepoModeConsistency.d.ts +11 -0
- package/dist/RepoTypeDetection/applyRepoModeConsistency.d.ts.map +1 -0
- package/dist/RepoTypeDetection/applyRepoModeConsistency.js +53 -0
- package/dist/RepoTypeDetection/applyRepoModeConsistency.js.map +1 -0
- package/dist/RepoTypeDetection/detectAppArchetype.d.ts +12 -0
- package/dist/RepoTypeDetection/detectAppArchetype.d.ts.map +1 -0
- package/dist/RepoTypeDetection/detectAppArchetype.js +162 -0
- package/dist/RepoTypeDetection/detectAppArchetype.js.map +1 -0
- package/dist/RepoTypeDetection/detectPackageArchetype.d.ts +10 -0
- package/dist/RepoTypeDetection/detectPackageArchetype.d.ts.map +1 -0
- package/dist/RepoTypeDetection/detectPackageArchetype.js +149 -0
- package/dist/RepoTypeDetection/detectPackageArchetype.js.map +1 -0
- package/dist/RepoTypeDetection/detectRepoCenterSystems.d.ts +11 -0
- package/dist/RepoTypeDetection/detectRepoCenterSystems.d.ts.map +1 -0
- package/dist/RepoTypeDetection/detectRepoCenterSystems.js +123 -0
- package/dist/RepoTypeDetection/detectRepoCenterSystems.js.map +1 -0
- package/dist/RepoTypeDetection/detectRepoMode.d.ts +16 -0
- package/dist/RepoTypeDetection/detectRepoMode.d.ts.map +1 -0
- package/dist/RepoTypeDetection/detectRepoMode.js +338 -0
- package/dist/RepoTypeDetection/detectRepoMode.js.map +1 -0
- package/dist/RepoTypeDetection/detectRepoSignals.d.ts +13 -0
- package/dist/RepoTypeDetection/detectRepoSignals.d.ts.map +1 -0
- package/dist/RepoTypeDetection/detectRepoSignals.js +451 -0
- package/dist/RepoTypeDetection/detectRepoSignals.js.map +1 -0
- package/dist/RepoTypeDetection/inferSupportRole.d.ts +8 -0
- package/dist/RepoTypeDetection/inferSupportRole.d.ts.map +1 -0
- package/dist/RepoTypeDetection/inferSupportRole.js +177 -0
- package/dist/RepoTypeDetection/inferSupportRole.js.map +1 -0
- package/dist/RuntimeInference/detectEnvConsumers.d.ts +7 -0
- package/dist/RuntimeInference/detectEnvConsumers.d.ts.map +1 -0
- package/dist/RuntimeInference/detectEnvConsumers.js +108 -0
- package/dist/RuntimeInference/detectEnvConsumers.js.map +1 -0
- package/dist/RuntimeInference/detectHttpEdges.d.ts +4 -0
- package/dist/RuntimeInference/detectHttpEdges.d.ts.map +1 -0
- package/dist/RuntimeInference/detectHttpEdges.js +146 -0
- package/dist/RuntimeInference/detectHttpEdges.js.map +1 -0
- package/dist/RuntimeInference/detectOrmConsumers.d.ts +5 -0
- package/dist/RuntimeInference/detectOrmConsumers.d.ts.map +1 -0
- package/dist/RuntimeInference/detectOrmConsumers.js +117 -0
- package/dist/RuntimeInference/detectOrmConsumers.js.map +1 -0
- package/dist/RuntimeInference/detectProxyRewrites.d.ts +5 -0
- package/dist/RuntimeInference/detectProxyRewrites.d.ts.map +1 -0
- package/dist/RuntimeInference/detectProxyRewrites.js +137 -0
- package/dist/RuntimeInference/detectProxyRewrites.js.map +1 -0
- package/dist/RuntimeInference/detectTrpcEdges.d.ts +4 -0
- package/dist/RuntimeInference/detectTrpcEdges.d.ts.map +1 -0
- package/dist/RuntimeInference/detectTrpcEdges.js +137 -0
- package/dist/RuntimeInference/detectTrpcEdges.js.map +1 -0
- package/dist/RuntimeInference/index.d.ts +17 -0
- package/dist/RuntimeInference/index.d.ts.map +1 -0
- package/dist/RuntimeInference/index.js +32 -0
- package/dist/RuntimeInference/index.js.map +1 -0
- package/dist/RuntimeInference/types.d.ts +8 -0
- package/dist/RuntimeInference/types.d.ts.map +1 -0
- package/dist/RuntimeInference/types.js +3 -0
- package/dist/RuntimeInference/types.js.map +1 -0
- package/dist/SystemSynthesis/index.d.ts +27 -0
- package/dist/SystemSynthesis/index.d.ts.map +1 -0
- package/dist/SystemSynthesis/index.js +31 -0
- package/dist/SystemSynthesis/index.js.map +1 -0
- package/dist/SystemSynthesis/mergeLayerOutputs.d.ts +13 -0
- package/dist/SystemSynthesis/mergeLayerOutputs.d.ts.map +1 -0
- package/dist/SystemSynthesis/mergeLayerOutputs.js +220 -0
- package/dist/SystemSynthesis/mergeLayerOutputs.js.map +1 -0
- package/dist/SystemSynthesis/stampDeterministic.d.ts +11 -0
- package/dist/SystemSynthesis/stampDeterministic.d.ts.map +1 -0
- package/dist/SystemSynthesis/stampDeterministic.js +177 -0
- package/dist/SystemSynthesis/stampDeterministic.js.map +1 -0
- package/dist/SystemSynthesis/synthesize.d.ts +15 -0
- package/dist/SystemSynthesis/synthesize.d.ts.map +1 -0
- package/dist/SystemSynthesis/synthesize.js +258 -0
- package/dist/SystemSynthesis/synthesize.js.map +1 -0
- package/dist/SystemSynthesis/types.d.ts +110 -0
- package/dist/SystemSynthesis/types.d.ts.map +1 -0
- package/dist/SystemSynthesis/types.js +12 -0
- package/dist/SystemSynthesis/types.js.map +1 -0
- package/dist/amGeneration/buildFlowGraph.d.ts +39 -0
- package/dist/amGeneration/buildFlowGraph.d.ts.map +1 -0
- package/dist/amGeneration/buildFlowGraph.js +643 -0
- package/dist/amGeneration/buildFlowGraph.js.map +1 -0
- package/dist/amGeneration/enrichAMEdges.d.ts +16 -0
- package/dist/amGeneration/enrichAMEdges.d.ts.map +1 -0
- package/dist/amGeneration/enrichAMEdges.js +291 -0
- package/dist/amGeneration/enrichAMEdges.js.map +1 -0
- package/dist/amGeneration/generateAM.d.ts +23 -0
- package/dist/amGeneration/generateAM.d.ts.map +1 -0
- package/dist/amGeneration/generateAM.js +131 -0
- package/dist/amGeneration/generateAM.js.map +1 -0
- package/dist/amGeneration/generateAMForRepo.d.ts +6 -0
- package/dist/amGeneration/generateAMForRepo.d.ts.map +1 -0
- package/dist/amGeneration/generateAMForRepo.js +130 -0
- package/dist/amGeneration/generateAMForRepo.js.map +1 -0
- package/dist/amGeneration/generateFlows.d.ts +27 -0
- package/dist/amGeneration/generateFlows.d.ts.map +1 -0
- package/dist/amGeneration/generateFlows.js +320 -0
- package/dist/amGeneration/generateFlows.js.map +1 -0
- package/dist/amGeneration/promptBuilder.d.ts +24 -0
- package/dist/amGeneration/promptBuilder.d.ts.map +1 -0
- package/dist/amGeneration/promptBuilder.js +299 -0
- package/dist/amGeneration/promptBuilder.js.map +1 -0
- package/dist/amGeneration/selectStrategicFiles.d.ts +42 -0
- package/dist/amGeneration/selectStrategicFiles.d.ts.map +1 -0
- package/dist/amGeneration/selectStrategicFiles.js +672 -0
- package/dist/amGeneration/selectStrategicFiles.js.map +1 -0
- package/dist/amGeneration/types.d.ts +83 -0
- package/dist/amGeneration/types.d.ts.map +1 -0
- package/dist/amGeneration/types.js +9 -0
- package/dist/amGeneration/types.js.map +1 -0
- package/dist/amSections.d.ts +29 -0
- package/dist/amSections.d.ts.map +1 -0
- package/dist/amSections.js +424 -0
- package/dist/amSections.js.map +1 -0
- package/dist/analysis/analysisCache.d.ts +4 -0
- package/dist/analysis/analysisCache.d.ts.map +1 -0
- package/dist/analysis/analysisCache.js +92 -0
- package/dist/analysis/analysisCache.js.map +1 -0
- package/dist/analysis/buildBranchStory.d.ts +95 -0
- package/dist/analysis/buildBranchStory.d.ts.map +1 -0
- package/dist/analysis/buildBranchStory.js +1264 -0
- package/dist/analysis/buildBranchStory.js.map +1 -0
- package/dist/analysis/buildDetailedFileXRay.d.ts +49 -0
- package/dist/analysis/buildDetailedFileXRay.d.ts.map +1 -0
- package/dist/analysis/buildDetailedFileXRay.js +607 -0
- package/dist/analysis/buildDetailedFileXRay.js.map +1 -0
- package/dist/analysis/buildFileXRay.d.ts +35 -0
- package/dist/analysis/buildFileXRay.d.ts.map +1 -0
- package/dist/analysis/buildFileXRay.js +305 -0
- package/dist/analysis/buildFileXRay.js.map +1 -0
- package/dist/analysis/classifySilentKiller.d.ts +14 -0
- package/dist/analysis/classifySilentKiller.d.ts.map +1 -0
- package/dist/analysis/classifySilentKiller.js +235 -0
- package/dist/analysis/classifySilentKiller.js.map +1 -0
- package/dist/analysis/diffChunks.d.ts +21 -0
- package/dist/analysis/diffChunks.d.ts.map +1 -0
- package/dist/analysis/diffChunks.js +302 -0
- package/dist/analysis/diffChunks.js.map +1 -0
- package/dist/analysis/extractRouteMap.d.ts +49 -0
- package/dist/analysis/extractRouteMap.d.ts.map +1 -0
- package/dist/analysis/extractRouteMap.js +354 -0
- package/dist/analysis/extractRouteMap.js.map +1 -0
- package/dist/analysis/generateFileInsight.d.ts +19 -0
- package/dist/analysis/generateFileInsight.d.ts.map +1 -0
- package/dist/analysis/generateFileInsight.js +103 -0
- package/dist/analysis/generateFileInsight.js.map +1 -0
- package/dist/analysis/llmXRay.d.ts +39 -0
- package/dist/analysis/llmXRay.d.ts.map +1 -0
- package/dist/analysis/llmXRay.js +208 -0
- package/dist/analysis/llmXRay.js.map +1 -0
- package/dist/analysis/simulateFailure.d.ts +44 -0
- package/dist/analysis/simulateFailure.d.ts.map +1 -0
- package/dist/analysis/simulateFailure.js +407 -0
- package/dist/analysis/simulateFailure.js.map +1 -0
- package/dist/anthropic.d.ts +3 -0
- package/dist/anthropic.d.ts.map +1 -0
- package/dist/anthropic.js +16 -0
- package/dist/anthropic.js.map +1 -0
- package/dist/app/buildAppPage.d.ts +34 -0
- package/dist/app/buildAppPage.d.ts.map +1 -0
- package/dist/app/buildAppPage.js +3085 -0
- package/dist/app/buildAppPage.js.map +1 -0
- package/dist/app-bundle.js +122 -0
- package/dist/buildAppData.d.ts +3 -0
- package/dist/buildAppData.d.ts.map +1 -0
- package/dist/buildAppData.js +207 -0
- package/dist/buildAppData.js.map +1 -0
- package/dist/builders/analyzeRepo.d.ts +25 -0
- package/dist/builders/analyzeRepo.d.ts.map +1 -0
- package/dist/builders/analyzeRepo.js +873 -0
- package/dist/builders/analyzeRepo.js.map +1 -0
- package/dist/builders/buildSystemConnections.d.ts +3 -0
- package/dist/builders/buildSystemConnections.d.ts.map +1 -0
- package/dist/builders/buildSystemConnections.js +388 -0
- package/dist/builders/buildSystemConnections.js.map +1 -0
- package/dist/builders/buildTextSummary.d.ts +61 -0
- package/dist/builders/buildTextSummary.d.ts.map +1 -0
- package/dist/builders/buildTextSummary.js +178 -0
- package/dist/builders/buildTextSummary.js.map +1 -0
- package/dist/builders/deriveRecommendedStartPath.d.ts +11 -0
- package/dist/builders/deriveRecommendedStartPath.d.ts.map +1 -0
- package/dist/builders/deriveRecommendedStartPath.js +140 -0
- package/dist/builders/deriveRecommendedStartPath.js.map +1 -0
- package/dist/builders/deriveRuntimeRole.d.ts +4 -0
- package/dist/builders/deriveRuntimeRole.d.ts.map +1 -0
- package/dist/builders/deriveRuntimeRole.js +30 -0
- package/dist/builders/deriveRuntimeRole.js.map +1 -0
- package/dist/builders/detectRunCommands.d.ts +16 -0
- package/dist/builders/detectRunCommands.d.ts.map +1 -0
- package/dist/builders/detectRunCommands.js +285 -0
- package/dist/builders/detectRunCommands.js.map +1 -0
- package/dist/builders/generateSystemNarrative.d.ts +12 -0
- package/dist/builders/generateSystemNarrative.d.ts.map +1 -0
- package/dist/builders/generateSystemNarrative.js +474 -0
- package/dist/builders/generateSystemNarrative.js.map +1 -0
- package/dist/builders/gitLogParser.d.ts +15 -0
- package/dist/builders/gitLogParser.d.ts.map +1 -0
- package/dist/builders/gitLogParser.js +116 -0
- package/dist/builders/gitLogParser.js.map +1 -0
- package/dist/builders/readRepoContext.d.ts +30 -0
- package/dist/builders/readRepoContext.d.ts.map +1 -0
- package/dist/builders/readRepoContext.js +323 -0
- package/dist/builders/readRepoContext.js.map +1 -0
- package/dist/builders/readSystemReadme.d.ts +39 -0
- package/dist/builders/readSystemReadme.d.ts.map +1 -0
- package/dist/builders/readSystemReadme.js +133 -0
- package/dist/builders/readSystemReadme.js.map +1 -0
- package/dist/builders/systemRanking.d.ts +24 -0
- package/dist/builders/systemRanking.d.ts.map +1 -0
- package/dist/builders/systemRanking.js +153 -0
- package/dist/builders/systemRanking.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +170 -0
- package/dist/cli.js.map +1 -0
- package/dist/detectors/applyRunnableConfidenceGate.d.ts +8 -0
- package/dist/detectors/applyRunnableConfidenceGate.d.ts.map +1 -0
- package/dist/detectors/applyRunnableConfidenceGate.js +166 -0
- package/dist/detectors/applyRunnableConfidenceGate.js.map +1 -0
- package/dist/detectors/classifySystemType.d.ts +17 -0
- package/dist/detectors/classifySystemType.d.ts.map +1 -0
- package/dist/detectors/classifySystemType.js +460 -0
- package/dist/detectors/classifySystemType.js.map +1 -0
- package/dist/detectors/detectAppInternalUnits.d.ts +20 -0
- package/dist/detectors/detectAppInternalUnits.d.ts.map +1 -0
- package/dist/detectors/detectAppInternalUnits.js +454 -0
- package/dist/detectors/detectAppInternalUnits.js.map +1 -0
- package/dist/detectors/detectBlocks.d.ts +6 -0
- package/dist/detectors/detectBlocks.d.ts.map +1 -0
- package/dist/detectors/detectBlocks.js +354 -0
- package/dist/detectors/detectBlocks.js.map +1 -0
- package/dist/detectors/detectComposeServices.d.ts +23 -0
- package/dist/detectors/detectComposeServices.d.ts.map +1 -0
- package/dist/detectors/detectComposeServices.js +255 -0
- package/dist/detectors/detectComposeServices.js.map +1 -0
- package/dist/detectors/detectEntryPoints.d.ts +6 -0
- package/dist/detectors/detectEntryPoints.d.ts.map +1 -0
- package/dist/detectors/detectEntryPoints.js +376 -0
- package/dist/detectors/detectEntryPoints.js.map +1 -0
- package/dist/detectors/detectSubsystems.d.ts +6 -0
- package/dist/detectors/detectSubsystems.d.ts.map +1 -0
- package/dist/detectors/detectSubsystems.js +376 -0
- package/dist/detectors/detectSubsystems.js.map +1 -0
- package/dist/detectors/detectSystemCandidates.d.ts +3 -0
- package/dist/detectors/detectSystemCandidates.d.ts.map +1 -0
- package/dist/detectors/detectSystemCandidates.js +577 -0
- package/dist/detectors/detectSystemCandidates.js.map +1 -0
- package/dist/devWatcher.d.ts +14 -0
- package/dist/devWatcher.d.ts.map +1 -0
- package/dist/devWatcher.js +96 -0
- package/dist/devWatcher.js.map +1 -0
- package/dist/graph/buildCodebaseGraph.d.ts +3 -0
- package/dist/graph/buildCodebaseGraph.d.ts.map +1 -0
- package/dist/graph/buildCodebaseGraph.js +602 -0
- package/dist/graph/buildCodebaseGraph.js.map +1 -0
- package/dist/graph/buildLLMPayload.d.ts +89 -0
- package/dist/graph/buildLLMPayload.d.ts.map +1 -0
- package/dist/graph/buildLLMPayload.js +715 -0
- package/dist/graph/buildLLMPayload.js.map +1 -0
- package/dist/graph/callLLM.d.ts +16 -0
- package/dist/graph/callLLM.d.ts.map +1 -0
- package/dist/graph/callLLM.js +274 -0
- package/dist/graph/callLLM.js.map +1 -0
- package/dist/graph/types.d.ts +76 -0
- package/dist/graph/types.d.ts.map +1 -0
- package/dist/graph/types.js +5 -0
- package/dist/graph/types.js.map +1 -0
- package/dist/graph/walkExports.d.ts +2 -0
- package/dist/graph/walkExports.d.ts.map +1 -0
- package/dist/graph/walkExports.js +172 -0
- package/dist/graph/walkExports.js.map +1 -0
- package/dist/heuristics/file-patterns.json +325 -0
- package/dist/heuristics/known-packages.json +1022 -0
- package/dist/heuristics/loader.d.ts +121 -0
- package/dist/heuristics/loader.d.ts.map +1 -0
- package/dist/heuristics/loader.js +196 -0
- package/dist/heuristics/loader.js.map +1 -0
- package/dist/heuristics/repo-mode-signals.json +248 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +93 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp.d.ts +3 -0
- package/dist/mcp.d.ts.map +1 -0
- package/dist/mcp.js +356 -0
- package/dist/mcp.js.map +1 -0
- package/dist/scanner/buildImportGraph.d.ts +23 -0
- package/dist/scanner/buildImportGraph.d.ts.map +1 -0
- package/dist/scanner/buildImportGraph.js +186 -0
- package/dist/scanner/buildImportGraph.js.map +1 -0
- package/dist/scanner/detectDBOps.d.ts +21 -0
- package/dist/scanner/detectDBOps.d.ts.map +1 -0
- package/dist/scanner/detectDBOps.js +346 -0
- package/dist/scanner/detectDBOps.js.map +1 -0
- package/dist/scanner/detectOutbound.d.ts +6 -0
- package/dist/scanner/detectOutbound.d.ts.map +1 -0
- package/dist/scanner/detectOutbound.js +101 -0
- package/dist/scanner/detectOutbound.js.map +1 -0
- package/dist/scanner/detectRepoPurpose.d.ts +19 -0
- package/dist/scanner/detectRepoPurpose.d.ts.map +1 -0
- package/dist/scanner/detectRepoPurpose.js +335 -0
- package/dist/scanner/detectRepoPurpose.js.map +1 -0
- package/dist/scanner/detectRoutes.d.ts +22 -0
- package/dist/scanner/detectRoutes.d.ts.map +1 -0
- package/dist/scanner/detectRoutes.js +406 -0
- package/dist/scanner/detectRoutes.js.map +1 -0
- package/dist/scanner/filterNoise.d.ts +4 -0
- package/dist/scanner/filterNoise.d.ts.map +1 -0
- package/dist/scanner/filterNoise.js +95 -0
- package/dist/scanner/filterNoise.js.map +1 -0
- package/dist/scanner/loadTsAliases.d.ts +20 -0
- package/dist/scanner/loadTsAliases.d.ts.map +1 -0
- package/dist/scanner/loadTsAliases.js +135 -0
- package/dist/scanner/loadTsAliases.js.map +1 -0
- package/dist/scanner/routeHandlers.d.ts +15 -0
- package/dist/scanner/routeHandlers.d.ts.map +1 -0
- package/dist/scanner/routeHandlers.js +154 -0
- package/dist/scanner/routeHandlers.js.map +1 -0
- package/dist/scanner/scanRepo.d.ts +10 -0
- package/dist/scanner/scanRepo.d.ts.map +1 -0
- package/dist/scanner/scanRepo.js +165 -0
- package/dist/scanner/scanRepo.js.map +1 -0
- package/dist/scanner/walkImports.d.ts +14 -0
- package/dist/scanner/walkImports.d.ts.map +1 -0
- package/dist/scanner/walkImports.js +162 -0
- package/dist/scanner/walkImports.js.map +1 -0
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +956 -0
- package/dist/server.js.map +1 -0
- package/dist/session/diff.d.ts +4 -0
- package/dist/session/diff.d.ts.map +1 -0
- package/dist/session/diff.js +150 -0
- package/dist/session/diff.js.map +1 -0
- package/dist/session/snapshot.d.ts +5 -0
- package/dist/session/snapshot.d.ts.map +1 -0
- package/dist/session/snapshot.js +114 -0
- package/dist/session/snapshot.js.map +1 -0
- package/dist/session/store.d.ts +8 -0
- package/dist/session/store.d.ts.map +1 -0
- package/dist/session/store.js +101 -0
- package/dist/session/store.js.map +1 -0
- package/dist/session/types.d.ts +46 -0
- package/dist/session/types.d.ts.map +1 -0
- package/dist/session/types.js +4 -0
- package/dist/session/types.js.map +1 -0
- package/dist/types.d.ts +350 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/file.d.ts +5 -0
- package/dist/utils/file.d.ts.map +1 -0
- package/dist/utils/file.js +76 -0
- package/dist/utils/file.js.map +1 -0
- package/dist/utils/path.d.ts +7 -0
- package/dist/utils/path.d.ts.map +1 -0
- package/dist/utils/path.js +62 -0
- package/dist/utils/path.js.map +1 -0
- package/dist/utils/text.d.ts +5 -0
- package/dist/utils/text.d.ts.map +1 -0
- package/dist/utils/text.js +29 -0
- package/dist/utils/text.js.map +1 -0
- package/dist/viewBuilders/buildSystemFolders.d.ts +39 -0
- package/dist/viewBuilders/buildSystemFolders.d.ts.map +1 -0
- package/dist/viewBuilders/buildSystemFolders.js +198 -0
- package/dist/viewBuilders/buildSystemFolders.js.map +1 -0
- package/dist/watcher/repoWatcher.d.ts +17 -0
- package/dist/watcher/repoWatcher.d.ts.map +1 -0
- package/dist/watcher/repoWatcher.js +87 -0
- package/dist/watcher/repoWatcher.js.map +1 -0
- package/package.json +102 -0
- package/public/memor_logo.svg +18 -0
- package/public/memor_transparent_logo.svg +25 -0
- package/public/tIcons/bun.svg +1 -0
- package/public/tIcons/css.svg +1 -0
- package/public/tIcons/docker.svg +3 -0
- package/public/tIcons/expressjs.svg +1 -0
- package/public/tIcons/html5.svg +6 -0
- package/public/tIcons/javascript.svg +1 -0
- package/public/tIcons/jest.svg +4 -0
- package/public/tIcons/json.svg +1 -0
- package/public/tIcons/markdown-light.svg +1 -0
- package/public/tIcons/nestjs.svg +1 -0
- package/public/tIcons/nextjs_icon_dark.svg +1 -0
- package/public/tIcons/npm.svg +1 -0
- package/public/tIcons/pnpm.svg +1 -0
- package/public/tIcons/prisma.svg +1 -0
- package/public/tIcons/react_dark.svg +11 -0
- package/public/tIcons/supabase.svg +15 -0
- package/public/tIcons/tailwindcss.svg +1 -0
- package/public/tIcons/turborepo-icon-light.svg +1 -0
- package/public/tIcons/typescript.svg +1 -0
- package/public/tIcons/vite.svg +1 -0
- package/public/tIcons/yarn.svg +1 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* readRepoContext — reads human-written documentation from a repo.
|
|
3
|
+
*
|
|
4
|
+
* Reads in order of trust:
|
|
5
|
+
* 1. CLAUDE.md / .claude/ — written specifically to orient readers
|
|
6
|
+
* 2. README.md (root) — project summary
|
|
7
|
+
* 3. CONTRIBUTING.md — architecture / structure sections
|
|
8
|
+
*
|
|
9
|
+
* Returns only what was found. Never invents. Never guesses.
|
|
10
|
+
*/
|
|
11
|
+
export type RepoContext = {
|
|
12
|
+
/** First paragraph of root README, stripped of badges/headings */
|
|
13
|
+
rootReadmeSummary: string | null;
|
|
14
|
+
rootReadmeSource: string | null;
|
|
15
|
+
/** Full content of CLAUDE.md — verbatim, never summarised */
|
|
16
|
+
claudeMdContent: string | null;
|
|
17
|
+
claudeMdSource: string | null;
|
|
18
|
+
/** Architecture/structure section extracted from CONTRIBUTING.md */
|
|
19
|
+
contributingNotes: string | null;
|
|
20
|
+
contributingSource: string | null;
|
|
21
|
+
};
|
|
22
|
+
export declare function readRepoContext(repoRoot: string): RepoContext;
|
|
23
|
+
/**
|
|
24
|
+
* Extracts the first meaningful paragraph from a markdown file.
|
|
25
|
+
* Skips: H1 title, badge lines ([![), image lines (![], <img), blank lines.
|
|
26
|
+
* Stops at: next heading, horizontal rule, code fence.
|
|
27
|
+
* Trims to first 3 sentences.
|
|
28
|
+
*/
|
|
29
|
+
export declare function extractFirstParagraph(markdown: string): string | null;
|
|
30
|
+
//# sourceMappingURL=readRepoContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readRepoContext.d.ts","sourceRoot":"","sources":["../../src/builders/readRepoContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,MAAM,MAAM,WAAW,GAAG;IACxB,kEAAkE;IAClE,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC,6DAA6D;IAC7D,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,oEAAoE;IACpE,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC,CAAC;AA2BF,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAM7D;AAgDD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiErE"}
|
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* readRepoContext — reads human-written documentation from a repo.
|
|
4
|
+
*
|
|
5
|
+
* Reads in order of trust:
|
|
6
|
+
* 1. CLAUDE.md / .claude/ — written specifically to orient readers
|
|
7
|
+
* 2. README.md (root) — project summary
|
|
8
|
+
* 3. CONTRIBUTING.md — architecture / structure sections
|
|
9
|
+
*
|
|
10
|
+
* Returns only what was found. Never invents. Never guesses.
|
|
11
|
+
*/
|
|
12
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
15
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
16
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
17
|
+
}
|
|
18
|
+
Object.defineProperty(o, k2, desc);
|
|
19
|
+
}) : (function(o, m, k, k2) {
|
|
20
|
+
if (k2 === undefined) k2 = k;
|
|
21
|
+
o[k2] = m[k];
|
|
22
|
+
}));
|
|
23
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
24
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
25
|
+
}) : function(o, v) {
|
|
26
|
+
o["default"] = v;
|
|
27
|
+
});
|
|
28
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
29
|
+
var ownKeys = function(o) {
|
|
30
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
31
|
+
var ar = [];
|
|
32
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
33
|
+
return ar;
|
|
34
|
+
};
|
|
35
|
+
return ownKeys(o);
|
|
36
|
+
};
|
|
37
|
+
return function (mod) {
|
|
38
|
+
if (mod && mod.__esModule) return mod;
|
|
39
|
+
var result = {};
|
|
40
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
41
|
+
__setModuleDefault(result, mod);
|
|
42
|
+
return result;
|
|
43
|
+
};
|
|
44
|
+
})();
|
|
45
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
|
+
exports.readRepoContext = readRepoContext;
|
|
47
|
+
exports.extractFirstParagraph = extractFirstParagraph;
|
|
48
|
+
const fs = __importStar(require("fs"));
|
|
49
|
+
const path = __importStar(require("path"));
|
|
50
|
+
// ── File name candidates ──────────────────────────────────────────────
|
|
51
|
+
const README_NAMES = ["README.md", "readme.md", "README.MD", "Readme.md"];
|
|
52
|
+
const CLAUDE_PATHS = [
|
|
53
|
+
"CLAUDE.md",
|
|
54
|
+
"claude.md",
|
|
55
|
+
".claude/README.md",
|
|
56
|
+
".claude/CLAUDE.md",
|
|
57
|
+
".claude/skills/README.md",
|
|
58
|
+
];
|
|
59
|
+
const CONTRIBUTING_NAMES = [
|
|
60
|
+
"CONTRIBUTING.md",
|
|
61
|
+
"contributing.md",
|
|
62
|
+
"CONTRIBUTING.MD",
|
|
63
|
+
".github/CONTRIBUTING.md",
|
|
64
|
+
];
|
|
65
|
+
// ── Architecture section header patterns ─────────────────────────────
|
|
66
|
+
const ARCH_HEADER = /^#{1,3}\s+(architecture|project structure|codebase structure|how it.?s organized|structure|organization|monorepo structure|repo structure|folder structure|directory structure)/i;
|
|
67
|
+
// ── Main export ───────────────────────────────────────────────────────
|
|
68
|
+
function readRepoContext(repoRoot) {
|
|
69
|
+
return {
|
|
70
|
+
...readRootReadme(repoRoot),
|
|
71
|
+
...readClaudeMd(repoRoot),
|
|
72
|
+
...readContributing(repoRoot),
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
// ── Root README ───────────────────────────────────────────────────────
|
|
76
|
+
function readRootReadme(repoRoot) {
|
|
77
|
+
for (const name of README_NAMES) {
|
|
78
|
+
const filePath = path.join(repoRoot, name);
|
|
79
|
+
if (!exists(filePath))
|
|
80
|
+
continue;
|
|
81
|
+
const content = safeRead(filePath);
|
|
82
|
+
if (!content)
|
|
83
|
+
continue;
|
|
84
|
+
const summary = extractFirstParagraph(content);
|
|
85
|
+
if (summary)
|
|
86
|
+
return { rootReadmeSummary: summary, rootReadmeSource: name };
|
|
87
|
+
}
|
|
88
|
+
return { rootReadmeSummary: null, rootReadmeSource: null };
|
|
89
|
+
}
|
|
90
|
+
// ── CLAUDE.md ─────────────────────────────────────────────────────────
|
|
91
|
+
function readClaudeMd(repoRoot) {
|
|
92
|
+
for (const rel of CLAUDE_PATHS) {
|
|
93
|
+
const filePath = path.join(repoRoot, rel);
|
|
94
|
+
if (!exists(filePath))
|
|
95
|
+
continue;
|
|
96
|
+
const content = safeRead(filePath);
|
|
97
|
+
if (!content || content.trim().length < 20)
|
|
98
|
+
continue;
|
|
99
|
+
return {
|
|
100
|
+
claudeMdContent: content.trim(),
|
|
101
|
+
claudeMdSource: rel,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
return { claudeMdContent: null, claudeMdSource: null };
|
|
105
|
+
}
|
|
106
|
+
// ── CONTRIBUTING.md ───────────────────────────────────────────────────
|
|
107
|
+
function readContributing(repoRoot) {
|
|
108
|
+
for (const name of CONTRIBUTING_NAMES) {
|
|
109
|
+
const filePath = path.join(repoRoot, name);
|
|
110
|
+
if (!exists(filePath))
|
|
111
|
+
continue;
|
|
112
|
+
const content = safeRead(filePath);
|
|
113
|
+
if (!content)
|
|
114
|
+
continue;
|
|
115
|
+
const notes = extractArchSection(content);
|
|
116
|
+
if (notes)
|
|
117
|
+
return { contributingNotes: notes, contributingSource: name };
|
|
118
|
+
}
|
|
119
|
+
return { contributingNotes: null, contributingSource: null };
|
|
120
|
+
}
|
|
121
|
+
// ── Text extraction helpers ───────────────────────────────────────────
|
|
122
|
+
/**
|
|
123
|
+
* Extracts the first meaningful paragraph from a markdown file.
|
|
124
|
+
* Skips: H1 title, badge lines ([![), image lines (![], <img), blank lines.
|
|
125
|
+
* Stops at: next heading, horizontal rule, code fence.
|
|
126
|
+
* Trims to first 3 sentences.
|
|
127
|
+
*/
|
|
128
|
+
function extractFirstParagraph(markdown) {
|
|
129
|
+
const lines = markdown.split("\n");
|
|
130
|
+
function isSkippableLine(line) {
|
|
131
|
+
if (line === "")
|
|
132
|
+
return true;
|
|
133
|
+
if (line.startsWith("#"))
|
|
134
|
+
return true;
|
|
135
|
+
if (line.startsWith("[!["))
|
|
136
|
+
return true;
|
|
137
|
+
if (line.startsWith("!["))
|
|
138
|
+
return true;
|
|
139
|
+
if (line.startsWith("[") && line.includes("]: "))
|
|
140
|
+
return true;
|
|
141
|
+
if (/^\[.+\]:/.test(line))
|
|
142
|
+
return true;
|
|
143
|
+
if (line.startsWith("<a "))
|
|
144
|
+
return true;
|
|
145
|
+
if (line.startsWith("<img"))
|
|
146
|
+
return true;
|
|
147
|
+
if (line.startsWith("<p"))
|
|
148
|
+
return true;
|
|
149
|
+
if (line.startsWith("<div"))
|
|
150
|
+
return true;
|
|
151
|
+
if (line.startsWith("<picture"))
|
|
152
|
+
return true;
|
|
153
|
+
if (line.startsWith("</"))
|
|
154
|
+
return true;
|
|
155
|
+
if (line.startsWith("<"))
|
|
156
|
+
return true; // any HTML tag
|
|
157
|
+
if (line.startsWith("---") || line.startsWith("==="))
|
|
158
|
+
return true;
|
|
159
|
+
if (isOnlyHtml(line))
|
|
160
|
+
return true;
|
|
161
|
+
if (/^src=["']https?:/.test(line))
|
|
162
|
+
return true;
|
|
163
|
+
if (/^[a-z-]+=["'][^"']*["']\s*\/?>?\s*$/.test(line))
|
|
164
|
+
return true;
|
|
165
|
+
if (line === "/>" || line === ">")
|
|
166
|
+
return true;
|
|
167
|
+
return false;
|
|
168
|
+
}
|
|
169
|
+
// Try up to 5 candidate paragraphs — return the first one that passes quality checks
|
|
170
|
+
let i = 0;
|
|
171
|
+
let attempts = 0;
|
|
172
|
+
while (i < lines.length && attempts < 5) {
|
|
173
|
+
// Skip noise lines
|
|
174
|
+
while (i < lines.length && isSkippableLine(lines[i].trim()))
|
|
175
|
+
i++;
|
|
176
|
+
if (i >= lines.length)
|
|
177
|
+
break;
|
|
178
|
+
// Collect a paragraph
|
|
179
|
+
const para = [];
|
|
180
|
+
while (i < lines.length) {
|
|
181
|
+
const line = lines[i].trim();
|
|
182
|
+
if (line === "") {
|
|
183
|
+
i++;
|
|
184
|
+
break;
|
|
185
|
+
}
|
|
186
|
+
if (isSkippableLine(line)) {
|
|
187
|
+
i++;
|
|
188
|
+
break;
|
|
189
|
+
}
|
|
190
|
+
if (line.startsWith("---")) {
|
|
191
|
+
i++;
|
|
192
|
+
break;
|
|
193
|
+
}
|
|
194
|
+
if (line.startsWith("```")) {
|
|
195
|
+
i++;
|
|
196
|
+
break;
|
|
197
|
+
}
|
|
198
|
+
if (/^\[.+\]:/.test(line)) {
|
|
199
|
+
i++;
|
|
200
|
+
break;
|
|
201
|
+
}
|
|
202
|
+
if (line.startsWith(">")) {
|
|
203
|
+
i++;
|
|
204
|
+
break;
|
|
205
|
+
}
|
|
206
|
+
para.push(line);
|
|
207
|
+
i++;
|
|
208
|
+
}
|
|
209
|
+
attempts++;
|
|
210
|
+
if (para.length === 0)
|
|
211
|
+
continue;
|
|
212
|
+
const raw = para.join(" ").replace(/\s+/g, " ").trim();
|
|
213
|
+
const clean = stripMarkdown(raw);
|
|
214
|
+
if (clean.length < 10)
|
|
215
|
+
continue;
|
|
216
|
+
if (!clean.includes(" "))
|
|
217
|
+
continue; // single-word fragment
|
|
218
|
+
if (clean.startsWith("http"))
|
|
219
|
+
continue; // bare URL
|
|
220
|
+
if (/^\d+\./.test(clean))
|
|
221
|
+
continue; // numbered list (installation steps)
|
|
222
|
+
if (clean.startsWith("- ") || clean.startsWith("* "))
|
|
223
|
+
continue; // bullet list
|
|
224
|
+
// Skip install/setup boilerplate (e.g. bun/npm template READMEs)
|
|
225
|
+
if (/^to (install|run|use|build|start|get started)/i.test(clean))
|
|
226
|
+
continue;
|
|
227
|
+
if (/^(install|clone|run|execute|download) (this|the|with|using)/i.test(clean))
|
|
228
|
+
continue;
|
|
229
|
+
if (/^(getting started|prerequisites|requirements|setup|quick start)/i.test(clean))
|
|
230
|
+
continue;
|
|
231
|
+
if (/^(first,?\s+)?(install|clone|run|init)/i.test(clean))
|
|
232
|
+
continue;
|
|
233
|
+
return firstNSentences(clean, 3);
|
|
234
|
+
}
|
|
235
|
+
return null;
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Extracts the architecture/structure section from CONTRIBUTING.md.
|
|
239
|
+
* Returns up to 30 lines of content after the matched heading.
|
|
240
|
+
*/
|
|
241
|
+
function extractArchSection(markdown) {
|
|
242
|
+
const lines = markdown.split("\n");
|
|
243
|
+
let capturing = false;
|
|
244
|
+
let level = 0;
|
|
245
|
+
const out = [];
|
|
246
|
+
for (const line of lines) {
|
|
247
|
+
const headingMatch = line.match(/^(#{1,4})\s+(.+)/);
|
|
248
|
+
if (headingMatch && ARCH_HEADER.test(line)) {
|
|
249
|
+
capturing = true;
|
|
250
|
+
level = headingMatch[1].length;
|
|
251
|
+
out.push(line);
|
|
252
|
+
continue;
|
|
253
|
+
}
|
|
254
|
+
if (capturing) {
|
|
255
|
+
if (headingMatch && headingMatch[1].length <= level)
|
|
256
|
+
break; // next same-level heading
|
|
257
|
+
out.push(line);
|
|
258
|
+
if (out.length > 30)
|
|
259
|
+
break;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
const result = out.join("\n").trim();
|
|
263
|
+
return result.length > 20 ? result : null;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Splits text into sentences and returns the first N.
|
|
267
|
+
*/
|
|
268
|
+
function firstNSentences(text, n) {
|
|
269
|
+
// Sentence ending: . ! ? followed by space + capital (or end of string)
|
|
270
|
+
const re = /[.!?]+(?:\s+(?=[A-Z])|$)/g;
|
|
271
|
+
const sentences = [];
|
|
272
|
+
let last = 0;
|
|
273
|
+
let m;
|
|
274
|
+
while ((m = re.exec(text)) !== null) {
|
|
275
|
+
sentences.push(text.slice(last, m.index + m[0].length).trim());
|
|
276
|
+
last = m.index + m[0].length;
|
|
277
|
+
if (sentences.length >= n)
|
|
278
|
+
break;
|
|
279
|
+
}
|
|
280
|
+
if (sentences.length < n && last < text.length) {
|
|
281
|
+
const remainder = text.slice(last).trim();
|
|
282
|
+
if (remainder)
|
|
283
|
+
sentences.push(remainder);
|
|
284
|
+
}
|
|
285
|
+
return sentences.join(" ").trim();
|
|
286
|
+
}
|
|
287
|
+
// ── Filesystem helpers ────────────────────────────────────────────────
|
|
288
|
+
/** Strips common markdown formatting from a string */
|
|
289
|
+
function stripMarkdown(text) {
|
|
290
|
+
return text
|
|
291
|
+
.replace(/\*\*(.+?)\*\*/g, "$1") // **bold**
|
|
292
|
+
.replace(/\*(.+?)\*/g, "$1") // *italic*
|
|
293
|
+
.replace(/__(.+?)__/g, "$1") // __bold__
|
|
294
|
+
.replace(/_(.+?)_/g, "$1") // _italic_
|
|
295
|
+
.replace(/`(.+?)`/g, "$1") // `code`
|
|
296
|
+
.replace(/\[([^\]]+)\]\([^)]+\)/g, "$1") // [text](url)
|
|
297
|
+
.replace(/!\[([^\]]*)\]\([^)]+\)/g, "") //  — remove images
|
|
298
|
+
.replace(/<[^>]+>/g, "") // HTML tags
|
|
299
|
+
.replace(/\s+/g, " ")
|
|
300
|
+
.trim();
|
|
301
|
+
}
|
|
302
|
+
/** Returns true if the line consists entirely of HTML tags and whitespace */
|
|
303
|
+
function isOnlyHtml(line) {
|
|
304
|
+
const stripped = line.trim().replace(/<[^>]+>/g, "").trim();
|
|
305
|
+
return stripped.length === 0 && line.trim().length > 0;
|
|
306
|
+
}
|
|
307
|
+
function exists(p) {
|
|
308
|
+
try {
|
|
309
|
+
return fs.statSync(p).isFile();
|
|
310
|
+
}
|
|
311
|
+
catch {
|
|
312
|
+
return false;
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
function safeRead(p) {
|
|
316
|
+
try {
|
|
317
|
+
return fs.readFileSync(p, "utf8");
|
|
318
|
+
}
|
|
319
|
+
catch {
|
|
320
|
+
return null;
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
//# sourceMappingURL=readRepoContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readRepoContext.js","sourceRoot":"","sources":["../../src/builders/readRepoContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* readSystemReadme — reads human-written documentation per system.
|
|
3
|
+
*
|
|
4
|
+
* For each detected system, reads:
|
|
5
|
+
* 1. README.md in the system's root folder
|
|
6
|
+
* 2. package.json "description" field
|
|
7
|
+
*
|
|
8
|
+
* The README-derived summary replaces Memor's LLM-generated description
|
|
9
|
+
* when available — it is more accurate because a human wrote it.
|
|
10
|
+
*/
|
|
11
|
+
export type SystemReadme = {
|
|
12
|
+
/** First paragraph of this system's README.md */
|
|
13
|
+
readmeSummary: string | null;
|
|
14
|
+
readmeSource: string | null;
|
|
15
|
+
/** package.json "description" field — one-liner, always accurate */
|
|
16
|
+
packageDescription: string | null;
|
|
17
|
+
/**
|
|
18
|
+
* Best available description, in priority order:
|
|
19
|
+
* 1. README first paragraph (most detailed)
|
|
20
|
+
* 2. package.json description (concise but accurate)
|
|
21
|
+
* 3. null (nothing found — keep existing Memor description)
|
|
22
|
+
*/
|
|
23
|
+
bestDescription: string | null;
|
|
24
|
+
bestDescriptionSource: "README.md" | "package.json" | null;
|
|
25
|
+
};
|
|
26
|
+
export declare function readSystemReadme(systemRoot: string): SystemReadme;
|
|
27
|
+
/**
|
|
28
|
+
* Read README for every system in the analysis.
|
|
29
|
+
* Returns a map of systemId → SystemReadme.
|
|
30
|
+
* Uses systemFolders to resolve each system's root path.
|
|
31
|
+
*/
|
|
32
|
+
export declare function readAllSystemReadmes(repoRoot: string, systems: {
|
|
33
|
+
id: string;
|
|
34
|
+
name: string;
|
|
35
|
+
rootPath?: string;
|
|
36
|
+
}[], systemFolders?: Record<string, {
|
|
37
|
+
systemRootRel: string;
|
|
38
|
+
}>): Record<string, SystemReadme>;
|
|
39
|
+
//# sourceMappingURL=readSystemReadme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readSystemReadme.d.ts","sourceRoot":"","sources":["../../src/builders/readSystemReadme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,MAAM,MAAM,YAAY,GAAG;IACzB,iDAAiD;IACjD,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B,oEAAoE;IACpE,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAElC;;;;;OAKG;IACH,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,qBAAqB,EAAE,WAAW,GAAG,cAAc,GAAG,IAAI,CAAC;CAC5D,CAAC;AAIF,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAgDjE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,EAC1D,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC,GACxD,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAW9B"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* readSystemReadme — reads human-written documentation per system.
|
|
4
|
+
*
|
|
5
|
+
* For each detected system, reads:
|
|
6
|
+
* 1. README.md in the system's root folder
|
|
7
|
+
* 2. package.json "description" field
|
|
8
|
+
*
|
|
9
|
+
* The README-derived summary replaces Memor's LLM-generated description
|
|
10
|
+
* when available — it is more accurate because a human wrote it.
|
|
11
|
+
*/
|
|
12
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
15
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
16
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
17
|
+
}
|
|
18
|
+
Object.defineProperty(o, k2, desc);
|
|
19
|
+
}) : (function(o, m, k, k2) {
|
|
20
|
+
if (k2 === undefined) k2 = k;
|
|
21
|
+
o[k2] = m[k];
|
|
22
|
+
}));
|
|
23
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
24
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
25
|
+
}) : function(o, v) {
|
|
26
|
+
o["default"] = v;
|
|
27
|
+
});
|
|
28
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
29
|
+
var ownKeys = function(o) {
|
|
30
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
31
|
+
var ar = [];
|
|
32
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
33
|
+
return ar;
|
|
34
|
+
};
|
|
35
|
+
return ownKeys(o);
|
|
36
|
+
};
|
|
37
|
+
return function (mod) {
|
|
38
|
+
if (mod && mod.__esModule) return mod;
|
|
39
|
+
var result = {};
|
|
40
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
41
|
+
__setModuleDefault(result, mod);
|
|
42
|
+
return result;
|
|
43
|
+
};
|
|
44
|
+
})();
|
|
45
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
|
+
exports.readSystemReadme = readSystemReadme;
|
|
47
|
+
exports.readAllSystemReadmes = readAllSystemReadmes;
|
|
48
|
+
const fs = __importStar(require("fs"));
|
|
49
|
+
const path = __importStar(require("path"));
|
|
50
|
+
const readRepoContext_1 = require("./readRepoContext");
|
|
51
|
+
const README_NAMES = ["README.md", "readme.md", "README.MD", "Readme.md"];
|
|
52
|
+
function readSystemReadme(systemRoot) {
|
|
53
|
+
// ── Read README ─────────────────────────────────────────────────────
|
|
54
|
+
let readmeSummary = null;
|
|
55
|
+
let readmeSource = null;
|
|
56
|
+
for (const name of README_NAMES) {
|
|
57
|
+
const filePath = path.join(systemRoot, name);
|
|
58
|
+
if (!fileExists(filePath))
|
|
59
|
+
continue;
|
|
60
|
+
const content = safeRead(filePath);
|
|
61
|
+
if (!content)
|
|
62
|
+
continue;
|
|
63
|
+
const summary = (0, readRepoContext_1.extractFirstParagraph)(content);
|
|
64
|
+
if (summary && summary.length > 10) {
|
|
65
|
+
readmeSummary = summary;
|
|
66
|
+
readmeSource = name;
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
// ── Read package.json description ───────────────────────────────────
|
|
71
|
+
let packageDescription = null;
|
|
72
|
+
const pkgPath = path.join(systemRoot, "package.json");
|
|
73
|
+
if (fileExists(pkgPath)) {
|
|
74
|
+
try {
|
|
75
|
+
const pkg = JSON.parse(safeRead(pkgPath) ?? "{}");
|
|
76
|
+
const desc = typeof pkg.description === "string" ? pkg.description.trim() : null;
|
|
77
|
+
if (desc && desc.length > 5)
|
|
78
|
+
packageDescription = desc;
|
|
79
|
+
}
|
|
80
|
+
catch { /* ignore malformed package.json */ }
|
|
81
|
+
}
|
|
82
|
+
// ── Best available ───────────────────────────────────────────────────
|
|
83
|
+
let bestDescription = null;
|
|
84
|
+
let bestDescriptionSource = null;
|
|
85
|
+
if (readmeSummary) {
|
|
86
|
+
bestDescription = readmeSummary;
|
|
87
|
+
bestDescriptionSource = "README.md";
|
|
88
|
+
}
|
|
89
|
+
else if (packageDescription) {
|
|
90
|
+
bestDescription = packageDescription;
|
|
91
|
+
bestDescriptionSource = "package.json";
|
|
92
|
+
}
|
|
93
|
+
return {
|
|
94
|
+
readmeSummary,
|
|
95
|
+
readmeSource,
|
|
96
|
+
packageDescription,
|
|
97
|
+
bestDescription,
|
|
98
|
+
bestDescriptionSource,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Read README for every system in the analysis.
|
|
103
|
+
* Returns a map of systemId → SystemReadme.
|
|
104
|
+
* Uses systemFolders to resolve each system's root path.
|
|
105
|
+
*/
|
|
106
|
+
function readAllSystemReadmes(repoRoot, systems, systemFolders) {
|
|
107
|
+
const result = {};
|
|
108
|
+
for (const sys of systems) {
|
|
109
|
+
// Prefer systemFolders.systemRootRel (most accurate), fall back to rootPath
|
|
110
|
+
const relRoot = systemFolders?.[sys.id]?.systemRootRel ?? sys.rootPath ?? ".";
|
|
111
|
+
const absRoot = path.join(repoRoot, relRoot);
|
|
112
|
+
result[sys.id] = readSystemReadme(absRoot);
|
|
113
|
+
}
|
|
114
|
+
return result;
|
|
115
|
+
}
|
|
116
|
+
// ── Helpers ───────────────────────────────────────────────────────────
|
|
117
|
+
function fileExists(p) {
|
|
118
|
+
try {
|
|
119
|
+
return fs.statSync(p).isFile();
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
function safeRead(p) {
|
|
126
|
+
try {
|
|
127
|
+
return fs.readFileSync(p, "utf8");
|
|
128
|
+
}
|
|
129
|
+
catch {
|
|
130
|
+
return null;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=readSystemReadme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readSystemReadme.js","sourceRoot":"","sources":["../../src/builders/readSystemReadme.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { MemorSystem, SystemTier } from "../types";
|
|
2
|
+
export type RankingContext = {
|
|
3
|
+
candidateName: string;
|
|
4
|
+
underApps: boolean;
|
|
5
|
+
underPackages: boolean;
|
|
6
|
+
};
|
|
7
|
+
/** Tooling / config packages — low developer “start here” value */
|
|
8
|
+
export declare function isLikelySupportOnlyPackageName(name: string): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Primary = runnable / user-facing apps under apps or repo root.
|
|
11
|
+
* Secondary = valuable shared code. Support = config/types/tooling packages.
|
|
12
|
+
*/
|
|
13
|
+
export declare function assignSystemTier(system: MemorSystem, ctx: RankingContext): SystemTier;
|
|
14
|
+
/**
|
|
15
|
+
* Higher = show first in reports. Uses type, tier, layout, and a small confidence nudge.
|
|
16
|
+
*/
|
|
17
|
+
export declare function computeImportanceScore(system: MemorSystem, ctx: RankingContext): number;
|
|
18
|
+
/** Sort by importance only (legacy helper for single-tier lists). */
|
|
19
|
+
export declare function sortSystemsByRelevance(systems: MemorSystem[]): MemorSystem[];
|
|
20
|
+
/**
|
|
21
|
+
* Primary → secondary → support; within each tier by importance, confidence, name.
|
|
22
|
+
*/
|
|
23
|
+
export declare function sortSystemsGroupedByTier(systems: MemorSystem[]): MemorSystem[];
|
|
24
|
+
//# sourceMappingURL=systemRanking.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"systemRanking.d.ts","sourceRoot":"","sources":["../../src/builders/systemRanking.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAc,MAAM,UAAU,CAAC;AAGpE,MAAM,MAAM,cAAc,GAAG;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAMF,mEAAmE;AACnE,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAwBpE;AAkBD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,cAAc,GAClB,UAAU,CAmCZ;AAgBD;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,cAAc,GAClB,MAAM,CAeR;AAED,qEAAqE;AACrE,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAO5E;AAID;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAU9E"}
|