对比列表

SpecScore vs Plain Markdown

大多数团队已经有了"规范"——以 docs 文件夹里的临时 Markdown、Notion 页面或 Jira 工单的形式存在。它免费、它早已就位、它能用。SpecScore 就是同样的 Markdown,外加 AI 代理可以 lint、查询并追溯回代码的结构。

两者的共同点。

  • 无论哪种方式都是 Markdown——纯文本、人类可读、对 diff 友好。
  • 规范可以放在仓库中,受版本控制,并在 PR 中审查。
  • 没有专有格式,没有锁定——你可以在任何编辑器中阅读它。
  • 你继续编写散文;SpecScore 在它周围添加结构,而不是取代它。

默认方案的优势。

Plain Markdown、Notion 和 Jira 才是真正的默认选择。它们当之无愧。

零学习曲线

没有 schema、没有必填字段、流程中没有 CLI。打开一个文件,开始打字。 对于一次性的笔记或微型项目来说,这恰到好处——你不需要的结构只是摩擦。

早已安装就位

你的团队已经在用 Notion、Confluence 或一个 docs/ 文件夹。 无需采用任何新东西,无需迁移。摩擦最小的选项就是你已经在用的那个。

普遍可移植

Plain Markdown 在任何地方都能打开,并且比任何工具都更长久。SpecScore 正是建立在 这一特性之上——这也是为什么 SpecScore 同样采用 Markdown,而非数据库。

功能对比。

差别不在于文件本身——而在于代理能用它做什么。

能力Plain Markdown / NotionSpecScore
格式自由格式 Markdown / 文档Markdown + YAML frontmatter(结构化)
需求存放在哪里Jira、Notion、Slack、某人的脑子里在仓库中,紧挨着代码
"这份规范完整吗?"由人阅读并判断specscore lint — 自动完成
歧义检测无 — 模糊动词悄无声息地发布标记模糊动词、缺失的验收标准、悬空引用
需求 / 验收标准 ID无机器可寻址的 ID(REQ: slug)
生命周期状态隐式,如果有跟踪的话强制执行 — Draft → Approved → Implementing → Stable
代码到规范的可追溯性无specscore: 注解 + Verifies: 尾注
代理导航读取每个文件才能找到任何东西从 CLI 查询规范图谱
CI 质量门禁无specscore lint 返回非零退出码,像 linter 一样
学习曲线无需要学习一种格式(可渐进)
成本 / 许可证免费免费、开源

SpecScore 更进一步之处。

歧义被捕获,而非被解读

使用自由格式规范时,每次代理交互都从解读开始—— "登录应该能用"在正确与貌似合理但错误之间是一场抛硬币。 SpecScore 的 lint 会在代理据此行动之前标记出模糊的动词和缺失的 验收标准。

$ specscore lint auth/login.md
  ✗ R1  "should work" — unmeasurable
  ✗ R1  no acceptance criteria

误解不再层层累积

一个代理误读了需求,第二个在其基础上构建,第三个又依赖前两者—— 而你在三个代理之后才察觉。结构化的验收标准让每个代理拥有相同的 通过/失败条件,因此解读不会在它们之间发生漂移。

代码可追溯回规范

纯文档与实现它们的代码之间没有任何链接。SpecScore 添加了specscore: 源注解和 Verifies:提交尾注——specscore code refs 能确定性地回答"哪些代码 实现了这个需求?"。

一份规范胜过四十个工单

一位新队友(或一个全新的代理)只需阅读一份包含全部上下文的功能规范, 而不必从四十个 Jira 工单和一条 Slack 讨论串中重建意图。

代理查询,而非反复阅读

在 docs 文件夹里,要找出"哪些正在进行中?"意味着逐个打开文件。 在 SpecScore 中,那就是 specscore feature list——规范图谱 从 CLI 给出答案,因此代理不必为反复阅读仓库而消耗上下文。

质量在 CI 中强制执行

自由格式规范没有门禁——写了一半的规范与完整的规范一样容易合并。specscore lint 在出现问题时返回非零退出码, 就像 ESLint 或 go vet 守护代码一样。

何时使用哪个。

以下场景适合 Plain Markdown……

  • 这是一次性的笔记、一次探针,或一个小到不需要结构的项目。
  • 不会有 AI 代理基于该文档构建——人读了就明白。
  • 你在记录一个粗略的想法,而非某人将要实现的需求。

以下场景适合使用 SpecScore……

  • AI 代理基于规范构建——歧义会变成错误的代码。
  • 多个代理或多人依赖同一批需求。
  • 你需要知道哪些代码实现了哪个需求。
  • "这份规范完成了吗?"应由工具回答,而非靠开会。
  • 项目大到反复阅读所有内容已经无法扩展。

让你已有的规范进阶。

你无需转换你的待办列表,也无需更换工具。挑选你的下一个功能, 为它写一份 SpecScore 规范,运行 specscore lint——看看它是否 捕获到你的工单遗漏的东西。实现它时添加 specscore: 注解。 只有在它真正有帮助时,才扩展到下一个 sprint。

Plain Markdown 是入口匝道。SpecScore 是它进阶后的样子。

反馈

通过检查的规范。

发现翻译问题或有改进此页面的想法? 告诉我们.