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.
Files changed (337) hide show
  1. package/.changeset/README.md +28 -0
  2. package/.changeset/config.json +11 -0
  3. package/.claude/settings.local.json +25 -0
  4. package/.github/workflows/ci.yml +83 -0
  5. package/.github/workflows/claude-code-review.yml +44 -0
  6. package/.github/workflows/claude.yml +85 -0
  7. package/.github/workflows/release.yml +113 -0
  8. package/.tldrignore +112 -0
  9. package/BACKLOG.md +338 -0
  10. package/CONTRIBUTING.md +186 -0
  11. package/NOTES/NOTES +44 -0
  12. package/README.md +434 -11
  13. package/biome.json +36 -0
  14. package/cspell.config.yaml +14 -0
  15. package/dist/chunk-23UPXDNL.js +3044 -0
  16. package/dist/chunk-2W7MO2DL.js +1366 -0
  17. package/dist/chunk-3NUAZGMA.js +1689 -0
  18. package/dist/chunk-7TOWB2XB.js +366 -0
  19. package/dist/chunk-7XOTOADQ.js +3065 -0
  20. package/dist/chunk-AH2PDM2K.js +3042 -0
  21. package/dist/chunk-BNXWSZ63.js +3742 -0
  22. package/dist/chunk-BTL5DJVU.js +3222 -0
  23. package/dist/chunk-HDHYG7E4.js +104 -0
  24. package/dist/chunk-HLR4KZBP.js +3234 -0
  25. package/dist/chunk-IP3FRFEB.js +1045 -0
  26. package/dist/chunk-KHU56VDO.js +3042 -0
  27. package/dist/chunk-KRYIFLQR.js +88 -0
  28. package/dist/chunk-LBSDNLEM.js +287 -0
  29. package/dist/chunk-MNTQ7HCP.js +2643 -0
  30. package/dist/chunk-MUJELQQ6.js +1387 -0
  31. package/dist/chunk-MXJGMSLV.js +2199 -0
  32. package/dist/chunk-N6QJGC3Z.js +2636 -0
  33. package/dist/chunk-OBELGBPM.js +1713 -0
  34. package/dist/chunk-OT7R5XTA.js +3192 -0
  35. package/dist/chunk-P7X4RA2T.js +106 -0
  36. package/dist/chunk-PIDUQNC2.js +3185 -0
  37. package/dist/chunk-POGCDIH4.js +3187 -0
  38. package/dist/chunk-PSIEOQGZ.js +3043 -0
  39. package/dist/chunk-PVRT3IHA.js +3238 -0
  40. package/dist/chunk-QNN4TT23.js +1430 -0
  41. package/dist/chunk-RE3R45RJ.js +3042 -0
  42. package/dist/chunk-S7E6TFX6.js +803 -0
  43. package/dist/chunk-SG6GLU4U.js +1378 -0
  44. package/dist/chunk-SJCDV2ST.js +274 -0
  45. package/dist/chunk-SYE5XLF3.js +104 -0
  46. package/dist/chunk-T5VLYBZD.js +103 -0
  47. package/dist/chunk-TOQB7VWU.js +3238 -0
  48. package/dist/chunk-VFNMZ4ZQ.js +3228 -0
  49. package/dist/chunk-VVTGZNBT.js +1629 -0
  50. package/dist/chunk-W7Q4RFEV.js +104 -0
  51. package/dist/chunk-XTYYVRLO.js +3190 -0
  52. package/dist/chunk-Y6MDYVJD.js +3063 -0
  53. package/dist/cli/main.d.ts +1 -0
  54. package/dist/cli/main.js +5458 -0
  55. package/dist/index.d.ts +653 -0
  56. package/dist/index.js +79 -0
  57. package/dist/mcp/server.d.ts +1 -0
  58. package/dist/mcp/server.js +472 -0
  59. package/dist/schema-BAWSG7KY.js +22 -0
  60. package/dist/schema-E3QUPL26.js +20 -0
  61. package/dist/schema-EHL7WUT6.js +20 -0
  62. package/docs/019-USAGE.md +625 -0
  63. package/docs/020-current-implementation.md +364 -0
  64. package/docs/021-DOGFOODING-FINDINGS.md +175 -0
  65. package/docs/BACKLOG.md +80 -0
  66. package/docs/CONFIG.md +1123 -0
  67. package/docs/DESIGN.md +439 -0
  68. package/docs/ERRORS.md +383 -0
  69. package/docs/PROJECT.md +88 -0
  70. package/docs/ROADMAP.md +407 -0
  71. package/docs/summarization.md +320 -0
  72. package/docs/test-links.md +9 -0
  73. package/justfile +40 -0
  74. package/package.json +74 -9
  75. package/pnpm-workspace.yaml +5 -0
  76. package/research/INDEX.md +315 -0
  77. package/research/code-review/README.md +90 -0
  78. package/research/code-review/cli-error-handling-review.md +979 -0
  79. package/research/code-review/code-review-validation-report.md +464 -0
  80. package/research/code-review/main-ts-review.md +1128 -0
  81. package/research/config-analysis/01-current-implementation.md +470 -0
  82. package/research/config-analysis/02-strategy-recommendation.md +428 -0
  83. package/research/config-analysis/03-task-candidates.md +715 -0
  84. package/research/config-analysis/033-research-configuration-management.md +828 -0
  85. package/research/config-analysis/034-research-effect-cli-config.md +1504 -0
  86. package/research/config-analysis/04-consolidated-task-candidates.md +277 -0
  87. package/research/config-docs/SUMMARY.md +357 -0
  88. package/research/config-docs/TEST-RESULTS.md +776 -0
  89. package/research/config-docs/TODO.md +542 -0
  90. package/research/config-docs/analysis.md +744 -0
  91. package/research/config-docs/fix-validation.md +502 -0
  92. package/research/config-docs/help-audit.md +264 -0
  93. package/research/config-docs/help-system-analysis.md +890 -0
  94. package/research/dogfood/consolidated-tool-evaluation.md +373 -0
  95. package/research/dogfood/strategy-a/a-synthesis.md +184 -0
  96. package/research/dogfood/strategy-a/a1-docs.md +226 -0
  97. package/research/dogfood/strategy-a/a2-amorphic.md +156 -0
  98. package/research/dogfood/strategy-a/a3-llm.md +164 -0
  99. package/research/dogfood/strategy-b/b-synthesis.md +228 -0
  100. package/research/dogfood/strategy-b/b1-architecture.md +207 -0
  101. package/research/dogfood/strategy-b/b2-gaps.md +258 -0
  102. package/research/dogfood/strategy-b/b3-workflows.md +250 -0
  103. package/research/dogfood/strategy-c/c-synthesis.md +451 -0
  104. package/research/dogfood/strategy-c/c1-explorer.md +192 -0
  105. package/research/dogfood/strategy-c/c2-diver-memory.md +145 -0
  106. package/research/dogfood/strategy-c/c3-diver-control.md +148 -0
  107. package/research/dogfood/strategy-c/c4-diver-failure.md +151 -0
  108. package/research/dogfood/strategy-c/c5-diver-execution.md +221 -0
  109. package/research/dogfood/strategy-c/c6-diver-org.md +221 -0
  110. package/research/effect-cli-error-handling.md +845 -0
  111. package/research/effect-errors-as-values.md +943 -0
  112. package/research/errors-task-analysis/00-consolidated-tasks.md +207 -0
  113. package/research/errors-task-analysis/cli-commands-analysis.md +909 -0
  114. package/research/errors-task-analysis/embeddings-analysis.md +709 -0
  115. package/research/errors-task-analysis/index-search-analysis.md +812 -0
  116. package/research/frontmatter/COMMENTS-ARE-SKIPPED.md +149 -0
  117. package/research/frontmatter/LLM-CODE-NAVIGATION.md +276 -0
  118. package/research/issue-review.md +603 -0
  119. package/research/llm-summarization/agent-cli-tools-2026.md +1082 -0
  120. package/research/llm-summarization/alternative-providers-2026.md +1428 -0
  121. package/research/llm-summarization/anthropic-2026.md +367 -0
  122. package/research/llm-summarization/claude-cli-integration.md +1706 -0
  123. package/research/llm-summarization/cli-integration-patterns.md +3155 -0
  124. package/research/llm-summarization/openai-2026.md +473 -0
  125. package/research/llm-summarization/openai-compatible-providers-2026.md +1022 -0
  126. package/research/llm-summarization/opencode-cli-integration.md +1552 -0
  127. package/research/llm-summarization/prompt-engineering-2026.md +1426 -0
  128. package/research/llm-summarization/prototype-results.md +56 -0
  129. package/research/llm-summarization/provider-switching-patterns-2026.md +2153 -0
  130. package/research/llm-summarization/typescript-llm-libraries-2026.md +2436 -0
  131. package/research/mdcontext-error-analysis.md +521 -0
  132. package/research/mdcontext-pudding/00-EXECUTIVE-SUMMARY.md +282 -0
  133. package/research/mdcontext-pudding/01-index-embed.md +956 -0
  134. package/research/mdcontext-pudding/02-search-COMMANDS.md +142 -0
  135. package/research/mdcontext-pudding/02-search-SUMMARY.md +146 -0
  136. package/research/mdcontext-pudding/02-search.md +970 -0
  137. package/research/mdcontext-pudding/03-context.md +779 -0
  138. package/research/mdcontext-pudding/04-navigation-and-analytics.md +803 -0
  139. package/research/mdcontext-pudding/04-tree.md +704 -0
  140. package/research/mdcontext-pudding/05-config.md +1038 -0
  141. package/research/mdcontext-pudding/06-links-summary.txt +87 -0
  142. package/research/mdcontext-pudding/06-links.md +679 -0
  143. package/research/mdcontext-pudding/07-stats.md +693 -0
  144. package/research/mdcontext-pudding/BUG-FIX-PLAN.md +388 -0
  145. package/research/mdcontext-pudding/P0-BUG-VALIDATION.md +167 -0
  146. package/research/mdcontext-pudding/README.md +168 -0
  147. package/research/mdcontext-pudding/TESTING-SUMMARY.md +128 -0
  148. package/research/npm_publish/011-npm-workflow-research-agent2.md +792 -0
  149. package/research/npm_publish/012-npm-workflow-research-agent1.md +530 -0
  150. package/research/npm_publish/013-npm-workflow-research-agent3.md +722 -0
  151. package/research/npm_publish/014-npm-workflow-synthesis.md +556 -0
  152. package/research/npm_publish/031-npm-workflow-task-analysis.md +134 -0
  153. package/research/research-quality-review.md +834 -0
  154. package/research/semantic-search/002-research-embedding-models.md +490 -0
  155. package/research/semantic-search/003-research-rag-alternatives.md +523 -0
  156. package/research/semantic-search/004-research-vector-search.md +841 -0
  157. package/research/semantic-search/032-research-semantic-search.md +427 -0
  158. package/research/semantic-search/embedding-text-analysis.md +156 -0
  159. package/research/semantic-search/multi-word-failure-reproduction.md +171 -0
  160. package/research/semantic-search/query-processing-analysis.md +207 -0
  161. package/research/semantic-search/root-cause-and-solution.md +114 -0
  162. package/research/semantic-search/threshold-validation-report.md +69 -0
  163. package/research/semantic-search/vector-search-analysis.md +63 -0
  164. package/research/task-management-2026/00-synthesis-recommendations.md +295 -0
  165. package/research/task-management-2026/01-ai-workflow-tools.md +416 -0
  166. package/research/task-management-2026/02-agent-framework-patterns.md +476 -0
  167. package/research/task-management-2026/03-lightweight-file-based.md +567 -0
  168. package/research/task-management-2026/04-established-tools-ai-features.md +541 -0
  169. package/research/task-management-2026/linear/01-core-features-workflow.md +771 -0
  170. package/research/task-management-2026/linear/02-api-integrations.md +930 -0
  171. package/research/task-management-2026/linear/03-ai-features.md +368 -0
  172. package/research/task-management-2026/linear/04-pricing-setup.md +205 -0
  173. package/research/task-management-2026/linear/05-usage-patterns-best-practices.md +605 -0
  174. package/research/test-path-issues.md +276 -0
  175. package/review/ALP-76/1-error-type-design.md +962 -0
  176. package/review/ALP-76/2-error-handling-patterns.md +906 -0
  177. package/review/ALP-76/3-error-presentation.md +624 -0
  178. package/review/ALP-76/4-test-coverage.md +625 -0
  179. package/review/ALP-76/5-migration-completeness.md +440 -0
  180. package/review/ALP-76/6-effect-best-practices.md +755 -0
  181. package/scripts/apply-branch-protection.sh +47 -0
  182. package/scripts/branch-protection-templates.json +79 -0
  183. package/scripts/prototype-summarization.ts +346 -0
  184. package/scripts/rebuild-hnswlib.js +58 -0
  185. package/scripts/setup-branch-protection.sh +64 -0
  186. package/src/__tests__/fixtures/semantic-search/multi-word-corpus/.mdcontext/active-provider.json +7 -0
  187. package/src/__tests__/fixtures/semantic-search/multi-word-corpus/.mdcontext/bm25.json +541 -0
  188. package/src/__tests__/fixtures/semantic-search/multi-word-corpus/.mdcontext/bm25.meta.json +5 -0
  189. package/src/__tests__/fixtures/semantic-search/multi-word-corpus/.mdcontext/config.json +8 -0
  190. package/src/__tests__/fixtures/semantic-search/multi-word-corpus/.mdcontext/embeddings/openai_text-embedding-3-small_512/vectors.bin +0 -0
  191. package/src/__tests__/fixtures/semantic-search/multi-word-corpus/.mdcontext/embeddings/openai_text-embedding-3-small_512/vectors.meta.bin +0 -0
  192. package/src/__tests__/fixtures/semantic-search/multi-word-corpus/.mdcontext/indexes/documents.json +60 -0
  193. package/src/__tests__/fixtures/semantic-search/multi-word-corpus/.mdcontext/indexes/links.json +13 -0
  194. package/src/__tests__/fixtures/semantic-search/multi-word-corpus/.mdcontext/indexes/sections.json +1197 -0
  195. package/src/__tests__/fixtures/semantic-search/multi-word-corpus/configuration-management.md +99 -0
  196. package/src/__tests__/fixtures/semantic-search/multi-word-corpus/distributed-systems.md +92 -0
  197. package/src/__tests__/fixtures/semantic-search/multi-word-corpus/error-handling.md +78 -0
  198. package/src/__tests__/fixtures/semantic-search/multi-word-corpus/failure-automation.md +55 -0
  199. package/src/__tests__/fixtures/semantic-search/multi-word-corpus/job-context.md +69 -0
  200. package/src/__tests__/fixtures/semantic-search/multi-word-corpus/process-orchestration.md +99 -0
  201. package/src/cli/argv-preprocessor.test.ts +210 -0
  202. package/src/cli/argv-preprocessor.ts +202 -0
  203. package/src/cli/cli.test.ts +627 -0
  204. package/src/cli/commands/backlinks.ts +54 -0
  205. package/src/cli/commands/config-cmd.ts +642 -0
  206. package/src/cli/commands/context.ts +285 -0
  207. package/src/cli/commands/duplicates.ts +122 -0
  208. package/src/cli/commands/embeddings.ts +529 -0
  209. package/src/cli/commands/index-cmd.ts +480 -0
  210. package/src/cli/commands/index.ts +16 -0
  211. package/src/cli/commands/links.ts +52 -0
  212. package/src/cli/commands/search.ts +1281 -0
  213. package/src/cli/commands/stats.ts +149 -0
  214. package/src/cli/commands/tree.ts +128 -0
  215. package/src/cli/config-layer.ts +176 -0
  216. package/src/cli/error-handler.test.ts +235 -0
  217. package/src/cli/error-handler.ts +655 -0
  218. package/src/cli/flag-schemas.ts +341 -0
  219. package/src/cli/help.ts +588 -0
  220. package/src/cli/index.ts +9 -0
  221. package/src/cli/main.ts +435 -0
  222. package/src/cli/options.ts +41 -0
  223. package/src/cli/shared-error-handling.ts +199 -0
  224. package/src/cli/typo-suggester.test.ts +105 -0
  225. package/src/cli/typo-suggester.ts +130 -0
  226. package/src/cli/utils.ts +259 -0
  227. package/src/config/file-provider.test.ts +320 -0
  228. package/src/config/file-provider.ts +273 -0
  229. package/src/config/index.ts +72 -0
  230. package/src/config/integration.test.ts +667 -0
  231. package/src/config/precedence.test.ts +277 -0
  232. package/src/config/precedence.ts +451 -0
  233. package/src/config/schema.test.ts +414 -0
  234. package/src/config/schema.ts +603 -0
  235. package/src/config/service.test.ts +320 -0
  236. package/src/config/service.ts +243 -0
  237. package/src/config/testing.test.ts +264 -0
  238. package/src/config/testing.ts +110 -0
  239. package/src/core/index.ts +1 -0
  240. package/src/core/types.ts +113 -0
  241. package/src/duplicates/detector.test.ts +183 -0
  242. package/src/duplicates/detector.ts +414 -0
  243. package/src/duplicates/index.ts +18 -0
  244. package/src/embeddings/embedding-namespace.test.ts +300 -0
  245. package/src/embeddings/embedding-namespace.ts +947 -0
  246. package/src/embeddings/heading-boost.test.ts +222 -0
  247. package/src/embeddings/hnsw-build-options.test.ts +198 -0
  248. package/src/embeddings/hyde.test.ts +272 -0
  249. package/src/embeddings/hyde.ts +264 -0
  250. package/src/embeddings/index.ts +10 -0
  251. package/src/embeddings/openai-provider.ts +414 -0
  252. package/src/embeddings/pricing.json +22 -0
  253. package/src/embeddings/provider-constants.ts +204 -0
  254. package/src/embeddings/provider-errors.test.ts +967 -0
  255. package/src/embeddings/provider-errors.ts +565 -0
  256. package/src/embeddings/provider-factory.test.ts +240 -0
  257. package/src/embeddings/provider-factory.ts +225 -0
  258. package/src/embeddings/provider-integration.test.ts +788 -0
  259. package/src/embeddings/query-preprocessing.test.ts +187 -0
  260. package/src/embeddings/semantic-search-threshold.test.ts +508 -0
  261. package/src/embeddings/semantic-search.ts +1270 -0
  262. package/src/embeddings/types.ts +359 -0
  263. package/src/embeddings/vector-store.ts +708 -0
  264. package/src/embeddings/voyage-provider.ts +313 -0
  265. package/src/errors/errors.test.ts +845 -0
  266. package/src/errors/index.ts +533 -0
  267. package/src/index/ignore-patterns.test.ts +354 -0
  268. package/src/index/ignore-patterns.ts +305 -0
  269. package/src/index/index.ts +4 -0
  270. package/src/index/indexer.ts +684 -0
  271. package/src/index/storage.ts +260 -0
  272. package/src/index/types.ts +147 -0
  273. package/src/index/watcher.ts +189 -0
  274. package/src/index.ts +30 -0
  275. package/src/integration/search-keyword.test.ts +678 -0
  276. package/src/mcp/server.ts +612 -0
  277. package/src/parser/index.ts +1 -0
  278. package/src/parser/parser.test.ts +291 -0
  279. package/src/parser/parser.ts +394 -0
  280. package/src/parser/section-filter.test.ts +277 -0
  281. package/src/parser/section-filter.ts +392 -0
  282. package/src/search/__tests__/hybrid-search.test.ts +650 -0
  283. package/src/search/bm25-store.ts +366 -0
  284. package/src/search/cross-encoder.test.ts +253 -0
  285. package/src/search/cross-encoder.ts +406 -0
  286. package/src/search/fuzzy-search.test.ts +419 -0
  287. package/src/search/fuzzy-search.ts +273 -0
  288. package/src/search/hybrid-search.ts +448 -0
  289. package/src/search/path-matcher.test.ts +276 -0
  290. package/src/search/path-matcher.ts +33 -0
  291. package/src/search/query-parser.test.ts +260 -0
  292. package/src/search/query-parser.ts +319 -0
  293. package/src/search/searcher.test.ts +280 -0
  294. package/src/search/searcher.ts +724 -0
  295. package/src/search/wink-bm25.d.ts +30 -0
  296. package/src/summarization/cli-providers/claude.ts +202 -0
  297. package/src/summarization/cli-providers/detection.test.ts +273 -0
  298. package/src/summarization/cli-providers/detection.ts +118 -0
  299. package/src/summarization/cli-providers/index.ts +8 -0
  300. package/src/summarization/cost.test.ts +139 -0
  301. package/src/summarization/cost.ts +102 -0
  302. package/src/summarization/error-handler.test.ts +127 -0
  303. package/src/summarization/error-handler.ts +111 -0
  304. package/src/summarization/index.ts +102 -0
  305. package/src/summarization/pipeline.test.ts +498 -0
  306. package/src/summarization/pipeline.ts +231 -0
  307. package/src/summarization/prompts.test.ts +269 -0
  308. package/src/summarization/prompts.ts +133 -0
  309. package/src/summarization/provider-factory.test.ts +396 -0
  310. package/src/summarization/provider-factory.ts +178 -0
  311. package/src/summarization/types.ts +184 -0
  312. package/src/summarize/budget-bugs.test.ts +620 -0
  313. package/src/summarize/formatters.ts +419 -0
  314. package/src/summarize/index.ts +20 -0
  315. package/src/summarize/summarizer.test.ts +275 -0
  316. package/src/summarize/summarizer.ts +597 -0
  317. package/src/summarize/verify-bugs.test.ts +238 -0
  318. package/src/types/huggingface-transformers.d.ts +66 -0
  319. package/src/utils/index.ts +1 -0
  320. package/src/utils/tokens.test.ts +142 -0
  321. package/src/utils/tokens.ts +186 -0
  322. package/tests/fixtures/cli/.mdcontext/active-provider.json +7 -0
  323. package/tests/fixtures/cli/.mdcontext/config.json +8 -0
  324. package/tests/fixtures/cli/.mdcontext/embeddings/openai_text-embedding-3-small_512/vectors.bin +0 -0
  325. package/tests/fixtures/cli/.mdcontext/embeddings/openai_text-embedding-3-small_512/vectors.meta.bin +0 -0
  326. package/tests/fixtures/cli/.mdcontext/indexes/documents.json +33 -0
  327. package/tests/fixtures/cli/.mdcontext/indexes/links.json +12 -0
  328. package/tests/fixtures/cli/.mdcontext/indexes/sections.json +247 -0
  329. package/tests/fixtures/cli/README.md +9 -0
  330. package/tests/fixtures/cli/api-reference.md +11 -0
  331. package/tests/fixtures/cli/getting-started.md +11 -0
  332. package/tests/integration/embed-index.test.ts +712 -0
  333. package/tests/integration/search-context.test.ts +469 -0
  334. package/tests/integration/search-semantic.test.ts +522 -0
  335. package/tsconfig.json +26 -0
  336. package/vitest.config.ts +16 -0
  337. package/vitest.setup.ts +12 -0
@@ -0,0 +1,567 @@
1
+ # Lightweight File-Based Task Management for AI Workflows
2
+
3
+ _Research compiled January 2026_
4
+
5
+ ## Executive Summary
6
+
7
+ File-based task management is emerging as a foundational pattern for AI-assisted development. Unlike traditional task management systems that rely on databases and web APIs, plain-text and markdown-based approaches offer unique advantages for LLM workflows: direct context injection, version control integration, human-AI collaboration on the same artifacts, and zero vendor lock-in.
8
+
9
+ This research surveys the landscape of lightweight task management approaches in 2026, with particular focus on their applicability to AI coding workflows.
10
+
11
+ ---
12
+
13
+ ## 1. Why File-Based Task Management for AI Workflows?
14
+
15
+ ### 1.1 The Context Window Problem
16
+
17
+ LLMs operate within finite context windows. Everything the model needs to understand must fit within this window: system prompts, conversation history, code context, and task specifications. File-based task management directly addresses this constraint:
18
+
19
+ - **Token Efficiency**: Plain text and markdown are inherently token-efficient. [Research shows](https://arxiv.org/html/2411.10541v1) that GPT-3.5-turbo performance varies by up to 40% depending on prompt format, with markdown being preferred for its readability and token efficiency.
20
+ - **Direct Injection**: File contents can be directly included in prompts without API calls or format conversion.
21
+ - **Selective Loading**: Agents can read specific sections or files rather than querying entire databases.
22
+
23
+ ### 1.2 Version Control as Memory
24
+
25
+ AI coding agents famously have no memory between sessions. File-based systems leverage Git as a persistence layer:
26
+
27
+ > "The problem we all face with coding agents is that they have no memory between sessions -- sessions that only last about ten minutes. It's the movie Memento in real life." -- [Steve Yegge, creator of Beads](https://steve-yegge.medium.com/introducing-beads-a-coding-agent-memory-system-637d7d92514a)
28
+
29
+ Git-native task management provides:
30
+
31
+ - **Audit trails** that sync with codebase history
32
+ - **Branching** for parallel task exploration
33
+ - **Collaboration** between humans and multiple agents
34
+ - **Rollback** when agent work goes wrong
35
+
36
+ ### 1.3 Human-AI Collaboration on Same Artifacts
37
+
38
+ When tasks live in markdown files within the repo, both humans and AI agents can:
39
+
40
+ - Read the same task definitions
41
+ - Update progress in the same format
42
+ - Add notes and context that persist
43
+ - Review each other's work through standard PR workflows
44
+
45
+ ---
46
+
47
+ ## 2. Plain-Text Task Management Systems
48
+
49
+ ### 2.1 Todo.txt
50
+
51
+ [Todo.txt](http://todotxt.org/) represents the minimalist philosophy: tasks as lines in a plain text file.
52
+
53
+ **Format:**
54
+
55
+ ```
56
+ (A) 2026-01-21 Call Mom @phone +Family
57
+ x 2026-01-20 2026-01-15 File taxes @computer +Finance
58
+ ```
59
+
60
+ **Strengths for AI:**
61
+
62
+ - Extremely simple for LLMs to parse and generate
63
+ - No dependencies or special tooling required
64
+ - Portable across any system
65
+
66
+ **Limitations:**
67
+
68
+ - No support for subtasks or dependencies
69
+ - No due dates (only creation/completion dates)
70
+ - Limited metadata capabilities
71
+
72
+ **AI Applicability:** Best for simple, flat task lists where an agent needs to track its own work. The simplicity is both strength and weakness.
73
+
74
+ ### 2.2 TaskWarrior
75
+
76
+ [TaskWarrior](https://taskwarrior.org/) offers a richer feature set for command-line task management.
77
+
78
+ **Key Features:**
79
+
80
+ - Dependencies between tasks
81
+ - Due dates, start dates, recurrence
82
+ - Projects, tags, and user-defined attributes
83
+ - Virtual tags (TODAY, OVERDUE, etc.)
84
+ - Sync capabilities
85
+
86
+ **AI Considerations:**
87
+
88
+ - More complex format for LLMs to work with
89
+ - Rich feature set useful for complex project management
90
+ - JSON export enables structured AI consumption
91
+ - Overkill for simple agent workflows
92
+
93
+ ### 2.3 Org-mode (Emacs)
94
+
95
+ [Org-mode](https://orgmode.org/org.html) is the most powerful plain-text organizational system, combining task management with notes, documentation, and more.
96
+
97
+ **LLM Integration Tools:**
98
+
99
+ - [gptel](https://github.com/karthink/gptel): Simple, extensible LLM client for Emacs
100
+ - [org-ai](https://github.com/rksm/org-ai): Personal AI assistant for Emacs using LLMs
101
+ - [gptel-got](https://codeberg.org/bajsicki/gptel-got): Tooling for LLM interactions with org-mode
102
+
103
+ **AI-Specific Capabilities:**
104
+
105
+ - LLMs can generate subtasks from headlines
106
+ - Estimate task durations
107
+ - Review and reorganize task hierarchies
108
+ - All within version-controlled plain text
109
+
110
+ **Limitations:**
111
+
112
+ - Requires Emacs ecosystem
113
+ - Learning curve for org-mode syntax
114
+ - Not as universal as markdown
115
+
116
+ ---
117
+
118
+ ## 3. Markdown-Based Task Systems
119
+
120
+ ### 3.1 Backlog.md
121
+
122
+ [Backlog.md](https://github.com/MrLesk/Backlog.md) transforms any Git repo into a self-contained project board using markdown files.
123
+
124
+ **Core Principles:**
125
+
126
+ 1. **Markdown as database**: Each task is a separate `.md` file
127
+ 2. **Git-native integration**: Task IDs reference commits and branches
128
+ 3. **Terminal-first design**: Full CLI functionality
129
+
130
+ **AI Integration:**
131
+
132
+ - Works with Claude Code, Gemini CLI, Codex, and MCP-compatible assistants
133
+ - Structured format for easy AI parsing
134
+ - Web interface and terminal Kanban for visualization
135
+
136
+ **Example Structure:**
137
+
138
+ ```
139
+ .backlog/
140
+ tasks/
141
+ TASK-001.md
142
+ TASK-002.md
143
+ config.yaml
144
+ ```
145
+
146
+ ### 3.2 Tasks.md
147
+
148
+ [Tasks.md](https://github.com/BaldissaraMatheus/Tasks.md) is a self-hosted, markdown-based Kanban board.
149
+
150
+ **Features:**
151
+
152
+ - Cards, lanes, and tags in a responsive web interface
153
+ - PWA installation support
154
+ - All data stored in markdown files
155
+
156
+ **Use Case:** Teams wanting visual task boards while keeping data in version-controllable markdown.
157
+
158
+ ### 3.3 TODO.md Standard
159
+
160
+ The [TODO.md standard](https://github.com/todo-md/todo-md) defines an interchangeable format for task management that's machine-processable.
161
+
162
+ **Philosophy:** Manage todos the "git-way" across multiple repositories with a consistent format.
163
+
164
+ ### 3.4 tik
165
+
166
+ [tik](https://github.com/vvhg1/tik) combines project/task management with Git integration using markdown files.
167
+
168
+ **Design Focus:** Simplicity and ease of use while maintaining project organization.
169
+
170
+ ---
171
+
172
+ ## 4. Git-Native Issue Tracking
173
+
174
+ ### 4.1 Beads
175
+
176
+ [Beads](https://github.com/steveyegge/beads), created by Steve Yegge, is a "memory upgrade for coding agents" -- a Git-backed issue tracker designed specifically for AI workflows.
177
+
178
+ **Architecture:**
179
+
180
+ - Local SQLite database for speed
181
+ - JSONL files for Git synchronization
182
+ - Automatic sync between DB and files
183
+
184
+ **Key Differentiators:**
185
+
186
+ - **DAG + Priority Model**: Dependency-aware task graphs
187
+ - **Agent-Centric Design**: Agents file and manage issues automatically
188
+ - **JSON Interface**: Primary interface designed for programmatic access
189
+ - **Auto-Sync**: Changes flush to JSONL after 5 seconds of inactivity
190
+
191
+ **Why Not Plain Markdown?**
192
+
193
+ > "A flat markdown list doesn't explicitly define relationships between tasks. An agent might struggle to understand that Task C depends on completing Task A and Task B first."
194
+
195
+ **Visualization Tools:**
196
+
197
+ - Kanban board view
198
+ - Dependency graph visualization
199
+ - Graph metrics and bottleneck analysis via [Beads Viewer](https://github.com/Dicklesworthstone/beads_viewer)
200
+
201
+ ### 4.2 Issues-as-Files Approach
202
+
203
+ The broader pattern of storing issues as files enables:
204
+
205
+ - Issues versioned alongside code
206
+ - Offline access and editing
207
+ - Standard text tools for search/manipulation
208
+ - No external service dependencies
209
+
210
+ ---
211
+
212
+ ## 5. Spec-Driven Development
213
+
214
+ ### 5.1 The SDD Paradigm
215
+
216
+ [Spec-driven development (SDD)](https://www.thoughtworks.com/en-us/insights/blog/agile-engineering-practices/spec-driven-development-unpacking-2025-new-engineering-practices) has emerged as a key pattern for AI-assisted development in 2025-2026.
217
+
218
+ **Core Concept:**
219
+
220
+ > "Spec-driven development means writing a 'spec' before writing code with AI. The spec becomes the source of truth for the human and the AI."
221
+
222
+ **Typical File Structure:**
223
+
224
+ ```
225
+ project/
226
+ requirements.md # What we're building
227
+ design.md # How we're building it
228
+ tasks.md # Implementation breakdown
229
+ plan.md # Execution steps
230
+ ```
231
+
232
+ ### 5.2 Tools and Frameworks
233
+
234
+ **GitHub Spec-Kit:**
235
+
236
+ - [Open-source toolkit](https://github.com/github/spec-kit/blob/main/spec-driven.md) for spec-driven workflows
237
+ - Structured directories for specs, contracts, data models
238
+ - Works with various AI coding tools
239
+
240
+ **Amazon Kiro:**
241
+
242
+ - Predefined SDD workflows
243
+ - Requirements-driven development
244
+ - Integrated task generation from specs
245
+
246
+ **JetBrains Junie:**
247
+
248
+ - [Spec-driven approach](https://blog.jetbrains.com/junie/2025/10/how-to-use-a-spec-driven-approach-for-coding-with-ai/) for AI coding
249
+ - Markdown-based requirements
250
+
251
+ ### 5.3 Best Practices
252
+
253
+ From [Addy Osmani's guide on specs for AI agents](https://addyosmani.com/blog/good-spec/):
254
+
255
+ 1. **Living Documents**: Update specs as decisions are made
256
+ 2. **Ground Truth**: Specs drive implementation, tests, and task breakdowns
257
+ 3. **Human-in-the-Loop**: Review specs before handing to agents
258
+ 4. **Planning Method**: Use something like Backlog.md to break down work
259
+
260
+ ---
261
+
262
+ ## 6. AI Coding Tool Approaches
263
+
264
+ ### 6.1 Claude Code
265
+
266
+ Claude Code uses markdown files for configuration and task persistence.
267
+
268
+ **CLAUDE.md Files:**
269
+
270
+ - [Project-level configuration](https://claude.com/blog/using-claude-md-files) in markdown
271
+ - Persistent instructions across sessions
272
+ - Can reference external files for context
273
+
274
+ **Task Persistence Challenges:**
275
+
276
+ - Built-in todo list doesn't persist across sessions
277
+ - Context window resets clear task state
278
+
279
+ **Workarounds:**
280
+
281
+ - Create `plan.md` or `todo.md` files manually
282
+ - Use [ralph-wiggum plugin](https://looking4offswitch.github.io/blog/2026/01/04/ralph-wiggum-claude-code/) for autonomous task loops
283
+ - [CCPM](https://github.com/automazeio/ccpm): Project management using GitHub Issues and Git worktrees
284
+
285
+ **Minimalist Workflow Pattern** (from [Nick Tune](https://medium.com/nick-tune-tech-strategy-blog/minimalist-claude-code-task-management-workflow-7b7bdcbc4cc1)):
286
+
287
+ ```markdown
288
+ # TODO.md
289
+
290
+ - [ ] Task 1: Description
291
+ - [x] Task 2: Completed
292
+ - [ ] Task 3: In progress
293
+ ```
294
+
295
+ ### 6.2 Cursor and Windsurf
296
+
297
+ Modern AI IDEs [handle context differently](https://www.builder.io/blog/windsurf-vs-cursor):
298
+
299
+ **Cursor:**
300
+
301
+ - Manual context curation with @ symbols
302
+ - Rules files (`.cursorrules`) for project configuration
303
+ - Developer-driven approach
304
+
305
+ **Windsurf:**
306
+
307
+ - Automatic context detection
308
+ - Repository-scale comprehension
309
+ - Multi-file reasoning
310
+
311
+ **Common Pattern:** Both support AGENTS.md files for agent-specific instructions.
312
+
313
+ ### 6.3 AGENTS.md Standard
314
+
315
+ [AGENTS.md](https://agents.md/) is now stewarded by the Linux Foundation's Agentic AI Foundation.
316
+
317
+ **Purpose:** A README for AI agents -- instructions on how to work with a codebase.
318
+
319
+ **Adoption:** Major repos (e.g., OpenAI) have multiple AGENTS.md files.
320
+
321
+ ---
322
+
323
+ ## 7. YAML/JSON Task Specifications
324
+
325
+ ### 7.1 YAML for Agent Configuration
326
+
327
+ [YAML has become the de facto standard](https://empathyfirstmedia.com/yaml-files-ai-agents/) for AI agent configuration.
328
+
329
+ **Advantages:**
330
+
331
+ - Human-readable hierarchical structure
332
+ - Widely supported parsing libraries
333
+ - Clean separation of concerns
334
+
335
+ **Use Cases:**
336
+
337
+ - Agent role definitions
338
+ - Task parameters
339
+ - Workflow configurations
340
+
341
+ ### 7.2 Agent Skills (VS Code)
342
+
343
+ [Copilot Agent Skills](https://code.visualstudio.com/docs/copilot/customization/agent-skills) use YAML frontmatter:
344
+
345
+ ```yaml
346
+ ---
347
+ name: my-skill
348
+ description: What this skill does
349
+ ---
350
+ # Skill instructions in markdown
351
+ ```
352
+
353
+ **Benefits:**
354
+
355
+ - Portable across agents
356
+ - Metadata for skill discovery
357
+ - Instructions in natural language
358
+
359
+ ### 7.3 Conformance Testing
360
+
361
+ YAML-based conformance suites define expected inputs/outputs for agent behavior:
362
+
363
+ - Language-independent test definitions
364
+ - Contract-style specifications
365
+ - Verifiable agent behavior
366
+
367
+ ---
368
+
369
+ ## 8. LLM-Native Formats
370
+
371
+ ### 8.1 llm-md (Large Language Model Markdown)
372
+
373
+ [llm-md](https://llm.md/) is a workflow definition language built on markdown.
374
+
375
+ **Key Features:**
376
+
377
+ - Define conversations in `.md` files
378
+ - Context, user input, and responses in one file
379
+ - Version-controllable AI interactions
380
+ - Multi-agent workflows with operators (`>>>`, `>>=`, `=>>`, `!>>`)
381
+ - Shell command integration
382
+ - Scoped variables (global, session, agent, local)
383
+
384
+ **Example:**
385
+
386
+ ```markdown
387
+ # Agent: researcher
388
+
389
+ You are a research assistant.
390
+
391
+ ## User
392
+
393
+ Find information about task management.
394
+
395
+ ## Assistant
396
+
397
+ [Response appears here]
398
+
399
+ > > >
400
+
401
+ # Agent: summarizer
402
+
403
+ Summarize the research above.
404
+ ```
405
+
406
+ **Philosophy:**
407
+
408
+ > "AI interactions become plain-text files you can version, share, and trace, complete with context, agent flow, and conversation history."
409
+
410
+ ### 8.2 llms.txt
411
+
412
+ [llms.txt](https://www.tryprofound.com/guides/what-is-llms-txt-guide) is an emerging standard for making websites LLM-friendly:
413
+
414
+ - Structured content for AI parsing
415
+ - Optimization for inference
416
+ - Bridge between human-centric web and machine-readable data
417
+
418
+ ---
419
+
420
+ ## 9. Recommendations for AI Workflow Task Management
421
+
422
+ ### 9.1 For Simple Agent Tasks
423
+
424
+ **Recommended: Markdown checkbox lists in a `TODO.md` file**
425
+
426
+ ```markdown
427
+ # Current Sprint
428
+
429
+ ## In Progress
430
+
431
+ - [ ] Implement authentication module
432
+ - [x] Set up JWT tokens
433
+ - [ ] Add refresh token logic
434
+
435
+ ## Pending
436
+
437
+ - [ ] Write unit tests
438
+ - [ ] Update documentation
439
+ ```
440
+
441
+ **Why:**
442
+
443
+ - Zero tooling required
444
+ - Directly readable by any LLM
445
+ - Git-versioned automatically
446
+ - Human and AI can both update
447
+
448
+ ### 9.2 For Complex Multi-Agent Projects
449
+
450
+ **Recommended: Beads or Backlog.md**
451
+
452
+ - Dependency tracking between tasks
453
+ - Multiple agents can coordinate
454
+ - Git sync for persistence
455
+ - Structured format for programmatic access
456
+
457
+ ### 9.3 For Spec-Driven Development
458
+
459
+ **Recommended: Spec-Kit style structure**
460
+
461
+ ```
462
+ project/
463
+ SPEC.md # High-level specification
464
+ requirements.md # Detailed requirements
465
+ tasks.md # Task breakdown
466
+ AGENTS.md # Agent instructions
467
+ ```
468
+
469
+ **Why:**
470
+
471
+ - Specs as source of truth
472
+ - Clear separation of concerns
473
+ - Human review points before implementation
474
+ - Standard pattern gaining industry adoption
475
+
476
+ ### 9.4 For Claude Code Specifically
477
+
478
+ **Recommended: File-based persistence + CLAUDE.md**
479
+
480
+ 1. Use `CLAUDE.md` for project-wide agent instructions
481
+ 2. Create `TODO.md` or `plan.md` for task persistence
482
+ 3. Reference these files in CLAUDE.md
483
+ 4. Use `/clear` between distinct tasks
484
+ 5. Consider ralph-wiggum for autonomous loops
485
+
486
+ ### 9.5 General Best Practices
487
+
488
+ 1. **Keep It Simple**: Start with plain markdown before adding tools
489
+ 2. **Version Everything**: All task state should be in Git
490
+ 3. **Design for Context**: Structure files for selective loading
491
+ 4. **Human Checkpoints**: Build review points into workflows
492
+ 5. **Document Workflows**: Codify team standards in AGENTS.md
493
+ 6. **Token Awareness**: Consider token costs when designing formats
494
+
495
+ ---
496
+
497
+ ## 10. Comparison Matrix
498
+
499
+ | Approach | Complexity | AI-Friendliness | Dependencies | Version Control | Best For |
500
+ | ------------------- | ---------- | ----------------- | ------------ | --------------- | -------------------------- |
501
+ | Todo.txt | Very Low | High | None | Excellent | Simple flat lists |
502
+ | Markdown checklists | Low | Very High | None | Excellent | Most use cases |
503
+ | TaskWarrior | Medium | Medium | CLI tool | Good | Complex personal task mgmt |
504
+ | Org-mode | High | High (with tools) | Emacs | Excellent | Emacs users |
505
+ | Backlog.md | Medium | Very High | CLI tool | Excellent | Team projects |
506
+ | Beads | Medium | Very High | CLI tool | Excellent | Multi-agent coordination |
507
+ | Spec-Kit | Medium | High | None | Excellent | Spec-driven development |
508
+ | llm-md | Medium | Very High | CLI tool | Excellent | LLM workflow definition |
509
+
510
+ ---
511
+
512
+ ## 11. Conclusion
513
+
514
+ File-based task management is not a step backward -- it's a strategic choice for AI-native development. The benefits are clear:
515
+
516
+ 1. **Direct LLM Consumption**: No API translation, no format conversion
517
+ 2. **Git Integration**: History, branching, collaboration for free
518
+ 3. **Human-AI Parity**: Same artifacts, same tools, same workflows
519
+ 4. **Zero Lock-in**: Plain text survives all tooling changes
520
+ 5. **Context Control**: Selective loading respects token budgets
521
+
522
+ The trend in 2026 is toward treating specifications and task definitions as primary artifacts, with code as their expression. File-based systems align perfectly with this shift.
523
+
524
+ **For our use case (mdcontext project)**: A simple markdown-based approach with SPEC.md/TODO.md files, combined with CLAUDE.md for agent instructions, provides the best balance of simplicity and capability. Consider adopting Beads if multi-agent coordination becomes important.
525
+
526
+ ---
527
+
528
+ ## Sources
529
+
530
+ ### Task Management Tools
531
+
532
+ - [Todo.txt](http://todotxt.org/)
533
+ - [TaskWarrior](https://taskwarrior.org/)
534
+ - [Backlog.md](https://github.com/MrLesk/Backlog.md)
535
+ - [Tasks.md](https://github.com/BaldissaraMatheus/Tasks.md)
536
+ - [tik](https://github.com/vvhg1/tik)
537
+ - [Beads](https://github.com/steveyegge/beads)
538
+
539
+ ### AI Coding Tools
540
+
541
+ - [Claude Code CLAUDE.md](https://claude.com/blog/using-claude-md-files)
542
+ - [AGENTS.md Standard](https://agents.md/)
543
+ - [VS Code Agent Skills](https://code.visualstudio.com/docs/copilot/customization/agent-skills)
544
+
545
+ ### Spec-Driven Development
546
+
547
+ - [GitHub Spec-Kit](https://github.com/github/spec-kit/blob/main/spec-driven.md)
548
+ - [Thoughtworks on SDD](https://www.thoughtworks.com/en-us/insights/blog/agile-engineering-practices/spec-driven-development-unpacking-2025-new-engineering-practices)
549
+ - [Addy Osmani on Specs](https://addyosmani.com/blog/good-spec/)
550
+ - [Martin Fowler on SDD Tools](https://martinfowler.com/articles/exploring-gen-ai/sdd-3-tools.html)
551
+
552
+ ### LLM Workflow Tools
553
+
554
+ - [llm-md](https://llm.md/)
555
+ - [gptel for Emacs](https://github.com/karthink/gptel)
556
+
557
+ ### AI Workflow Articles
558
+
559
+ - [Addy Osmani's LLM Coding Workflow 2026](https://addyosmani.com/blog/ai-coding-workflow/)
560
+ - [Steve Yegge on Beads](https://steve-yegge.medium.com/introducing-beads-a-coding-agent-memory-system-637d7d92514a)
561
+ - [Nick Tune's Minimalist Task Workflow](https://medium.com/nick-tune-tech-strategy-blog/minimalist-claude-code-task-management-workflow-7b7bdcbc4cc1)
562
+
563
+ ### Comparisons and Reviews
564
+
565
+ - [Windsurf vs Cursor](https://www.builder.io/blog/windsurf-vs-cursor)
566
+ - [AI Code Editor Comparison 2026](https://research.aimultiple.com/ai-code-editor/)
567
+ - [LLM Context Management Guide](https://eval.16x.engineer/blog/llm-context-management-guide)