跳到主要内容

常见问题

快速开始

什么是 LeanSpec?

LeanSpec 是一个为 AI 辅助开发优化的轻量级 Spec 框架。它是一个 CLI 工具 + markdown 文件,位于您的仓库中,帮助您记录技术决策并指导 AI 编码工具,同时将 Spec 保持在约 2,000 Token 的最佳范围内。

关键功能:

  • 用于轻松引用的编号 Spec
  • 用于创建、搜索和管理 Spec 的 CLI 工具
  • 用于 AI 工具集成的 MCP 服务器(GitHub Copilot、Claude Code、Cursor 等)
  • 验证以确保 Spec 质量
  • 用于项目可见性的看板和统计

5 分钟设置:

npm install -g lean-spec
cd your-project
lean-spec init
lean-spec create my-first-spec

无需配置文件,无需数据库,无需服务器。适用于任何编辑器和任何 AI 工具。

如何开始使用 LeanSpec?

这是最常见的问题!以下是您的快速入门路径:

方式 1:尝试教程项目(推荐新手使用)

npx lean-spec init --example dark-theme
cd dark-theme && npm install && npm start

方式 2:添加到现有项目

npm install -g lean-spec
cd your-project
lean-spec init
lean-spec create my-first-feature

设置完成后:

  1. 运行 lean-spec board 查看看板视图
  2. 编辑您的 Spec 文件 specs/001-my-first-feature/README.md
  3. 开始编码时运行 lean-spec update 001 --status in-progress
  4. 完成后运行 lean-spec update 001 --status complete

下一步:

为什么使用 LeanSpec?

在以下情况下使用 LeanSpec:

  • 需要团队在复杂功能上达成一致
  • 需要设计决策的文档
  • 需要上下文以减少 AI 幻觉
  • 需要新团队成员的入职材料

对于以下情况跳过 LeanSpec:

  • 简单的错误修复
  • 一次性原型
  • 具有明确需求的单人项目

哲学: 在最大敏捷性的同时获得 80% 的 vibe 编码速度和 80% 的结构化 Spec 优势。

LeanSpec 能加速我的开发吗?

可以,但需要理解其原理。 LeanSpec 不是让你打字更快——而是减少返工和提高 AI 输出质量。

如何加速开发:

  1. 更好的 AI 输出 - Spec 提供聚焦的上下文(<2,000 Token),AI 模型处理起来比分散的对话历史更准确
  2. 更少返工 - 预先明确需求 = 更少的"这不是我想要的"循环
  3. 更快上手 - 新团队成员(或 AI 助手)能立即理解决策
  4. 减少上下文腐化 - 当 AI 有书面 Spec 可参考时,不会产生幻觉

实际影响:

  • 单次实现尝试更容易成功(而不是 3-4 次来回循环)
  • 减少重复解释相同决策的时间
  • 团队对齐只需一次,而不是每个 Sprint 都来一遍

什么时候 LeanSpec 可能拖慢你:

  • 简单的 bug 修复(跳过 Spec,直接修)
  • 一次性原型(vibe 编码更快)
  • 非常清晰、明确的工作

公式: 节省的时间 = (避免的 AI 返工) + (避免的团队同步) - (Spec 编写时间)

对于复杂功能,这几乎总是正值。对于琐碎的更改,跳过 Spec。

为什么有 2,000 Token 目标?

注意力是稀缺资源,而不是存储。

三个原因:

  1. 人类注意力范围 - 人与 AI 搭档一次只能处理约 2-3K Token
  2. AI 性能 - 上下文质量在 50K Token 硬上限之前就开始下降
  3. 工作记忆 (Working Memory) - Token 数量直接对应认知负荷,而行数受格式影响很大

如果您的 Spec 超过 3,500 Token,请将其拆分为子 Spec 文件(DESIGN.mdIMPLEMENTATION.mdTESTING.md 等);超过 5,000 Token 必须立即拆分。详见第一原则

框架对比

LeanSpec 与其他 SDD 框架有什么区别?

LeanSpec vs Spec Kit vs OpenSpec:

方面LeanSpecSpec KitOpenSpec
理念轻量、灵活结构化治理正式提案
Spec 大小<2,000 Token(优化)较长上下文较长系统提示
工作流灵活,适应团队需要 5 步流程提案→评审→归档
模板简约可定制固定格式固定 delta 格式
AI 集成MCP + CLISlash 命令Slash 命令
可视化 UI✅ 有❌ 仅 CLI❌ 仅 CLI
适合场景追求敏捷的团队企业治理正式变更跟踪

LeanSpec 的关键优势:

  • 上下文经济 (Context Economy) - 为 AI 工作记忆优化
  • 编辑器无关 - 适用于任何 AI 工具(Copilot、Claude、Cursor 等)
  • 低认知负荷 - 从简单开始,按需扩展
  • 可视化模式 - Web UI 用于浏览和展示 Spec

何时选择其他框架:

  • Spec Kit:需要结构化 5 步治理的企业团队
  • OpenSpec:需要正式提案/评审工作流的团队
  • Kiro:想要集成 AI IDE 的团队(但有供应商锁定)

📖 详细对比分析 →

AI 集成

LeanSpec 只适用于 Claude 模型吗?

不!LeanSpec 适用于任何 AI 模型或编码助手。

LeanSpec 设计上与模型无关:

MCP 兼容工具(完整集成):

  • GitHub Copilot(VS Code)
  • Claude Code / Claude Desktop
  • Cursor
  • Windsurf
  • Cline
  • Gemini CLI
  • 还有更多...

任何 AI 工具(通过文件引用):

读取 specs/042-my-feature/README.md 并相应实现。

为什么到处都能用:

  • Spec 只是仓库中的 markdown 文件
  • AI 像读取其他文档一样读取它们
  • MCP 提供更丰富的集成,但不是必需的

2,000 Token 限制基于认知科学和 AI 注意力研究——它对所有模型都有帮助,不仅仅是 Claude。

如何将 LeanSpec 集成到 Claude Code?

快速设置(2 分钟):

  1. 创建或编辑您的 Claude Code MCP 配置:

    位置:

    • macOS: ~/.config/claude-code/mcp_settings.json
    • Linux: ~/.config/claude-code/mcp_settings.json
    • Windows: %APPDATA%\claude-code\mcp_settings.json
  2. 添加 LeanSpec MCP 服务器:

{
"mcpServers": {
"leanspec": {
"command": "npx",
"args": ["-y", "@leanspec/mcp"]
}
}
}
  1. 重启 Claude Code

测试一下:

列出这个项目中的所有 Spec。

Claude Code 现在将使用 MCP 访问您的 Spec,具有语义搜索、依赖跟踪等功能。

📖 完整 MCP 集成指南 →

为什么我的 AI 代理不遵循 LeanSpec 工作流?

常见原因和解决方案:

1. 没有 AGENTS.md 文件

AI 代理需要明确的指令。在项目根目录创建 AGENTS.md

lean-spec init  # 自动创建 AGENTS.md

或从这里复制:AGENTS.md 模板

2. AGENTS.md 不在上下文中

AI 工具有不同的方式加载项目文件:

  • VS Code Copilot:添加 @workspace 以包含项目文件
  • Claude Code:通过 MCP 自动加载 AGENTS.md
  • Cursor:使用 .cursorrules(将 AGENTS.md 内容复制到那里)

3. 指令太长

如果 AGENTS.md 太长,AI 可能会忽略部分内容。保持在 2,000 Token 以内。

4. 指令冲突

检查是否有其他可能冲突的指令文件:

  • .github/copilot-instructions.md
  • .cursorrules
  • MCP 配置中的系统提示

5. AI 无法访问 Spec

确保配置了 MCP,使 AI 可以实际读取 Spec:

{
"mcpServers": {
"leanspec": {
"command": "npx",
"args": ["-y", "@leanspec/mcp"]
}
}
}

调试技巧: 直接询问 AI:

你有关于 LeanSpec 工作流的什么指令?
你能列出这个项目中的 Spec 吗?

📖 代理配置指南 →

使用 LeanSpec

如何升级或重新初始化 LeanSpec 而不丢失我的 Spec?

LeanSpec 内置了安全的重新初始化功能。 您不需要手动删除任何内容。

场景 1:升级到最新配置(最安全)

lean-spec init -y

这会将您现有的配置与最新默认值合并。所有 Spec 和 AGENTS.md 都会保留。

场景 2:重置配置但保留 Spec

lean-spec init -f

这会重置 .lean-spec/ 配置,但保持您的 specs/ 目录完好无损。

场景 3:交互式选择

lean-spec init

当 LeanSpec 已经初始化时,您会看到以下选项:

  • 升级配置(推荐)- 更新配置,保留所有内容
  • 重置配置 - 全新配置,保留 Spec
  • 完全重置 - 从头开始(需要确认)
  • 取消 - 退出不做任何更改

每个选项保留什么:

选项.lean-spec/specs/AGENTS.md
升级合并✅ 保留✅ 保留
重置配置全新✅ 保留重新创建
完全重置删除❌ 删除❌ 删除

专业提示: 在 CI/CD 流水线中始终使用 -y——它默认使用最安全的升级选项。

如何查看 LeanSpec UI?

启动 Web UI:

lean-spec ui

这会在 http://localhost:3000 打开浏览器,包含:

  • Spec 浏览器 - 浏览和搜索所有 Spec
  • 看板视图 - Kanban 风格的可视化
  • 依赖图 - Spec 之间的可视化关系
  • 项目统计 - 包含指标的仪表板

替代方法(无需安装 CLI):

npx @leanspec/ui

选项:

lean-spec ui --port 3100    # 自定义端口
lean-spec ui --no-open # 不自动打开浏览器
lean-spec ui --specs ./path # 自定义 Spec 目录

📖 可视化模式指南 →

如何使用 LeanSpec 管理多个功能开发?

LeanSpec 擅长管理并发开发:

1. 为每个功能创建 Spec:

lean-spec create user-auth --tags auth,api --priority high
lean-spec create payment-flow --tags payments,api --priority high
lean-spec create dashboard --tags frontend,ui --priority medium

2. 跟踪关系:

# Dashboard 依赖于 auth 完成
lean-spec link dashboard --depends-on user-auth

# Payment 和 auth 相关但独立
lean-spec link payment-flow --related user-auth

3. 可视化进度:

lean-spec board          # 看板视图
lean-spec stats # 项目指标
lean-spec deps dashboard # 查看什么阻塞了 dashboard

4. 按状态或标签筛选:

lean-spec list --status in-progress    # 正在进行什么?
lean-spec list --tag api # 所有 API 相关的 Spec
lean-spec list --assignee @alice # Alice 的工作

5. 使用 UI 提高团队可见性:

lean-spec ui
# 在团队会议中分享 http://localhost:3000

管理多个功能的最佳实践:

  • 一致使用标签(apifrontendbackend 等)
  • 设置优先级(criticalhighmediumlow
  • 严格更新状态(plannedin-progresscomplete
  • 谨慎使用 depends_on(仅用于真正的阻塞项)
  • 使用 related 作为信息性链接

如何处理已完成 Spec 中的 Bug?

已实现功能中的 Bug 需要根据严重程度不同处理:

选项 1:小 Bug(快速修复)

不需要创建新 Spec。直接修复:

# 简单 bug 修复不需要 Spec
git commit -m "fix: handle null user in auth flow (spec-042)"

在提交消息中引用原始 Spec 以便追溯。

选项 2:重大 Bug(设计缺陷)

创建后续 Spec:

lean-spec create auth-token-refresh-fix --tags auth,bugfix --priority high

链接到原始 Spec:

lean-spec link auth-token-refresh-fix --related user-auth

在新 Spec 中记录:

  • 原始实现出了什么问题
  • 根本原因分析
  • 更新后的设计决策

选项 3:更新原始 Spec

如果 Bug 揭示了遗漏的需求:

lean-spec open user-auth
# 添加"经验教训"部分记录问题
# 用修正后的方法更新相关部分

何时使用每个选项:

Bug 类型操作
拼写错误、差一错误直接修复(无需 Spec)
遗漏的边界情况添加到原始 Spec
设计缺陷新的后续 Spec
破坏性更改带迁移计划的新 Spec

关键原则: Spec 记录决策,而不是代码。如果决策错误,更新 Spec。如果实现错误,直接修复代码。

故障排除

我的Spec被 AI 编辑损坏了

原因: Spec超过上下文窗口,AI 失去了结构跟踪。

修复:

git checkout HEAD -- specs/042-my-spec/  # 从 git 恢复
lean-spec validate # 检查问题

预防: 将Spec控制在 2,000 Token 以内(3,500 Token警告,5,000 Token硬限制),并在编辑前运行 lean-spec tokens <spec> 检查。

lean-spec update 说"找不到Spec"

调试:

lean-spec list          # 查看所有活动Spec
lean-spec list --all # 包括已归档

常见原因:

  • 不在带有 specs/ 目录的 git 仓库中
  • Spec名称/编号拼写错误
  • Spec被归档

frontmatter验证失败

常见错误:

  • 手动编辑系统管理的字段(statuscreated_attransitions 等)
  • 无效的 YAML 语法
  • 字段名称拼写错误

修复:

lean-spec validate      # 查看确切的错误

始终使用 CLI 命令更新元数据:

lean-spec update 042 --status in-progress
lean-spec update 042 --priority high
lean-spec update 042 --tags api,backend

如何恢复已删除的Spec?

Spec只是 git 中的文件:

git log --all --full-history -- "specs/042-my-spec/*"
git checkout <commit> -- specs/042-my-spec/

或从已归档恢复:

mv archived/042-my-spec specs/
lean-spec update 042 --status in-progress

CLI 命令不工作

检查安装:

which lean-spec
lean-spec --version

如果需要,重新安装:

npm install -g lean-spec

验证您在 git 仓库中:

git rev-parse --git-dir

贡献与支持

如何报告错误或请求功能?

我可以贡献吗?

可以!请参见 CONTRIBUTING.md

常见贡献:

  • 文档改进
  • 错误修复
  • 新模板
  • MCP 服务器增强

我可以在哪里获得帮助?

许可证是什么?

MIT 许可证 - 可免费用于商业和个人用途。


更多问题? 查看完整文档或在 GitHub Discussions 中提问。