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,368 @@
1
+ # Linear AI Features Analysis (2026)
2
+
3
+ ## Executive Summary
4
+
5
+ Linear has positioned itself as a genuinely **AI-native** task management tool rather than having AI features bolted on as an afterthought. The platform treats AI agents as first-class team members with dedicated APIs, authentication flows, and workspace integration. This represents a fundamental architectural difference from competitors who have retrofitted AI capabilities onto traditional project management systems.
6
+
7
+ **Verdict**: Linear is truly AI-native, not AI bolt-on. The depth of agent integration, the Agent Interaction SDK, and the delegation model all point to AI being a core architectural consideration, not a feature layer.
8
+
9
+ ---
10
+
11
+ ## Native AI Features
12
+
13
+ ### Triage Intelligence
14
+
15
+ Linear's flagship AI feature uses an **agentic approach** where models actively pull context from workspace data to make intelligent decisions.
16
+
17
+ **How it works**:
18
+
19
+ - Analyzes every issue entering triage against existing backlog data
20
+ - Uses GPT-5 and Gemini 2.5 Pro for complex reasoning
21
+ - Learns from how similar work was organized historically
22
+ - Runs in background with no manual trigger required
23
+
24
+ **Capabilities**:
25
+
26
+ - **Duplicate detection**: Automatically merges duplicate requests into existing issues
27
+ - **Related issue linking**: Surfaces connections between related work
28
+ - **Property suggestions**: Recommends teams, projects, assignees, and labels
29
+ - **Auto-apply options**: Configurable automation for trusted suggestion types
30
+
31
+ **Architecture**: The system uses a combination of search, ranking, and LLM-based reasoning. Smaller models proved insufficient, leading Linear to adopt an agentic architecture where larger models can request additional context as needed.
32
+
33
+ > "The limitation of smaller models led Linear to an agentic approach, where the model could pull in whatever additional context it needed from Linear's data."
34
+
35
+ ### AI Workflows
36
+
37
+ Linear's AI assists with routine manual tasks across the product:
38
+
39
+ - Summarizing issues and projects
40
+ - Drafting updates
41
+ - Organizing work
42
+ - Managing routine triage operations
43
+
44
+ ---
45
+
46
+ ## The "AI as Teammate" Model
47
+
48
+ ### Core Philosophy
49
+
50
+ Linear treats agents as **full workspace members**, not external tools:
51
+
52
+ - Agents appear in team rosters
53
+ - Can be @mentioned like human teammates
54
+ - Can be assigned to issues
55
+ - Can be added to projects
56
+ - Participate in comment threads
57
+ - Activity tracked in Insights analytics
58
+
59
+ ### Delegation vs Assignment
60
+
61
+ Critical distinction in Linear's model:
62
+
63
+ > "Agents are not traditional assignees. Assigning an issue to an agent triggers delegation - the agent acts on the issue, but the human teammate remains responsible for its completion."
64
+
65
+ This **human accountability** model means:
66
+
67
+ - Humans maintain ownership while agents execute
68
+ - Clear visibility into what agents are doing
69
+ - Agents act on behalf of the responsible human
70
+ - No "orphaned" work where AI took over without oversight
71
+
72
+ ### Agent Sessions
73
+
74
+ The core interaction model centers on **Agent Sessions**:
75
+
76
+ - Sessions track the lifecycle of agent tasks
77
+ - Created automatically on mention or delegation
78
+ - State visible to users in real-time
79
+ - Updated automatically based on agent activities
80
+ - No manual state management required
81
+
82
+ Agents communicate through **Agent Activities**:
83
+
84
+ - Thoughts (reasoning)
85
+ - Actions (what they're doing)
86
+ - Clarification prompts
87
+ - Final responses
88
+ - Error states
89
+
90
+ ---
91
+
92
+ ## Cursor Integration (@Cursor Assignment)
93
+
94
+ Linear has deep integration with Cursor, allowing issues to be assigned directly to Cursor's cloud agent.
95
+
96
+ ### How It Works
97
+
98
+ 1. **Trigger methods**:
99
+ - Assign issue to @Cursor from assignee menu
100
+ - Mention @Cursor in a comment
101
+ - Create triage rules for automatic assignment
102
+
103
+ 2. **Execution**:
104
+ - Cursor cloud agent spins up automatically
105
+ - Pulls full issue context (description, comments, linked references)
106
+ - Works in context of the issue
107
+ - Tracks progress directly in Linear, Cursor web app, or IDE
108
+
109
+ 3. **Completion**:
110
+ - Agent updates issue automatically with PR
111
+ - Team can review diffs directly from Linear
112
+ - Full audit trail maintained
113
+
114
+ ### Capabilities
115
+
116
+ - Answer questions about codebase
117
+ - Fix bugs
118
+ - Implement features
119
+ - Take first pass on triage queue issues
120
+ - Open pull requests
121
+
122
+ ### Automatic Triage Rules
123
+
124
+ Configure rules to auto-assign issues to Cursor based on:
125
+
126
+ - Labels
127
+ - Projects
128
+ - T-shirt size (e.g., "small or less")
129
+ - Team assignments
130
+
131
+ > "In this project, with this label, and t-shirt size small or less, let the agent handle it."
132
+
133
+ ### Technical Integration
134
+
135
+ Linear built an **API specifically for agents**:
136
+
137
+ - "Agent session" concept provides full context to agents
138
+ - Structured webhooks with issue details, comments, references
139
+ - Bi-directional communication
140
+
141
+ **Requirements**: Cursor Pro or Ultra plan, admin installation
142
+
143
+ ---
144
+
145
+ ## GitHub Copilot Integration
146
+
147
+ Available in public preview since October 2025.
148
+
149
+ ### How It Works
150
+
151
+ 1. **Trigger**: Mention @GitHub or assign Copilot to a Linear issue
152
+ 2. **Analysis**: Copilot captures entire issue description and comments as context
153
+ 3. **Execution**: Works in ephemeral development environment (GitHub Actions powered)
154
+ 4. **Output**: Opens draft pull request
155
+
156
+ ### Capabilities
157
+
158
+ - Explore codebase
159
+ - Make code changes
160
+ - Run automated tests and linters
161
+ - Create pull requests
162
+ - Update Linear issue with progress
163
+
164
+ ### Key Features
165
+
166
+ - Asynchronous, autonomous background agent
167
+ - Works independently without blocking developer
168
+ - Uses full issue context for implementation decisions
169
+ - Isolated cloud environment for safety
170
+
171
+ **Requirements**: Copilot Pro, Pro+, Business, or Enterprise; Linear team membership; org owner GitHub permissions
172
+
173
+ ---
174
+
175
+ ## OpenAI Codex Integration
176
+
177
+ Launched December 2025.
178
+
179
+ ### Capabilities
180
+
181
+ - Answer questions about codebase
182
+ - Fix bugs
183
+ - Write features
184
+ - Propose pull requests for review
185
+ - Take first pass at triage queue issues
186
+
187
+ ### How It Works
188
+
189
+ 1. **Trigger**: Assign to Codex or @mention in comment
190
+ 2. **Execution**: Codex creates cloud task, runs in sandbox with repo preloaded
191
+ 3. **Communication**: Replies with progress and results
192
+ 4. **Completion**: Typically 1-30 minutes depending on complexity
193
+
194
+ ### Automatic Assignment
195
+
196
+ Via triage rules:
197
+
198
+ 1. Navigate to Settings > Team > Workflow > Triage
199
+ 2. Create rule: Delegate > Codex
200
+ 3. New issues matching criteria auto-assigned
201
+
202
+ ### Sandbox Capabilities
203
+
204
+ - Read and edit files
205
+ - Run commands
206
+ - Execute test harnesses
207
+ - Run linters and type checkers
208
+ - Real-time progress monitoring
209
+
210
+ **Requirements**: ChatGPT paid plan, GitHub account connection
211
+
212
+ ---
213
+
214
+ ## Other Agent Integrations
215
+
216
+ Linear's agent ecosystem includes specialized tools:
217
+
218
+ | Agent | Capabilities |
219
+ | ----------- | ------------------------------------------------------------------ |
220
+ | **Devin** | Scopes issues, drafts PRs, built-in Linear tool |
221
+ | **Sentry** | Root cause analysis with Seer, diagnoses and fixes issues |
222
+ | **ChatPRD** | Writes requirements, manages issues, provides feedback |
223
+ | **Warp** | Investigates bugs, suggests fixes, opens PRs |
224
+ | **Factory** | Codes, tests, creates pull requests in isolated cloud environments |
225
+
226
+ ### Sentry Agent Details
227
+
228
+ - Runs Seer diagnostics directly from Linear issues
229
+ - Posts back insights without context switching
230
+ - OAuth-secured webhook communication
231
+ - Handles issue detail requests and fix operations
232
+
233
+ ### Factory (Droids) Details
234
+
235
+ - Autonomous Droids work in isolated cloud environments
236
+ - Pull full context: descriptions, comments, linked tickets, dependencies
237
+ - End-to-end task completion
238
+
239
+ ---
240
+
241
+ ## Building Custom AI Agents
242
+
243
+ Linear provides a full developer platform for custom agents.
244
+
245
+ ### Agent Interaction SDK
246
+
247
+ - TypeScript-based SDK
248
+ - Cloudflare-ready demo agent ("Weather Bot") as starting point
249
+ - No cost to develop agents
250
+ - Agents don't count as billable seats
251
+
252
+ ### Authentication
253
+
254
+ Uses OAuth2 with special `actor=app` parameter:
255
+
256
+ - Creates dedicated user for the agent
257
+ - Token tied to specific scopes and teams
258
+ - Workspace admin controls installation
259
+
260
+ ### Required Scopes
261
+
262
+ - Mention capability: separate scope
263
+ - Assignment capability: separate scope
264
+ - Team access: configurable per-team
265
+
266
+ ### Agent Activity System
267
+
268
+ Agents emit structured activities to Linear:
269
+
270
+ - `thought`: Agent's reasoning
271
+ - `action`: Current execution step
272
+ - `prompt`: Clarification needed
273
+ - `response`: Final result
274
+ - `error`: Failure states
275
+
276
+ Linear renders appropriate UI automatically based on activity types.
277
+
278
+ ### Distribution Options
279
+
280
+ 1. **Private**: Internal workspace use only
281
+ 2. **Public**: Submit to Linear's Integration Directory for community use
282
+
283
+ ### Developer Resources
284
+
285
+ - Documentation: <https://linear.app/developers/agents>
286
+ - Agent Docs: <https://linear.app/docs/agents-in-linear>
287
+ - Agents Overview: <https://linear.app/agents>
288
+
289
+ ---
290
+
291
+ ## AI-Native Architecture Assessment
292
+
293
+ ### Evidence of AI-Native Design
294
+
295
+ 1. **Dedicated Agent APIs**: Not retrofitted - purpose-built for AI interaction
296
+ 2. **Agent Sessions**: First-class concept in the data model
297
+ 3. **Delegation model**: Architectural distinction from assignment
298
+ 4. **Activity system**: Standardized agent-to-human communication
299
+ 5. **Agent Authentication**: Separate OAuth flow (`actor=app`)
300
+ 6. **No billable seats for agents**: Pricing model anticipates AI teammates
301
+ 7. **Agentic Triage Intelligence**: Core feature, not add-on
302
+
303
+ ### Comparison with Bolt-On Approaches
304
+
305
+ | Aspect | AI-Native (Linear) | AI Bolt-On (Typical) |
306
+ | ---------------- | ------------------------------ | ----------------------------- |
307
+ | Agent identity | First-class workspace member | External integration |
308
+ | Authentication | Dedicated OAuth flow | API key or user impersonation |
309
+ | State management | Automatic via sessions | Manual tracking |
310
+ | UI integration | Native rendering | Webhook comments |
311
+ | Pricing | Agents don't count | Often per-seat |
312
+ | Delegation model | Human accountability preserved | Full transfer or nothing |
313
+
314
+ ### Limitations
315
+
316
+ - **Not a general PM tool**: Built specifically for engineering/product teams
317
+ - **Customer conversation processing**: Requires bridging tools for support workflows
318
+ - **Not for compliance-heavy workflows**: Tools like Jira may be better for regulatory needs
319
+
320
+ ---
321
+
322
+ ## Future Direction
323
+
324
+ Linear has signaled continued AI investment:
325
+
326
+ > "Linear intends to move in the direction of more automation and decisions based on richer context. Triage Intelligence will improve as it draws on a deeper understanding of your workspace and as they adopt newer models and techniques."
327
+
328
+ Expected developments:
329
+
330
+ - More automation options with user control
331
+ - Richer context understanding
332
+ - Adoption of newer models and techniques
333
+ - Expanded agent capabilities
334
+
335
+ ---
336
+
337
+ ## Industry Context (2026)
338
+
339
+ Linear's approach aligns with broader industry trends:
340
+
341
+ - **40% of enterprise apps** will embed AI agents by end of 2026 (Gartner)
342
+ - **MCP adoption** surging for agent-to-tool communication
343
+ - **75% of API gateway vendors** expected to have MCP features by 2026
344
+ - Shift from chatbots to **autonomous agentic systems**
345
+
346
+ Linear appears well-positioned as this transition accelerates, having built agent-first architecture before the wave of retrofitting began.
347
+
348
+ ---
349
+
350
+ ## Sources
351
+
352
+ - [Linear AI Agents Documentation](https://linear.app/docs/agents-in-linear)
353
+ - [Linear for Agents](https://linear.app/agents)
354
+ - [Triage Intelligence Documentation](https://linear.app/docs/triage-intelligence)
355
+ - [How Linear Built Triage Intelligence](https://linear.app/now/how-we-built-triage-intelligence)
356
+ - [Cursor Integration](https://linear.app/integrations/cursor)
357
+ - [How Cursor Integrated with Linear for Agents](https://linear.app/now/how-cursor-integrated-with-linear-for-agents)
358
+ - [Bringing the Cursor Agent to Linear](https://cursor.com/blog/linear)
359
+ - [GitHub Copilot Integration](https://linear.app/integrations/github-copilot)
360
+ - [GitHub Copilot for Linear Documentation](https://docs.github.com/en/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-linear)
361
+ - [OpenAI Codex Agent Changelog](https://linear.app/changelog/2025-12-04-openai-codex-agent)
362
+ - [Codex Linear Integration](https://developers.openai.com/codex/integrations/linear/)
363
+ - [Linear Agent Interaction SDK Approach](https://linear.app/now/our-approach-to-building-the-agent-interaction-sdk)
364
+ - [Linear Developer Documentation](https://linear.app/developers/agents)
365
+ - [Sentry Agent Integration](https://linear.app/integrations/sentry-agent)
366
+ - [Factory Integration](https://linear.app/integrations/factory)
367
+ - [Linear AI Overview (eesel.ai)](https://www.eesel.ai/blog/linear-ai)
368
+ - [Linear Reviews 2026 (G2)](https://www.g2.com/products/linear/reviews)
@@ -0,0 +1,205 @@
1
+ # Linear Pricing and Setup Guide
2
+
3
+ Research date: January 2026
4
+
5
+ ## Pricing Overview
6
+
7
+ Linear uses a per-user pricing model with a generous free tier that works well for small teams and open source projects.
8
+
9
+ ### Plan Comparison
10
+
11
+ | Plan | Price | Key Features |
12
+ | -------------- | ----------------------------- | --------------------------------------------------------------------------------------- |
13
+ | **Free** | $0 | Unlimited members, up to 250 active issues, 2 teams, all integrations, API access |
14
+ | **Basic** | $8/user/month ($6.40 annual) | Unlimited issues, 5 teams, admin roles, unlimited file uploads |
15
+ | **Business** | $12/user/month ($9.60 annual) | Private teams, guest accounts, Linear Insights analytics, Zendesk/Intercom integrations |
16
+ | **Enterprise** | Custom | SAML/SCIM, granular security controls, workspace owner role, custom SLAs |
17
+
18
+ Annual billing provides a 20% discount.
19
+
20
+ ## Free Plan Details
21
+
22
+ ### What's Included
23
+
24
+ - **Unlimited members** - No charge for non-technical stakeholders or reviewers
25
+ - **Up to 250 active issues** - Archived issues don't count toward this limit
26
+ - **Up to 2 teams** - Sufficient for solo/small team organization
27
+ - **All integrations** - GitHub, GitLab, Slack, Figma, etc. (no feature gating)
28
+ - **API and webhook access** - Full automation capabilities
29
+ - **10 MB file upload limit** - Per file
30
+
31
+ ### Key Limitations
32
+
33
+ 1. **250 active issue cap** - Once exceeded, you cannot create new issues until you archive or delete existing ones
34
+ 2. **2 team limit** - May matter as organization grows
35
+ 3. **No admin roles** - All members are admins on Free plan
36
+ 4. **No private teams** - All content visible to all members
37
+ 5. **No guest accounts** - Cannot add external collaborators with limited access
38
+ 6. **No template customization** - Default templates only
39
+
40
+ ### Practical Assessment: 250 Issues
41
+
42
+ The 250 active issue limit sounds restrictive but is quite workable:
43
+
44
+ - **Archived issues don't count** - Close completed work regularly
45
+ - **For a solo developer or small OSS project** - 250 active issues is substantial
46
+ - **Good practice anyway** - Forces issue hygiene and prevents backlog bloat
47
+
48
+ If you maintain a clean backlog (archive completed/stale issues), you can likely stay on Free indefinitely for a small open source project.
49
+
50
+ ## Features Requiring Paid Plans
51
+
52
+ ### Basic Plan ($8/user/month)
53
+
54
+ - **Unlimited active issues** - No cap on open work
55
+ - **Up to 5 teams** - Better organization for growing projects
56
+ - **Admin roles** - Control who can manage workspace settings
57
+ - **Unlimited file uploads** - No size restrictions
58
+
59
+ ### Business Plan ($12/user/month)
60
+
61
+ - **Private teams** - Restrict access to sensitive work (e.g., security issues)
62
+ - **Guest accounts** - External collaborators with limited access (billed as regular users)
63
+ - **Linear Insights** - Analytics and reporting dashboards
64
+ - **Linear Asks** - Customer feedback collection
65
+ - **Zendesk/Intercom integrations** - Support platform connections
66
+
67
+ ### Enterprise Plan (Custom)
68
+
69
+ - **SAML/SCIM provisioning** - SSO and automated user management
70
+ - **Workspace owner role** - Granular permission control
71
+ - **Audit log retention** - Extended compliance features
72
+ - **Custom SLAs** - Dedicated support
73
+
74
+ ## Discount Programs
75
+
76
+ ### Nonprofits
77
+
78
+ - **75% off** Basic and Business plans
79
+ - Contact <support@linear.app> with proof of nonprofit status
80
+
81
+ ### Education
82
+
83
+ - Discounted rates for accredited institutions
84
+ - Contact <support@linear.app> from .edu email with proof of status
85
+
86
+ ### Startups
87
+
88
+ - **Up to 6 months free** through Linear for Startups program
89
+ - Requires affiliation with a partner program
90
+
91
+ ### Open Source Projects
92
+
93
+ - **No dedicated OSS program** publicly advertised
94
+ - Contact <support@linear.app> to inquire - they may offer something case-by-case
95
+ - The Free tier is often sufficient for OSS project management
96
+
97
+ ## Solo Developer / Small Team Setup
98
+
99
+ ### Quick Start Steps
100
+
101
+ 1. **Sign up** at linear.app (no credit card required)
102
+ 2. **Create workspace** - Name it after your project
103
+ 3. **Create one team** (e.g., "Development" or project name)
104
+ 4. **Connect GitHub** via Settings > Integrations
105
+ 5. **Start creating issues**
106
+
107
+ ### Recommended Structure for Small OSS Project
108
+
109
+ ```
110
+ Workspace: [Project Name]
111
+ Team: Development (or just project name)
112
+ Labels:
113
+ - bug
114
+ - feature
115
+ - documentation
116
+ - enhancement
117
+ - good-first-issue (for contributors)
118
+ Statuses (defaults work well):
119
+ - Backlog
120
+ - Todo
121
+ - In Progress
122
+ - Done
123
+ - Canceled
124
+ ```
125
+
126
+ ### GitHub Integration (Free)
127
+
128
+ The GitHub integration is fully available on the Free plan and is highly valuable for OSS projects:
129
+
130
+ - **Auto-link PRs to issues** - Use issue ID in branch name (e.g., `ABC-123-fix-bug`)
131
+ - **Automatic status updates** - Issues move to "In Progress" when PR opens, "Done" when merged
132
+ - **Sync GitHub Issues to Linear** - Import community-reported issues
133
+ - **Two-way comment sync** - Comments sync between platforms
134
+
135
+ Setup:
136
+
137
+ 1. Settings > Integrations > GitHub
138
+ 2. Authenticate and select repositories
139
+ 3. Enable PR linking and commit linking per team
140
+
141
+ ### Best Practices for Small Teams
142
+
143
+ 1. **Keep cycles short** - 1-2 weeks for momentum
144
+ 2. **Use clear issue titles** - Start with action verb: "Fix calendar loading bug"
145
+ 3. **Archive completed work** - Keeps active issue count low (critical for Free plan)
146
+ 4. **Use projects for milestones** - Group related issues under a project (e.g., "v1.0 Release")
147
+ 5. **Keyboard shortcuts** - Linear is keyboard-first; learn `Cmd+K` for command palette
148
+
149
+ ### Solo Developer Workflow
150
+
151
+ - Create a single team for all work
152
+ - Use labels to categorize (bug, feature, chore)
153
+ - Projects for larger initiatives or releases
154
+ - Cycles optional for solo work - use if you want time-boxed sprints
155
+
156
+ ## Assessment for Small OSS Project
157
+
158
+ ### Strengths
159
+
160
+ - **Generous free tier** - 250 active issues with unlimited archived, unlimited members
161
+ - **Full GitHub integration on Free** - Critical for OSS workflow
162
+ - **Modern, fast interface** - Developer-friendly design
163
+ - **API access on Free** - Automation possibilities
164
+ - **No per-seat minimum** - Works for true solo use
165
+
166
+ ### Considerations
167
+
168
+ - **No dedicated OSS discount** - Unlike some competitors
169
+ - **250 active issue limit** - Need disciplined archiving
170
+ - **No private teams on Free** - Security issues visible to all members
171
+ - **No guest accounts on Free** - External collaborators need full membership
172
+
173
+ ### Recommendation
174
+
175
+ Linear's Free plan is well-suited for small open source projects that:
176
+
177
+ - Have a manageable backlog (under 250 active issues with good archiving habits)
178
+ - Don't need private security issue tracking
179
+ - Want tight GitHub integration
180
+ - Value a modern, fast interface
181
+
182
+ For an OSS project, you likely don't need paid features unless:
183
+
184
+ - Your active issue count consistently exceeds 250
185
+ - You need private teams for security vulnerability tracking
186
+ - You want to add external guest collaborators
187
+
188
+ ### Cost Comparison
189
+
190
+ For a solo developer or 3-person team on annual billing:
191
+
192
+ - **Free**: $0/month - likely sufficient
193
+ - **Basic**: $6.40-$19.20/month (1-3 users) - if you exceed 250 issues
194
+ - **Business**: $9.60-$28.80/month (1-3 users) - if you need private teams
195
+
196
+ ## Sources
197
+
198
+ - [Linear Pricing](https://linear.app/pricing)
199
+ - [Linear Billing and Plans Documentation](https://linear.app/docs/billing-and-plans)
200
+ - [Linear GitHub Integration](https://linear.app/docs/github-integration)
201
+ - [Linear Members and Roles](https://linear.app/docs/members-roles)
202
+ - [Linear Private Teams](https://linear.app/docs/private-teams)
203
+ - [Linear Start Guide](https://linear.app/docs/start-guide)
204
+ - [Linear Insights](https://linear.app/insights)
205
+ - [How to Use Linear - Morgen](https://www.morgen.so/blog-posts/linear-project-management)