问题
在大型 TypeScript monorepo 中工作的开发者(如 typebot.io 这样的项目),每天被两个问题拖慢:一是语言服务器(如 Zed 中即使换用 vtsls)在大仓库下速度明显不如 VSCode 或 NeoVim,补全和诊断体验卡顿;二是 VS Code 的 Problems 视图只显示已打开文件的错误,想看全项目错误只能"在终端跑 make 命令,再手动在终端和编辑器之间交叉对照错误位置"(原 issue,2016 年提出,1508 分、210 条评论,至今仍是高频痛点)。
目标用户
在大型 TypeScript/JavaScript monorepo 中工作的中高级开发者,尤其是维护多包仓库的团队。从两个 issue 的关注度和评论区讨论看,这是一个规模不小但偏个人工具的群体——典型付费方可能是团队而非个人。
解决方案
核心功能:- 一条 CLI 命令对整个 monorepo 做增量类型检查(复用 tsserver 或类 tsc 的 project references),输出结构化错误清单;- 按包/目录聚合错误,支持过滤"仅本次变更引入的错误";- 生成可直接跳转编辑器的错误定位格式(LSP diagnostics / SARIF),兼容 VS Code、NeoVim、Zed 的 Problems/quickfix 视图;- watch 模式:只重查受影响文件,保证大仓库下的响应速度;- CI 模式:对 PR 做增量检查,只报新增错误。AI 的角色:用 LLM 对错误做分组、根因归类(如"同一个 import 断了导致 20 个报错"),并给出修复建议;核心扫描本身依赖类型系统而非模型。
为什么是现在
Zed 等新编辑器兴起后,大 monorepo 的 LSP 性能差异被重新暴露(2024 年仍有 170 分、76 评论的活跃 issue);而 VS Code 全项目错误视图的需求从 2016 年悬置至今,说明编辑器厂商短期内不会解决。小团队现在可以基于成熟的 tsserver/CLI 生态做工具,而不必动编辑器本身。
MVP 范围
做:CLI 工具,输入 monorepo 路径,输出全项目类型错误的聚合清单(SARIF + 终端表格),支持 watch 增量模式和 VS Code 的 Problems 接入。不做:不做编辑器、不替换语言服务器、不做自动修复(只做错误分组和 AI 修复建议)、不支持 TypeScript 以外的语言。
变现方式
null
风险
- 替代方案侵蚀:tsc --build、nx/turbo 等工具已部分覆盖增量检查,TypeScript 官方或 VS Code 某天直接支持全项目 Problems 视图(issue 已开 8 年多);- 平台依赖:依赖 tsserver 行为和 TS 版本演进,维护成本随 TS 升级波动;- 付费意愿不明:两个信号均无付费意愿,开发者个人工具变现难,需依赖团队/CI 场景;- 性能门槛:增量类型检查的性能上限受限于 TS 编译器本身,如果做不出明显快于现状的体验,价值有限。
信号证据
这张卡片依据的原始讨论。摘录保持原文,点“原文”查看上下文。
GitHub Issues · zed-industries/zed10月3日痛点▲ 17076 条评论
“The coding experience in a large Typescript monorepo (https://github.com/baptisteArno/typebot.io) is still an issue for me even though it now uses the vtsls, I still don't get the same speed as VSCode or even NeoVim (with vtsls lsp)”
Zed's TypeScript language server is significantly slower than VSCode or NeoVim (with vtsls) in a large TypeScript monorepo.原文
GitHub Issues · microsoft/vscode10月18日功能请求▲ 1508210 条评论
“What I need is a way to tell the "Problems" view to show me all errors and warnings across all open and closed files in my project.”
VS Code's Problems view only shows errors and warnings for opened files, not all TypeScript/JavaScript files in the project.原文