跳到主要内容

管理多个功能

真实项目有多个功能同时进行。学习如何在不失去上下文或重复工作的情况下管理它们。

时间:15 分钟
结果:理解项目级Spec管理

前置条件

立即尝试

使用预配置的仪表板项目快速上手:

npx lean-spec init --example dashboard-widgets
cd dashboard-widgets
npm install
npm run dev

然后向 AI 工具发送提示:

在 IDE 中使用 AI 编码助手(GitHub Copilot、Claude、Cursor 等):

  1. 在 IDE 中打开项目
  2. 打开 AI 助手聊天面板
  3. 发送提示:"帮我为这个仪表板添加三个新组件"

想了解底层发生了什么? 下面的章节将详细介绍每个步骤。

场景

您正在构建一个仪表板,其中包含需要协同工作的三个组件:

  1. 联系人列表 - 显示联系人表格
  2. 创建联系人 - 添加新联系人表单
  3. 批量导入 - 上传 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 listboardsearch
  • 记录一个依赖关系

了解更多:

有问题? 查看 FAQ询问社区