命令行工具
textlint/textlint avatar
textlint/textlint

textlint:给自然语言装上一套可插拔的 lint 管线

该项目围绕「textlint/textlint」构建,面向真实业务场景提供可复用的开源实践方案,支持稳定落地与可扩展的项目实践。

3,187 个 Star167 个 ForkTypeScriptMIT

秒懂

它是什么?
类似 ESLint 的自然语言检查工具,通过规则插件检查文本,并适配 Markdown 等写作流程。
适合谁用?
textlint 适合把词语、句式或文体约束放进代码仓库,并在编辑器、提交检查或持续集成中重复执行的写作团队。它不适合把规则检查当成事实审校、翻译质量或语义判断的替代品。
能商用吗?
可以。MIT 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
还在维护吗?
在维护。仓库最近一次提交在 2 天前。
用什么语言写的?
主要是 TypeScript(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月14日)和我们的分析,不构成法律意见。

开源项目深度解析

它把自然语言当作可检查的输入

textlint README 的一句定位是“The pluggable linting tool for natural language”,并将它比作用于自然语言的 ESLint。这个比喻指向工作方式:文本进入统一的 lint 流程,具体判断交给规则和插件,而不是由核心程序内置一套固定文风。

因此,textlint 的输出更适合发现可重复描述的问题,例如禁用词、句法模式或指定风格偏差。它不能单独证明文章事实正确,也不能替编辑判断上下文。采用时要把规则的适用语言、文档格式和误报处理写清楚。

试点记录应写明包版本、运行环境与失败时的请求样例,便于与 README 示例对照复现。

插件模型决定检查范围

README 把可插拔放在项目核心位置,插件负责扩展自然语言规则和输入处理。规则包通常要通过项目配置启用,核心工具负责读取文本、执行规则并输出诊断。素材没有把所有插件、默认规则或语言覆盖列成完整矩阵。

试用时先选一个规则插件和一份短文,故意放入一条应报错文本与一条相似但合法的文本,观察报告的行列位置、消息和退出状态。再将同一规则放到团队文档,记录误报样本。这个过程能说明规则是否真的适合你的语料,而不是只看插件数量。

试点记录应写明包版本、运行环境与失败时的请求样例,便于与 README 示例对照复现。

Markdown 写作流程是自然落点

textlint 面向自然语言文件,官方站点和仓库文档承接命令、配置与生态信息。对技术文档团队而言,Markdown 是容易纳入版本控制的输入:文章、规则配置和依赖可以一起提交,检查结果也能在本地或 CI 重现。

落地时应选定检查范围,避免把代码块、链接地址和示例数据误当成普通句子。确认当前解析器对标题、列表、引用和代码块的处理,再决定哪些规则在全文运行。README 的定位没有承诺所有 Markdown 方言都同样工作,格式差异必须用项目样本测试。

试点记录应写明包版本、运行环境与失败时的请求样例,便于与 README 示例对照复现。

命令行退出状态连接 CI 门禁

lint 工具的工程价值在于同一组规则可以被编辑器、本地命令和自动化检查重复调用。textlint 的 README 将项目作为工具而非在线编辑器,使用者应以当前版本文档确认安装命令、配置文件位置和 CLI 参数。素材没有提供一份固定版本的完整配置矩阵。

建立 CI 检查时,先对一篇基准文档运行命令,保存原始报告,再加入一处确定违规并确认任务失败。修正规则后再跑一次,检查报告是否消失且其他段落没有被静默跳过。把规则依赖锁定,避免插件更新突然改变文章门禁。

报告是编辑线索,不是自动改稿授权

自然语言 lint 报告通常包含规则消息和文本位置,真正的修改仍需结合上下文。一个禁用词在引用、代码示例或专有名词中可能有合理存在的理由;一条句式规则也可能无法理解作者的技术意图。textlint 的可插拔设计让团队可以调整规则,但不会替团队做语义裁决。

应为每条规则准备允许例外的写法和复核人,尤其是术语、API 名称与多语言段落。升级时用固定文档比较报告条数、位置和消息,观察变化来自规则还是解析器。只有可解释、可维护的规则才适合成为提交门禁。

MIT 许可覆盖工具,不覆盖编辑结论

textlint 采用 MIT 许可证,使用、修改和分发时需保留相应声明。许可证按原样提供,不保证工具适合某种文体,也不提供持续支持承诺。项目主页 `https://textlint.org` 是文档与生态入口,GitHub release 页面用于追踪版本变化。

textlint 适合有明确写作规范、愿意维护规则配置的团队,不适合希望安装后自动解决所有语言质量问题的团队。先以真实仓库中的 Markdown、配置和 CI 日志做小范围验证,重点检查误报率、退出状态和升级后的报告差异。针对 textlint,还应把标题、列表、引用、代码块和链接各准备一份样本,比较规则报告的位置与消息。规则配置改动后先审阅全部差异,再把新的退出状态接入提交检查,避免一次升级把误报直接变成作者的修订任务。textlint 的共享配置还要区分作者可修复的问题与需要人工豁免的术语。为每条规则保存示例、例外理由和负责人,升级插件时重跑同一批文件,才能让报告变化对应到明确的规则修改,而不是产生无法解释的编辑噪声。

textlint 规则样本

textlint 回归文档应包含标题、列表、引用、代码块、链接、专有名词和英文 API,保存文件名、行号、规则 ID 与退出状态。

从报告到提交检查

为 textlint 规则配置一条确定违规和一条允许例外,比较报告位置与消息。升级后先审阅完整差异,再把稳定的退出状态接入提交检查。实际验收时把输入、版本、环境和输出放在同一条记录中,失败时保留原始错误而不是只写结论。对项目使用者来说,这些具体样本能帮助判断能力是否覆盖自己的场景,也能在发布升级后快速定位变化来源。

编辑结论

textlint 适合把词语、句式或文体约束放进代码仓库,并在编辑器、提交检查或持续集成中重复执行的写作团队。它不适合把规则检查当成事实审校、翻译质量或语义判断的替代品。先用一份真实 Markdown 文档安装一个规则插件,比较命令行报告中的位置与修复结果,再决定规则配置应放在个人项目还是共享模板。

官方来源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社区笔记

社区笔记