An open API service indexing awesome lists of open source software.

https://github.com/silentbalanceyh/r2mo-lain

Momo SDD - Spec Driven Development
https://github.com/silentbalanceyh/r2mo-lain

agent openspec rag spec-kit trae

Last synced: 5 months ago
JSON representation

Momo SDD - Spec Driven Development

Awesome Lists containing this project

README

          

# Momo SDD - Spec Driven Development 工具

![npm version](https://img.shields.io/npm/v/momo-ai.svg) | [![Downloads](https://img.shields.io/npm/dm/momo-ai.svg)](https://www.npmjs.com/package/momo-ai)
> For [Rachel Momo](https://www.weibo.com/maoxiaotong0216) / Serial Experiments Lain

## 1. 介绍

### 1.1. 功能说明

当前工具会在操作系统中安装 `momo` 命令,使用它进行 `SDD - Spec Driven Development` 开发:

1. 参考:`OpenSpec / Spec-Kit / Kiro`
2. 工具支持:
- `Trea`(推荐使用,可支持多Agent模式)
- `Cursor`(稍贵,可支持多Agent模式)
- `Lingma`
- `Kiro`
3. 中文规范,命令运行之后将 `prompt` 提示词拷贝到剪切板,直接复制到工具中即可使用,提示词生成之后会存储在 `.working` 目录下。
4. 多个 Agent 协同,实现 Team 团队模式的 AI 开发,无模型限制(推荐使用同一个模型进行任务协同开发)

和 `OpenSpec / Spec-Kit / Kiro` 原生工具不同,当前工具以 AI Agent 开发为核心,提供从 Plan -> Deployment
完整生命周期的整体开发流程,是 SDD 的一种落地手段——暴力、简单、易懂。由于辅助工具可选择模型,所以本工具不提供模型选择,模型本身取决于你所使用的工具本身,命令行只是一个辅助,核心开发模式为:
`AI 开发 + 人工审核`,本工具的核心是 `prompt` 的模板化。

> 除开 `momo` 命令后续会提供和模型直接交互的 `lain` 命令,近似 `iFlow / openspec` 的功能。

### 1.2. 开始步骤

1. 使用 `momo init` 初始化协同工程项目(运行之前可使用 `momo env` 检查环境)。
2. 使用 `momo repo` 添加项目代码库以及工程实例(有多少个 `Agent` 工作就添加多少工程实例),添加完成后可使用 `momo open`
直接打开工程。
3. 更新 `project.md / project-model.md / requirement.md` 的细节文档(可用AI帮助拆分和书写)
4. 使用 `momo add -n 需求名称` 添加细节需求(可用AI帮助拆分和书写:`momo plan -n 需求名称`)
5. 使用 `momo tasks` 列出所有任务,并且使用 `momo run` 运行任务得到任务提示词

> 带 (CV) 📋️ 标记的命令——运行成功后可直接“Ctrl + V”粘贴到 TRAE / Lingma / Cursor / Kiro 中执行。

### 1.3. 项目计划

1. 使用 `momo project` 将后端项目拷贝到 `reference` 目录中(主要是提供数据模型)。
2. (唯一的人工处理)更新 `project.md` 中的所有信息,核心包括:
- 功能描述
- 场景描述等
- 风格
- 技术栈
3. 使用 `momo agentcfg` 给 TRAE 工具配置智能体,主要是导入部分已经定制好的智能体。
4. 使用 `momo agent -a "智能体名称"` 调用智能体进行开发之前的准备工作,目前支持的智能体可直接使用 `momo agentcfg` 查看。


## 2. 工具使用

### 2.1. 安装

```bash
npm install -g momo-ai
# 查看帮助
momo help
```

### 2.3. 命令:不定模型

```bash
# ------------ 工程初始化 -----------------
# 🌷 环境检查、工程和代码初始化、工具启动等
momo env # 环境检查

momo init -d app-fly # 初始化 directory = app-fly 的项目
momo init # 初始化当前项目

momo repo -a https://xxx/repo.git # 克隆远程代码库 -> source/repo/develop-01(名称靠解析) -> git submodule
momo repo -a xxx -i 10 # 克隆远程代码库(10个副本)

momo pull # 从远程拉取最新代码 source/develop-xx
momo commit -m "提交信息" # 提交本地变更形成新的 commits
momo push # 推送本地 commits 到远程代码库

momo open # 交互式使用 TRAE / Lingma / Cursor / Kiro 打开当前项目

momo project -s "项目路径" # 将路径中的显示拷贝到当前项目的 reference 目录下,若不提供 -s 则直接列举所有支持的项目类型

momo agentcfg # 列出所有智能体,并且打开浏览器配置
momo agent -a "智能体名称" # 📋️ 调用智能体 -> prompt 得到提示词到剪切板

# ------------ 需求相关 -----------------
# 🌷 需求管理:添加、归档、校验、列出、显示
momo add -n "需求名称" # 📋️ 添加新需求 -> changes 下追加新内容 -> 包括任务
momo add -n "需求(MD)文档路径" # 📋️ 添加需求文档 -> changes 下追加新内容 -> 包括任务,如果带后缀直接用文件名做需求名称

momo archive -n "需求名称" # 需求归档 -> archive 下追加新内容,删除 changes 下内容

momo show -n "需求名称" # 显示需求 -> 显示 changes 下内容

momo validate -n "需求名称" # 需求校验 -> 校验 changes 下内容

momo list # 列出所有需求 -> changes 下内容

# 🌷 需求分析:计划、执行、拆分
momo plan -n "需求名称" # 📋️ 生成需求的整体开发计划 -> prompt 剪切板

# ------------ 任务执行 -----------------
# 🌷 任务执行:定义角色、执行任务
momo actors # 列出所有角色

momo actor -a "角色名称" # 添加新角色 -> 交互式命令,每个角色可以指定不同的大模型

momo tasks # 📋️ 显示任务 -> 需求 / 任务 / 状态 -> 状态 = 待办 / 进行中 / 已完成

momo run -a {actor} -t {task} # 📋️ 将任务分配给角色,检查执行目录看哪些任务正在执行
momo run # 📋️ 从菜单中选择任务

momo unlock # 解锁任务 -> 任务状态 = 待办
```

### 2.4. 控制台:定模型

> 控制台开发中(Lain 模式)

```bash
# 两个命令都可以启动控制台
momo console # 启动 Lain 控制台 -> 交互式命令
lain # 启动 Lain 控制台 -> 交互式命令
```

打开控制台

```bash
[Momo AI] ----------------- Rachel Momo / AI工具项 ------------------
[Momo AI] 应用名称: Rachel Momo / SDD
[Momo AI] 工具主页: https://gitee.com/silentbalanceyh/r2mo-lain
[Momo AI] 工具版本: 1.0.6 ( Node >= 22.x )
[Momo AI]
[Momo AI] ----------------- AI 系统启动…… ----------------------------

================================================================================================
Momo AI / Lain Console
================================================================================================

欢迎使用 Momo AI / Lain 控制台!
这是一个交互式命令行界面。

可用命令:
help - 显示帮助信息
llm - 查看大模型配置信息
quit - 退出控制台

请在提示符后输入命令。
------------------------------------------------------------------------------------------------
```


## 3. 参考链接

### 3.1. 旧版

- (后端)Zero Ecotope:
- (前端)Zero UI:
- (工具)Zero AI:
- (标准)Zero Schema:

### 3.2. 新增

- Maven 统一版本管理:
- Rapid快速开发框架:
- Zero Epoch:
- Zero Demo: