管理多个功能
真实项目有多个功能同时进行。学习如何在不失去上下文或重复工作的情况下管理它们。
时间:15 分钟
结果:理解项目级Spec管理
- 完成使用 AI 完成第一个功能
- 基本熟悉 LeanSpec 命令
立即尝试
使用预配置的仪表板项目快速上手:
npx lean-spec init --example dashboard-widgets
cd dashboard-widgets
npm install
npm run dev
然后向 AI 工具发送提示:
- GitHub Copilot CLI
- Claude Code
- Gemini CLI
- IDE
# 确保已安装 GitHub Copilot CLI
npm install -g @github/copilot
# 向 Copilot CLI 发送提示
copilot -p "帮我为这个仪表板添加三个新组件" \
--files specs/ \
--add-dir .
# 确保已安装 Claude Code
curl -fsSL https://claude.ai/install.sh | bash
# 为系统提示 AGENTS.md 创建软链 CLAUDE.md
ln -s AGENTS.md CLAUDE.md
# 向 Claude Code 发送提示
claude prompt \
"帮我为这个仪表板添加三个新组件" \
--include-files specs/ \
--include-dir .
# 确保已安装 Gemini CLI
npm install -g @google/gemini-cli
# 向 Gemini CLI 发送提示
gemini -p "帮我为这个仪表板添加三个新组件" -y
在 IDE 中使用 AI 编码助手(GitHub Copilot、Claude、Cursor 等):
- 在 IDE 中打开项目
- 打开 AI 助手聊天面板
- 发送提示:"帮我为这个仪表板添加三个新组件"
想了解底层发生了什么? 下面的章节将详细介绍每个步骤。
场景
您正在构建一个仪表板,其中包含需要协同工作的三个组件:
- 联系人列表 - 显示联系人表格
- 创建联系人 - 添加新联系人表单
- 批量导入 - 上传 CSV 以导入多个联系人
每个功能都是独立的,但共享通用代码(联系人模型、验证)。您需要跟踪所有三个功能而不失去对依赖关系的关注。
起点:
your-project/
├── src/
│ ├── models/
│ │ └── contact.ts # 共享模型
│ └── components/
│ └── dashboard/
└── specs/
└── (空 - 让我们填充它)
创建多个Spec
询问您的 AI:
为仪表板功能创建三个Spec:
1. 在表格中列出联系人(只读,分页)
2. 创建联系人表单(姓名、电子邮件、电话验证)
3. 从 CSV 批量导入联系人(验证、错误处理)
全部标记为 "dashboard" 和 "contacts"。
AI 创建:
specs/
├── 021-contact-list/
├── 022-contact-create/
└── 023-contact-bulk-import/
每个都有 status: planned 和标签 ['dashboard', 'contacts']。
看到全局
列出所有Spec:
lean-spec list
输出:
📋 LeanSpec 项目概览
┌─────┬────────────────────────┬───────────┬──────────┬──────────┐
│ 序号 │ 名称 │ 状态 │ 优先级 │ 标签 │
├─────┼────────────────────────┼───────────┼──────────┼──────────┤
│ 021 │ contact-list │ planned │ medium │ dash... │
│ 022 │ contact-create │ planned │ medium │ dash... │
│ 023 │ contact-bulk-import │ planned │ high │ dash... │
└─────┴────────────────────────┴───────────┴──────────┴──────────┘
使用看板视图查看工作流状态:
lean-spec board
显示看板列:已规划 → 进行中 → 已完成
为什么这很重要: 一目了然,您就知道什么在排队、什么在活动、什么已完成。不需要电子表格。
查找相关Spec
按标签搜索:
lean-spec list --tags contacts
或询问您的 AI:
显示所有仪表板Spec。
AI 运行搜索并向您显示带有上下文的结果。
按关键字搜索:
lean-spec search "validation"
在所有内容中查找提到验证的Spec。非常适合避免重复工作。
并行工作
开始列表功能的工作:
实施Spec 021。
AI 实施联系人列表。在审查时,您开始另一个:
实施Spec 022。
随时检查状态:
lean-spec list --status in-progress
显示:
│ 021 │ contact-list │ in-progress │
│ 022 │ contact-create │ in-progress │
最佳实践: 保持 2-3 个Spec同时进行中。超过这个数量表明工作受阻或上下文切换开销。
管理依赖关系
批量导入依赖于创建表单中的联系人模型和验证。记录这一点:
将Spec 023 链接为依赖于Spec 022(首先需要验证逻辑)。
或手动:
lean-spec link 023 --depends-on 022
现在查看Spec 023:
---
depends_on: [022]
---
# 联系人批量导入
> **依赖关系**:[022-contact-create](../022-contact-create)
AI 知道在实施 023 之前检查Spec 022。它不会在联系人创建完成之前开始批量导入。
查看依赖关系:
lean-spec deps 023
显示:
023-contact-bulk-import
└─ 依赖于 → 022-contact-create
完成项目
完成每个功能后:
lean-spec update 021 --status complete
lean-spec update 022 --status complete
lean-spec update 023 --status complete
检查项目健康状况:
lean-spec stats
输出:
📊 项目统计
状态分布:
已完成: 3
进行中: 0
已规划: 0
最近活动:
✓ 023-contact-bulk-import 2 小时前完成
✓ 022-contact-create 1 天前完成
✓ 021-contact-list 1 天前完成
满意: 清晰记录已发布的内容。未来的您(或队友)可以准确看到构建了什么以及何时构建的。
刚才发生了什么
您管理了一个多Spec项目而没有混乱:
没有 LeanSpec:
- 便签或问题跟踪器用于跟踪
- 看不到依赖关系
- 很难找到相关工作
- 状态埋在 git 提交中
有了 LeanSpec:
- 单一事实来源(
lean-spec list) - 依赖关系跟踪防止排序错误
- 搜索立即找到相关工作
- 内置状态跟踪
CLI 命令 + AI 集成为您提供项目可见性,无需离开编辑器。
关键技术
发现:
lean-spec list- 查看所有内容lean-spec board- 可视化工作流lean-spec search- 按关键字查找lean-spec list --tags <tag>- 按类别过滤
管理:
lean-spec deps- 显示依赖关系lean-spec link --depends-on- 记录阻塞工作lean-spec stats- 项目健康检查- 多个Spec
in-progress可以,如果独立
AI 集成:
- 询问 "显示仪表板Spec" → AI 运行搜索
- 询问 "什么阻塞Spec X?" → AI 检查依赖关系
- 询问 "更新Spec状态" → AI 运行命令
下一步
在您的项目中练习:
- 创建 2-3 个相关Spec
- 按功能区域标记它们
- 尝试
lean-spec list、board、search - 记录一个依赖关系
了解更多:
- 使用Spec重构 → - 架构工作的技术Spec
- 查找Spec - 高级搜索模式
- 项目管理 - 看板、统计、依赖关系