93d1b21的任务收尾

This commit is contained in:
2025-12-19 02:30:45 +08:00
parent 93d1b21bb8
commit 5a29146c32
40 changed files with 3596 additions and 93 deletions

View File

@@ -1,5 +1,5 @@
{
"next_number": 19,
"next_number": 20,
"branches": [
{
"number": 1,
@@ -210,6 +210,18 @@
"status": "force-cleaned",
"end_commit": "19aa94e2e2e084b1c72b8b9e55d565948b8ac19d",
"finished_at": "2025-12-18T20:33:37+08:00"
},
{
"number": 19,
"branch_name": "aide/019",
"source_branch": "master",
"start_commit": "93d1b21bb8497d75ac7ee36422a4b4214b517bb7",
"task_id": "2025-12-19T00-40-02",
"task_summary": "开始任务准备: Aide 体系多项调整任务",
"started_at": "2025-12-19T00:40:02+08:00",
"status": "finished",
"end_commit": "de4a3a63975faf59c89a28c2e29c1ac58a48789b",
"finished_at": "2025-12-19T02:30:45+08:00"
}
]
}

View File

@@ -1,5 +1,16 @@
# Git 分支概况
## aide/019
- **任务**: 开始任务准备: Aide 体系多项调整任务
- **任务ID**: 2025-12-19T00-40-02
- **源分支**: master
- **起始提交**: 93d1b21
- **结束提交**: de4a3a6
- **状态**: finished
- **起始时间**: 2025-12-19 00:40
- **结束时间**: 2025-12-19 02:30
## aide/018
- **任务**: 开始任务准备: aide flow clean 指令与分支概况文档分析

View File

@@ -0,0 +1,211 @@
{
"task_id": "2025-12-19T00-40-02",
"current_phase": "finish",
"current_step": 25,
"started_at": "2025-12-19T00:40:02+08:00",
"history": [
{
"timestamp": "2025-12-19T00:40:02+08:00",
"action": "start",
"phase": "task-optimize",
"step": 1,
"summary": "开始任务准备: Aide 体系多项调整任务",
"git_commit": "f7a811ec18679acda7850be5b3a0794a7d7b81f2"
},
{
"timestamp": "2025-12-19T00:42:55+08:00",
"action": "next-step",
"phase": "task-optimize",
"step": 2,
"summary": "任务分析完成识别出5个子计划和4个待定项",
"git_commit": "bf60a4a3e9578f792c39dc833e91349121e28556"
},
{
"timestamp": "2025-12-19T00:49:06+08:00",
"action": "next-step",
"phase": "task-optimize",
"step": 3,
"summary": "用户完成待定项确认",
"git_commit": "2b03d564dd5614bbaba9e890ae4d0112b9ea3dbb"
},
{
"timestamp": "2025-12-19T00:53:39+08:00",
"action": "next-step",
"phase": "task-optimize",
"step": 4,
"summary": "生成任务细则文档完成guide.md + 6个spec文档",
"git_commit": "43c1d810dbd0ad6291b126102267eb3052f0a5e4"
},
{
"timestamp": "2025-12-19T00:58:32+08:00",
"action": "next-step",
"phase": "task-optimize",
"step": 5,
"summary": "根据用户反馈修正 spec-06 数据流设计",
"git_commit": "b2ef44157bc3b8034601a62eef0a60174c4a70f0"
},
{
"timestamp": "2025-12-19T01:08:18+08:00",
"action": "next-step",
"phase": "task-optimize",
"step": 6,
"summary": "任务细则已确认",
"git_commit": "4f7041b68dea04cbd3fa4d4a7a85d842824fa8dc"
},
{
"timestamp": "2025-12-19T01:08:32+08:00",
"action": "next-part",
"phase": "flow-design",
"step": 7,
"summary": "进入流程设计环节",
"git_commit": "ba23a62232f03a1dea825898c49c12ccdd3232cb"
},
{
"timestamp": "2025-12-19T01:13:58+08:00",
"action": "next-step",
"phase": "flow-design",
"step": 8,
"summary": "流程图设计完成task-flow + spec-01-init + spec-06-back-confirm",
"git_commit": "272269266b8f89bdba77cabead2008d51e41e6bc"
},
{
"timestamp": "2025-12-19T01:14:12+08:00",
"action": "next-part",
"phase": "impl",
"step": 9,
"summary": "流程设计完成,进入实现环节",
"git_commit": "15a4a51267e8931164249ebaa09b21c917747be8"
},
{
"timestamp": "2025-12-19T01:33:20+08:00",
"action": "back-step",
"phase": "impl",
"step": 10,
"summary": "流程图不完整,需补充各子计划的任务执行流程图",
"git_commit": "4fb1cc045ea010f7f39dc1f6e4c9e7a0d94ceee0"
},
{
"timestamp": "2025-12-19T01:35:25+08:00",
"action": "next-step",
"phase": "impl",
"step": 11,
"summary": "补充完成6个子计划的任务执行流程图",
"git_commit": "5ea3241564bb976cdb6add82b842758ffee781d2"
},
{
"timestamp": "2025-12-19T01:38:37+08:00",
"action": "back-part",
"phase": "flow-design",
"step": 12,
"summary": "返回流程图生成",
"git_commit": "fbe63297b5e784518ad1d20bfe5e970b9660ac30"
},
{
"timestamp": "2025-12-19T01:39:02+08:00",
"action": "next-part",
"phase": "impl",
"step": 13,
"summary": "完成流程图",
"git_commit": "be0e03ca517d09b41f522bed29b1e34b94228df6"
},
{
"timestamp": "2025-12-19T01:44:20+08:00",
"action": "next-step",
"phase": "impl",
"step": 14,
"summary": "完成子计划1: gitignore_aide默认值改为false, aide init支持任意目录",
"git_commit": "2ca64a7f984c65fa6ff63abe215ad19695d65da7"
},
{
"timestamp": "2025-12-19T01:47:50+08:00",
"action": "next-step",
"phase": "impl",
"step": 15,
"summary": "完成子计划2: readme-templates skill创建完成 (1 SKILL.md + 5模板 + 10模块)",
"git_commit": "d32a4162b872391fa3f6fe8337a25df5a93148f9"
},
{
"timestamp": "2025-12-19T01:50:17+08:00",
"action": "next-step",
"phase": "impl",
"step": 16,
"summary": "完成子计划3: /aide:readme 命令实现 (配置项 + 命令文件)",
"git_commit": "ab547dcaa39d79f5ed7041681ddb23b89ad98bdd"
},
{
"timestamp": "2025-12-19T01:51:48+08:00",
"action": "next-step",
"phase": "impl",
"step": 17,
"summary": "完成子计划4: /aide:user-docs 命令实现",
"git_commit": "59125688891cf3b63018c4a8c4172fbe54082f7f"
},
{
"timestamp": "2025-12-19T01:57:58+08:00",
"action": "next-step",
"phase": "impl",
"step": 18,
"summary": "完成子计划5: /aide:user-graph 命令实现 (配置项 + 命令文件)",
"git_commit": "eebfd18562f237cbece37f2d4ce69d3eb4151490"
},
{
"timestamp": "2025-12-19T02:15:49+08:00",
"action": "next-step",
"phase": "impl",
"step": 19,
"summary": "完成子计划6: 返工流程优化 (rework skill + back-confirm 机制)",
"git_commit": "0a8eb4912c23a0a294e0059b5ab5e042605f017a"
},
{
"timestamp": "2025-12-19T02:16:00+08:00",
"action": "next-part",
"phase": "verify",
"step": 20,
"summary": "所有子计划实现完成,进入验证环节",
"git_commit": "d19dbec7cb15bd751bcd3cfdc1062c612145446d"
},
{
"timestamp": "2025-12-19T02:16:57+08:00",
"action": "next-step",
"phase": "verify",
"step": 21,
"summary": "验证完成: 所有验证标准通过",
"git_commit": "e3e1c9ecbc22279e7d3e101321b0ddd3af7ff0d7"
},
{
"timestamp": "2025-12-19T02:17:08+08:00",
"action": "next-part",
"phase": "docs",
"step": 22,
"summary": "验证通过,进入文档环节",
"git_commit": "b76b238bb1a122aafbce8ba3a802c9806ad189e8"
},
{
"timestamp": "2025-12-19T02:18:09+08:00",
"action": "next-step",
"phase": "docs",
"step": 23,
"summary": "文档更新完成: aide skill + CHANGELOG.md",
"git_commit": "7f0cf95e02671f9ff8514a2f209726ba42ce1dd7"
},
{
"timestamp": "2025-12-19T02:18:27+08:00",
"action": "next-part",
"phase": "confirm",
"step": 24,
"summary": "文档更新完成,进入用户确认环节",
"git_commit": "fe9a950031656ec3a3bfa3d85af85addeec3451e"
},
{
"timestamp": "2025-12-19T02:30:45+08:00",
"action": "next-part",
"phase": "finish",
"step": 25,
"summary": "用户确认通过,进入收尾",
"git_commit": "de4a3a63975faf59c89a28c2e29c1ac58a48789b"
}
],
"source_branch": "master",
"start_commit": "93d1b21bb8497d75ac7ee36422a4b4214b517bb7",
"task_branch": "aide/019"
}

78
.aide/task-plans/guide.md Normal file
View File

@@ -0,0 +1,78 @@
# 任务计划总导览
## 任务简述
对 Aide 工作流体系进行多项调整基础配置修改、面向用户的文档系统3个命令、返工流程优化。
## 用户决策记录
| # | 待定项 | 选择 | 备注 |
|---|--------|------|------|
| 1 | 命令拆分方案 | 3个命令 | `/aide:readme` + `/aide:user-docs` + `/aide:user-graph` |
| 2 | 返工确认机制 | 完整 key 确认 | `aide flow back-confirm --key xxx` |
| 3 | 配置项命名 | user_docs 命名空间 | `user_docs.*` |
| 4 | README 已存在处理 | 直接覆盖 | 不需备份git 已提供版本控制 |
## 子计划列表
| # | 名称 | 状态 | 细则文档 | 说明 |
|---|------|------|----------|------|
| 1 | 基础配置修改 | **completed** | spec-01.md | gitignore_aide 默认值、aide init 任意目录 |
| 2 | README skill 模板集 | **completed** | spec-02.md | 创建 readme-templates skill |
| 3 | README 命令实现 | **completed** | spec-03.md | /aide:readme 命令 |
| 4 | 用户文档命令实现 | **completed** | spec-04.md | /aide:user-docs 命令 |
| 5 | 用户流程图命令实现 | **completed** | spec-05.md | /aide:user-graph 命令 |
| 6 | 返工流程优化 | **completed** | spec-06.md | rework skill + 程序修改 |
## 执行顺序
```
1 (基础配置) ─────────────────────────────────────┐
2 (README skill) ──→ 3 (readme 命令) ─────────────┼──→ 完成
│ │
↓ │
4 (user-docs 命令) │
│ │
↓ │
5 (user-graph 命令) ─────────┤
6 (返工优化) ─────────────────────────────────────┘
```
**依赖说明**
- 子计划 1、2、6 可并行执行(无相互依赖)
- 子计划 3 依赖子计划 2需要 skill 模板)
- 子计划 4 依赖子计划 3基于 readme 命令扩展)
- 子计划 5 依赖子计划 4流程图与用户文档关联
## 涉及模块
| 模块 | 路径 | 涉及子计划 |
|------|------|-----------|
| aide-program | `aide-program/aide/` | 1, 3, 4, 5, 6 |
| commands | `aide-marketplace/aide-plugin/commands/` | 3, 4, 5, 6 |
| skills | `aide-marketplace/aide-plugin/skills/` | 2, 6 |
## 配置项规划
```toml
[user_docs]
# README 文件路径
readme_path = "README.md"
# 用户文档目录
docs_path = "docs"
# README 编写规范文件
rules_path = "make-readme-rules.md"
# 用户流程图目录
graph_path = "docs/graph-guide"
```
## 备注
- 这是一个超大型任务,预计需要多个对话周期完成
- 子计划 5用户流程图复杂度最高可能需要进一步细分
- 建议每完成一个子计划后进行 confirm确保方向正确

View File

@@ -0,0 +1,53 @@
# 子计划 1基础配置修改
## 目标
完成两项基础配置修改:
1.`gitignore_aide` 默认值改为 `false`
2. 使 `aide init` 支持在任意目录执行原地初始化
## 具体步骤
### 1.1 修改 gitignore_aide 默认值
**位置**`aide-program/aide/` 中的配置相关模块
**操作**
1. 找到 `gitignore_aide` 配置项的默认值定义
2. 将默认值从 `true` 改为 `false`
3. 更新相关文档说明
### 1.2 修改 aide init 行为
**当前行为**:可能限制只能在项目根目录执行
**目标行为**
-`git init` 一样可以在任意目录执行
- 即使当前目录是已有 `.aide` 管理的子目录,也能执行原地初始化
- 在当前目录创建新的 `.aide/` 目录和配置
**位置**`aide-program/aide/` 中的 init 相关模块
**操作**
1. 分析当前 `aide init` 的实现逻辑
2. 移除或修改目录检查限制
3. 确保在任意目录都能创建 `.aide/` 目录
4. 测试验证
## 验证标准
- [ ] `aide init` 后项目的 `.gitignore` 不自动添加 `.aide/` 条目
- [ ] 在任意目录执行 `aide init` 能成功创建 `.aide/` 目录
- [ ] 在已有 `.aide` 的项目子目录中执行 `aide init` 能成功创建新的 `.aide/`
- [ ] 不影响已有的 aide 功能
## 依赖
- 前置:无
- 后续:无(独立任务)
## 风险评估
- **风险等级**:低
- **潜在影响**:已有使用默认配置的项目可能需要手动调整
- **缓解措施**:在 CHANGELOG 中明确说明变更

102
.aide/task-plans/spec-02.md Normal file
View File

@@ -0,0 +1,102 @@
# 子计划 2README skill 模板集
## 目标
创建 `readme-templates` skill包含多种 README 模板和模块化内容规范板块,供 `/aide:readme` 命令使用。
## 具体步骤
### 2.1 设计模板体系
**模板类型**(按项目类型):
| 模板 | 文件名 | 适用场景 |
|------|--------|----------|
| 微型项目 | `minimal.md` | < 500 行代码的小工具 |
| /工具 | `library.md` | npm/cargo/pip 等库项目 |
| 应用程序 | `application.md` | CLI/GUI/Web 应用 |
| 纯文档 | `documentation.md` | 文档教程材料类项目 |
| 多项目仓库 | `monorepo.md` | 包含多个子项目的仓库 |
**可选模块**可自由组合
| 模块 | 文件名 | 说明 |
|------|--------|------|
| 快速开始 | `module-quickstart.md` | 5分钟上手指南 |
| 安装指南 | `module-installation.md` | 详细安装步骤 |
| 使用示例 | `module-examples.md` | 代码示例和用例 |
| API 文档 | `module-api.md` | 接口说明 |
| 配置说明 | `module-configuration.md` | 配置项详解 |
| 架构概述 | `module-architecture.md` | 系统架构说明 |
| 贡献指南 | `module-contributing.md` | 如何贡献代码 |
| 变更日志 | `module-changelog.md` | 版本历史 |
| 许可证 | `module-license.md` | 许可证说明 |
| FAQ | `module-faq.md` | 常见问题 |
### 2.2 创建 skill 目录结构
```
aide-marketplace/aide-plugin/skills/readme-templates/
├── SKILL.md # 技能说明和使用指南
├── templates/ # 完整模板
│ ├── minimal.md
│ ├── library.md
│ ├── application.md
│ ├── documentation.md
│ └── monorepo.md
└── modules/ # 可选模块
├── module-quickstart.md
├── module-installation.md
├── module-examples.md
├── module-api.md
├── module-configuration.md
├── module-architecture.md
├── module-contributing.md
├── module-changelog.md
├── module-license.md
└── module-faq.md
```
### 2.3 编写 SKILL.md
内容包括
- skill 用途说明
- 模板选择指南根据项目类型推荐
- 模块组合建议不同场景的推荐组合
- 各模板和模块的简介
- 使用示例
### 2.4 编写各模板文件
每个模板文件应包含
- 模板说明作为注释
- 完整的 README 结构
- 占位符标记 LLM 填充
- 可选部分标注
### 2.5 编写各模块文件
每个模块文件应包含
- 模块说明
- 标准结构
- 最佳实践提示
- 示例内容
## 验证标准
- [ ] SKILL.md 内容完整指导清晰
- [ ] 5 个完整模板覆盖主要项目类型
- [ ] 10 个可选模块覆盖常见需求
- [ ] 模板和模块风格统一
- [ ] 占位符标记清晰便于 LLM 填充
## 依赖
- 前置
- 后续子计划 3README 命令实现依赖本计划
## 风险评估
- **风险等级**
- **潜在影响**模板质量直接影响生成文档的质量
- **缓解措施**参考优秀开源项目的 README 编写

108
.aide/task-plans/spec-03.md Normal file
View File

@@ -0,0 +1,108 @@
# 子计划 3README 命令实现
## 目标
创建 `/aide:readme` 命令,实现 README 编写规范管理和 README 文件生成功能。
## 具体步骤
### 3.1 添加配置项
**位置**`aide-program/aide/` 配置模块
**新增配置项**
```toml
[user_docs]
# README 文件路径(相对于项目根目录)
readme_path = "README.md"
# README 编写规范文件路径
rules_path = "make-readme-rules.md"
```
**实现**
1. 在 config.toml 模板中添加默认配置
2. 实现 `aide config get user_docs.readme_path` 等命令支持
3. 更新配置文档注释
### 3.2 创建命令文件
**位置**`aide-marketplace/aide-plugin/commands/readme.md`
**命令流程**
```
开始
├─ 检查 make-readme-rules.md 是否存在
│ │
│ ├─ 不存在 → 进入规范引导流程
│ │
│ └─ 存在 → 进入 README 生成流程
└─ 结束
```
### 3.3 规范引导流程
`make-readme-rules.md` 不存在时:
1. **提示用户**
- 建议先完成 `docs + load`(面向 LLM 的项目文档)
- 询问是否已完成或确定不需要
2. **建议独立对话**
- 提示用户规范制定是一个重要任务
- 建议将本次对话专注于规范制定
- 完成后使用 `/exit` 退出
3. **触发 readme-templates skill**
- 加载模板和模块信息
- 向用户介绍可用模板
- 提供可选模块列表
4. **引导用户选择**
- 根据项目类型推荐模板
- 根据项目文档分析提供建议
- 允许用户自由组合模块
5. **生成规范文件**
- 将用户选择写入 `make-readme-rules.md`
- 包含:选择的模板、启用的模块、自定义要求
### 3.4 README 生成流程
`make-readme-rules.md` 存在时:
1. **读取规范文件**
2. **检查 README.md 是否存在**
- 存在 → 直接覆盖用户决策无需备份git 提供版本控制)
3. **触发 readme-templates skill**
4. **根据规范和项目文档生成 README**
5. **写入 README.md**
### 3.5 与项目文档的集成
- 读取 `.aide/project-docs/` 下的项目文档
- 分析项目类型、技术栈、模块结构
- 为用户提供基于项目实际情况的建议
## 验证标准
- [ ] `aide config get user_docs.readme_path` 正常工作
- [ ] 规范文件不存在时正确进入引导流程
- [ ] 规范文件存在时正确生成 README
- [ ] README 存在时直接覆盖
- [ ] 与项目文档的集成正常工作
## 依赖
- 前置:子计划 2readme-templates skill
- 后续:子计划 4user-docs 命令)
## 风险评估
- **风险等级**:中
- **潜在影响**:规范引导流程的用户体验
- **缓解措施**:提供清晰的提示和合理的默认选项

124
.aide/task-plans/spec-04.md Normal file
View File

@@ -0,0 +1,124 @@
# 子计划 4用户文档命令实现
## 目标
创建 `/aide:user-docs` 命令,实现 docs 目录下面向用户的详细文档生成功能。
## 具体步骤
### 4.1 添加配置项
**位置**`aide-program/aide/` 配置模块
**新增配置项**
```toml
[user_docs]
# 用户文档目录路径(相对于项目根目录)
docs_path = "docs"
```
### 4.2 创建命令文件
**位置**`aide-marketplace/aide-plugin/commands/user-docs.md`
**命令流程**
```
开始
├─ 检查 make-readme-rules.md 是否存在
│ │
│ ├─ 不存在 → 提示先执行 /aide:readme
│ │
│ └─ 存在 → 继续
├─ 检查项目文档是否存在(.aide/project-docs/
│ │
│ ├─ 不存在 → 建议先执行 /aide:docs + /aide:load
│ │
│ └─ 存在 → 继续
├─ 分析项目类型和结构
├─ 确定文档结构
├─ 生成/更新 docs 目录下的文档
└─ 结束
```
### 4.3 文档结构设计
根据项目类型docs 目录应包含不同的文档:
**纯文档/材料类项目**
```
docs/
├── overview.md # 内容概述
├── navigation.md # 导航指南
└── topics/ # 主题分类
├── topic-1.md
└── topic-2.md
```
**单体程序项目**
```
docs/
├── getting-started.md # 快速开始
├── installation.md # 安装指南
├── usage.md # 使用说明
├── configuration.md # 配置说明
├── api/ # API 文档
│ └── ...
└── guides/ # 使用指南
└── ...
```
**多项目仓库**
```
docs/
├── overview.md # 仓库概述
├── projects/ # 各项目文档
│ ├── project-a/
│ │ ├── README.md
│ │ └── ...
│ └── project-b/
│ ├── README.md
│ └── ...
└── shared/ # 共享文档
└── ...
```
### 4.4 与 README 的关联
- 读取 `make-readme-rules.md` 了解用户偏好
- docs 目录下的文档与 README 中的链接保持一致
- 支持在 README 中自动插入 docs 文档的链接
### 4.5 增量更新机制
- 首次执行:生成完整文档结构
- 再次执行:
- 检测项目变更
- 更新受影响的文档
- 保留用户手动编辑的内容(通过标记区分)
## 验证标准
- [ ] `aide config get user_docs.docs_path` 正常工作
- [ ] 根据项目类型生成合适的文档结构
- [ ] 与 README 正确关联
- [ ] 增量更新机制正常工作
- [ ] 保留用户手动编辑的内容
## 依赖
- 前置:子计划 3README 命令)
- 后续:子计划 5用户流程图命令
## 风险评估
- **风险等级**:中
- **潜在影响**:文档结构的合理性和可维护性
- **缓解措施**:参考主流开源项目的文档组织方式

194
.aide/task-plans/spec-05.md Normal file
View File

@@ -0,0 +1,194 @@
# 子计划 5用户流程图命令实现
## 目标
创建 `/aide:user-graph` 命令,实现面向用户的长期维护流程图系统,支持分步执行和接续执行。
## 具体步骤
### 5.1 添加配置项
**位置**`aide-program/aide/` 配置模块
**新增配置项**
```toml
[user_docs]
# 用户流程图目录路径(相对于项目根目录)
graph_path = "docs/graph-guide"
# 流程图计划文件路径
graph_plan_path = "docs/graph-guide/plan.md"
```
### 5.2 创建命令文件
**位置**`aide-marketplace/aide-plugin/commands/user-graph.md`
**命令流程**
```
开始
├─ 检查计划文件是否存在
│ │
│ ├─ 不存在 → 进入分析和计划阶段
│ │
│ └─ 存在 → 进入接续执行阶段
└─ 结束
```
### 5.3 流程图目录结构设计
以用户示例为参考api-lib + api + user-interface
```
docs/graph-guide/
├── plan.md # 计划和进度文档
├── guide.puml # 总导览流程图
├── api-lib/ # 子项目 1
│ ├── guide.puml # 子项目导览
│ ├── module-a.puml # 模块 A 流程图
│ └── module-b.puml # 模块 B 流程图
├── api/ # 子项目 2
│ ├── guide.puml
│ └── ...
└── user-interface/ # 子项目 3
├── guide.puml
└── ...
```
### 5.4 分析和计划阶段
当计划文件不存在时:
1. **加载项目文档**
- 读取 `.aide/project-docs/` 下的项目文档
- 了解项目结构和模块
2. **区块划分**(按业务逻辑整体):
- 不同于项目文档的深度全覆盖
- 目标是呈现整体形式
- 识别独立的开发项目/模块
3. **复杂度分析**
- 评估每个区块的复杂度
- 估算每个区块需要的工作量
- 识别可能需要细分的大型区块
4. **生成计划文档**plan.md
```markdown
# 用户流程图编写计划
## 项目概述
[基于项目文档的简要描述]
## 区块划分
| # | 区块名称 | 类型 | 复杂度 | 状态 |
|---|----------|------|--------|------|
| 1 | api-lib | 库项目 | 高 | pending |
| 2 | api | 应用 | 中 | pending |
| 3 | user-interface | 前端 | 中 | pending |
## 执行步骤
### 区块 1: api-lib
- [ ] 步骤 1.1: 分析模块结构
- [ ] 步骤 1.2: 编写 guide.puml
- [ ] 步骤 1.3: 编写 module-a.puml
- [ ] 步骤 1.4: 编写 module-b.puml
...
### 区块 2: api
...
## 当前进度
- 当前区块1
- 当前步骤1.1
- 最后更新:[时间戳]
## 备注
[执行过程中的记录]
```
5. **用户确认**
- 展示计划摘要
- 询问是否开始执行
### 5.5 接续执行阶段
当计划文件存在时:
1. **读取计划文档**
2. **定位当前进度**
3. **继续执行未完成的步骤**
4. **每完成一个步骤,更新计划文档**
### 5.6 流程图类型
根据项目内容决定流程图类型:
**不含程序的项目**
- 引导用户了解项目的流程图
- 内容导航图
- 学习路径图
**含程序的项目**
- 引导流程图(如何了解项目)
- 程序逻辑流图(参考 /aide:run 中的规范)
- 入口点
- 控制结构
- 语义化抽象
- 模块化表示
- 层次化组织
### 5.7 一套流程图的标准
每个开发项目/区块应包含:
1. **guide.puml**:子项目导览
- 模块概览
- 调用关系
- 数据流向
2. **子模块 puml**:详细流程
- 核心逻辑
- 关键函数
- 状态转换
### 5.8 分步执行机制
为支持大型项目的分步执行:
1. **进度持久化**:通过 plan.md 记录进度
2. **接续点精确定位**:通过区块+步骤编号
3. **上下文恢复**:每次执行前读取项目文档和计划
4. **增量产出**:每步完成后保存产出的 puml 文件
## 验证标准
- [ ] 计划文档格式正确,信息完整
- [ ] 区块划分合理,符合业务逻辑
- [ ] 接续执行能正确定位进度
- [ ] 生成的流程图符合 PlantUML 语法
- [ ] 流程图能正确生成 PNG
## 依赖
- 前置:子计划 4user-docs 命令)
- 后续:无
## 风险评估
- **风险等级**:高
- **潜在影响**
- 大型项目可能需要多次对话完成
- 区块划分不当可能导致重复工作
- 流程图质量影响用户理解
- **缓解措施**
- 完善的进度跟踪机制
- 用户确认关键决策
- 参考优秀的流程图设计

217
.aide/task-plans/spec-06.md Normal file
View File

@@ -0,0 +1,217 @@
# 子计划 6返工流程优化
## 目标
优化 Aide 工作流的返工流程,包括:
1. 创建 `rework` skill 提供返工指导
2. 修改 `/aide:run` 命令引用该 skill
3. 修改 aide-program 实现 back-confirm 机制
## 具体步骤
### 6.1 创建 rework skill
**位置**`aide-marketplace/aide-plugin/skills/rework/SKILL.md`
**内容结构**
```markdown
# 返工流程指南
## 返工类型判断
| 返工目标 | 触发条件 | 处理方式 |
|----------|----------|----------|
| task-optimize | 新需求、需求理解偏差 | 更新 task.source |
| flow-design | 架构/流程设计问题 | 更新细则 + new-requirements.md |
| impl | 实现问题 | 更新细则 + new-requirements.md |
| verify | 验证未通过 | 更新细则 + new-requirements.md |
## 返工到 task-optimize 阶段
### 流程
1. `aide flow issue "准备返工: [原因简述]"`
2. 更新 task.source 文档:
- 插入用户新需求原文
- 记录提出时机
- 添加 LLM 建议(可选)
3. 提醒用户
4. 执行 `aide flow back-confirm --key [key]`
5. 执行 `aide flow back-part task-optimize "[原因]"`
### task.source 更新格式
在文档末尾添加:
```markdown
---
## 返工记录 [时间戳]
### 用户反馈
[用户原文]
### 提出时机
[在哪个阶段/步骤提出]
### LLM 建议
[如有]
```
## 返工到其他阶段
### 流程
1. `aide flow issue "准备返工前处理需求整合: [原因简述]"`
2. 创建/更新 new-requirements.md
- 记录用户新需求原文
- 记录提出时机
3. 更新细则文档:
- 在导览部分添加返工声明
- 梳理:已完成项、未完成项、需重新处理项
- 处理需求冲突
- 融入新需求
- 删除返工声明
4. 提醒用户
5. 执行 `aide flow back-confirm --key [key]`
6. 执行 `aide flow back-part [阶段] "[原因]"`
### new-requirements.md 格式
```markdown
# 新需求记录
## 返工 [时间戳]
### 用户反馈
[原文]
### 提出时机
[阶段/步骤]
### 影响分析
- 已完成项:[列表]
- 未完成项:[列表]
- 需重新处理:[列表]
### 冲突处理
[如何处理与原细则的冲突]
```
## 提醒用户
### 返工到 task-optimize
> 我将会对 task-now.md 进行更新,加入您的新需求和我的建议,然后更新流程状态返工到 task-optimize 阶段。建议您在流程状态返工后使用 `/exit` 结束本次对话,重新启动一个新的对话执行 load+run我将会自动接续任务的处理。
### 返工到其他阶段
> 我将会对 new-requirements.md 进行更新,加入您的新需求和我的建议,然后处理好您的新需求和原细则的需求冲突整合,然后更新流程状态返工到 [阶段] 阶段。建议您在流程状态返工后使用 `/exit` 结束本次对话,重新启动一个新的对话执行 load+run我将会自动接续任务的处理。
## 确认机制
返工前必须完成确认流程,详见 aide flow back-confirm 命令说明。
```
### 6.2 修改 /aide:run 命令
**位置**`aide-marketplace/aide-plugin/commands/run.md`
**修改内容**
在 confirm 阶段的返工流程部分添加:
```markdown
#### 6.3 返工流程
当用户发现问题或有新需求时:
**触发 rework skill**
加载 `rework` skill 学习返工流程指南,按照指南完成返工处理。
```
### 6.3 修改 aide-programback-confirm 机制
**位置**`aide-program/aide/flow/` 模块
**新增命令**`aide flow back-confirm --key <key>`
**实现逻辑**
1. **back-part 命令修改**
- 执行前检查是否有待确认的 back 请求
- 如无确认,输出提示并生成随机 key
- 记录目标阶段和原因到状态文件
- 要求 LLM 确认已完成准备工作后执行 back-confirm
2. **back-confirm 命令实现**
- 验证 key 是否匹配
- 匹配成功后:
- 读取状态文件中的目标阶段和原因
- 清理状态文件(删除 `.aide/back-confirm-state.json`
- 执行 back-part 操作
- 暂存所有更改:`git add .`
- 创建清洁提交:`git commit -m "[aide] 返工前清洁提交"`
- 输出警告:建议用户 `/exit` 重新对话
**数据流**
```
LLM 请求 back-part flow-design "设计遗漏"
aide 检测未确认,记录目标和原因,生成 key "abc123",输出提示
LLM 完成准备工作后,执行 back-confirm --key abc123
aide 验证 key 成功 → 清理状态文件 → 执行 back-part → 创建清洁提交 → 输出警告
结束LLM 无需第三次请求)
```
### 6.4 状态存储
**位置**`.aide/back-confirm-state.json`
**格式**
```json
{
"pending_key": "abc123",
"target_part": "flow-design",
"reason": "设计遗漏,需要补充",
"created_at": "2025-12-19T10:00:00+08:00"
}
```
> 注:验证成功后直接执行并清理状态文件,无需 confirmed 字段
## 验证标准
- [ ] rework skill 内容完整,指导清晰
- [ ] /aide:run 正确引用 rework skill
- [ ] `aide flow back-part` 在未确认时生成 key 并记录状态
- [ ] `aide flow back-confirm --key` 正确验证 key 并直接执行 back-part
- [ ] 执行后创建清洁提交
- [ ] 输出正确的警告信息
- [ ] 状态文件在完成后被清理
## 依赖
- 前置:无(独立任务)
- 后续:无
## 风险评估
- **风险等级**:中
- **潜在影响**
- 确认机制增加操作复杂度
- 清洁提交可能与用户 git 工作流冲突
- **缓解措施**
- 提供清晰的操作提示
- 清洁提交信息明确标注来源
- 文档说明机制目的

View File

@@ -2,6 +2,30 @@
本文件记录 Aide 项目对使用者可见的重要变更。
## 2025-12-19
### 新增功能
**返工流程优化**
- 新增 `rework` skill提供返工流程指南包含返工类型判断、文档更新格式、用户提醒模板
- 新增 `aide flow back-confirm --key <key>` 命令:确认返工请求并执行
- 修改 `aide flow back-part`:执行时生成确认 key需先完成准备工作后执行 back-confirm 确认
- 返工确认机制防止误操作,确保返工前完成文档更新
- 状态文件 `.aide/back-confirm-state.json` 用于存储待确认的返工请求
**面向用户的文档系统**
- 新增 `/aide:readme` 命令:生成面向用户的 README.md
- 新增 `/aide:user-docs` 命令:生成面向用户的文档
- 新增 `/aide:user-graph` 命令:生成面向用户的流程图
- 新增 `readme-templates` skill提供 README 编写模板和模块
**基础配置修改**
- `gitignore_aide` 配置项默认值改为 `false`
- `aide init` 支持在任意目录执行初始化
## 2025-12-18
### 修复

View File

@@ -0,0 +1,251 @@
# Aide README 生成
你正在执行 Aide README 生成流程。这个命令帮助用户创建和维护项目 README 文件。
---
## 前置准备
**首先触发 `readme-templates` skill 学习模板使用方法。**
---
## 开始
### 检查规范文件
```bash
aide config get user_docs.rules_path
```
读取配置的规范文件路径,检查文件是否存在。
**根据规范文件状态决定流程**
- **规范文件不存在** → 进入**规范引导流程**
- **规范文件存在** → 进入**README 生成流程**
---
## 规范引导流程
`make-readme-rules.md` 不存在时执行此流程。
### 1. 提示用户
向用户说明:
> 检测到项目尚未创建 README 编写规范(`make-readme-rules.md`)。
>
> **建议**
> - 如果尚未创建面向 LLM 的项目文档(`.aide/project-docs/`),建议先执行 `/aide:docs` 和 `/aide:load`
> - 项目文档可以帮助我更好地理解项目,从而提供更准确的 README 建议
>
> 规范制定是一个重要任务,建议在本次对话中专注完成。完成后可使用 `/exit` 退出。
### 2. 询问用户
使用 AskUserQuestion 询问:
> 是否继续创建 README 编写规范?
**选项**
- **继续创建**(推荐)
- **先执行 /aide:docs**(如果项目文档不存在)
### 3. 分析项目
如用户选择继续:
#### 3.1 检查项目文档
```bash
aide config get docs.path
```
如果项目文档目录存在,阅读总导览(`README.md`),了解:
- 项目类型
- 技术栈
- 主要功能
- 模块结构
#### 3.2 分析项目代码(如无项目文档)
如果没有项目文档,快速浏览:
- `README.md`(如存在)
- `package.json` / `Cargo.toml` / `pyproject.toml` 等配置文件
- 入口文件
- 目录结构
### 4. 推荐模板
基于项目分析,向用户推荐:
#### 4.1 基础模板推荐
根据项目类型推荐一个基础模板:
| 项目类型 | 推荐模板 |
|----------|----------|
| 小脚本/工具 | `minimal` |
| npm/pip/cargo 库 | `library` |
| CLI/GUI/Web 应用 | `application` |
| 文档/教程 | `documentation` |
| 多项目仓库 | `monorepo` |
说明推荐理由。
#### 4.2 可选模块推荐
基于项目特点,推荐启用的模块:
| 模块 | 推荐场景 |
|------|----------|
| `quickstart` | 用户需要快速上手 |
| `installation` | 有多种安装方式 |
| `examples` | API/工具类项目 |
| `api` | 库/SDK 项目 |
| `configuration` | 有配置文件 |
| `architecture` | 复杂系统 |
| `contributing` | 开源项目 |
| `changelog` | 需要版本追踪 |
| `license` | 公开项目 |
| `faq` | 预期有常见问题 |
### 5. 用户确认
使用 AskUserQuestion 确认:
- 基础模板选择
- 启用的模块列表
- 其他自定义要求
### 6. 生成规范文件
根据用户选择生成 `make-readme-rules.md`
```markdown
# README 编写规范
## 基础模板
模板:{{TEMPLATE_NAME}}
## 启用模块
{{ENABLED_MODULES_LIST}}
## 自定义要求
{{CUSTOM_REQUIREMENTS}}
## 生成时间
{{TIMESTAMP}}
```
### 7. 询问是否立即生成
> 规范文件已创建。是否立即生成 README
**选项**
- **立即生成**(推荐)
- **稍后生成**
如选择立即生成,进入 README 生成流程。
---
## README 生成流程
`make-readme-rules.md` 存在时执行此流程。
### 1. 读取规范文件
读取 `make-readme-rules.md`,获取:
- 选择的基础模板
- 启用的模块列表
- 自定义要求
### 2. 加载项目信息
#### 2.1 项目文档(优先)
如果存在 `.aide/project-docs/`,读取总导览获取:
- 项目名称和描述
- 技术栈信息
- 功能特性
- 架构概述
#### 2.2 代码分析(补充)
补充分析:
- 安装方式(从配置文件推断)
- 使用示例(从测试或文档提取)
- API 文档(从代码注释提取)
### 3. 读取模板
根据规范文件中的模板选择,读取对应的模板文件:
```
aide-marketplace/aide-plugin/skills/readme-templates/templates/{template}.md
```
### 4. 读取模块
读取启用的模块文件:
```
aide-marketplace/aide-plugin/skills/readme-templates/modules/module-{name}.md
```
### 5. 生成 README
结合模板、模块和项目信息:
1. 以基础模板为框架
2. 在适当位置插入模块内容
3. 填充所有占位符
4. 应用自定义要求
### 6. 检查现有 README
```bash
aide config get user_docs.readme_path
```
- 如果 README 已存在直接覆盖无需备份git 提供版本控制)
- 如果不存在,创建新文件
### 7. 写入 README
将生成的内容写入 `README.md`(或配置的路径)。
### 8. 完成提示
> README 已生成:`README.md`
>
> 建议:
> - 检查生成的内容是否准确
> - 补充具体的代码示例
> - 更新任何过时的信息
>
> 如需调整规范,可编辑 `make-readme-rules.md` 后重新运行 `/aide:readme`。
---
## 配置项
| 配置项 | 默认值 | 说明 |
|--------|--------|------|
| `user_docs.readme_path` | `README.md` | README 文件路径 |
| `user_docs.rules_path` | `make-readme-rules.md` | 编写规范文件路径 |
---
## 注意事项
1. **规范文件的重要性**:规范文件确保每次生成的 README 风格一致
2. **项目文档的价值**:有项目文档时,生成的 README 质量更高
3. **迭代改进**:可以多次运行命令,逐步完善 README
4. **版本控制**README 的历史版本由 git 管理,无需额外备份

View File

@@ -386,38 +386,7 @@ aide flow next-part confirm "文档更新完成,进入用户确认环节"
当用户发现问题或有新需求时:
##### 分析问题类型
| 问题类型 | 返工阶段 | 说明 |
|----------|----------|------|
| 实现问题 | impl | 代码逻辑错误、功能不符预期 |
| 设计问题 | flow-design | 架构或流程设计有误 |
| 需求问题 | task-optimize | 需求理解偏差、新增需求 |
##### 返工前必须操作
**必须**在返工前完成以下操作:
1. **更新任务文档task.source**
- 记录用户反馈的问题
- 补充新发现的需求或要求
- 这是为了便于上下文中断后恢复
2. **更新任务计划文档**
- 简单任务:更新 `task.spec`
- 复杂任务:更新相应的子计划文档(`spec-NN.md`
```bash
aide flow next-step "更新任务文档,准备返工"
```
##### 执行返工
```bash
aide flow back-part <目标阶段> "返工原因: <简述>"
```
从目标阶段继续执行,直到再次到达 confirm 阶段。
**触发 rework skill**:加载 `rework` skill 学习返工流程指南,按照指南完成返工处理。
### 阶段 7收尾 (finish)

View File

@@ -0,0 +1,270 @@
# Aide 用户文档生成
你正在执行 Aide 用户文档生成流程。这个命令帮助用户在 docs 目录下创建面向用户的详细文档。
---
## 前置准备
**首先触发 `readme-templates` skill 学习模板使用方法。**
---
## 开始
### 1. 检查前置条件
#### 1.1 检查 README 规范文件
```bash
aide config get user_docs.rules_path
```
如果规范文件不存在:
> 检测到 README 编写规范(`make-readme-rules.md`)不存在。
>
> 建议先执行 `/aide:readme` 创建规范文件。规范文件定义了项目的文档风格,
> 用户文档应与 README 保持一致的风格。
使用 AskUserQuestion 询问:
- **先执行 /aide:readme**(推荐)
- **继续生成文档**(使用默认风格)
#### 1.2 检查项目文档
```bash
aide config get docs.path
```
如果项目文档目录(`.aide/project-docs/`)不存在:
> 检测到面向 LLM 的项目文档(`.aide/project-docs/`)不存在。
>
> 建议先执行 `/aide:docs` 和 `/aide:load` 创建项目文档。
> 项目文档可以帮助生成更准确、更完整的用户文档。
使用 AskUserQuestion 询问:
- **先执行 /aide:docs**(推荐)
- **继续生成文档**(基于代码分析)
---
## 2. 分析项目
### 2.1 读取项目信息
**优先级**
1. **项目文档**(如果存在):
- 读取 `.aide/project-docs/README.md` 获取项目概述
- 阅读相关区块文档了解详细信息
2. **README**(如果存在):
- 读取 README.md 了解项目定位
3. **代码分析**
- 分析配置文件package.json、Cargo.toml、pyproject.toml 等)
- 分析目录结构
- 识别主要功能模块
### 2.2 确定项目类型
| 类型 | 特征 |
|------|------|
| 纯文档/材料 | 主要是 markdown 文件,无代码 |
| 单体程序 | 单一主项目,可能有子模块 |
| 多项目仓库 | 包含多个独立子项目 |
---
## 3. 规划文档结构
### 3.1 纯文档/材料类项目
```
docs/
├── overview.md # 内容概述
├── navigation.md # 导航指南
└── topics/ # 主题分类
├── topic-1.md
└── topic-2.md
```
### 3.2 单体程序项目
```
docs/
├── getting-started.md # 快速开始
├── installation.md # 安装指南
├── usage.md # 使用说明
├── configuration.md # 配置说明(如有配置)
├── api/ # API 文档(如有)
│ ├── index.md
│ └── ...
└── guides/ # 使用指南
└── ...
```
### 3.3 多项目仓库
```
docs/
├── overview.md # 仓库概述
├── projects/ # 各项目文档
│ ├── project-a/
│ │ ├── README.md
│ │ └── ...
│ └── project-b/
│ ├── README.md
│ └── ...
└── shared/ # 共享文档
└── ...
```
---
## 4. 向用户确认结构
向用户展示规划的文档结构,使用 AskUserQuestion 确认:
> 根据项目分析,建议创建以下文档结构:
>
> ```
> {{PLANNED_STRUCTURE}}
> ```
>
> 是否按此结构生成文档?
**选项**
- **确认生成**(推荐)
- **调整结构**(自定义)
如用户选择调整,通过对话确认最终结构。
---
## 5. 生成文档
### 5.1 检查现有文档
```bash
aide config get user_docs.docs_path
```
检查 docs 目录是否存在以及包含的内容。
### 5.2 处理现有内容
**首次生成**:直接创建所有文档
**增量更新**docs 目录已存在):
对于每个文档文件:
1. **新文件**:直接创建
2. **已存在的文件**
- 检查是否有 `<!-- USER-EDIT: DO NOT MODIFY ABOVE -->` 标记
- 保留标记以上的用户编辑内容
- 更新标记以下的自动生成内容
### 5.3 文档内容规范
每个文档文件应包含:
```markdown
# 文档标题
<!-- AUTO-GENERATED: This section is automatically maintained -->
{{自动生成内容}}
<!-- USER-EDIT: DO NOT MODIFY ABOVE -->
<!-- You can add custom content below -->
{{用户自定义内容区域}}
```
### 5.4 生成各文档
#### getting-started.md快速开始
- 最小可运行示例
- 简洁的步骤说明
- 链接到详细文档
#### installation.md安装指南
- 系统要求
- 多种安装方式
- 安装验证步骤
- 常见问题
#### usage.md使用说明
- 基本用法
- 常用命令/操作
- 参数说明
#### configuration.md配置说明
- 配置文件位置
- 配置项详解
- 配置示例
#### api/API 文档)
- 按模块组织
- 函数签名
- 参数说明
- 使用示例
---
## 6. 更新 README
如果 README 中有文档链接部分,更新链接指向新生成的文档:
```markdown
## 文档
- [快速开始](docs/getting-started.md)
- [安装指南](docs/installation.md)
- [使用说明](docs/usage.md)
- [配置说明](docs/configuration.md)
- [API 文档](docs/api/index.md)
```
---
## 7. 完成提示
> 用户文档已生成:`{{DOCS_PATH}}/`
>
> 生成的文档:
> {{GENERATED_FILES_LIST}}
>
> 建议:
> - 检查生成的内容是否准确
> - 在 `<!-- USER-EDIT -->` 标记下方添加自定义内容
> - 自定义内容不会被后续更新覆盖
>
> 如需重新生成,可再次运行 `/aide:user-docs`。
---
## 配置项
| 配置项 | 默认值 | 说明 |
|--------|--------|------|
| `user_docs.docs_path` | `docs` | 用户文档目录路径 |
| `user_docs.rules_path` | `make-readme-rules.md` | README 规范文件路径 |
---
## 注意事项
1. **保留用户编辑**:使用标记区分自动生成和用户编辑的内容
2. **风格一致**:文档风格与 README 保持一致
3. **增量更新**:多次运行不会覆盖用户自定义内容
4. **链接同步**README 中的文档链接自动更新

View File

@@ -0,0 +1,327 @@
# Aide 用户流程图生成
你正在执行 Aide 用户流程图生成流程。这个命令帮助用户创建面向用户的长期维护流程图系统。
此命令支持**分步执行**和**接续执行**,适用于大型项目。
---
## 前置准备
**首先检查项目文档是否存在。**
```bash
aide config get docs.path
```
如果项目文档目录(`.aide/project-docs/`)不存在:
> 用户流程图依赖项目文档来了解项目结构。建议先执行 `/aide:docs` 和 `/aide:load`。
使用 AskUserQuestion 询问:
- **先执行 /aide:docs**(推荐)
- **继续(基于代码分析)**
---
## 开始
### 检查计划文件
```bash
aide config get user_docs.graph_plan_path
```
读取配置的计划文件路径,检查文件是否存在。
**根据计划文件状态决定流程**
- **计划文件不存在** → 进入**分析和计划阶段**
- **计划文件存在** → 进入**接续执行阶段**
---
## 分析和计划阶段
`docs/graph-guide/plan.md` 不存在时执行此流程。
### 1. 加载项目文档
读取 `.aide/project-docs/` 下的项目文档:
1. 读取总导览(`README.md`)获取:
- 项目类型(文档/程序/混合)
- 子项目/模块列表
- 技术栈信息
2. 阅读相关区块文档了解详细结构
### 2. 区块划分
**划分原则**(与项目文档不同):
- 目标是呈现**整体形式**
- 按**业务逻辑**或**独立开发项目**划分
- 不追求深度全覆盖
**区块类型**
| 类型 | 说明 | 典型内容 |
|------|------|----------|
| 库项目 | 独立的库/工具包 | API 设计、核心逻辑 |
| 应用 | 可运行的程序 | 启动流程、业务逻辑 |
| 前端 | UI 相关 | 组件结构、数据流 |
| 文档 | 纯文档项目 | 内容导航、学习路径 |
### 3. 复杂度分析
对每个区块评估:
| 复杂度 | 特征 | 预估步骤数 |
|--------|------|-----------|
| 低 | 单模块,逻辑简单 | 2-3 |
| 中 | 多模块,有交互 | 4-6 |
| 高 | 复杂系统,多层次 | 7+ |
### 4. 生成计划文档
`docs/graph-guide/` 目录创建 `plan.md`
```markdown
# 用户流程图编写计划
## 项目概述
{{基于项目文档的简要描述}}
## 区块划分
| # | 区块名称 | 类型 | 复杂度 | 状态 |
|---|----------|------|--------|------|
{{BLOCKS_TABLE}}
## 执行步骤
### 区块 1: {{BLOCK_1_NAME}}
- [ ] 步骤 1.1: 分析模块结构
- [ ] 步骤 1.2: 编写 guide.puml
- [ ] 步骤 1.3: 编写 {{module}}.puml
...
### 区块 2: {{BLOCK_2_NAME}}
- [ ] 步骤 2.1: ...
...
## 当前进度
- 当前区块0未开始
- 当前步骤:-
- 最后更新:{{TIMESTAMP}}
## 备注
(执行过程中的记录)
```
### 5. 创建目录结构
```bash
aide config get user_docs.graph_path
```
创建流程图目录和子目录:
```
docs/graph-guide/
├── plan.md
└── {{block_name}}/ # 每个区块一个目录
```
### 6. 用户确认
> 流程图编写计划已生成。
>
> **区块划分**
> {{BLOCKS_SUMMARY}}
>
> **预估步骤**:共 {{TOTAL_STEPS}} 步
>
> 是否开始执行?
**选项**
- **开始执行**(推荐)
- **调整计划**
- **稍后执行**
如选择开始执行,进入步骤执行流程。
---
## 接续执行阶段
`docs/graph-guide/plan.md` 存在时执行此流程。
### 1. 读取计划文档
解析 plan.md 获取:
- 区块列表和状态
- 当前进度(区块和步骤)
- 历史备注
### 2. 显示进度
> **流程图编写进度**
>
> 当前区块:{{CURRENT_BLOCK}}
> 当前步骤:{{CURRENT_STEP}}
> 已完成步骤:{{COMPLETED_STEPS}}/{{TOTAL_STEPS}}
> 上次更新:{{LAST_UPDATE}}
### 3. 确认继续
使用 AskUserQuestion
> 是否从当前进度继续执行?
**选项**
- **继续执行**(推荐)
- **查看计划详情**
- **重新开始**(清空进度)
---
## 步骤执行流程
### 执行单个步骤
对于每个步骤:
1. **显示当前任务**
> 正在执行:{{STEP_DESCRIPTION}}
2. **执行步骤**
- 分析相关代码/文档
- 生成/更新 puml 文件
3. **更新计划文档**
- 标记步骤完成
- 更新当前进度
- 记录时间戳
4. **保存产出**
- 写入 puml 文件
- 调用 PlantUML 生成 PNG如配置
### 步骤间询问
每完成一个步骤后询问:
> 步骤 {{STEP_ID}} 已完成。
>
> 是否继续下一步?
**选项**
- **继续**(推荐)
- **查看产出**
- **暂停(保存进度)**
如选择暂停,保存进度后结束本次执行。
---
## 流程图内容规范
### 总导览流程图guide.puml
每个区块的 guide.puml 应包含:
- 模块概览
- 调用关系
- 数据流向
### 详细流程图module.puml
#### 不含程序的项目
- 内容导航图
- 学习路径图
- 概念关系图
#### 含程序的项目
参考 `/aide:run` 中的程序逻辑流图规范:
1. **入口点**:从程序入口开始
2. **控制结构**:体现顺序、分支、循环
3. **语义化抽象**:人类可理解的业务描述
4. **模块化表示**
- 函数/模块表示为"盒子"
- 标注输入输出
5. **层次化组织**
- 主流程图 + 详细子图
### PlantUML 模板
```plantuml
@startuml guide
!theme plain
skinparam backgroundColor #FFFFFF
title {{区块名称}} - 导览
' 模块定义
package "{{Module A}}" {
[Component 1]
[Component 2]
}
package "{{Module B}}" {
[Component 3]
}
' 关系
[Component 1] --> [Component 2]
[Component 2] --> [Component 3]
@enduml
```
---
## 目录结构
最终生成的目录结构:
```
docs/graph-guide/
├── plan.md # 计划和进度文档
├── guide.puml # 总导览流程图(可选)
├── {{block-1}}/ # 区块 1
│ ├── guide.puml # 区块导览
│ ├── module-a.puml # 模块 A 流程图
│ └── module-b.puml # 模块 B 流程图
├── {{block-2}}/ # 区块 2
│ ├── guide.puml
│ └── ...
└── ...
```
---
## 配置项
| 配置项 | 默认值 | 说明 |
|--------|--------|------|
| `user_docs.graph_path` | `docs/graph-guide` | 流程图目录路径 |
| `user_docs.graph_plan_path` | `docs/graph-guide/plan.md` | 计划文件路径 |
---
## 注意事项
1. **分步执行**:大型项目建议分多次对话完成
2. **进度持久化**:进度保存在 plan.md可随时接续
3. **PNG 生成**:需要配置 PlantUML参考 `[plantuml]` 配置)
4. **与项目文档关联**:依赖项目文档了解项目结构
5. **用户参与**:关键决策需用户确认

View File

@@ -146,9 +146,34 @@ aide flow next-part impl "流程设计完成,开始实现"
aide flow back-part <环节名> "<原因>"
```
**注意**:执行 back-part 时会生成一个确认 key需要先完成准备工作后执行 back-confirm 确认。
**示例**
```bash
aide flow back-part flow-design "实现中发现设计遗漏,需要补充"
# 输出: ⚠ 返工需要确认。请先完成准备工作,然后执行:
# aide flow back-confirm --key abc123
```
### aide flow back-confirm
确认返工请求并执行。
```bash
aide flow back-confirm --key <key>
```
**参数**
| 参数 | 说明 |
|------|------|
| `--key` | back-part 生成的确认 key |
**示例**
```bash
aide flow back-confirm --key abc123
# 输出: ⚠ 回退到环节: flow-design
# ⚠ 建议执行 /exit 重新开始对话
```
### aide flow issue

View File

@@ -0,0 +1,106 @@
---
name: readme-templates
description: README 模板集。提供多种项目类型的 README 模板和可选模块,供 /aide:readme 命令使用。当需要生成或更新项目 README 时使用。
---
# README 模板集
本 skill 提供一套完整的 README 模板体系,包含多种项目类型模板和可组合的功能模块。
## 模板选择指南
根据项目类型选择合适的基础模板:
| 项目类型 | 推荐模板 | 特点 |
|----------|----------|------|
| 小工具/脚本 | `minimal.md` | 精简,核心信息 |
| 库/SDK | `library.md` | 安装、API、示例 |
| 应用程序 | `application.md` | 功能、安装、配置 |
| 文档/教程 | `documentation.md` | 结构清晰、导航便捷 |
| 多项目仓库 | `monorepo.md` | 子项目索引、统一说明 |
## 模板结构
### templates/ - 完整模板
每个模板都是独立完整的 README 结构,包含该类型项目最常用的章节。
### modules/ - 可选模块
模块是可自由组合的内容块,用于扩展或定制 README
| 模块 | 用途 | 推荐场景 |
|------|------|----------|
| `quickstart` | 5分钟上手 | 希望用户快速体验 |
| `installation` | 详细安装 | 有多种安装方式 |
| `examples` | 代码示例 | API 或工具类项目 |
| `api` | 接口文档 | 库/SDK 项目 |
| `configuration` | 配置说明 | 有配置文件的项目 |
| `architecture` | 架构概述 | 复杂系统 |
| `contributing` | 贡献指南 | 开源项目 |
| `changelog` | 变更日志 | 需要版本追踪 |
| `license` | 许可证 | 所有公开项目 |
| `faq` | 常见问题 | 用户问题较多 |
## 推荐组合
### 开源库项目
```
模板: library.md
模块: + quickstart + examples + api + contributing + license
```
### 内部工具项目
```
模板: application.md
模块: + installation + configuration + faq
```
### 文档项目
```
模板: documentation.md
模块: + contributing
```
### 微型脚本
```
模板: minimal.md
模块: (无需额外模块)
```
## 占位符说明
模板中使用以下占位符,需根据实际项目填充:
| 占位符 | 说明 |
|--------|------|
| `{{PROJECT_NAME}}` | 项目名称 |
| `{{PROJECT_DESCRIPTION}}` | 项目简介(一句话) |
| `{{BADGE_SECTION}}` | 徽章区(可选) |
| `{{FEATURES}}` | 功能特性列表 |
| `{{INSTALLATION}}` | 安装步骤 |
| `{{USAGE}}` | 基本用法 |
| `{{EXAMPLES}}` | 示例代码 |
| `{{API_DOCS}}` | API 文档 |
| `{{CONFIGURATION}}` | 配置说明 |
| `{{LICENSE}}` | 许可证类型 |
| `{{AUTHOR}}` | 作者信息 |
## 使用方式
1. 根据项目类型选择基础模板
2. 阅读项目代码,提取关键信息
3. 根据需要添加可选模块
4. 填充占位符,生成最终 README
## 编写原则
1. **用户视角**:从使用者角度组织内容
2. **渐进披露**:重要信息在前,细节在后
3. **可执行**:示例代码可直接运行
4. **保持更新**:与代码同步更新
5. **简洁明了**:避免冗余,突出重点

View File

@@ -0,0 +1,89 @@
<!--
模块apiAPI 文档)
用途:详细的接口说明
位置:库项目的核心章节
-->
## API 文档
### 概览
{{API_OVERVIEW}}
### 核心 API
#### `{{FUNCTION_1_NAME}}`
{{FUNCTION_1_DESCRIPTION}}
**签名**
```{{LANGUAGE}}
{{FUNCTION_1_SIGNATURE}}
```
**参数**
| 参数 | 类型 | 必需 | 说明 |
|------|------|------|------|
{{FUNCTION_1_PARAMS}}
**返回值**
{{FUNCTION_1_RETURN}}
**示例**
```{{LANGUAGE}}
{{FUNCTION_1_EXAMPLE}}
```
#### `{{FUNCTION_2_NAME}}`
{{FUNCTION_2_DESCRIPTION}}
**签名**
```{{LANGUAGE}}
{{FUNCTION_2_SIGNATURE}}
```
**参数**
| 参数 | 类型 | 必需 | 说明 |
|------|------|------|------|
{{FUNCTION_2_PARAMS}}
**返回值**
{{FUNCTION_2_RETURN}}
### 类型定义
```{{LANGUAGE}}
{{TYPE_DEFINITIONS}}
```
### 常量
| 常量 | 值 | 说明 |
|------|-----|------|
{{CONSTANTS_TABLE}}
### 错误处理
| 错误码 | 说明 | 处理建议 |
|--------|------|----------|
{{ERRORS_TABLE}}
### 完整 API 参考
详细的 API 文档请查看 [API Reference]({{API_REFERENCE_URL}})。
<!--
编写提示:
- 每个函数都有签名、参数、返回值、示例
- 类型定义要完整
- 说明错误处理方式
- 保持格式统一
-->

View File

@@ -0,0 +1,77 @@
<!--
模块architecture架构概述
用途:说明系统架构和设计
位置:复杂项目的重要章节
-->
## 架构
### 系统概览
{{SYSTEM_OVERVIEW}}
### 架构图
```
{{ARCHITECTURE_DIAGRAM}}
```
### 核心组件
| 组件 | 职责 | 技术 |
|------|------|------|
{{COMPONENTS_TABLE}}
### 数据流
```
{{DATA_FLOW_DIAGRAM}}
```
### 目录结构
```
{{DIRECTORY_STRUCTURE}}
```
### 模块说明
#### {{MODULE_1_NAME}}
- **职责**{{MODULE_1_RESPONSIBILITY}}
- **位置**`{{MODULE_1_PATH}}`
- **依赖**{{MODULE_1_DEPENDENCIES}}
#### {{MODULE_2_NAME}}
- **职责**{{MODULE_2_RESPONSIBILITY}}
- **位置**`{{MODULE_2_PATH}}`
- **依赖**{{MODULE_2_DEPENDENCIES}}
### 技术选型
| 领域 | 选择 | 原因 |
|------|------|------|
{{TECH_CHOICES_TABLE}}
### 设计决策
#### {{DECISION_1_TITLE}}
**背景**{{DECISION_1_CONTEXT}}
**方案**{{DECISION_1_SOLUTION}}
**权衡**{{DECISION_1_TRADEOFFS}}
### 扩展点
{{EXTENSION_POINTS}}
<!--
编写提示:
- 图文结合说明架构
- 清晰说明各组件职责
- 记录重要设计决策
- 说明扩展方式
-->

View File

@@ -0,0 +1,71 @@
<!--
模块changelog变更日志
用途:版本历史和变更记录
位置:通常作为独立文件或 README 章节
-->
## 变更日志
所有重要的变更都会记录在此文件中。
格式基于 [Keep a Changelog](https://keepachangelog.com/)
版本号遵循 [语义化版本](https://semver.org/)。
### [Unreleased]
#### 新增
- {{UNRELEASED_ADDED}}
#### 变更
- {{UNRELEASED_CHANGED}}
#### 修复
- {{UNRELEASED_FIXED}}
---
### [{{VERSION_1}}] - {{DATE_1}}
#### 新增
- {{V1_ADDED_1}}
- {{V1_ADDED_2}}
#### 变更
- {{V1_CHANGED_1}}
#### 修复
- {{V1_FIXED_1}}
#### 移除
- {{V1_REMOVED_1}}
---
### [{{VERSION_2}}] - {{DATE_2}}
#### 新增
- {{V2_ADDED_1}}
#### 修复
- {{V2_FIXED_1}}
---
### [{{VERSION_INITIAL}}] - {{DATE_INITIAL}}
- 首次发布
---
[Unreleased]: {{COMPARE_UNRELEASED_URL}}
[{{VERSION_1}}]: {{COMPARE_V1_URL}}
[{{VERSION_2}}]: {{COMPARE_V2_URL}}
[{{VERSION_INITIAL}}]: {{TAG_INITIAL_URL}}
<!--
编写提示:
- 按版本倒序排列
- 每个版本包含:新增、变更、修复、移除
- 提供版本对比链接
- 保持格式一致
-->

View File

@@ -0,0 +1,85 @@
<!--
模块configuration配置说明
用途:详细的配置项说明
位置:安装/使用之后
-->
## 配置
### 配置文件
配置文件位置:`{{CONFIG_PATH}}`
首次运行会自动生成默认配置。
### 配置方式
#### 1. 配置文件
编辑 `{{CONFIG_FILE}}`
```{{CONFIG_FORMAT}}
{{CONFIG_EXAMPLE}}
```
#### 2. 环境变量
```bash
{{ENV_VARS_EXAMPLE}}
```
#### 3. 命令行参数
```bash
{{CLI_ARGS_EXAMPLE}}
```
**优先级**:命令行参数 > 环境变量 > 配置文件
### 配置项详解
#### `{{CONFIG_SECTION_1}}`
| 配置项 | 类型 | 默认值 | 说明 |
|--------|------|--------|------|
{{CONFIG_SECTION_1_TABLE}}
#### `{{CONFIG_SECTION_2}}`
| 配置项 | 类型 | 默认值 | 说明 |
|--------|------|--------|------|
{{CONFIG_SECTION_2_TABLE}}
### 完整配置示例
```{{CONFIG_FORMAT}}
{{FULL_CONFIG_EXAMPLE}}
```
### 配置验证
```bash
{{VALIDATE_CONFIG_COMMAND}}
```
### 常见配置场景
#### 场景 1{{SCENARIO_1_NAME}}
```{{CONFIG_FORMAT}}
{{SCENARIO_1_CONFIG}}
```
#### 场景 2{{SCENARIO_2_NAME}}
```{{CONFIG_FORMAT}}
{{SCENARIO_2_CONFIG}}
```
<!--
编写提示:
- 说明所有配置方式
- 每个配置项有类型、默认值、说明
- 提供实际场景配置示例
- 说明优先级和验证方法
-->

View File

@@ -0,0 +1,95 @@
<!--
模块contributing贡献指南
用途:指导如何为项目做贡献
位置:开源项目必备
-->
## 贡献指南
感谢你考虑为 {{PROJECT_NAME}} 做贡献!
### 贡献方式
- 报告 Bug
- 提交功能建议
- 改进文档
- 提交代码 PR
### 开发环境
#### 环境要求
{{DEV_REQUIREMENTS}}
#### 环境搭建
```bash
# 克隆仓库
git clone {{REPO_URL}}
cd {{PROJECT_DIR}}
# 安装依赖
{{INSTALL_DEPS}}
# 运行测试
{{RUN_TESTS}}
```
### 代码规范
{{CODE_STYLE}}
#### 提交信息格式
```
<type>(<scope>): <subject>
<body>
<footer>
```
**type 类型**
- `feat`: 新功能
- `fix`: 修复 Bug
- `docs`: 文档更新
- `style`: 代码格式
- `refactor`: 重构
- `test`: 测试相关
- `chore`: 构建/工具
### 提交 PR
1. Fork 本仓库
2. 创建特性分支:`git checkout -b feature/your-feature`
3. 提交更改:`git commit -m 'feat: add some feature'`
4. 推送分支:`git push origin feature/your-feature`
5. 创建 Pull Request
### PR 检查清单
- [ ] 代码通过所有测试
- [ ] 新功能有对应测试
- [ ] 更新了相关文档
- [ ] 提交信息格式正确
### 代码审查
所有 PR 都需要至少一位维护者审查后才能合并。
### 行为准则
请阅读并遵守我们的 [行为准则](CODE_OF_CONDUCT.md)。
### 联系方式
- 问题讨论:[GitHub Discussions]({{DISCUSSIONS_URL}})
- Bug 报告:[GitHub Issues]({{ISSUES_URL}})
<!--
编写提示:
- 清晰说明贡献流程
- 提供开发环境搭建指南
- 说明代码规范
- 包含 PR 检查清单
-->

View File

@@ -0,0 +1,71 @@
<!--
模块examples使用示例
用途:展示典型用例和代码示例
位置:通常放在基本用法之后
-->
## 示例
### 基础示例
#### {{EXAMPLE_1_NAME}}
{{EXAMPLE_1_DESCRIPTION}}
```{{LANGUAGE}}
{{EXAMPLE_1_CODE}}
```
输出:
```
{{EXAMPLE_1_OUTPUT}}
```
#### {{EXAMPLE_2_NAME}}
{{EXAMPLE_2_DESCRIPTION}}
```{{LANGUAGE}}
{{EXAMPLE_2_CODE}}
```
### 进阶示例
#### {{ADVANCED_EXAMPLE_NAME}}
{{ADVANCED_EXAMPLE_DESCRIPTION}}
```{{LANGUAGE}}
{{ADVANCED_EXAMPLE_CODE}}
```
### 实际场景
#### 场景:{{SCENARIO_NAME}}
**需求**{{SCENARIO_REQUIREMENT}}
**解决方案**
```{{LANGUAGE}}
{{SCENARIO_CODE}}
```
**说明**{{SCENARIO_EXPLANATION}}
### 完整示例项目
查看 [examples/](examples/) 目录获取完整的示例项目:
| 示例 | 说明 | 难度 |
|------|------|------|
{{EXAMPLES_TABLE}}
<!--
编写提示:
- 从简单到复杂递进
- 示例代码可直接运行
- 包含输出帮助理解
- 解释关键代码逻辑
-->

View File

@@ -0,0 +1,85 @@
<!--
模块faq常见问题
用途:解答用户常见问题
位置:文档末尾或独立页面
-->
## 常见问题
### 一般问题
#### Q: {{GENERAL_Q1}}
**A**: {{GENERAL_A1}}
#### Q: {{GENERAL_Q2}}
**A**: {{GENERAL_A2}}
### 安装问题
#### Q: {{INSTALL_Q1}}
**A**: {{INSTALL_A1}}
```bash
{{INSTALL_SOLUTION_1}}
```
#### Q: {{INSTALL_Q2}}
**A**: {{INSTALL_A2}}
### 使用问题
#### Q: {{USAGE_Q1}}
**A**: {{USAGE_A1}}
示例:
```{{LANGUAGE}}
{{USAGE_EXAMPLE_1}}
```
#### Q: {{USAGE_Q2}}
**A**: {{USAGE_A2}}
### 故障排除
#### Q: {{TROUBLE_Q1}}
**A**: {{TROUBLE_A1}}
排查步骤:
1. {{TROUBLE_STEP_1}}
2. {{TROUBLE_STEP_2}}
3. {{TROUBLE_STEP_3}}
#### Q: {{TROUBLE_Q2}}
**A**: {{TROUBLE_A2}}
### 性能问题
#### Q: {{PERF_Q1}}
**A**: {{PERF_A1}}
### 其他问题
没有找到你的问题?
- 搜索 [Issues]({{ISSUES_URL}}) 看是否有人遇到过类似问题
- 在 [Discussions]({{DISCUSSIONS_URL}}) 中提问
- 提交新的 [Issue]({{NEW_ISSUE_URL}})
<!--
编写提示:
- 按类别组织问题
- 问题简洁,答案详细
- 包含代码示例和排查步骤
- 提供进一步帮助的链接
-->

View File

@@ -0,0 +1,88 @@
<!--
模块installation安装指南
用途:详细的多平台安装说明
位置:通常放在功能特性之后
-->
## 安装
### 系统要求
{{SYSTEM_REQUIREMENTS}}
### 方式一:包管理器(推荐)
#### macOS
```bash
{{INSTALL_MACOS}}
```
#### Linux
```bash
{{INSTALL_LINUX}}
```
#### Windows
```powershell
{{INSTALL_WINDOWS}}
```
### 方式二:预编译二进制
从 [Releases]({{RELEASES_URL}}) 下载对应平台的版本:
| 平台 | 架构 | 下载 |
|------|------|------|
| macOS | Intel/ARM | {{DOWNLOAD_MACOS}} |
| Linux | x64/ARM | {{DOWNLOAD_LINUX}} |
| Windows | x64 | {{DOWNLOAD_WINDOWS}} |
### 方式三:从源码构建
```bash
# 克隆仓库
git clone {{REPO_URL}}
cd {{PROJECT_DIR}}
# 安装依赖
{{INSTALL_DEPS}}
# 构建
{{BUILD_COMMAND}}
# 安装到系统
{{INSTALL_LOCAL}}
```
### 验证安装
```bash
{{VERIFY_COMMAND}}
```
预期输出:
```
{{VERIFY_OUTPUT}}
```
### 常见问题
#### 问题 1{{ISSUE_1}}
{{SOLUTION_1}}
#### 问题 2{{ISSUE_2}}
{{SOLUTION_2}}
<!--
编写提示:
- 覆盖主流平台
- 提供多种安装方式
- 包含验证步骤
- 列出常见安装问题
-->

View File

@@ -0,0 +1,88 @@
<!--
模块license许可证
用途:说明项目许可证
位置README 末尾
-->
## 许可证
本项目采用 {{LICENSE_NAME}} 许可证。
### 简要说明
{{LICENSE_SUMMARY}}
### 你可以
- {{CAN_1}}
- {{CAN_2}}
- {{CAN_3}}
### 你不可以
- {{CANNOT_1}}
- {{CANNOT_2}}
### 你必须
- {{MUST_1}}
- {{MUST_2}}
### 完整许可证
查看 [LICENSE](LICENSE) 文件获取完整许可证文本。
---
**常用许可证模板**
#### MIT
```
MIT License
Copyright (c) {{YEAR}} {{AUTHOR}}
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
#### Apache 2.0
```
Copyright {{YEAR}} {{AUTHOR}}
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
```
<!--
编写提示:
- 选择合适的许可证
- 简要说明权限和限制
- 提供完整许可证链接
-->

View File

@@ -0,0 +1,47 @@
<!--
模块quickstart快速开始
用途:让用户在 5 分钟内体验核心功能
位置:通常放在安装之后
-->
## 快速开始
只需 3 步,即可体验 {{PROJECT_NAME}} 的核心功能:
### 1. 安装
```bash
{{INSTALL_COMMAND}}
```
### 2. 初始化
```bash
{{INIT_COMMAND}}
```
### 3. 运行
```bash
{{RUN_COMMAND}}
```
**预期输出**
```
{{EXPECTED_OUTPUT}}
```
### 下一步
- [完整使用指南](#使用说明)
- [配置选项](#配置)
- [更多示例](#示例)
<!--
编写提示:
- 保持步骤简洁,最多 3-5 步
- 每步都应有可执行的命令
- 包含预期输出帮助用户验证
- 链接到更详细的文档
-->

View File

@@ -0,0 +1,97 @@
<!--
模板application应用程序
适用CLI 工具、GUI 应用、Web 应用、后端服务
特点:安装部署清晰、功能完整、配置详细
-->
# {{PROJECT_NAME}}
{{BADGE_SECTION}}
{{PROJECT_DESCRIPTION}}
## 功能特性
{{FEATURES}}
## 截图/演示
{{SCREENSHOTS}}
## 系统要求
{{REQUIREMENTS}}
## 安装
### 方式一:预编译版本
{{INSTALL_BINARY}}
### 方式二:从源码构建
{{INSTALL_SOURCE}}
## 快速开始
{{QUICKSTART}}
## 使用说明
### 基本命令
{{BASIC_COMMANDS}}
### 常用操作
{{COMMON_OPERATIONS}}
## 配置
### 配置文件位置
{{CONFIG_LOCATION}}
### 配置项说明
{{CONFIG_OPTIONS}}
### 配置示例
```
{{CONFIG_EXAMPLE}}
```
## 开发
### 环境搭建
{{DEV_SETUP}}
### 构建
{{BUILD}}
### 测试
{{TEST}}
## 常见问题
{{FAQ}}
## 更新日志
查看 [CHANGELOG.md](CHANGELOG.md) 了解版本历史。
## 贡献
欢迎贡献!请查看 [贡献指南](CONTRIBUTING.md)。
## 许可证
{{LICENSE}}
## 致谢
{{ACKNOWLEDGEMENTS}}

View File

@@ -0,0 +1,64 @@
<!--
模板documentation纯文档
适用:教程、指南、规范文档、知识库、材料集
特点:结构清晰、导航便捷、内容为主
-->
# {{PROJECT_NAME}}
{{PROJECT_DESCRIPTION}}
## 目录
{{TOC}}
## 概述
{{OVERVIEW}}
## 目标读者
{{AUDIENCE}}
## 如何阅读
{{READING_GUIDE}}
## 文档结构
```
{{STRUCTURE}}
```
## 快速导航
| 主题 | 文档 | 说明 |
|------|------|------|
{{NAV_TABLE}}
## 入门指南
{{GETTING_STARTED}}
## 核心概念
{{CORE_CONCEPTS}}
## 参考资料
{{REFERENCES}}
## 贡献
欢迎改进文档!
- 发现错误:提交 Issue
- 内容建议:提交 PR
## 版本历史
{{VERSION_HISTORY}}
## 许可证
{{LICENSE}}

View File

@@ -0,0 +1,69 @@
<!--
模板library库/工具)
适用npm/cargo/pip/gem 等包管理器发布的库、SDK、工具包
特点安装优先、API 清晰、示例丰富
-->
# {{PROJECT_NAME}}
{{BADGE_SECTION}}
{{PROJECT_DESCRIPTION}}
## 功能特性
{{FEATURES}}
## 安装
```bash
{{INSTALLATION}}
```
## 快速开始
```
{{QUICKSTART_CODE}}
```
## API 文档
{{API_DOCS}}
### 核心方法
{{CORE_METHODS}}
### 配置选项
{{OPTIONS}}
## 示例
### 基础用法
```
{{EXAMPLE_BASIC}}
```
### 进阶用法
```
{{EXAMPLE_ADVANCED}}
```
## 兼容性
{{COMPATIBILITY}}
## 贡献
欢迎贡献代码!请查看 [贡献指南](CONTRIBUTING.md)。
## 许可证
{{LICENSE}}
## 作者
{{AUTHOR}}

View File

@@ -0,0 +1,36 @@
<!--
模板minimal微型项目
适用:< 500 行代码的小工具、脚本、单文件项目
特点:精简、聚焦核心功能、快速理解
-->
# {{PROJECT_NAME}}
{{PROJECT_DESCRIPTION}}
## 用法
```bash
{{USAGE}}
```
## 示例
```
{{EXAMPLES}}
```
## 安装
```bash
{{INSTALLATION}}
```
<!-- 可选:如有配置项 -->
## 配置
{{CONFIGURATION}}
## 许可证
{{LICENSE}}

View File

@@ -0,0 +1,101 @@
<!--
模板monorepo多项目仓库
适用:包含多个子项目的仓库、工作区项目
特点:子项目索引、统一说明、各项目独立介绍
-->
# {{PROJECT_NAME}}
{{BADGE_SECTION}}
{{PROJECT_DESCRIPTION}}
## 项目结构
```
{{STRUCTURE}}
```
## 子项目
| 项目 | 路径 | 说明 | 状态 |
|------|------|------|------|
{{SUBPROJECTS_TABLE}}
## 快速开始
### 环境要求
{{REQUIREMENTS}}
### 克隆仓库
```bash
{{CLONE_COMMAND}}
```
### 初始化
```bash
{{INIT_COMMAND}}
```
## 各子项目介绍
### {{SUBPROJECT_1_NAME}}
{{SUBPROJECT_1_DESCRIPTION}}
**快速开始**
```bash
{{SUBPROJECT_1_QUICKSTART}}
```
[详细文档]({{SUBPROJECT_1_README}})
### {{SUBPROJECT_2_NAME}}
{{SUBPROJECT_2_DESCRIPTION}}
**快速开始**
```bash
{{SUBPROJECT_2_QUICKSTART}}
```
[详细文档]({{SUBPROJECT_2_README}})
<!-- 根据实际子项目数量添加更多 -->
## 开发指南
### 依赖管理
{{DEPENDENCY_MANAGEMENT}}
### 构建所有项目
```bash
{{BUILD_ALL}}
```
### 测试所有项目
```bash
{{TEST_ALL}}
```
### 发布流程
{{RELEASE_PROCESS}}
## 贡献
请查看 [贡献指南](CONTRIBUTING.md)。
## 许可证
{{LICENSE}}
各子项目可能有独立的许可证,详见各项目目录。

View File

@@ -0,0 +1,165 @@
# 返工流程指南
本指南帮助你在 Aide 工作流中处理返工rework场景。返工是指用户在 confirm 阶段发现问题或有新需求,需要回退到之前的阶段重新处理。
## 返工类型判断
根据问题类型选择返工目标阶段:
| 返工目标 | 触发条件 | 处理方式 |
|----------|----------|----------|
| task-optimize | 新需求、需求理解偏差 | 更新 task.source |
| flow-design | 架构/流程设计问题 | 更新细则 + new-requirements.md |
| impl | 实现问题 | 更新细则 + new-requirements.md |
| verify | 验证未通过 | 更新细则 + new-requirements.md |
---
## 返工到 task-optimize 阶段
当需要重新理解需求或有重大新需求时使用。
### 流程
1. 记录问题:
```bash
aide flow issue "准备返工: [原因简述]"
```
2. 更新 task.source 文档(见下方格式)
3. 向用户发出提醒(见下方模板)
4. 执行返工命令:
```bash
aide flow back-part task-optimize "[原因]"
```
5. 执行确认命令:
```bash
aide flow back-confirm --key [key]
```
> 注key 由 `aide flow back-part` 生成
### task.source 更新格式
在文档末尾添加:
```markdown
---
## 返工记录 [时间戳]
### 用户反馈
[用户原文]
### 提出时机
[在哪个阶段/步骤提出]
### LLM 建议
[如有]
```
---
## 返工到其他阶段
返工到 flow-design、impl、verify 阶段时使用。
### 流程
1. 记录问题:
```bash
aide flow issue "准备返工前处理需求整合: [原因简述]"
```
2. 创建/更新 new-requirements.md见下方格式
3. 更新细则文档:
- 在导览部分添加返工声明
- 梳理:已完成项、未完成项、需重新处理项
- 处理需求冲突
- 融入新需求
- 删除返工声明
4. 向用户发出提醒(见下方模板)
5. 执行返工命令:
```bash
aide flow back-part [阶段] "[原因]"
```
6. 执行确认命令:
```bash
aide flow back-confirm --key [key]
```
### new-requirements.md 格式
位置:`.aide/new-requirements.md`
```markdown
# 新需求记录
## 返工 [时间戳]
### 用户反馈
[原文]
### 提出时机
[阶段/步骤]
### 影响分析
- 已完成项:[列表]
- 未完成项:[列表]
- 需重新处理:[列表]
### 冲突处理
[如何处理与原细则的冲突]
```
---
## 提醒用户模板
### 返工到 task-optimize
> 我将会对 task-now.md 进行更新,加入您的新需求和我的建议,然后更新流程状态返工到 task-optimize 阶段。建议您在流程状态返工后使用 `/exit` 结束本次对话,重新启动一个新的对话执行 load+run我将会自动接续任务的处理。
### 返工到其他阶段
> 我将会对 new-requirements.md 进行更新,加入您的新需求和我的建议,然后处理好您的新需求和原细则的需求冲突整合,然后更新流程状态返工到 [阶段] 阶段。建议您在流程状态返工后使用 `/exit` 结束本次对话,重新启动一个新的对话执行 load+run我将会自动接续任务的处理。
---
## 确认机制
返工前必须完成确认流程:
1. 当执行 `aide flow back-part` 时,系统会检测是否已确认
2. 如未确认,系统会生成一个随机 key 并输出提示
3. 完成准备工作后,执行 `aide flow back-confirm --key <key>` 确认
4. 确认成功后,系统会自动执行返工操作并创建清洁提交
### 命令说明
```bash
# 首次调用:生成 key记录目标阶段
aide flow back-part flow-design "设计遗漏"
# 输出: ⚠ 返工需要确认。请先完成准备工作,然后执行:
# aide flow back-confirm --key abc123
# 完成准备后:确认并执行
aide flow back-confirm --key abc123
# 输出: ✓ 返工确认成功,回退到环节: flow-design
# ⚠ 建议执行 /exit 重新开始对话
```
---
## 注意事项
1. **文档优先**:返工前必须更新相关文档,确保上下文不丢失
2. **清洁提交**:确认后系统会自动创建 git 提交,保留当前状态
3. **重启对话**:建议返工后重启对话,避免上下文混乱
4. **状态文件**:确认状态存储在 `.aide/back-confirm-state.json`

View File

@@ -101,10 +101,10 @@ DEFAULT_CONFIG = """############################################################
[general]
# 是否在 .gitignore 中忽略 .aide 目录
# - true(默认):自动添加 .aide/ 到 .gitignore不跟踪 aide 状态
# - false不修改 .gitignore允许 git 跟踪 .aide 目录
# 适用于需要在多设备同步 aide 状态的场景
gitignore_aide = true
# - true自动添加 .aide/ 到 .gitignore不跟踪 aide 状态
# - false(默认):不修改 .gitignore允许 git 跟踪 .aide 目录
# 推荐使用此设置,便于多设备同步 aide 状态和任务历史
gitignore_aide = false
################################################################################
# [runtime] - Aide 运行时要求
@@ -240,6 +240,30 @@ path = ".aide/project-docs"
# 默认:.aide/project-docs/block-plan.md
block_plan_path = ".aide/project-docs/block-plan.md"
################################################################################
# [user_docs] - 面向用户的文档配置
################################################################################
# 配置面向用户的文档系统。
# 包括 README、用户文档和流程图等。
[user_docs]
# README 文件路径(相对于项目根目录)
readme_path = "README.md"
# README 编写规范文件路径
# 存放项目的 README 编写规范和模板选择
rules_path = "make-readme-rules.md"
# 用户文档目录路径
docs_path = "docs"
# 用户流程图目录路径
graph_path = "docs/graph-guide"
# 流程图计划文件路径
# 存放流程图编写计划和进度,用于分步执行和接续执行
graph_plan_path = "docs/graph-guide/plan.md"
################################################################################
# [flow] - 流程追踪配置
################################################################################
@@ -327,11 +351,11 @@ class ConfigManager:
def ensure_gitignore(self) -> None:
"""根据配置决定是否在 .gitignore 中添加 .aide/ 忽略项。"""
# 读取配置,默认为 True忽略 .aide 目录)
# 读取配置,默认为 False忽略 .aide 目录)
config = self.load_config()
gitignore_aide = self._walk_get(config, "general.gitignore_aide")
if gitignore_aide is None:
gitignore_aide = True # 默认值
gitignore_aide = False # 默认值
if not gitignore_aide:
# 配置为 False不添加忽略项

View File

@@ -4,13 +4,14 @@ from __future__ import annotations
import json
import os
import secrets
import time
from contextlib import contextmanager
from pathlib import Path
from aide.flow.errors import FlowError
from aide.flow.types import FlowStatus
from aide.flow.utils import now_task_id
from aide.flow.utils import now_iso, now_task_id
class FlowStorage:
@@ -21,6 +22,7 @@ class FlowStorage:
self.lock_path = self.aide_dir / "flow-status.lock"
self.tmp_path = self.aide_dir / "flow-status.json.tmp"
self.logs_dir = self.aide_dir / "logs"
self.back_confirm_path = self.aide_dir / "back-confirm-state.json"
def ensure_ready(self) -> None:
if not self.aide_dir.exists():
@@ -144,3 +146,45 @@ class FlowStorage:
return None
# === Back-confirm 状态管理 ===
def has_pending_back_confirm(self) -> bool:
"""检查是否存在待确认的 back 请求。"""
return self.back_confirm_path.exists()
def load_back_confirm_state(self) -> dict | None:
"""加载 back-confirm 状态。"""
if not self.back_confirm_path.exists():
return None
try:
raw = self.back_confirm_path.read_text(encoding="utf-8")
data = json.loads(raw)
if not isinstance(data, dict):
raise ValueError("back-confirm 状态文件格式错误")
return data
except Exception as exc:
raise FlowError(f"读取 back-confirm 状态失败: {exc}")
def save_back_confirm_state(self, target_part: str, reason: str) -> str:
"""保存 back-confirm 状态,返回生成的 key。"""
key = secrets.token_hex(6) # 12 字符的随机 key
data = {
"pending_key": key,
"target_part": target_part,
"reason": reason,
"created_at": now_iso(),
}
try:
payload = json.dumps(data, ensure_ascii=False, indent=2) + "\n"
self.back_confirm_path.write_text(payload, encoding="utf-8")
except Exception as exc:
raise FlowError(f"保存 back-confirm 状态失败: {exc}")
return key
def clear_back_confirm_state(self) -> None:
"""清除 back-confirm 状态文件。"""
try:
self.back_confirm_path.unlink(missing_ok=True)
except Exception as exc:
raise FlowError(f"清除 back-confirm 状态失败: {exc}")

View File

@@ -39,7 +39,64 @@ class FlowTracker:
return self._run(action="next-part", to_phase=phase, text=summary)
def back_part(self, phase: str, reason: str) -> bool:
return self._run(action="back-part", to_phase=phase, text=reason)
"""返工请求:检测是否已确认,未确认则生成 key。"""
try:
self.storage.ensure_ready()
# 检查是否存在待确认的 back 请求
if self.storage.has_pending_back_confirm():
state = self.storage.load_back_confirm_state()
if state:
output.warn("已存在待确认的返工请求")
output.info(f"目标环节: {state['target_part']}")
output.info(f"原因: {state['reason']}")
output.info(f"请执行: aide flow back-confirm --key {state['pending_key']}")
return False
# 生成新的确认 key
key = self.storage.save_back_confirm_state(phase, reason)
output.warn("返工需要确认。请先完成准备工作,然后执行:")
output.info(f"aide flow back-confirm --key {key}")
return True
except FlowError as exc:
output.err(str(exc))
return False
def back_confirm(self, key: str) -> bool:
"""确认返工请求并执行。"""
try:
self.storage.ensure_ready()
# 检查是否存在待确认的请求
state = self.storage.load_back_confirm_state()
if state is None:
output.err("无待确认的返工请求")
return False
# 验证 key
if state.get("pending_key") != key:
output.err("确认 key 不匹配")
return False
# 获取目标阶段和原因
target_part = state["target_part"]
reason = state["reason"]
# 清除确认状态文件
self.storage.clear_back_confirm_state()
# 执行实际的 back-part 操作
result = self._run(action="back-part", to_phase=target_part, text=reason)
if result:
output.warn("建议执行 /exit 重新开始对话")
return result
except FlowError as exc:
output.err(str(exc))
return False
def issue(self, description: str) -> bool:
return self._run(action="issue", to_phase=None, text=description)

View File

@@ -119,6 +119,10 @@ def build_parser() -> argparse.ArgumentParser:
flow_back_part.add_argument("reason", help="回退原因")
flow_back_part.set_defaults(func=handle_flow_back_part)
flow_back_confirm = flow_sub.add_parser("back-confirm", help="确认返工请求")
flow_back_confirm.add_argument("--key", required=True, help="确认 key")
flow_back_confirm.set_defaults(func=handle_flow_back_confirm)
flow_issue = flow_sub.add_parser("issue", help="记录一般问题(不阻塞继续)")
flow_issue.add_argument("description", help="问题描述")
flow_issue.set_defaults(func=handle_flow_issue)
@@ -166,7 +170,8 @@ def build_parser() -> argparse.ArgumentParser:
def handle_init(args: argparse.Namespace) -> bool:
root = find_project_root()
# 使用当前工作目录(原地初始化,类似 git init
root = Path.cwd()
cfg = ConfigManager(root)
cfg.ensure_config()
cfg.ensure_gitignore()
@@ -300,6 +305,13 @@ def handle_flow_back_part(args: argparse.Namespace) -> bool:
return tracker.back_part(args.phase, args.reason)
def handle_flow_back_confirm(args: argparse.Namespace) -> bool:
root = find_project_root()
cfg = ConfigManager(root)
tracker = FlowTracker(root, cfg)
return tracker.back_confirm(args.key)
def handle_flow_issue(args: argparse.Namespace) -> bool:
root = find_project_root()
cfg = ConfigManager(root)

View File

@@ -199,9 +199,9 @@ aide-program/
### 5.2 .gitignore 处理
- `aide init`自动检查 `.gitignore`
- 默认添加 `.aide/` 为忽略项
- 可通过配置 `general.gitignore_aide = false` 禁用此行为
- `aide init`根据配置决定是否修改 `.gitignore`
- 默认不修改(`gitignore_aide = false`),推荐将 .aide/ 纳入版本控制
- 可通过配置 `general.gitignore_aide = true` 自动添加 `.aide/` 为忽略项
---

View File

@@ -25,7 +25,7 @@ aide 使用 TOML 格式的配置文件,位于 `.aide/config.toml`。
# general: 通用设置
[general]
gitignore_aide = true # 是否自动将 .aide/ 添加到 .gitignore
gitignore_aide = false # 是否自动将 .aide/ 添加到 .gitignore
# runtime: aide 自身运行要求
[runtime]
@@ -81,11 +81,12 @@ timeout = 0
| 字段 | 类型 | 默认值 | 说明 |
|------|------|--------|------|
| `gitignore_aide` | bool | `true` | 是否自动将 .aide/ 添加到 .gitignore |
| `gitignore_aide` | bool | `false` | 是否自动将 .aide/ 添加到 .gitignore |
**使用场景**
- `aide init` 时检查此配置,决定是否修改 .gitignore
- 设为 `false`将 .aide/ 纳入版本控制
- 默认 `false`,推荐将 .aide/ 纳入版本控制,便于多设备同步
- 设为 `true` 可自动将 .aide/ 添加到 .gitignore
### 4.2 [runtime] 运行时配置

View File

@@ -1,45 +0,0 @@
> commands & skills都是将会提供给你使用的指导规范以及工具和能力下文中会用LLM来指代你的角色
对现有的 commands & skills & aide program 体系做一些调整:
1. 把init时的gitignore_aide默认值设为false
2. 我希望aide init能在任意目录执行原地初始化像git init那样不论其所处目录是否已经是.aide管理的工作目录的其中一个子目录
3. 创建一个类似docs的命令但这个新命令主要面向人类用户尤其是目标用户很可能是从未接触过工作目录下的项目对此项目完全没有了解的陌生新人
- 入口是README.md细节放在docs目录因为是面向用户而非程序所有都不要默认放在.aide目录下而是直接放在外面根目录下就好README.md和docs这两个路径都要在环境配置中设置使用时必须用aide读取路径
- 需要单独讨论一下README应该放些什么样的东西我想的是在配置中指定一个`make-readme-rules.md`
- 需要注意上面说的README.md、docs、make-readme-rules.md都是路径值具体配置项的命名还需要你酌情考虑
- 然后如果当前项目不存在make-readme-rules.md就要首先引导用户设定入口编写规范引导用户设定入口编写规范前应提示用户如果还没有对此项目运行过docs+load建议先完成面向LLM文档的构建再重新启动对话加载项目文档后再运行此命令以便于LLM更好的分析和提供对面向用户文档的编写建议除非这个项目真的非常非常的简单微型然后确定完成了load或是确定不需要load后再建议把这个制定过程作为一个完整的对话在这次对话中专注于README文档编写规范的制定为这项任务允许消耗全部的上下文当任务完成之后要使用`/exit`退出本次对话重新开始一个新的对话继续完成之前的任务)
- 制作一个skills包含一个SKILL.md和数个README.md规范模板需要把这数模版的编写作为一个完整的子任务单独执行先完成该skill再实现这个第3点的其他需求
- 可以向用户介绍有哪些可用模板或者提供一些可选的模块化README内容规范板块供用户自由拼搭
- 同时应该根据当前项目的项目文档面向LLM的由docs命令构建的项目文档进行分析为用户提供可参考的建议
- 我需要你尽情发挥你的创造力和专业性,指导我,像这种面向用户的文档应该写些什么,怎么写,怎么组织分布,
- 如果是一个单纯的文档&材料类项目应该怎么处理
- 如果是一个单一的cargo、springboot、flutter、android、vue、react等这类的单体项目应该怎么处理
- 如果是一个项目下同时含有文档&材料和cargo等程序开发单体项目应该怎么处理
- 如果该项目下同时含有多个单体项目例如同时含有多个cargo lib crate、cargo bin crate、多个springboot单体服务、vue前端单体项目又应该怎么处理
- 这些情况之间是否应该有较明显的区分?
- 我希望要在细节文档目录下docs目录下创建一个专用于面向用户的长期维护的完善的流程图目录不同于run时创建的专用于当时任务的流程图而是供用户快速理解用
- 如果是不含程序开发内容的项目,就制作用于引导用户如何了解项目的流程图,
- 如果含程序开发则同时制作引导的流程图和对于该项目的流程图程序方面的流程图参考run中的程序逻辑流图规范要求以一整套程序开发项目为单位编写一整套流程图例如cargo一整个目录就是一整个项目
- 如果同时含有多个开发项目,则要对于每一个项目都编写一套流程图,
- 一套流程图是指一整个专用于这套流程图的目录目录下含有一个guide.puml和其他子模块的puml
- 假设一个项目下同时含有一个cargo lib crate、一个 cargo bin crate 、一个vue项目分别名为api-lib、api、user-interface且假设已设定用户文档的流程图目录名为graph-guide
- 则graph-guide目录下应该至少含有三个目录api-lib、api、user-interface和一个文件guide.puml且每个子目录下都至少有一个guide.puml
- 在开始编写流程图前应该要先根据load加载的项目文档对项目进行分析和流程图分划处理用户文档的区块划分不同于项目文档项目文档的要求是完完全全的深度且全面的覆盖便于先脉络后枝叶的按需加载和检索但用户文档要按照逻辑或业务呈现一个整体的形式为目标
- 先按需读取项目文档知道足够对项目信息做出业务逻辑整体的区块划分,然后再深入分析其复杂度和工作量,对流程图的编写工作进行步骤计划,
- 步骤计划不一定是一个子项目一个计划例如前面api-lib+api+ui的项目可以分为3个整体区块但不一定只要三步就能完成如果api-lib过于庞大可能即使每一次都消耗满上下文分布工作10次也不一定能完成这一个区块的任务
- 必须先分划好区块,然后分析具体步骤计划,编写计划进度文档然后才能开始具体的流程图设计,
- 也许可以把这个命令拆分为多个命令先完成好流程图的任务再处理文档的事这样的话就可以在写文档时如果需要用到图的话直接插入已生成的png流程图且做好拆分的话更利于流程图的任务分步执行和接续执行初始化以及后续的每次对话都只需要load+运行构建用户文档流程图的命令即可,第一次会开始分析和计划之后,之后的每次执行都会在产出的同时同步更新计划文档,后续的新对话中通过检索计划即可,计划文档应起到分布计划+状态记录+指导任务细节的作用,
4. 同步更新command/run和aide program:
- 当用户期望返工时,
- 如果是新需求等情况或是明确要求返回到task-optimize阶段的必须先把把用户的新需求或建议的原文及其提出的时机插入更新到task.source文档中如果LLM有些有意义有价值的建议或想法也可以插入在后面必须要先aide flow issue 准备返工“***”, 具体消息内容要LLM根据当时情况生成然后完成task.source更新才能执行aide flow back-part task-optimize
- 如果是要返工到后续其他阶段则按下一条处理先aide flow issue 准备返工前处理需求整合“***”)
- 所有后面其他阶段的的返工,都要先把用户的新需求或建议的原文及其提出的时机记录到一个临时文档中,例如`new-requirements.md`然后根据原本的任务细则是单细则文档还是多细则文档在导览的部分郑重声明已返工在处理好引起返工的需求和原细则的需求冲突之后注意梳理清楚已完成项目、未完成项目、之前已完成但返工后受到影响要重新处理的项目融入进去整合得到新的细则后再删除这条声明此声明删除后才能继续任务完成了细则的返工处理整合更新后才能执行aide flow back-part ***
- 如果是要返工到task-optimize阶段的在aide flow issue之后必须先提醒用户“我将会对task-now.md进行更新加入您的新需求和我的建议然后更新流程状态返工到task-optimize阶段建议您在流程状态返工后使用`/exit`结束本次对话重新启动一个新的对话执行load+run我将会自动接续任务的处理”
- 如果是要返工到后面的阶段的在aide flow issue之后必须先提醒用户“我将会对new-requirements.md进行更新加入您的新需求和我的建议然后处理好您的新需求和原细则的需求冲突整合然后更新流程状态返工到***阶段,建议您在流程状态返工后使用`/exit`结束本次对话重新启动一个新的对话执行load+run我将会自动接续任务的处理”
- aide必须在所有aide flow back-part ***命令执行前要求LLM确认已完成完成上述的准备工作和提醒工作同时生成和输出一个短key例如abc123要求LLM再次确认若确认已完成则执行aide flow back-confirm --key abc123否则拒绝执行该命令且aide要在成功确认并执行之前被暂时压下到的back-part之后aide也要输出警告提醒告知用户现在已完成流程状态的返工建议用户在此时使用`/exit`结束本次对话重新启动一个新的对话执行load+run以便于任务的顺利接续
- aide flow back-part *** 执行成功后此时flow状态已变更为返工后的状态且flow数据已记录对应的提交哈希输出提示消息之前必须暂存所有更改创建一个清洁提交但此次提交不需要记录仅用于保证工作仓库清洁用
- 我想把这些关于返工的细节都写进一个skill里在run中仅要求LLM在遇到用户提出返工需求时学习这个skill然后完成细节处理