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,264 @@
|
|
|
1
|
+
# Help Output Audit
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
**RESEARCH METADATA**
|
|
5
|
+
|
|
6
|
+
- Analysis Date: 2026-01-24
|
|
7
|
+
- Git Commit: 07c9e72ba01cda840046b96a1be4743a85e3d4c5
|
|
8
|
+
- Status: ✅ Valid
|
|
9
|
+
- Last Validated: 2026-01-24
|
|
10
|
+
- Worktree: nancy-ALP-139
|
|
11
|
+
- Index: [/research/INDEX.md](../INDEX.md)
|
|
12
|
+
|
|
13
|
+
**ACCURACY NOTE**
|
|
14
|
+
|
|
15
|
+
This UX analysis is accurate and not code-dependent. Findings remain valid.
|
|
16
|
+
Identifies ugly Effect CLI output for bare `config` command that needs custom help.
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
Comprehensive audit of all help command variants to identify inconsistencies and quality issues.
|
|
20
|
+
|
|
21
|
+
## Summary
|
|
22
|
+
|
|
23
|
+
**Tested:** 13 help variants
|
|
24
|
+
**World-class:** 9 commands (69%)
|
|
25
|
+
**Ugly Effect CLI default:** 1 variant (8%)
|
|
26
|
+
**Note:** 3 config subcommand variants show custom help (but it's the parent help)
|
|
27
|
+
|
|
28
|
+
## Commands by Quality
|
|
29
|
+
|
|
30
|
+
### ✅ World-class Help (9 commands)
|
|
31
|
+
|
|
32
|
+
These have excellent formatting, colors, examples, and clear structure:
|
|
33
|
+
|
|
34
|
+
1. **Main help** (`npx . --help`)
|
|
35
|
+
- Beautiful color scheme (yellow headers, cyan highlights)
|
|
36
|
+
- Multiple example sections (COMMANDS, EXAMPLES, WORKFLOWS, GLOBAL OPTIONS)
|
|
37
|
+
- Real-world workflow examples
|
|
38
|
+
- Clear grouping and organization
|
|
39
|
+
|
|
40
|
+
2. **index** (`npx . index --help`)
|
|
41
|
+
- Great formatting with colors
|
|
42
|
+
- Clear examples showing progression (basic → advanced)
|
|
43
|
+
- Helpful NOTES section explaining behavior
|
|
44
|
+
- Covers all use cases
|
|
45
|
+
|
|
46
|
+
3. **search** (`npx . search --help`)
|
|
47
|
+
- Extensive examples covering all search modes
|
|
48
|
+
- Boolean operators well-documented
|
|
49
|
+
- Context lines explained (grep-style)
|
|
50
|
+
- Good notes about auto-detection
|
|
51
|
+
|
|
52
|
+
4. **context** (`npx . context --help`)
|
|
53
|
+
- Clear progression of examples
|
|
54
|
+
- Section filtering well-explained
|
|
55
|
+
- Token budget explained
|
|
56
|
+
- Good workflow integration (pipe to pbcopy)
|
|
57
|
+
|
|
58
|
+
5. **tree** (`npx . tree --help`)
|
|
59
|
+
- Simple and clear
|
|
60
|
+
- Dual-purpose well-explained (files vs outline)
|
|
61
|
+
- Appropriate for command simplicity
|
|
62
|
+
|
|
63
|
+
6. **links** (`npx . links --help`)
|
|
64
|
+
- Clear and concise
|
|
65
|
+
- Good examples
|
|
66
|
+
- Explains relative path resolution
|
|
67
|
+
|
|
68
|
+
7. **backlinks** (`npx . backlinks --help`)
|
|
69
|
+
- Clear and concise
|
|
70
|
+
- Has NOTES section explaining index requirement
|
|
71
|
+
- Consistent with links command
|
|
72
|
+
|
|
73
|
+
8. **stats** (`npx . stats --help`)
|
|
74
|
+
- Simple and clear
|
|
75
|
+
- Has NOTES section about embeddings
|
|
76
|
+
- Appropriate detail level
|
|
77
|
+
|
|
78
|
+
9. **config** (`npx . config --help`)
|
|
79
|
+
- **Custom help that matches main CLI style**
|
|
80
|
+
- Color formatting with yellow headers
|
|
81
|
+
- Good examples showing subcommands
|
|
82
|
+
- Clear OPTIONS section
|
|
83
|
+
- Helpful NOTES about config precedence
|
|
84
|
+
|
|
85
|
+
### ❌ Ugly Effect CLI Default (1 variant)
|
|
86
|
+
|
|
87
|
+
**config (no args)** (`npx . config`)
|
|
88
|
+
```
|
|
89
|
+
mdcontext
|
|
90
|
+
|
|
91
|
+
mdcontext 0.1.0
|
|
92
|
+
|
|
93
|
+
USAGE
|
|
94
|
+
|
|
95
|
+
$ config
|
|
96
|
+
|
|
97
|
+
DESCRIPTION
|
|
98
|
+
|
|
99
|
+
Configuration management
|
|
100
|
+
|
|
101
|
+
COMMANDS
|
|
102
|
+
|
|
103
|
+
- init [(-f, --format js | json)] [--force] [--json] [--pretty] Create a starter config file
|
|
104
|
+
|
|
105
|
+
- show [--json] [--pretty] Show config file location
|
|
106
|
+
|
|
107
|
+
- check [--json] [--pretty] Validate and display effective configuration
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**Issues:**
|
|
111
|
+
- Raw Effect CLI default output
|
|
112
|
+
- Different color scheme (white instead of yellow headers)
|
|
113
|
+
- Inconsistent formatting (dashes before commands)
|
|
114
|
+
- Weird spacing and alignment
|
|
115
|
+
- Missing examples
|
|
116
|
+
- No notes or context
|
|
117
|
+
- Doesn't match mdcontext brand/style
|
|
118
|
+
|
|
119
|
+
### 📝 Config Subcommands (3 variants)
|
|
120
|
+
|
|
121
|
+
All three config subcommands show the **same parent help** (which is good/custom):
|
|
122
|
+
|
|
123
|
+
1. **config init --help**
|
|
124
|
+
2. **config show --help**
|
|
125
|
+
3. **config check --help**
|
|
126
|
+
|
|
127
|
+
All show the custom `config --help` output, not individual subcommand help.
|
|
128
|
+
|
|
129
|
+
## Patterns Identified
|
|
130
|
+
|
|
131
|
+
### ✅ Good Help Patterns
|
|
132
|
+
|
|
133
|
+
1. **Color scheme consistency:**
|
|
134
|
+
- Yellow (`[33m`) for section headers (USAGE, EXAMPLES, OPTIONS, NOTES)
|
|
135
|
+
- Cyan (`[36m`) for highlighting commands/values
|
|
136
|
+
- Bold (`[1m`) for command names
|
|
137
|
+
|
|
138
|
+
2. **Section structure:**
|
|
139
|
+
- USAGE (concise command syntax)
|
|
140
|
+
- EXAMPLES (progressive: simple → complex)
|
|
141
|
+
- OPTIONS (flags with descriptions)
|
|
142
|
+
- NOTES (context, requirements, tips)
|
|
143
|
+
|
|
144
|
+
3. **Example quality:**
|
|
145
|
+
- Show common use cases first
|
|
146
|
+
- Include inline comments for workflow examples
|
|
147
|
+
- Demonstrate flag combinations
|
|
148
|
+
- Show real-world patterns (pipe to pbcopy, etc.)
|
|
149
|
+
|
|
150
|
+
4. **Notes section:**
|
|
151
|
+
- Explains prerequisites (e.g., "requires index")
|
|
152
|
+
- Clarifies behavior (auto-detection, defaults)
|
|
153
|
+
- Links to related commands
|
|
154
|
+
- References documentation
|
|
155
|
+
|
|
156
|
+
### ❌ Bad Help Pattern
|
|
157
|
+
|
|
158
|
+
**Effect CLI Default:**
|
|
159
|
+
- Uppercase section headers with different formatting
|
|
160
|
+
- Dashes before command names in COMMANDS section
|
|
161
|
+
- No examples
|
|
162
|
+
- No notes or context
|
|
163
|
+
- Generic, auto-generated feel
|
|
164
|
+
- Doesn't match the brand/style of other commands
|
|
165
|
+
|
|
166
|
+
## Root Cause Analysis
|
|
167
|
+
|
|
168
|
+
### Why `npx . config` is ugly:
|
|
169
|
+
|
|
170
|
+
Looking at the outputs, there's a clear pattern:
|
|
171
|
+
|
|
172
|
+
1. **`npx . config --help`** → Custom help (world-class)
|
|
173
|
+
2. **`npx . config`** (no args) → Raw Effect CLI default
|
|
174
|
+
|
|
175
|
+
This suggests:
|
|
176
|
+
- The `--help` flag triggers custom help rendering
|
|
177
|
+
- Running `config` without args falls back to Effect's default command listing
|
|
178
|
+
- Effect CLI's automatic command listing doesn't match mdcontext style
|
|
179
|
+
|
|
180
|
+
### Why config subcommands show parent help:
|
|
181
|
+
|
|
182
|
+
Running `npx . config init --help` shows the config parent help, not init-specific help. This could be:
|
|
183
|
+
- Intentional (centralizing all config help)
|
|
184
|
+
- Or a routing issue where `--help` isn't reaching the subcommand
|
|
185
|
+
|
|
186
|
+
## Recommendations
|
|
187
|
+
|
|
188
|
+
### Priority 1: Fix `npx . config` (no args)
|
|
189
|
+
|
|
190
|
+
**Problem:** Running `config` without subcommand shows ugly Effect default.
|
|
191
|
+
|
|
192
|
+
**Solutions:**
|
|
193
|
+
|
|
194
|
+
A. **Make `config` require a subcommand** (error if none provided)
|
|
195
|
+
- Forces users to run `config --help` or `config <subcommand>`
|
|
196
|
+
- Common pattern in git, npm, etc.
|
|
197
|
+
|
|
198
|
+
B. **Override Effect's default listing with custom help**
|
|
199
|
+
- Detect when no subcommand is provided
|
|
200
|
+
- Show the same output as `config --help`
|
|
201
|
+
- Best UX (helpful instead of raw listing)
|
|
202
|
+
|
|
203
|
+
**Recommendation:** Option B - Auto-show help when no subcommand
|
|
204
|
+
|
|
205
|
+
### Priority 2: Consider Subcommand-Specific Help
|
|
206
|
+
|
|
207
|
+
**Current:** `config init --help` shows parent config help
|
|
208
|
+
**Possible:** Could show init-specific help
|
|
209
|
+
|
|
210
|
+
**Analysis:**
|
|
211
|
+
- Current approach is fine if all config commands are simple
|
|
212
|
+
- The parent help already documents all subcommands well
|
|
213
|
+
- Subcommand-specific help only needed if complexity grows
|
|
214
|
+
|
|
215
|
+
**Recommendation:** Keep current approach (centralized help), but ensure it's intentional, not a bug.
|
|
216
|
+
|
|
217
|
+
### Priority 3: Help Consistency Checklist
|
|
218
|
+
|
|
219
|
+
For any new commands, ensure:
|
|
220
|
+
- [ ] Custom help template (not Effect default)
|
|
221
|
+
- [ ] Yellow headers, cyan highlights
|
|
222
|
+
- [ ] USAGE, EXAMPLES, OPTIONS, NOTES sections
|
|
223
|
+
- [ ] Progressive examples (simple → complex)
|
|
224
|
+
- [ ] Notes explain prerequisites/behavior
|
|
225
|
+
- [ ] No args shows helpful message (not raw Effect listing)
|
|
226
|
+
|
|
227
|
+
## Test Commands Reference
|
|
228
|
+
|
|
229
|
+
### All Tested Variants
|
|
230
|
+
|
|
231
|
+
```bash
|
|
232
|
+
# Main
|
|
233
|
+
npx . --help
|
|
234
|
+
|
|
235
|
+
# Primary commands
|
|
236
|
+
npx . index --help
|
|
237
|
+
npx . search --help
|
|
238
|
+
npx . context --help
|
|
239
|
+
npx . tree --help
|
|
240
|
+
npx . links --help
|
|
241
|
+
npx . backlinks --help
|
|
242
|
+
npx . stats --help
|
|
243
|
+
|
|
244
|
+
# Config variants
|
|
245
|
+
npx . config # ❌ UGLY
|
|
246
|
+
npx . config --help # ✅ GOOD
|
|
247
|
+
npx . config init --help
|
|
248
|
+
npx . config show --help
|
|
249
|
+
npx . config check --help
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
## Files to Check
|
|
253
|
+
|
|
254
|
+
Based on this audit, investigate:
|
|
255
|
+
|
|
256
|
+
1. **src/cli/commands/config/index.ts** - Why does bare `config` show Effect default?
|
|
257
|
+
2. **src/cli/help/config.ts** (or similar) - Where is custom help defined?
|
|
258
|
+
3. **Effect CLI command registration** - How are defaults handled?
|
|
259
|
+
|
|
260
|
+
## Conclusion
|
|
261
|
+
|
|
262
|
+
The mdcontext CLI has **excellent help documentation** overall (9/10 main commands world-class). The only issue is the `config` command when run without arguments showing Effect's raw default output.
|
|
263
|
+
|
|
264
|
+
**Quick Win:** Implement auto-help for `npx . config` (no args) to match the quality of all other commands.
|