mdcontext 0.0.1 → 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/.changeset/README.md +28 -0
- package/.changeset/config.json +11 -0
- package/.claude/settings.local.json +25 -0
- package/.github/workflows/ci.yml +83 -0
- package/.github/workflows/claude-code-review.yml +44 -0
- package/.github/workflows/claude.yml +85 -0
- package/.github/workflows/release.yml +113 -0
- package/.tldrignore +112 -0
- package/BACKLOG.md +338 -0
- package/CONTRIBUTING.md +186 -0
- package/NOTES/NOTES +44 -0
- package/README.md +434 -11
- package/biome.json +36 -0
- package/cspell.config.yaml +14 -0
- package/dist/chunk-23UPXDNL.js +3044 -0
- package/dist/chunk-2W7MO2DL.js +1366 -0
- package/dist/chunk-3NUAZGMA.js +1689 -0
- package/dist/chunk-7TOWB2XB.js +366 -0
- package/dist/chunk-7XOTOADQ.js +3065 -0
- package/dist/chunk-AH2PDM2K.js +3042 -0
- package/dist/chunk-BNXWSZ63.js +3742 -0
- package/dist/chunk-BTL5DJVU.js +3222 -0
- package/dist/chunk-HDHYG7E4.js +104 -0
- package/dist/chunk-HLR4KZBP.js +3234 -0
- package/dist/chunk-IP3FRFEB.js +1045 -0
- package/dist/chunk-KHU56VDO.js +3042 -0
- package/dist/chunk-KRYIFLQR.js +88 -0
- package/dist/chunk-LBSDNLEM.js +287 -0
- package/dist/chunk-MNTQ7HCP.js +2643 -0
- package/dist/chunk-MUJELQQ6.js +1387 -0
- package/dist/chunk-MXJGMSLV.js +2199 -0
- package/dist/chunk-N6QJGC3Z.js +2636 -0
- package/dist/chunk-OBELGBPM.js +1713 -0
- package/dist/chunk-OT7R5XTA.js +3192 -0
- package/dist/chunk-P7X4RA2T.js +106 -0
- package/dist/chunk-PIDUQNC2.js +3185 -0
- package/dist/chunk-POGCDIH4.js +3187 -0
- package/dist/chunk-PSIEOQGZ.js +3043 -0
- package/dist/chunk-PVRT3IHA.js +3238 -0
- package/dist/chunk-QNN4TT23.js +1430 -0
- package/dist/chunk-RE3R45RJ.js +3042 -0
- package/dist/chunk-S7E6TFX6.js +803 -0
- package/dist/chunk-SG6GLU4U.js +1378 -0
- package/dist/chunk-SJCDV2ST.js +274 -0
- package/dist/chunk-SYE5XLF3.js +104 -0
- package/dist/chunk-T5VLYBZD.js +103 -0
- package/dist/chunk-TOQB7VWU.js +3238 -0
- package/dist/chunk-VFNMZ4ZQ.js +3228 -0
- package/dist/chunk-VVTGZNBT.js +1629 -0
- package/dist/chunk-W7Q4RFEV.js +104 -0
- package/dist/chunk-XTYYVRLO.js +3190 -0
- package/dist/chunk-Y6MDYVJD.js +3063 -0
- package/dist/cli/main.d.ts +1 -0
- package/dist/cli/main.js +5458 -0
- package/dist/index.d.ts +653 -0
- package/dist/index.js +79 -0
- package/dist/mcp/server.d.ts +1 -0
- package/dist/mcp/server.js +472 -0
- package/dist/schema-BAWSG7KY.js +22 -0
- package/dist/schema-E3QUPL26.js +20 -0
- package/dist/schema-EHL7WUT6.js +20 -0
- package/docs/019-USAGE.md +625 -0
- package/docs/020-current-implementation.md +364 -0
- package/docs/021-DOGFOODING-FINDINGS.md +175 -0
- package/docs/BACKLOG.md +80 -0
- package/docs/CONFIG.md +1123 -0
- package/docs/DESIGN.md +439 -0
- package/docs/ERRORS.md +383 -0
- package/docs/PROJECT.md +88 -0
- package/docs/ROADMAP.md +407 -0
- package/docs/summarization.md +320 -0
- package/docs/test-links.md +9 -0
- package/justfile +40 -0
- package/package.json +74 -9
- package/pnpm-workspace.yaml +5 -0
- package/research/INDEX.md +315 -0
- package/research/code-review/README.md +90 -0
- package/research/code-review/cli-error-handling-review.md +979 -0
- package/research/code-review/code-review-validation-report.md +464 -0
- package/research/code-review/main-ts-review.md +1128 -0
- package/research/config-analysis/01-current-implementation.md +470 -0
- package/research/config-analysis/02-strategy-recommendation.md +428 -0
- package/research/config-analysis/03-task-candidates.md +715 -0
- package/research/config-analysis/033-research-configuration-management.md +828 -0
- package/research/config-analysis/034-research-effect-cli-config.md +1504 -0
- package/research/config-analysis/04-consolidated-task-candidates.md +277 -0
- package/research/config-docs/SUMMARY.md +357 -0
- package/research/config-docs/TEST-RESULTS.md +776 -0
- package/research/config-docs/TODO.md +542 -0
- package/research/config-docs/analysis.md +744 -0
- package/research/config-docs/fix-validation.md +502 -0
- package/research/config-docs/help-audit.md +264 -0
- package/research/config-docs/help-system-analysis.md +890 -0
- package/research/dogfood/consolidated-tool-evaluation.md +373 -0
- package/research/dogfood/strategy-a/a-synthesis.md +184 -0
- package/research/dogfood/strategy-a/a1-docs.md +226 -0
- package/research/dogfood/strategy-a/a2-amorphic.md +156 -0
- package/research/dogfood/strategy-a/a3-llm.md +164 -0
- package/research/dogfood/strategy-b/b-synthesis.md +228 -0
- package/research/dogfood/strategy-b/b1-architecture.md +207 -0
- package/research/dogfood/strategy-b/b2-gaps.md +258 -0
- package/research/dogfood/strategy-b/b3-workflows.md +250 -0
- package/research/dogfood/strategy-c/c-synthesis.md +451 -0
- package/research/dogfood/strategy-c/c1-explorer.md +192 -0
- package/research/dogfood/strategy-c/c2-diver-memory.md +145 -0
- package/research/dogfood/strategy-c/c3-diver-control.md +148 -0
- package/research/dogfood/strategy-c/c4-diver-failure.md +151 -0
- package/research/dogfood/strategy-c/c5-diver-execution.md +221 -0
- package/research/dogfood/strategy-c/c6-diver-org.md +221 -0
- package/research/effect-cli-error-handling.md +845 -0
- package/research/effect-errors-as-values.md +943 -0
- package/research/errors-task-analysis/00-consolidated-tasks.md +207 -0
- package/research/errors-task-analysis/cli-commands-analysis.md +909 -0
- package/research/errors-task-analysis/embeddings-analysis.md +709 -0
- package/research/errors-task-analysis/index-search-analysis.md +812 -0
- package/research/frontmatter/COMMENTS-ARE-SKIPPED.md +149 -0
- package/research/frontmatter/LLM-CODE-NAVIGATION.md +276 -0
- package/research/issue-review.md +603 -0
- package/research/llm-summarization/agent-cli-tools-2026.md +1082 -0
- package/research/llm-summarization/alternative-providers-2026.md +1428 -0
- package/research/llm-summarization/anthropic-2026.md +367 -0
- package/research/llm-summarization/claude-cli-integration.md +1706 -0
- package/research/llm-summarization/cli-integration-patterns.md +3155 -0
- package/research/llm-summarization/openai-2026.md +473 -0
- package/research/llm-summarization/openai-compatible-providers-2026.md +1022 -0
- package/research/llm-summarization/opencode-cli-integration.md +1552 -0
- package/research/llm-summarization/prompt-engineering-2026.md +1426 -0
- package/research/llm-summarization/prototype-results.md +56 -0
- package/research/llm-summarization/provider-switching-patterns-2026.md +2153 -0
- package/research/llm-summarization/typescript-llm-libraries-2026.md +2436 -0
- package/research/mdcontext-error-analysis.md +521 -0
- package/research/mdcontext-pudding/00-EXECUTIVE-SUMMARY.md +282 -0
- package/research/mdcontext-pudding/01-index-embed.md +956 -0
- package/research/mdcontext-pudding/02-search-COMMANDS.md +142 -0
- package/research/mdcontext-pudding/02-search-SUMMARY.md +146 -0
- package/research/mdcontext-pudding/02-search.md +970 -0
- package/research/mdcontext-pudding/03-context.md +779 -0
- package/research/mdcontext-pudding/04-navigation-and-analytics.md +803 -0
- package/research/mdcontext-pudding/04-tree.md +704 -0
- package/research/mdcontext-pudding/05-config.md +1038 -0
- package/research/mdcontext-pudding/06-links-summary.txt +87 -0
- package/research/mdcontext-pudding/06-links.md +679 -0
- package/research/mdcontext-pudding/07-stats.md +693 -0
- package/research/mdcontext-pudding/BUG-FIX-PLAN.md +388 -0
- package/research/mdcontext-pudding/P0-BUG-VALIDATION.md +167 -0
- package/research/mdcontext-pudding/README.md +168 -0
- package/research/mdcontext-pudding/TESTING-SUMMARY.md +128 -0
- package/research/npm_publish/011-npm-workflow-research-agent2.md +792 -0
- package/research/npm_publish/012-npm-workflow-research-agent1.md +530 -0
- package/research/npm_publish/013-npm-workflow-research-agent3.md +722 -0
- package/research/npm_publish/014-npm-workflow-synthesis.md +556 -0
- package/research/npm_publish/031-npm-workflow-task-analysis.md +134 -0
- package/research/research-quality-review.md +834 -0
- package/research/semantic-search/002-research-embedding-models.md +490 -0
- package/research/semantic-search/003-research-rag-alternatives.md +523 -0
- package/research/semantic-search/004-research-vector-search.md +841 -0
- package/research/semantic-search/032-research-semantic-search.md +427 -0
- package/research/semantic-search/embedding-text-analysis.md +156 -0
- package/research/semantic-search/multi-word-failure-reproduction.md +171 -0
- package/research/semantic-search/query-processing-analysis.md +207 -0
- package/research/semantic-search/root-cause-and-solution.md +114 -0
- package/research/semantic-search/threshold-validation-report.md +69 -0
- package/research/semantic-search/vector-search-analysis.md +63 -0
- package/research/task-management-2026/00-synthesis-recommendations.md +295 -0
- package/research/task-management-2026/01-ai-workflow-tools.md +416 -0
- package/research/task-management-2026/02-agent-framework-patterns.md +476 -0
- package/research/task-management-2026/03-lightweight-file-based.md +567 -0
- package/research/task-management-2026/04-established-tools-ai-features.md +541 -0
- package/research/task-management-2026/linear/01-core-features-workflow.md +771 -0
- package/research/task-management-2026/linear/02-api-integrations.md +930 -0
- package/research/task-management-2026/linear/03-ai-features.md +368 -0
- package/research/task-management-2026/linear/04-pricing-setup.md +205 -0
- package/research/task-management-2026/linear/05-usage-patterns-best-practices.md +605 -0
- package/research/test-path-issues.md +276 -0
- package/review/ALP-76/1-error-type-design.md +962 -0
- package/review/ALP-76/2-error-handling-patterns.md +906 -0
- package/review/ALP-76/3-error-presentation.md +624 -0
- package/review/ALP-76/4-test-coverage.md +625 -0
- package/review/ALP-76/5-migration-completeness.md +440 -0
- package/review/ALP-76/6-effect-best-practices.md +755 -0
- package/scripts/apply-branch-protection.sh +47 -0
- package/scripts/branch-protection-templates.json +79 -0
- package/scripts/prototype-summarization.ts +346 -0
- package/scripts/rebuild-hnswlib.js +58 -0
- package/scripts/setup-branch-protection.sh +64 -0
- package/src/__tests__/fixtures/semantic-search/multi-word-corpus/.mdcontext/active-provider.json +7 -0
- package/src/__tests__/fixtures/semantic-search/multi-word-corpus/.mdcontext/bm25.json +541 -0
- package/src/__tests__/fixtures/semantic-search/multi-word-corpus/.mdcontext/bm25.meta.json +5 -0
- package/src/__tests__/fixtures/semantic-search/multi-word-corpus/.mdcontext/config.json +8 -0
- package/src/__tests__/fixtures/semantic-search/multi-word-corpus/.mdcontext/embeddings/openai_text-embedding-3-small_512/vectors.bin +0 -0
- package/src/__tests__/fixtures/semantic-search/multi-word-corpus/.mdcontext/embeddings/openai_text-embedding-3-small_512/vectors.meta.bin +0 -0
- package/src/__tests__/fixtures/semantic-search/multi-word-corpus/.mdcontext/indexes/documents.json +60 -0
- package/src/__tests__/fixtures/semantic-search/multi-word-corpus/.mdcontext/indexes/links.json +13 -0
- package/src/__tests__/fixtures/semantic-search/multi-word-corpus/.mdcontext/indexes/sections.json +1197 -0
- package/src/__tests__/fixtures/semantic-search/multi-word-corpus/configuration-management.md +99 -0
- package/src/__tests__/fixtures/semantic-search/multi-word-corpus/distributed-systems.md +92 -0
- package/src/__tests__/fixtures/semantic-search/multi-word-corpus/error-handling.md +78 -0
- package/src/__tests__/fixtures/semantic-search/multi-word-corpus/failure-automation.md +55 -0
- package/src/__tests__/fixtures/semantic-search/multi-word-corpus/job-context.md +69 -0
- package/src/__tests__/fixtures/semantic-search/multi-word-corpus/process-orchestration.md +99 -0
- package/src/cli/argv-preprocessor.test.ts +210 -0
- package/src/cli/argv-preprocessor.ts +202 -0
- package/src/cli/cli.test.ts +627 -0
- package/src/cli/commands/backlinks.ts +54 -0
- package/src/cli/commands/config-cmd.ts +642 -0
- package/src/cli/commands/context.ts +285 -0
- package/src/cli/commands/duplicates.ts +122 -0
- package/src/cli/commands/embeddings.ts +529 -0
- package/src/cli/commands/index-cmd.ts +480 -0
- package/src/cli/commands/index.ts +16 -0
- package/src/cli/commands/links.ts +52 -0
- package/src/cli/commands/search.ts +1281 -0
- package/src/cli/commands/stats.ts +149 -0
- package/src/cli/commands/tree.ts +128 -0
- package/src/cli/config-layer.ts +176 -0
- package/src/cli/error-handler.test.ts +235 -0
- package/src/cli/error-handler.ts +655 -0
- package/src/cli/flag-schemas.ts +341 -0
- package/src/cli/help.ts +588 -0
- package/src/cli/index.ts +9 -0
- package/src/cli/main.ts +435 -0
- package/src/cli/options.ts +41 -0
- package/src/cli/shared-error-handling.ts +199 -0
- package/src/cli/typo-suggester.test.ts +105 -0
- package/src/cli/typo-suggester.ts +130 -0
- package/src/cli/utils.ts +259 -0
- package/src/config/file-provider.test.ts +320 -0
- package/src/config/file-provider.ts +273 -0
- package/src/config/index.ts +72 -0
- package/src/config/integration.test.ts +667 -0
- package/src/config/precedence.test.ts +277 -0
- package/src/config/precedence.ts +451 -0
- package/src/config/schema.test.ts +414 -0
- package/src/config/schema.ts +603 -0
- package/src/config/service.test.ts +320 -0
- package/src/config/service.ts +243 -0
- package/src/config/testing.test.ts +264 -0
- package/src/config/testing.ts +110 -0
- package/src/core/index.ts +1 -0
- package/src/core/types.ts +113 -0
- package/src/duplicates/detector.test.ts +183 -0
- package/src/duplicates/detector.ts +414 -0
- package/src/duplicates/index.ts +18 -0
- package/src/embeddings/embedding-namespace.test.ts +300 -0
- package/src/embeddings/embedding-namespace.ts +947 -0
- package/src/embeddings/heading-boost.test.ts +222 -0
- package/src/embeddings/hnsw-build-options.test.ts +198 -0
- package/src/embeddings/hyde.test.ts +272 -0
- package/src/embeddings/hyde.ts +264 -0
- package/src/embeddings/index.ts +10 -0
- package/src/embeddings/openai-provider.ts +414 -0
- package/src/embeddings/pricing.json +22 -0
- package/src/embeddings/provider-constants.ts +204 -0
- package/src/embeddings/provider-errors.test.ts +967 -0
- package/src/embeddings/provider-errors.ts +565 -0
- package/src/embeddings/provider-factory.test.ts +240 -0
- package/src/embeddings/provider-factory.ts +225 -0
- package/src/embeddings/provider-integration.test.ts +788 -0
- package/src/embeddings/query-preprocessing.test.ts +187 -0
- package/src/embeddings/semantic-search-threshold.test.ts +508 -0
- package/src/embeddings/semantic-search.ts +1270 -0
- package/src/embeddings/types.ts +359 -0
- package/src/embeddings/vector-store.ts +708 -0
- package/src/embeddings/voyage-provider.ts +313 -0
- package/src/errors/errors.test.ts +845 -0
- package/src/errors/index.ts +533 -0
- package/src/index/ignore-patterns.test.ts +354 -0
- package/src/index/ignore-patterns.ts +305 -0
- package/src/index/index.ts +4 -0
- package/src/index/indexer.ts +684 -0
- package/src/index/storage.ts +260 -0
- package/src/index/types.ts +147 -0
- package/src/index/watcher.ts +189 -0
- package/src/index.ts +30 -0
- package/src/integration/search-keyword.test.ts +678 -0
- package/src/mcp/server.ts +612 -0
- package/src/parser/index.ts +1 -0
- package/src/parser/parser.test.ts +291 -0
- package/src/parser/parser.ts +394 -0
- package/src/parser/section-filter.test.ts +277 -0
- package/src/parser/section-filter.ts +392 -0
- package/src/search/__tests__/hybrid-search.test.ts +650 -0
- package/src/search/bm25-store.ts +366 -0
- package/src/search/cross-encoder.test.ts +253 -0
- package/src/search/cross-encoder.ts +406 -0
- package/src/search/fuzzy-search.test.ts +419 -0
- package/src/search/fuzzy-search.ts +273 -0
- package/src/search/hybrid-search.ts +448 -0
- package/src/search/path-matcher.test.ts +276 -0
- package/src/search/path-matcher.ts +33 -0
- package/src/search/query-parser.test.ts +260 -0
- package/src/search/query-parser.ts +319 -0
- package/src/search/searcher.test.ts +280 -0
- package/src/search/searcher.ts +724 -0
- package/src/search/wink-bm25.d.ts +30 -0
- package/src/summarization/cli-providers/claude.ts +202 -0
- package/src/summarization/cli-providers/detection.test.ts +273 -0
- package/src/summarization/cli-providers/detection.ts +118 -0
- package/src/summarization/cli-providers/index.ts +8 -0
- package/src/summarization/cost.test.ts +139 -0
- package/src/summarization/cost.ts +102 -0
- package/src/summarization/error-handler.test.ts +127 -0
- package/src/summarization/error-handler.ts +111 -0
- package/src/summarization/index.ts +102 -0
- package/src/summarization/pipeline.test.ts +498 -0
- package/src/summarization/pipeline.ts +231 -0
- package/src/summarization/prompts.test.ts +269 -0
- package/src/summarization/prompts.ts +133 -0
- package/src/summarization/provider-factory.test.ts +396 -0
- package/src/summarization/provider-factory.ts +178 -0
- package/src/summarization/types.ts +184 -0
- package/src/summarize/budget-bugs.test.ts +620 -0
- package/src/summarize/formatters.ts +419 -0
- package/src/summarize/index.ts +20 -0
- package/src/summarize/summarizer.test.ts +275 -0
- package/src/summarize/summarizer.ts +597 -0
- package/src/summarize/verify-bugs.test.ts +238 -0
- package/src/types/huggingface-transformers.d.ts +66 -0
- package/src/utils/index.ts +1 -0
- package/src/utils/tokens.test.ts +142 -0
- package/src/utils/tokens.ts +186 -0
- package/tests/fixtures/cli/.mdcontext/active-provider.json +7 -0
- package/tests/fixtures/cli/.mdcontext/config.json +8 -0
- package/tests/fixtures/cli/.mdcontext/embeddings/openai_text-embedding-3-small_512/vectors.bin +0 -0
- package/tests/fixtures/cli/.mdcontext/embeddings/openai_text-embedding-3-small_512/vectors.meta.bin +0 -0
- package/tests/fixtures/cli/.mdcontext/indexes/documents.json +33 -0
- package/tests/fixtures/cli/.mdcontext/indexes/links.json +12 -0
- package/tests/fixtures/cli/.mdcontext/indexes/sections.json +247 -0
- package/tests/fixtures/cli/README.md +9 -0
- package/tests/fixtures/cli/api-reference.md +11 -0
- package/tests/fixtures/cli/getting-started.md +11 -0
- package/tests/integration/embed-index.test.ts +712 -0
- package/tests/integration/search-context.test.ts +469 -0
- package/tests/integration/search-semantic.test.ts +522 -0
- package/tsconfig.json +26 -0
- package/vitest.config.ts +16 -0
- package/vitest.setup.ts +12 -0
package/BACKLOG.md
ADDED
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
# mdcontext Improvement Backlog
|
|
2
|
+
|
|
3
|
+
> Generated from validation experiment with 11 AI agents across 3 strategies.
|
|
4
|
+
> See `/reports/FINAL-SYNTHESIS.md` for full analysis.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## P0 - Critical (Blocking Agent Workflows)
|
|
9
|
+
|
|
10
|
+
### 1. Boolean Query Operators
|
|
11
|
+
|
|
12
|
+
**Problem:** Agents couldn't search for multi-term concepts like "architecture AND criticism" or "checkpoint NOT example". Phrases returned 0 results even when concepts were present separately.
|
|
13
|
+
|
|
14
|
+
**Impact:** 3-5x more commands needed for workaround (multiple single-term searches + manual correlation). Strategy B agents rated tool lower (4.2/5) partly due to this.
|
|
15
|
+
|
|
16
|
+
**Solution:** Add boolean operators to search command.
|
|
17
|
+
|
|
18
|
+
**Acceptance Criteria:**
|
|
19
|
+
- [ ] `mdcontext search "auth AND criticism"` returns results containing both terms
|
|
20
|
+
- [ ] `mdcontext search "checkpoint OR gate"` returns results containing either term
|
|
21
|
+
- [ ] `mdcontext search "implementation NOT example"` excludes results with "example"
|
|
22
|
+
- [ ] `mdcontext search --help` documents boolean syntax
|
|
23
|
+
|
|
24
|
+
**Effort:** Medium
|
|
25
|
+
|
|
26
|
+
**Sources:** B1, B2, B3, C3, C4, FINAL-SYNTHESIS
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
### 2. Graceful Embeddings Fallback
|
|
31
|
+
|
|
32
|
+
**Problem:** Semantic searches returned 0 results without clear indication that embeddings weren't built. Agent A2 was confused by silent failures.
|
|
33
|
+
|
|
34
|
+
**Impact:** Inconsistent behavior, wasted agent turns, reduced confidence. A2 rating would be 5/5 with better UX.
|
|
35
|
+
|
|
36
|
+
**Solution:** Auto-detect embeddings state and provide clear feedback.
|
|
37
|
+
|
|
38
|
+
**Acceptance Criteria:**
|
|
39
|
+
- [ ] When embeddings don't exist, search shows: "Semantic search unavailable. Using structural search. Run `mdcontext index --embed` for semantic search."
|
|
40
|
+
- [ ] OR: Auto-prompt on first search: "Enable semantic search? (requires ~30s indexing)"
|
|
41
|
+
- [ ] Search output shows mode indicator: `[semantic]` or `[structural]`
|
|
42
|
+
- [ ] `mdcontext stats` shows embeddings status: "Embeddings: Yes/No (run index --embed to enable)"
|
|
43
|
+
|
|
44
|
+
**Effort:** Low-Medium
|
|
45
|
+
|
|
46
|
+
**Sources:** A2, FINAL-SYNTHESIS
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
### 3. Section-Level Context Extraction
|
|
51
|
+
|
|
52
|
+
**Problem:** Agents couldn't request context for a specific section without retrieving the entire file. When investigating a specific subsection, full-file context wastes tokens.
|
|
53
|
+
|
|
54
|
+
**Impact:** Over-retrieval or multiple refined searches needed. Forces choosing between full context or aggressive summarization.
|
|
55
|
+
|
|
56
|
+
**Solution:** Enable section-targeted context extraction.
|
|
57
|
+
|
|
58
|
+
**Acceptance Criteria:**
|
|
59
|
+
- [ ] `mdcontext context file.md --section "Memory Model"` returns only that section
|
|
60
|
+
- [ ] `mdcontext context file.md:5.3` returns section 5.3 (by number)
|
|
61
|
+
- [ ] `mdcontext context file.md --section "Memory*"` supports glob patterns
|
|
62
|
+
- [ ] Nested sections included by default, `--shallow` flag for top-level only
|
|
63
|
+
|
|
64
|
+
**Effort:** Medium-High
|
|
65
|
+
|
|
66
|
+
**Sources:** A1, A2, C2, C4, FINAL-SYNTHESIS
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## P1 - High Priority (Significant UX Improvement)
|
|
71
|
+
|
|
72
|
+
### 4. Search Result Context Lines
|
|
73
|
+
|
|
74
|
+
**Problem:** Search results show line numbers but minimal surrounding context. Hard to evaluate relevance without reading full sections.
|
|
75
|
+
|
|
76
|
+
**Impact:** Extra commands needed to fetch context around matches. Agents requested grep-like `-C` behavior.
|
|
77
|
+
|
|
78
|
+
**Solution:** Add context lines around search matches.
|
|
79
|
+
|
|
80
|
+
**Acceptance Criteria:**
|
|
81
|
+
- [ ] `mdcontext search "checkpoint" -C 3` shows 3 lines before/after each match
|
|
82
|
+
- [ ] `mdcontext search "checkpoint" -B 2 -A 5` shows 2 before, 5 after
|
|
83
|
+
- [ ] Context lines clearly delineated from match lines
|
|
84
|
+
- [ ] Works with both structural and semantic search
|
|
85
|
+
|
|
86
|
+
**Effort:** Low-Medium
|
|
87
|
+
|
|
88
|
+
**Sources:** B2, C3, C5, FINAL-SYNTHESIS
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
### 5. Remove 10-Result Limit / Add Pagination
|
|
93
|
+
|
|
94
|
+
**Problem:** Default 10 results per query makes it hard to see ALL occurrences of a theme. Agents needed multiple queries to ensure comprehensive coverage.
|
|
95
|
+
|
|
96
|
+
**Impact:** Incomplete results for common terms, extra commands for pagination workarounds.
|
|
97
|
+
|
|
98
|
+
**Solution:** Add flags for result limit control.
|
|
99
|
+
|
|
100
|
+
**Acceptance Criteria:**
|
|
101
|
+
- [ ] `mdcontext search "workflow" --all` shows all matches (no limit)
|
|
102
|
+
- [ ] `mdcontext search "workflow" -n 50` shows up to 50 results
|
|
103
|
+
- [ ] `mdcontext search "workflow" --offset 10 -n 10` for pagination
|
|
104
|
+
- [ ] Default remains 10 for quick searches
|
|
105
|
+
|
|
106
|
+
**Effort:** Low
|
|
107
|
+
|
|
108
|
+
**Sources:** B1, B3, C1, FINAL-SYNTHESIS
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
### 6. Truncation UX Improvement
|
|
113
|
+
|
|
114
|
+
**Problem:** When output truncated, agents couldn't selectively access missing sections. Truncation note appeared at end, not clearly signaled upfront.
|
|
115
|
+
|
|
116
|
+
**Impact:** Forces over-retrieval or multiple refined searches. 50-96% reduction sometimes excessive.
|
|
117
|
+
|
|
118
|
+
**Solution:** Better truncation signaling and navigation.
|
|
119
|
+
|
|
120
|
+
**Acceptance Criteria:**
|
|
121
|
+
- [ ] Truncation warning appears at TOP of output: "Output truncated (showing 2000/8500 tokens). Use --full or --section to retrieve more."
|
|
122
|
+
- [ ] `mdcontext context file.md --full` shows complete content (no truncation)
|
|
123
|
+
- [ ] Truncated output shows which sections were included/excluded
|
|
124
|
+
- [ ] `mdcontext context file.md --sections` lists available sections for targeted retrieval
|
|
125
|
+
|
|
126
|
+
**Effort:** Medium
|
|
127
|
+
|
|
128
|
+
**Sources:** A2, B2, C2, FINAL-SYNTHESIS
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
### 7. Phrase Search with Quotes
|
|
133
|
+
|
|
134
|
+
**Problem:** No way to search for exact phrases. "context resumption" as two words found irrelevant matches.
|
|
135
|
+
|
|
136
|
+
**Impact:** Reduced precision for multi-word concepts.
|
|
137
|
+
|
|
138
|
+
**Solution:** Support quoted phrase search.
|
|
139
|
+
|
|
140
|
+
**Acceptance Criteria:**
|
|
141
|
+
- [ ] `mdcontext search '"context resumption"'` matches exact phrase only
|
|
142
|
+
- [ ] `mdcontext search '"drift-free"'` matches hyphenated terms
|
|
143
|
+
- [ ] Can combine with boolean: `mdcontext search '"context resumption" AND drift`
|
|
144
|
+
- [ ] `mdcontext search --help` documents phrase syntax
|
|
145
|
+
|
|
146
|
+
**Effort:** Medium
|
|
147
|
+
|
|
148
|
+
**Sources:** B1, B2, FINAL-SYNTHESIS
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## P2 - Medium Priority (Nice to Have)
|
|
153
|
+
|
|
154
|
+
### 8. Cross-File Link Analysis
|
|
155
|
+
|
|
156
|
+
**Problem:** No command to find which files reference which concepts. Backlinks/links commands showed 0 for most queries.
|
|
157
|
+
|
|
158
|
+
**Impact:** Manual grep needed to understand document relationships. Particularly wanted by Strategy C agents for architectural investigation.
|
|
159
|
+
|
|
160
|
+
**Solution:** Implement concept-based cross-file analysis.
|
|
161
|
+
|
|
162
|
+
**Acceptance Criteria:**
|
|
163
|
+
- [ ] `mdcontext refs "Execution Context"` shows all files mentioning this concept
|
|
164
|
+
- [ ] `mdcontext refs --graph` outputs dependency graph (mermaid/dot format)
|
|
165
|
+
- [ ] `mdcontext backlinks file.md` shows files that link TO this file
|
|
166
|
+
- [ ] Works with markdown links `[text](file.md)` and concept mentions
|
|
167
|
+
|
|
168
|
+
**Effort:** High
|
|
169
|
+
|
|
170
|
+
**Sources:** C1, C6, FINAL-SYNTHESIS
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
### 9. Neighborhood View Around Search Results
|
|
175
|
+
|
|
176
|
+
**Problem:** Search results show isolated matches. Agents wanted to see adjacent sections for context without fetching entire file.
|
|
177
|
+
|
|
178
|
+
**Impact:** Extra context commands needed to understand match surroundings.
|
|
179
|
+
|
|
180
|
+
**Solution:** Add section-level context around search results.
|
|
181
|
+
|
|
182
|
+
**Acceptance Criteria:**
|
|
183
|
+
- [ ] `mdcontext search "checkpoint" --context-sections 1` shows 1 section before/after each match
|
|
184
|
+
- [ ] Section context clearly labeled with headers
|
|
185
|
+
- [ ] Works with structural and semantic search
|
|
186
|
+
|
|
187
|
+
**Effort:** Medium
|
|
188
|
+
|
|
189
|
+
**Sources:** C2, C3, FINAL-SYNTHESIS
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
### 10. Search Mode Indicator
|
|
194
|
+
|
|
195
|
+
**Problem:** Agents couldn't tell if search was using semantic or structural mode. Behavior varied based on embeddings presence.
|
|
196
|
+
|
|
197
|
+
**Impact:** Confusion about why some searches worked differently than others.
|
|
198
|
+
|
|
199
|
+
**Solution:** Always show search mode in output.
|
|
200
|
+
|
|
201
|
+
**Acceptance Criteria:**
|
|
202
|
+
- [ ] Search results header shows: `[semantic search]` or `[structural search]`
|
|
203
|
+
- [ ] If semantic attempted but embeddings missing, show: `[structural search - embeddings not found]`
|
|
204
|
+
- [ ] `mdcontext search --mode` flag to force mode: `--mode semantic` or `--mode structural`
|
|
205
|
+
|
|
206
|
+
**Effort:** Low
|
|
207
|
+
|
|
208
|
+
**Sources:** A2, FINAL-SYNTHESIS
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
### 11. Query Syntax Help
|
|
213
|
+
|
|
214
|
+
**Problem:** Agents had to discover search syntax through trial and error. No examples in help.
|
|
215
|
+
|
|
216
|
+
**Impact:** Wasted turns on failed queries, inconsistent usage patterns.
|
|
217
|
+
|
|
218
|
+
**Solution:** Improve search help with examples.
|
|
219
|
+
|
|
220
|
+
**Acceptance Criteria:**
|
|
221
|
+
- [ ] `mdcontext search --help` includes example section:
|
|
222
|
+
```
|
|
223
|
+
EXAMPLES:
|
|
224
|
+
mdcontext search "auth" # Single term (structural)
|
|
225
|
+
mdcontext search "how to deploy" # Semantic (if embeddings exist)
|
|
226
|
+
mdcontext search "auth AND deploy" # Boolean AND
|
|
227
|
+
mdcontext search '"context resumption"' # Exact phrase
|
|
228
|
+
mdcontext search "impl NOT test" -C 3 # Exclude term, show context
|
|
229
|
+
```
|
|
230
|
+
- [ ] `mdcontext search --examples` shows extended examples with explanations
|
|
231
|
+
|
|
232
|
+
**Effort:** Low
|
|
233
|
+
|
|
234
|
+
**Sources:** B2, B3, FINAL-SYNTHESIS
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## P3 - Low Priority (Future Enhancements)
|
|
239
|
+
|
|
240
|
+
### 12. Multi-File Glob Context
|
|
241
|
+
|
|
242
|
+
**Problem:** Agents had to run context command on each file separately for batch operations.
|
|
243
|
+
|
|
244
|
+
**Impact:** More commands needed for comprehensive extraction.
|
|
245
|
+
|
|
246
|
+
**Solution:** Support glob patterns in context command.
|
|
247
|
+
|
|
248
|
+
**Acceptance Criteria:**
|
|
249
|
+
- [ ] `mdcontext context "docs/**/*.md"` extracts context from all matching files
|
|
250
|
+
- [ ] `mdcontext context "docs/*.md" -t 5000` applies token budget across all files
|
|
251
|
+
- [ ] Output clearly shows which content came from which file
|
|
252
|
+
|
|
253
|
+
**Effort:** Medium
|
|
254
|
+
|
|
255
|
+
**Sources:** FINAL-SYNTHESIS
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
### 13. Saved Queries / Aliases
|
|
260
|
+
|
|
261
|
+
**Problem:** Agents repeatedly ran similar complex queries.
|
|
262
|
+
|
|
263
|
+
**Impact:** Command duplication, typo risk.
|
|
264
|
+
|
|
265
|
+
**Solution:** Allow saving common query patterns.
|
|
266
|
+
|
|
267
|
+
**Acceptance Criteria:**
|
|
268
|
+
- [ ] `mdcontext alias add arch-issues "search 'architecture AND (problem OR issue OR concern)'"`
|
|
269
|
+
- [ ] `mdcontext arch-issues` runs saved query
|
|
270
|
+
- [ ] Aliases stored in `.mdcontext/aliases.json`
|
|
271
|
+
|
|
272
|
+
**Effort:** Medium
|
|
273
|
+
|
|
274
|
+
**Sources:** FINAL-SYNTHESIS
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
### 14. Relevance Score Display
|
|
279
|
+
|
|
280
|
+
**Problem:** Search results showed matches but not how relevant each match was.
|
|
281
|
+
|
|
282
|
+
**Impact:** Harder to prioritize which results to investigate first.
|
|
283
|
+
|
|
284
|
+
**Solution:** Show relevance/similarity scores.
|
|
285
|
+
|
|
286
|
+
**Acceptance Criteria:**
|
|
287
|
+
- [ ] Semantic search shows similarity score: `[0.87] docs/ARCH.md:45 - Control Plane...`
|
|
288
|
+
- [ ] Results sorted by relevance by default
|
|
289
|
+
- [ ] `--sort recent` flag to sort by file modification time instead
|
|
290
|
+
|
|
291
|
+
**Effort:** Low-Medium
|
|
292
|
+
|
|
293
|
+
**Sources:** C1, FINAL-SYNTHESIS
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
### 15. Troubleshooting Guide
|
|
298
|
+
|
|
299
|
+
**Problem:** Agents encountered issues (0 results, truncation, embeddings) without clear resolution paths.
|
|
300
|
+
|
|
301
|
+
**Impact:** Wasted turns debugging tool behavior.
|
|
302
|
+
|
|
303
|
+
**Solution:** Add troubleshooting documentation.
|
|
304
|
+
|
|
305
|
+
**Acceptance Criteria:**
|
|
306
|
+
- [ ] `mdcontext troubleshoot` command shows common issues and fixes
|
|
307
|
+
- [ ] Covers: 0 results, embeddings setup, truncation, index staleness
|
|
308
|
+
- [ ] OR: Add troubleshooting section to README
|
|
309
|
+
|
|
310
|
+
**Effort:** Low
|
|
311
|
+
|
|
312
|
+
**Sources:** FINAL-SYNTHESIS
|
|
313
|
+
|
|
314
|
+
---
|
|
315
|
+
|
|
316
|
+
## Summary
|
|
317
|
+
|
|
318
|
+
| Priority | Count | Theme |
|
|
319
|
+
|----------|-------|-------|
|
|
320
|
+
| P0 Critical | 3 | Boolean search, embeddings UX, section extraction |
|
|
321
|
+
| P1 High | 4 | Context lines, pagination, truncation, phrases |
|
|
322
|
+
| P2 Medium | 4 | Cross-file analysis, neighborhood view, mode indicator, help |
|
|
323
|
+
| P3 Low | 4 | Glob context, aliases, relevance scores, docs |
|
|
324
|
+
|
|
325
|
+
**Total: 15 actionable tasks**
|
|
326
|
+
|
|
327
|
+
---
|
|
328
|
+
|
|
329
|
+
## Validation Sources
|
|
330
|
+
|
|
331
|
+
All tasks derived from agent feedback across three strategies:
|
|
332
|
+
|
|
333
|
+
- **Strategy A:** A1, A2, A3, A-Synth (4 agents, by-folder approach)
|
|
334
|
+
- **Strategy B:** B1, B2, B3, B-Synth (4 agents, by-question approach)
|
|
335
|
+
- **Strategy C:** C1, C2-C6, C-Synth (7 agents, two-phase approach)
|
|
336
|
+
- **Final Synthesis:** Cross-strategy analysis
|
|
337
|
+
|
|
338
|
+
Full reports: `/Users/alphab/Dev/LLM/DEV/TMP/memory/reports/`
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
# Contributing to mdcontext
|
|
2
|
+
|
|
3
|
+
Thank you for your interest in contributing to mdcontext! This guide will help you get started.
|
|
4
|
+
|
|
5
|
+
## Development Setup
|
|
6
|
+
|
|
7
|
+
### Prerequisites
|
|
8
|
+
|
|
9
|
+
- Node.js >= 18.0.0
|
|
10
|
+
- pnpm (recommended, version 10+)
|
|
11
|
+
- Python 3.12+ (for native module compilation)
|
|
12
|
+
|
|
13
|
+
### Getting Started
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# Clone the repository
|
|
17
|
+
git clone https://github.com/mdcontext/mdcontext.git
|
|
18
|
+
cd mdcontext
|
|
19
|
+
|
|
20
|
+
# Install dependencies
|
|
21
|
+
pnpm install
|
|
22
|
+
|
|
23
|
+
# Build the project
|
|
24
|
+
pnpm build
|
|
25
|
+
|
|
26
|
+
# Run tests
|
|
27
|
+
pnpm test
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Available Commands
|
|
31
|
+
|
|
32
|
+
| Command | Description |
|
|
33
|
+
|---------|-------------|
|
|
34
|
+
| `pnpm build` | Build the project |
|
|
35
|
+
| `pnpm test` | Run the test suite |
|
|
36
|
+
| `pnpm test:all` | Run tests including semantic search tests (requires `OPENAI_API_KEY`) |
|
|
37
|
+
| `pnpm typecheck` | Run TypeScript type checking |
|
|
38
|
+
| `pnpm lint` | Run Biome linter |
|
|
39
|
+
| `pnpm format` | Format code with Biome |
|
|
40
|
+
| `pnpm check` | Run format, lint, and typecheck |
|
|
41
|
+
|
|
42
|
+
## Making Changes
|
|
43
|
+
|
|
44
|
+
1. **Create a branch** for your changes:
|
|
45
|
+
```bash
|
|
46
|
+
git checkout -b feature/my-awesome-feature
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
2. **Make your changes** and ensure:
|
|
50
|
+
- All tests pass: `pnpm test`
|
|
51
|
+
- Type checking passes: `pnpm typecheck`
|
|
52
|
+
- Code is formatted: `pnpm format`
|
|
53
|
+
|
|
54
|
+
3. **Create a changeset** (see below)
|
|
55
|
+
|
|
56
|
+
4. **Submit a pull request** to the `main` branch
|
|
57
|
+
|
|
58
|
+
## Changeset Workflow
|
|
59
|
+
|
|
60
|
+
We use [Changesets](https://github.com/changesets/changesets) to manage versions and releases. **Every PR that affects the published package should include a changeset.**
|
|
61
|
+
|
|
62
|
+
### Creating a Changeset
|
|
63
|
+
|
|
64
|
+
After making your changes, run:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
pnpm changeset
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
This will prompt you to:
|
|
71
|
+
1. Select the package (mdcontext)
|
|
72
|
+
2. Choose a bump type (patch/minor/major)
|
|
73
|
+
3. Write a summary of your changes
|
|
74
|
+
|
|
75
|
+
A markdown file will be created in the `.changeset/` directory. **Commit this file with your PR.**
|
|
76
|
+
|
|
77
|
+
### Choosing a Bump Type
|
|
78
|
+
|
|
79
|
+
| Type | When to use | Example |
|
|
80
|
+
|------|-------------|---------|
|
|
81
|
+
| **patch** | Bug fixes, documentation updates, internal refactors | Fixing a search result formatting bug |
|
|
82
|
+
| **minor** | New features that are backwards compatible | Adding a new CLI flag or command |
|
|
83
|
+
| **major** | Breaking changes to public API or CLI | Changing command syntax, removing flags |
|
|
84
|
+
|
|
85
|
+
#### Examples
|
|
86
|
+
|
|
87
|
+
**Patch** (bug fix):
|
|
88
|
+
```markdown
|
|
89
|
+
---
|
|
90
|
+
"mdcontext": patch
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
Fixed section extraction to correctly handle nested headings
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**Minor** (new feature):
|
|
97
|
+
```markdown
|
|
98
|
+
---
|
|
99
|
+
"mdcontext": minor
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
Added --json flag to context command for structured output
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
**Major** (breaking change):
|
|
106
|
+
```markdown
|
|
107
|
+
---
|
|
108
|
+
"mdcontext": major
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
Changed search command syntax: path argument now comes before query
|
|
112
|
+
|
|
113
|
+
Migration: `mdcontext search "query" path/` becomes `mdcontext search path/ "query"`
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### When You Don't Need a Changeset
|
|
117
|
+
|
|
118
|
+
- Documentation-only changes (README, comments)
|
|
119
|
+
- Test-only changes
|
|
120
|
+
- CI/tooling changes that don't affect the package
|
|
121
|
+
- Internal refactors with no user-facing changes
|
|
122
|
+
|
|
123
|
+
If the changesets bot comments on your PR asking for a changeset and you believe one isn't needed, you can add an empty changeset:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
pnpm changeset add --empty
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Release Process
|
|
130
|
+
|
|
131
|
+
Here's what happens after your PR is merged:
|
|
132
|
+
|
|
133
|
+
1. **Changesets are collected**: The release workflow detects changeset files in `main`
|
|
134
|
+
|
|
135
|
+
2. **Version Packages PR is created**: GitHub Actions creates a PR titled "chore: release packages" that:
|
|
136
|
+
- Bumps the version in `package.json`
|
|
137
|
+
- Updates `CHANGELOG.md` with your changeset descriptions
|
|
138
|
+
- Deletes the changeset files
|
|
139
|
+
|
|
140
|
+
3. **Publish on merge**: When a maintainer merges the "Version Packages" PR:
|
|
141
|
+
- The package is automatically published to npm
|
|
142
|
+
- A GitHub release is created
|
|
143
|
+
- Package provenance is attached via npm's OIDC support
|
|
144
|
+
|
|
145
|
+
### For Maintainers
|
|
146
|
+
|
|
147
|
+
To trigger a release:
|
|
148
|
+
1. Review the auto-generated "Version Packages" PR
|
|
149
|
+
2. Verify the version bump and changelog look correct
|
|
150
|
+
3. Merge the PR
|
|
151
|
+
4. The release happens automatically
|
|
152
|
+
|
|
153
|
+
## Code Style
|
|
154
|
+
|
|
155
|
+
- We use [Biome](https://biomejs.dev/) for formatting and linting
|
|
156
|
+
- Run `pnpm format` before committing
|
|
157
|
+
- TypeScript strict mode is enabled
|
|
158
|
+
- Prefer functional patterns (Effect-TS is used throughout)
|
|
159
|
+
|
|
160
|
+
## Testing
|
|
161
|
+
|
|
162
|
+
- Write tests for new features and bug fixes
|
|
163
|
+
- Tests are located in `*.test.ts` files alongside source files
|
|
164
|
+
- Use [Vitest](https://vitest.dev/) for testing
|
|
165
|
+
- Semantic search tests require `OPENAI_API_KEY` and are skipped by default
|
|
166
|
+
|
|
167
|
+
### Running Specific Tests
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
# Run a specific test file
|
|
171
|
+
pnpm vitest run src/search/searcher.test.ts
|
|
172
|
+
|
|
173
|
+
# Run tests matching a pattern
|
|
174
|
+
pnpm vitest run -t "keyword search"
|
|
175
|
+
|
|
176
|
+
# Watch mode during development
|
|
177
|
+
pnpm test:watch
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
## Questions?
|
|
181
|
+
|
|
182
|
+
- Open an issue for bugs or feature requests
|
|
183
|
+
- Check existing issues before creating new ones
|
|
184
|
+
- For questions about using mdcontext, see the README and docs/
|
|
185
|
+
|
|
186
|
+
Thank you for contributing!
|
package/NOTES/NOTES
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
ralph orchestrate search-enhancements
|
|
2
|
+
ralph orchestrate context-precision
|
|
3
|
+
ralph orchestrate embeddings-ux
|
|
4
|
+
|
|
5
|
+
- Semantic search with embeddings
|
|
6
|
+
- Boolean operators (AND, OR, NOT)
|
|
7
|
+
- Phrase search (exact match)
|
|
8
|
+
- Section-level context extraction
|
|
9
|
+
- Search context lines
|
|
10
|
+
|
|
11
|
+
Ideas for Part 3:
|
|
12
|
+
Option: A
|
|
13
|
+
Strategy: Feature Battle
|
|
14
|
+
Focus: Parallel agents each test ONE new feature (semantic,
|
|
15
|
+
boolean, phrase) - compare effectiveness
|
|
16
|
+
────────────────────────────────────────
|
|
17
|
+
Option: B
|
|
18
|
+
Strategy: Meta-Dogfood
|
|
19
|
+
Focus: Use mdtldr to explore md-tldr's own codebase - eat our
|
|
20
|
+
own
|
|
21
|
+
dogfood
|
|
22
|
+
────────────────────────────────────────
|
|
23
|
+
Option: C
|
|
24
|
+
Strategy: Query Refinement
|
|
25
|
+
Focus: Single agent that does iterative search, refining queries
|
|
26
|
+
|
|
27
|
+
based on results
|
|
28
|
+
────────────────────────────────────────
|
|
29
|
+
Option: D
|
|
30
|
+
Strategy: Scale Test
|
|
31
|
+
Focus: Same docs corpus but with much larger token budgets, more
|
|
32
|
+
|
|
33
|
+
-----
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
Let have a subagent review
|
|
37
|
+
/Users/alphab/Dev/LLM/DEV/md-tldr/docs/002-research-embedding-
|
|
38
|
+
models.md
|
|
39
|
+
/Users/alphab/Dev/LLM/DEV/md-tldr/docs/003-research-rag-altern
|
|
40
|
+
atives.md
|
|
41
|
+
/Users/alphab/Dev/LLM/DEV/md-tldr/docs/004-research-vector-sea
|
|
42
|
+
rch.md
|
|
43
|
+
|
|
44
|
+
and document task candidates
|