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
|
@@ -0,0 +1,776 @@
|
|
|
1
|
+
# Configuration Command Test Results
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
**RESEARCH METADATA**
|
|
5
|
+
|
|
6
|
+
- Analysis Date: 2026-01-24
|
|
7
|
+
- Git Commit: ~07c9e72ba01cda840046b96a1be4743a85e3d4c5 (pre-fix)
|
|
8
|
+
- Status: ✅ Valid (for time tested)
|
|
9
|
+
- Last Validated: 2026-01-24
|
|
10
|
+
- Worktree: nancy-ALP-139
|
|
11
|
+
- Index: [/research/INDEX.md](../INDEX.md)
|
|
12
|
+
|
|
13
|
+
**ACCURACY NOTE**
|
|
14
|
+
|
|
15
|
+
Tests run on pre-fix codebase. Results were accurate at time of testing.
|
|
16
|
+
Failed tests #2 and #9 (TypeScript config) are now resolved - limitation documented,
|
|
17
|
+
default changed to .js. Should re-run to verify current state.
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
**Test Date:** 2026-01-24
|
|
21
|
+
**Worktree:** nancy-ALP-139
|
|
22
|
+
**Test Environment:** macOS, Node.js 18+
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Test Summary
|
|
27
|
+
|
|
28
|
+
**Total Tests:** 12
|
|
29
|
+
**Passed:** 10
|
|
30
|
+
**Failed:** 2
|
|
31
|
+
**Pass Rate:** 83.3%
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Test Cases
|
|
36
|
+
|
|
37
|
+
### 1. Config Init - JSON Format ✅ PASS
|
|
38
|
+
|
|
39
|
+
**Command:**
|
|
40
|
+
```bash
|
|
41
|
+
npx . config init --format json
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**Expected:**
|
|
45
|
+
- Creates `mdcontext.config.json`
|
|
46
|
+
- Well-formatted JSON
|
|
47
|
+
- Includes all major config sections
|
|
48
|
+
- Valid JSON syntax
|
|
49
|
+
|
|
50
|
+
**Actual Output:**
|
|
51
|
+
```
|
|
52
|
+
Created mdcontext.config.json
|
|
53
|
+
|
|
54
|
+
Edit the file to customize mdcontext for your project.
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**Verification:**
|
|
58
|
+
```bash
|
|
59
|
+
$ cat mdcontext.config.json
|
|
60
|
+
{
|
|
61
|
+
"$schema": "https://mdcontext.dev/schema.json",
|
|
62
|
+
"index": {
|
|
63
|
+
"maxDepth": 10,
|
|
64
|
+
"excludePatterns": ["node_modules", ".git", "dist", "build"],
|
|
65
|
+
"fileExtensions": [".md", ".mdx"],
|
|
66
|
+
"followSymlinks": false,
|
|
67
|
+
"indexDir": ".mdcontext"
|
|
68
|
+
},
|
|
69
|
+
"search": {
|
|
70
|
+
"defaultLimit": 10,
|
|
71
|
+
"maxLimit": 100,
|
|
72
|
+
"minSimilarity": 0.5,
|
|
73
|
+
"includeSnippets": true,
|
|
74
|
+
"snippetLength": 200
|
|
75
|
+
},
|
|
76
|
+
"embeddings": {
|
|
77
|
+
"provider": "openai",
|
|
78
|
+
"model": "text-embedding-3-small",
|
|
79
|
+
"batchSize": 100,
|
|
80
|
+
"maxRetries": 3,
|
|
81
|
+
"retryDelayMs": 1000,
|
|
82
|
+
"timeoutMs": 30000
|
|
83
|
+
},
|
|
84
|
+
"output": {
|
|
85
|
+
"format": "text",
|
|
86
|
+
"color": true,
|
|
87
|
+
"prettyJson": true,
|
|
88
|
+
"verbose": false,
|
|
89
|
+
"debug": false
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**Result:** ✅ PASS
|
|
95
|
+
**Issues Found:**
|
|
96
|
+
- ⚠️ Missing `summarization` section (known issue)
|
|
97
|
+
- ⚠️ Schema URL doesn't exist yet (known issue)
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
### 2. Config Init - TypeScript Format ⚠️ PARTIAL PASS
|
|
102
|
+
|
|
103
|
+
**Command:**
|
|
104
|
+
```bash
|
|
105
|
+
npx . config init
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
**Expected:**
|
|
109
|
+
- Creates `mdcontext.config.ts`
|
|
110
|
+
- Includes TypeScript syntax
|
|
111
|
+
- Includes `defineConfig` import
|
|
112
|
+
- Well-documented with comments
|
|
113
|
+
|
|
114
|
+
**Actual Output:**
|
|
115
|
+
```
|
|
116
|
+
Created mdcontext.config.ts
|
|
117
|
+
|
|
118
|
+
The config file includes:
|
|
119
|
+
- Type-safe defineConfig() helper
|
|
120
|
+
- Documented default values
|
|
121
|
+
- All available options
|
|
122
|
+
|
|
123
|
+
Edit the file to customize mdcontext for your project.
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
**Verification:**
|
|
127
|
+
```typescript
|
|
128
|
+
// First 50 lines of mdcontext.config.ts
|
|
129
|
+
/**
|
|
130
|
+
* mdcontext Configuration
|
|
131
|
+
*
|
|
132
|
+
* This file configures mdcontext behavior for this project.
|
|
133
|
+
* See https://mdcontext.dev/config for full documentation.
|
|
134
|
+
*/
|
|
135
|
+
|
|
136
|
+
import { defineConfig } from 'mdcontext'
|
|
137
|
+
|
|
138
|
+
export default defineConfig({
|
|
139
|
+
// Index settings - control how markdown files are discovered and parsed
|
|
140
|
+
index: {
|
|
141
|
+
// Maximum directory depth to traverse (default: 10)
|
|
142
|
+
maxDepth: 10,
|
|
143
|
+
|
|
144
|
+
// Patterns to exclude from indexing (default: common build/dep dirs)
|
|
145
|
+
excludePatterns: ['node_modules', '.git', 'dist', 'build'],
|
|
146
|
+
|
|
147
|
+
// File extensions to index (default: markdown files)
|
|
148
|
+
fileExtensions: ['.md', '.mdx'],
|
|
149
|
+
|
|
150
|
+
// Whether to follow symbolic links (default: false)
|
|
151
|
+
followSymlinks: false,
|
|
152
|
+
|
|
153
|
+
// Directory for index storage (default: '.mdcontext')
|
|
154
|
+
indexDir: '.mdcontext',
|
|
155
|
+
},
|
|
156
|
+
|
|
157
|
+
// Search settings - configure search behavior and defaults
|
|
158
|
+
search: {
|
|
159
|
+
// Default number of results to return (default: 10)
|
|
160
|
+
defaultLimit: 10,
|
|
161
|
+
|
|
162
|
+
// Maximum results allowed (default: 100)
|
|
163
|
+
maxLimit: 100,
|
|
164
|
+
|
|
165
|
+
// Minimum similarity score for semantic search (default: 0.5)
|
|
166
|
+
minSimilarity: 0.5,
|
|
167
|
+
|
|
168
|
+
// Include content snippets in results (default: true)
|
|
169
|
+
includeSnippets: true,
|
|
170
|
+
|
|
171
|
+
// Maximum snippet length in characters (default: 200)
|
|
172
|
+
snippetLength: 200,
|
|
173
|
+
},
|
|
174
|
+
...
|
|
175
|
+
})
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
**Result:** ⚠️ PARTIAL PASS
|
|
179
|
+
**Issues Found:**
|
|
180
|
+
- ✅ File created successfully
|
|
181
|
+
- ✅ Excellent documentation
|
|
182
|
+
- ✅ TypeScript syntax correct
|
|
183
|
+
- ❌ **CRITICAL: File fails to load at runtime** (see test #7)
|
|
184
|
+
- ⚠️ Missing `summarization` section (known issue)
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
### 3. Config Init - Force Overwrite ✅ PASS
|
|
189
|
+
|
|
190
|
+
**Setup:**
|
|
191
|
+
```bash
|
|
192
|
+
# Create initial config
|
|
193
|
+
npx . config init --format json
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
**Command:**
|
|
197
|
+
```bash
|
|
198
|
+
npx . config init --format json --force
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
**Expected:**
|
|
202
|
+
- Overwrites existing file without error
|
|
203
|
+
- Shows success message
|
|
204
|
+
|
|
205
|
+
**Actual Output:**
|
|
206
|
+
```
|
|
207
|
+
Created mdcontext.config.json
|
|
208
|
+
|
|
209
|
+
Edit the file to customize mdcontext for your project.
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
**Result:** ✅ PASS
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
### 4. Config Init - Prevent Overwrite ✅ PASS
|
|
217
|
+
|
|
218
|
+
**Setup:**
|
|
219
|
+
```bash
|
|
220
|
+
# Create initial config
|
|
221
|
+
npx . config init --format json
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
**Command:**
|
|
225
|
+
```bash
|
|
226
|
+
npx . config init --format json
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
**Expected:**
|
|
230
|
+
- Refuses to overwrite
|
|
231
|
+
- Shows helpful error message
|
|
232
|
+
- Suggests using --force
|
|
233
|
+
|
|
234
|
+
**Actual Output:**
|
|
235
|
+
```
|
|
236
|
+
Config file already exists: /path/to/mdcontext.config.json
|
|
237
|
+
|
|
238
|
+
Use --force to overwrite.
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
**Result:** ✅ PASS
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
### 5. Config Show - No Config File ✅ PASS
|
|
246
|
+
|
|
247
|
+
**Setup:**
|
|
248
|
+
```bash
|
|
249
|
+
# Ensure no config file exists
|
|
250
|
+
rm -f mdcontext.config.* .mdcontextrc*
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
**Command:**
|
|
254
|
+
```bash
|
|
255
|
+
npx . config show
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
**Expected:**
|
|
259
|
+
- Clear message that no config found
|
|
260
|
+
- Lists all searched filenames
|
|
261
|
+
- Helpful suggestion
|
|
262
|
+
|
|
263
|
+
**Actual Output:**
|
|
264
|
+
```
|
|
265
|
+
No config file found.
|
|
266
|
+
|
|
267
|
+
Searched for:
|
|
268
|
+
- mdcontext.config.ts
|
|
269
|
+
- mdcontext.config.js
|
|
270
|
+
- mdcontext.config.mjs
|
|
271
|
+
- mdcontext.config.json
|
|
272
|
+
- .mdcontextrc
|
|
273
|
+
- .mdcontextrc.json
|
|
274
|
+
|
|
275
|
+
Run 'mdcontext config init' to create one.
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
**Result:** ✅ PASS
|
|
279
|
+
|
|
280
|
+
---
|
|
281
|
+
|
|
282
|
+
### 6. Config Show - With Config File ✅ PASS
|
|
283
|
+
|
|
284
|
+
**Setup:**
|
|
285
|
+
```bash
|
|
286
|
+
npx . config init --format json
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
**Command:**
|
|
290
|
+
```bash
|
|
291
|
+
npx . config show
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
**Expected:**
|
|
295
|
+
- Shows absolute path to config file
|
|
296
|
+
- Clean, simple output
|
|
297
|
+
|
|
298
|
+
**Actual Output:**
|
|
299
|
+
```
|
|
300
|
+
Config file: /Users/alphab/Dev/LLM/DEV/mdcontext/worktrees/nancy-ALP-139/mdcontext.config.json
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
**Result:** ✅ PASS
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
### 7. Config Check - No Config File ✅ PASS
|
|
308
|
+
|
|
309
|
+
**Setup:**
|
|
310
|
+
```bash
|
|
311
|
+
rm -f mdcontext.config.* .mdcontextrc*
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
**Command:**
|
|
315
|
+
```bash
|
|
316
|
+
npx . config check
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
**Expected:**
|
|
320
|
+
- Shows "using defaults"
|
|
321
|
+
- Displays all config sections with values
|
|
322
|
+
- All sources show "(default)"
|
|
323
|
+
|
|
324
|
+
**Actual Output:**
|
|
325
|
+
```
|
|
326
|
+
Configuration validated successfully!
|
|
327
|
+
|
|
328
|
+
Source: No config file found (using defaults)
|
|
329
|
+
|
|
330
|
+
Effective configuration:
|
|
331
|
+
index:
|
|
332
|
+
maxDepth: 10 (default)
|
|
333
|
+
excludePatterns: ["node_modules",".git","dist","build"] (default)
|
|
334
|
+
fileExtensions: [".md",".mdx"] (default)
|
|
335
|
+
followSymlinks: false (default)
|
|
336
|
+
indexDir: .mdcontext (default)
|
|
337
|
+
search:
|
|
338
|
+
defaultLimit: 10 (default)
|
|
339
|
+
maxLimit: 100 (default)
|
|
340
|
+
minSimilarity: 0.5 (default)
|
|
341
|
+
includeSnippets: true (default)
|
|
342
|
+
snippetLength: 200 (default)
|
|
343
|
+
autoIndexThreshold: 10 (default)
|
|
344
|
+
embeddings:
|
|
345
|
+
provider: openai (default)
|
|
346
|
+
model: text-embedding-3-small (default)
|
|
347
|
+
dimensions: 512 (default)
|
|
348
|
+
batchSize: 100 (default)
|
|
349
|
+
maxRetries: 3 (default)
|
|
350
|
+
retryDelayMs: 1000 (default)
|
|
351
|
+
timeoutMs: 30000 (default)
|
|
352
|
+
apiKey: (not set) (default)
|
|
353
|
+
output:
|
|
354
|
+
format: text (default)
|
|
355
|
+
color: true (default)
|
|
356
|
+
prettyJson: true (default)
|
|
357
|
+
verbose: false (default)
|
|
358
|
+
debug: false (default)
|
|
359
|
+
paths:
|
|
360
|
+
root: (not set) (default)
|
|
361
|
+
configFile: (not set) (default)
|
|
362
|
+
cacheDir: .mdcontext/cache (default)
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
**Result:** ✅ PASS
|
|
366
|
+
**Issues Found:**
|
|
367
|
+
- ⚠️ Missing `summarization` section (known issue)
|
|
368
|
+
|
|
369
|
+
---
|
|
370
|
+
|
|
371
|
+
### 8. Config Check - With JSON Config ✅ PASS
|
|
372
|
+
|
|
373
|
+
**Setup:**
|
|
374
|
+
```bash
|
|
375
|
+
npx . config init --format json
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
**Command:**
|
|
379
|
+
```bash
|
|
380
|
+
npx . config check
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
**Expected:**
|
|
384
|
+
- Shows config file path
|
|
385
|
+
- Values show "(from config file)"
|
|
386
|
+
- Validation successful
|
|
387
|
+
|
|
388
|
+
**Actual Output:**
|
|
389
|
+
```
|
|
390
|
+
Configuration validated successfully!
|
|
391
|
+
|
|
392
|
+
Source: /Users/alphab/Dev/LLM/DEV/mdcontext/worktrees/nancy-ALP-139/mdcontext.config.json
|
|
393
|
+
|
|
394
|
+
Effective configuration:
|
|
395
|
+
index:
|
|
396
|
+
maxDepth: 10 (from config file)
|
|
397
|
+
excludePatterns: ["node_modules",".git","dist","build"] (from config file)
|
|
398
|
+
fileExtensions: [".md",".mdx"] (from config file)
|
|
399
|
+
followSymlinks: false (from config file)
|
|
400
|
+
indexDir: .mdcontext (from config file)
|
|
401
|
+
search:
|
|
402
|
+
defaultLimit: 10 (from config file)
|
|
403
|
+
maxLimit: 100 (from config file)
|
|
404
|
+
minSimilarity: 0.5 (from config file)
|
|
405
|
+
includeSnippets: true (from config file)
|
|
406
|
+
snippetLength: 200 (from config file)
|
|
407
|
+
autoIndexThreshold: 10 (default)
|
|
408
|
+
embeddings:
|
|
409
|
+
provider: openai (from config file)
|
|
410
|
+
model: text-embedding-3-small (from config file)
|
|
411
|
+
dimensions: 512 (default)
|
|
412
|
+
batchSize: 100 (from config file)
|
|
413
|
+
maxRetries: 3 (from config file)
|
|
414
|
+
retryDelayMs: 1000 (from config file)
|
|
415
|
+
timeoutMs: 30000 (from config file)
|
|
416
|
+
apiKey: (not set) (default)
|
|
417
|
+
output:
|
|
418
|
+
format: text (from config file)
|
|
419
|
+
color: true (from config file)
|
|
420
|
+
prettyJson: true (from config file)
|
|
421
|
+
verbose: false (from config file)
|
|
422
|
+
debug: false (from config file)
|
|
423
|
+
paths:
|
|
424
|
+
root: (not set) (default)
|
|
425
|
+
configFile: (not set) (default)
|
|
426
|
+
cacheDir: .mdcontext/cache (default)
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
**Result:** ✅ PASS
|
|
430
|
+
**Issues Found:**
|
|
431
|
+
- ⚠️ Missing `summarization` section (known issue)
|
|
432
|
+
- ⚠️ Some values show "(default)" even though file defines them (dimensions, autoIndexThreshold)
|
|
433
|
+
|
|
434
|
+
---
|
|
435
|
+
|
|
436
|
+
### 9. Config Check - With TypeScript Config ❌ FAIL
|
|
437
|
+
|
|
438
|
+
**Setup:**
|
|
439
|
+
```bash
|
|
440
|
+
npx . config init # Creates .ts file
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
**Command:**
|
|
444
|
+
```bash
|
|
445
|
+
npx . config check --json --pretty
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
**Expected:**
|
|
449
|
+
- Load TypeScript config
|
|
450
|
+
- Show values from file
|
|
451
|
+
- Validation successful
|
|
452
|
+
|
|
453
|
+
**Actual Output:**
|
|
454
|
+
```json
|
|
455
|
+
{
|
|
456
|
+
"valid": false,
|
|
457
|
+
"sourceFile": null,
|
|
458
|
+
"config": {
|
|
459
|
+
"index": {
|
|
460
|
+
"maxDepth": {
|
|
461
|
+
"value": 10,
|
|
462
|
+
"source": "default"
|
|
463
|
+
},
|
|
464
|
+
...
|
|
465
|
+
},
|
|
466
|
+
...
|
|
467
|
+
},
|
|
468
|
+
"errors": [
|
|
469
|
+
"Failed to load config from /path/mdcontext.config.ts: Unknown file extension \".ts\""
|
|
470
|
+
]
|
|
471
|
+
}
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
**Result:** ❌ FAIL
|
|
475
|
+
|
|
476
|
+
**Root Cause:**
|
|
477
|
+
- Node.js cannot import `.ts` files without a loader
|
|
478
|
+
- `file-provider.ts` uses dynamic import which fails on .ts files
|
|
479
|
+
- TypeScript configs are documented as recommended but don't work
|
|
480
|
+
|
|
481
|
+
**Impact:** CRITICAL - Recommended format doesn't work
|
|
482
|
+
|
|
483
|
+
---
|
|
484
|
+
|
|
485
|
+
### 10. Config Check - Environment Variable Override ✅ PASS
|
|
486
|
+
|
|
487
|
+
**Setup:**
|
|
488
|
+
```bash
|
|
489
|
+
npx . config init --format json
|
|
490
|
+
# Config file sets search.defaultLimit = 10
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
**Command:**
|
|
494
|
+
```bash
|
|
495
|
+
MDCONTEXT_SEARCH_DEFAULTLIMIT=25 npx . config check
|
|
496
|
+
```
|
|
497
|
+
|
|
498
|
+
**Expected:**
|
|
499
|
+
- Shows environment variable value (25)
|
|
500
|
+
- Source shows "(from environment)"
|
|
501
|
+
- Other values still from file
|
|
502
|
+
|
|
503
|
+
**Actual Output:**
|
|
504
|
+
```
|
|
505
|
+
Configuration validated successfully!
|
|
506
|
+
|
|
507
|
+
Source: /path/mdcontext.config.json
|
|
508
|
+
|
|
509
|
+
Effective configuration:
|
|
510
|
+
...
|
|
511
|
+
search:
|
|
512
|
+
defaultLimit: 25 (from environment)
|
|
513
|
+
maxLimit: 100 (from config file)
|
|
514
|
+
minSimilarity: 0.5 (from config file)
|
|
515
|
+
includeSnippets: true (from config file)
|
|
516
|
+
snippetLength: 200 (from config file)
|
|
517
|
+
autoIndexThreshold: 10 (default)
|
|
518
|
+
...
|
|
519
|
+
```
|
|
520
|
+
|
|
521
|
+
**Result:** ✅ PASS
|
|
522
|
+
|
|
523
|
+
---
|
|
524
|
+
|
|
525
|
+
### 11. Config Check - JSON Output ✅ PASS
|
|
526
|
+
|
|
527
|
+
**Setup:**
|
|
528
|
+
```bash
|
|
529
|
+
npx . config init --format json
|
|
530
|
+
```
|
|
531
|
+
|
|
532
|
+
**Command:**
|
|
533
|
+
```bash
|
|
534
|
+
npx . config check --json --pretty
|
|
535
|
+
```
|
|
536
|
+
|
|
537
|
+
**Expected:**
|
|
538
|
+
- Valid JSON output
|
|
539
|
+
- Pretty-printed
|
|
540
|
+
- Includes all sections
|
|
541
|
+
- Shows sources
|
|
542
|
+
|
|
543
|
+
**Actual Output:**
|
|
544
|
+
```json
|
|
545
|
+
{
|
|
546
|
+
"valid": true,
|
|
547
|
+
"sourceFile": "/Users/alphab/Dev/LLM/DEV/mdcontext/worktrees/nancy-ALP-139/mdcontext.config.json",
|
|
548
|
+
"config": {
|
|
549
|
+
"index": {
|
|
550
|
+
"maxDepth": {
|
|
551
|
+
"value": 10,
|
|
552
|
+
"source": "file"
|
|
553
|
+
},
|
|
554
|
+
"excludePatterns": {
|
|
555
|
+
"value": [
|
|
556
|
+
"node_modules",
|
|
557
|
+
".git",
|
|
558
|
+
"dist",
|
|
559
|
+
"build"
|
|
560
|
+
],
|
|
561
|
+
"source": "file"
|
|
562
|
+
},
|
|
563
|
+
...
|
|
564
|
+
},
|
|
565
|
+
"search": { ... },
|
|
566
|
+
"embeddings": { ... },
|
|
567
|
+
"output": { ... },
|
|
568
|
+
"paths": { ... }
|
|
569
|
+
}
|
|
570
|
+
}
|
|
571
|
+
```
|
|
572
|
+
|
|
573
|
+
**Result:** ✅ PASS
|
|
574
|
+
**Issues Found:**
|
|
575
|
+
- ⚠️ Missing `summarization` section (known issue)
|
|
576
|
+
|
|
577
|
+
---
|
|
578
|
+
|
|
579
|
+
### 12. Config Help Text ✅ PASS
|
|
580
|
+
|
|
581
|
+
**Commands:**
|
|
582
|
+
```bash
|
|
583
|
+
npx . config init --help
|
|
584
|
+
npx . config show --help
|
|
585
|
+
npx . config check --help
|
|
586
|
+
npx . config --help
|
|
587
|
+
```
|
|
588
|
+
|
|
589
|
+
**Expected:**
|
|
590
|
+
- Clear help text for each command
|
|
591
|
+
- Shows all options
|
|
592
|
+
- Includes descriptions
|
|
593
|
+
|
|
594
|
+
**Actual Results:**
|
|
595
|
+
|
|
596
|
+
**`config init --help`:**
|
|
597
|
+
```
|
|
598
|
+
USAGE
|
|
599
|
+
$ init [(-f, --format ts | json)] [--force] [--json] [--pretty]
|
|
600
|
+
|
|
601
|
+
DESCRIPTION
|
|
602
|
+
Create a starter config file
|
|
603
|
+
|
|
604
|
+
OPTIONS
|
|
605
|
+
(-f, --format ts | json)
|
|
606
|
+
Config file format
|
|
607
|
+
This setting is optional.
|
|
608
|
+
|
|
609
|
+
--force
|
|
610
|
+
Overwrite existing config file
|
|
611
|
+
This setting is optional.
|
|
612
|
+
|
|
613
|
+
--json
|
|
614
|
+
Output as JSON
|
|
615
|
+
This setting is optional.
|
|
616
|
+
|
|
617
|
+
--pretty
|
|
618
|
+
Pretty-print JSON output
|
|
619
|
+
This setting is optional.
|
|
620
|
+
```
|
|
621
|
+
|
|
622
|
+
**`config show --help`:**
|
|
623
|
+
```
|
|
624
|
+
USAGE
|
|
625
|
+
$ show [--json] [--pretty]
|
|
626
|
+
|
|
627
|
+
DESCRIPTION
|
|
628
|
+
Show config file location
|
|
629
|
+
|
|
630
|
+
OPTIONS
|
|
631
|
+
--json
|
|
632
|
+
Output as JSON
|
|
633
|
+
This setting is optional.
|
|
634
|
+
|
|
635
|
+
--pretty
|
|
636
|
+
Pretty-print JSON output
|
|
637
|
+
This setting is optional.
|
|
638
|
+
```
|
|
639
|
+
|
|
640
|
+
**`config check --help`:**
|
|
641
|
+
```
|
|
642
|
+
USAGE
|
|
643
|
+
$ check [--json] [--pretty]
|
|
644
|
+
|
|
645
|
+
DESCRIPTION
|
|
646
|
+
Validate and display effective configuration
|
|
647
|
+
|
|
648
|
+
OPTIONS
|
|
649
|
+
--json
|
|
650
|
+
Output as JSON
|
|
651
|
+
This setting is optional.
|
|
652
|
+
|
|
653
|
+
--pretty
|
|
654
|
+
Pretty-print JSON output
|
|
655
|
+
This setting is optional.
|
|
656
|
+
```
|
|
657
|
+
|
|
658
|
+
**`config --help`:**
|
|
659
|
+
```
|
|
660
|
+
USAGE
|
|
661
|
+
$ config
|
|
662
|
+
|
|
663
|
+
DESCRIPTION
|
|
664
|
+
Configuration management
|
|
665
|
+
|
|
666
|
+
COMMANDS
|
|
667
|
+
- init [(-f, --format ts | json)] [--force] [--json] [--pretty] Create a starter config file
|
|
668
|
+
- show [--json] [--pretty] Show config file location
|
|
669
|
+
- check [--json] [--pretty] Validate and display effective configuration
|
|
670
|
+
```
|
|
671
|
+
|
|
672
|
+
**Result:** ✅ PASS
|
|
673
|
+
|
|
674
|
+
---
|
|
675
|
+
|
|
676
|
+
## Issues Found
|
|
677
|
+
|
|
678
|
+
### Critical Issues
|
|
679
|
+
|
|
680
|
+
1. **TypeScript Config Loading Fails** (Test #9)
|
|
681
|
+
- Severity: CRITICAL
|
|
682
|
+
- Impact: Recommended config format doesn't work
|
|
683
|
+
- Files: `src/config/file-provider.ts`
|
|
684
|
+
- Error: "Unknown file extension \".ts\""
|
|
685
|
+
|
|
686
|
+
2. **Summarization Section Missing** (Tests #1, #2, #7, #8, #11)
|
|
687
|
+
- Severity: MAJOR
|
|
688
|
+
- Impact: Hidden feature, users can't configure it
|
|
689
|
+
- Files: `src/cli/commands/config-cmd.ts`
|
|
690
|
+
- Missing from: generated configs, config check output
|
|
691
|
+
|
|
692
|
+
### Medium Issues
|
|
693
|
+
|
|
694
|
+
3. **Schema URL Doesn't Exist** (Test #1)
|
|
695
|
+
- Severity: MEDIUM
|
|
696
|
+
- Impact: JSON schema validation not available
|
|
697
|
+
- URL: `https://mdcontext.dev/schema.json`
|
|
698
|
+
- Status: 404 (not yet published)
|
|
699
|
+
|
|
700
|
+
4. **Some Values Show Wrong Source** (Test #8)
|
|
701
|
+
- Severity: LOW
|
|
702
|
+
- Impact: Confusing source annotations
|
|
703
|
+
- Example: `dimensions` and `autoIndexThreshold` show "(default)" even when in file
|
|
704
|
+
- Likely cause: These values aren't in generated JSON (missing from template)
|
|
705
|
+
|
|
706
|
+
---
|
|
707
|
+
|
|
708
|
+
## Test Environment
|
|
709
|
+
|
|
710
|
+
**System:**
|
|
711
|
+
- OS: macOS (Darwin 24.5.0)
|
|
712
|
+
- Node.js: 18+
|
|
713
|
+
- Working Directory: `/Users/alphab/Dev/LLM/DEV/mdcontext/worktrees/nancy-ALP-139`
|
|
714
|
+
|
|
715
|
+
**Command Used:**
|
|
716
|
+
```bash
|
|
717
|
+
npx .
|
|
718
|
+
```
|
|
719
|
+
|
|
720
|
+
**Package Version:**
|
|
721
|
+
```
|
|
722
|
+
mdcontext 0.1.0
|
|
723
|
+
```
|
|
724
|
+
|
|
725
|
+
---
|
|
726
|
+
|
|
727
|
+
## Recommendations
|
|
728
|
+
|
|
729
|
+
Based on test results:
|
|
730
|
+
|
|
731
|
+
1. **Fix TypeScript Loading** (CRITICAL)
|
|
732
|
+
- Either bundle tsx/ts-node or document limitation
|
|
733
|
+
- Change default format to `.js` if not fixable
|
|
734
|
+
- Update all docs to reflect actual working formats
|
|
735
|
+
|
|
736
|
+
2. **Add Summarization Section** (MAJOR)
|
|
737
|
+
- Update config generation templates
|
|
738
|
+
- Add to config check output
|
|
739
|
+
- Ensure consistency across all outputs
|
|
740
|
+
|
|
741
|
+
3. **Fix Source Annotations** (MINOR)
|
|
742
|
+
- Ensure all config file values show "(from config file)"
|
|
743
|
+
- Check why some values default to "(default)"
|
|
744
|
+
- May need to update generated templates
|
|
745
|
+
|
|
746
|
+
4. **Create JSON Schema** (NICE-TO-HAVE)
|
|
747
|
+
- Publish schema to documented URL
|
|
748
|
+
- Enable IDE validation
|
|
749
|
+
- Add to generated JSON files
|
|
750
|
+
|
|
751
|
+
---
|
|
752
|
+
|
|
753
|
+
## Test Artifacts
|
|
754
|
+
|
|
755
|
+
**Created Files:**
|
|
756
|
+
- `mdcontext.config.json` (cleaned up after tests)
|
|
757
|
+
- `mdcontext.config.ts` (cleaned up after tests)
|
|
758
|
+
|
|
759
|
+
**Test Logs:**
|
|
760
|
+
All command outputs captured in this document.
|
|
761
|
+
|
|
762
|
+
---
|
|
763
|
+
|
|
764
|
+
## Next Steps
|
|
765
|
+
|
|
766
|
+
1. Review test results with development team
|
|
767
|
+
2. Prioritize fixes (TypeScript loading, summarization)
|
|
768
|
+
3. Create issues for each problem found
|
|
769
|
+
4. Re-run tests after fixes
|
|
770
|
+
5. Add automated tests to prevent regressions
|
|
771
|
+
|
|
772
|
+
---
|
|
773
|
+
|
|
774
|
+
**Test Completed:** 2026-01-24
|
|
775
|
+
**Tester:** Claude Sonnet 4.5
|
|
776
|
+
**Status:** 10/12 tests passing, 2 critical issues found
|