@miniidealab/openlogos 0.9.23 → 0.9.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/claude-plugin-template/.claude-plugin/plugin.json +1 -1
- package/dist/commands/init.d.ts +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +59 -36
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/launch.d.ts +5 -0
- package/dist/commands/launch.d.ts.map +1 -1
- package/dist/commands/launch.js +54 -0
- package/dist/commands/launch.js.map +1 -1
- package/dist/commands/merge.d.ts.map +1 -1
- package/dist/commands/merge.js +3 -1
- package/dist/commands/merge.js.map +1 -1
- package/dist/commands/next.d.ts +2 -0
- package/dist/commands/next.d.ts.map +1 -1
- package/dist/commands/next.js +62 -63
- package/dist/commands/next.js.map +1 -1
- package/dist/commands/smoke.d.ts +30 -0
- package/dist/commands/smoke.d.ts.map +1 -0
- package/dist/commands/smoke.js +237 -0
- package/dist/commands/smoke.js.map +1 -0
- package/dist/commands/status.d.ts +38 -2
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +309 -29
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +32 -1
- package/dist/commands/verify.js.map +1 -1
- package/dist/i18n.d.ts +1 -1
- package/dist/i18n.d.ts.map +1 -1
- package/dist/i18n.js +101 -33
- package/dist/i18n.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/sync-resource-index.d.ts.map +1 -1
- package/dist/lib/sync-resource-index.js +21 -2
- package/dist/lib/sync-resource-index.js.map +1 -1
- package/package.json +1 -1
- package/skills/architecture-designer/SKILL.md +27 -5
- package/skills/change-writer/SKILL.md +61 -11
- package/skills/code-implementor/SKILL.md +5 -5
- package/skills/code-reviewer/SKILL.md +1 -1
- package/skills/deployment-designer/SKILL.md +137 -0
- package/skills/deployment-executor/SKILL.md +133 -0
- package/skills/merge-executor/SKILL.md +17 -4
- package/skills/project-init/SKILL.md +42 -2
- package/skills/test-orchestrator/SKILL.md +6 -6
- package/skills/test-writer/SKILL.md +67 -8
- package/spec/agents-md.md +32 -9
- package/spec/change-management.md +75 -20
- package/spec/cli-json-output.md +106 -17
- package/spec/directory-convention.md +28 -6
- package/spec/logos-project.md +44 -1
- package/spec/logos.config.schema.json +32 -2
- package/spec/tasks-spec.md +56 -11
- package/spec/test-results.md +2 -2
- package/spec/workflow.md +129 -33
|
@@ -33,6 +33,7 @@ function scanCandidateFiles(root) {
|
|
|
33
33
|
scanDir(join(root, 'logos/resources/test'));
|
|
34
34
|
scanDir(join(root, 'logos/resources/scenario'));
|
|
35
35
|
scanDir(join(root, 'logos/resources/verify'));
|
|
36
|
+
scanDir(join(root, 'logos/resources/implementation'));
|
|
36
37
|
// spec/
|
|
37
38
|
scanDir(join(root, 'spec'));
|
|
38
39
|
// skills/*/SKILL.md(只要一级子目录下的 SKILL.md)
|
|
@@ -66,12 +67,24 @@ const RULES = [
|
|
|
66
67
|
zh: (m) => `${m[1]} 测试用例。涉及 ${m[1]} 单元测试与场景测试的实现与验收时必读。`,
|
|
67
68
|
en: (m) => `${m[1]} test cases. Required when implementing or verifying ${m[1]} unit and scenario tests.`,
|
|
68
69
|
},
|
|
70
|
+
// 3b. 部署后冒烟测试用例
|
|
71
|
+
{
|
|
72
|
+
pattern: /logos\/resources\/test\/smoke\/(?:[a-z][a-z0-9-]*-)?([a-z][a-z0-9-]*)-smoke-test-cases\.md$/,
|
|
73
|
+
zh: (m) => `${m[1]} 模块部署后冒烟测试用例。涉及 openlogos smoke 或 launch 前门禁时必读。`,
|
|
74
|
+
en: (m) => `${m[1]} deployment smoke test cases. Required when running openlogos smoke or checking launch gates.`,
|
|
75
|
+
},
|
|
69
76
|
// 4. 技术架构
|
|
70
77
|
{
|
|
71
78
|
pattern: /logos\/resources\/prd\/3-technical-plan\/1-architecture\/.+\.md$/,
|
|
72
79
|
zh: () => '系统架构概要。涉及技术栈选型、系统组件划分、非功能性约束时必读。',
|
|
73
80
|
en: () => 'System architecture overview. Required when referencing tech stack, system components, or non-functional constraints.',
|
|
74
81
|
},
|
|
82
|
+
// 4b. 部署方案
|
|
83
|
+
{
|
|
84
|
+
pattern: /logos\/resources\/prd\/3-technical-plan\/3-deployment\/.+\.md$/,
|
|
85
|
+
zh: () => '部署方案。涉及部署拓扑、环境配置、发布命令、回滚策略和 smoke 验证时必读。',
|
|
86
|
+
en: () => 'Deployment plan. Required when referencing deployment topology, environment config, release commands, rollback strategy, or smoke checks.',
|
|
87
|
+
},
|
|
75
88
|
// 5. 功能规格
|
|
76
89
|
{
|
|
77
90
|
pattern: /logos\/resources\/prd\/2-product-design\/1-feature-specs\/.+\.md$/,
|
|
@@ -111,8 +124,14 @@ const RULES = [
|
|
|
111
124
|
// 11. 验收报告
|
|
112
125
|
{
|
|
113
126
|
pattern: /logos\/resources\/verify\/.+\.md$/,
|
|
114
|
-
zh: () => '
|
|
115
|
-
en: () => '
|
|
127
|
+
zh: () => '验收报告。涉及 verify、部署或 smoke 结果、覆盖度分析、Gate 判定时必读。',
|
|
128
|
+
en: () => 'Verification report. Required when referencing verify, deployment, or smoke results, coverage analysis, or Gate decisions.',
|
|
129
|
+
},
|
|
130
|
+
// 11b. 实现清单
|
|
131
|
+
{
|
|
132
|
+
pattern: /logos\/resources\/implementation\/.+\.md$/,
|
|
133
|
+
zh: () => '实现清单。涉及已实现范围、代码路径、测试覆盖和交付摘要时必读。',
|
|
134
|
+
en: () => 'Implementation manifest. Required when referencing implemented scope, code paths, test coverage, or delivery summary.',
|
|
116
135
|
},
|
|
117
136
|
// 12. Skills(只匹配 SKILL.md)
|
|
118
137
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-resource-index.js","sourceRoot":"","sources":["../../src/lib/sync-resource-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG3C,8EAA8E;AAC9E,OAAO;AACP,8EAA8E;AAE9E,SAAS,kBAAkB,CAAC,GAAW;IACrC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAChC,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;aACzC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACnB,MAAM,CAAC,CAAC,CAAC,EAAE;YACV,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAC1B,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACP,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,oDAAoD;AACpD,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,EAAE;QACjC,KAAK,MAAM,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC,CAAC;IAEF,wBAAwB;IACxB,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAC3C,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAC3C,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAC5C,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"sync-resource-index.js","sourceRoot":"","sources":["../../src/lib/sync-resource-index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
# Skill: Architecture Designer
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> 在逐场景的技术实现之前,建立项目的技术全局视图:系统架构、技术选型、部署约束和非功能性约束。完整部署方案由 `deployment-designer` Skill 在 Phase 3 Step 3 产出。
|
|
4
4
|
|
|
5
5
|
## 触发条件
|
|
6
6
|
|
|
7
7
|
- 用户要求设计技术架构、做技术选型或规划系统架构
|
|
8
8
|
- 用户提到 "Phase 3 Step 0"、"架构设计"、"技术方案"
|
|
9
9
|
- Phase 2 产品设计文档已完成,需要开始 Phase 3
|
|
10
|
-
-
|
|
10
|
+
- 用户想要确定技术栈或部署约束
|
|
11
11
|
|
|
12
12
|
## 核心能力
|
|
13
13
|
|
|
14
14
|
1. 读取 Phase 1 需求文档和 Phase 2 产品设计文档,理解产品全貌
|
|
15
15
|
2. 基于产品复杂度和场景特征,推荐适合的系统架构
|
|
16
16
|
3. 为每项技术选型提供选型理由和替代方案对比
|
|
17
|
-
4. 绘制系统架构图(Mermaid
|
|
18
|
-
5.
|
|
17
|
+
4. 绘制系统架构图(Mermaid)和部署约束图
|
|
18
|
+
5. 明确部署方案的输入边界:运行环境、依赖服务、部署目标、外部服务测试策略
|
|
19
|
+
6. 更新 `logos-project.yaml` 的 `tech_stack` 字段
|
|
19
20
|
|
|
20
21
|
## 与 Phase 1/2 的衔接
|
|
21
22
|
|
|
@@ -104,9 +105,11 @@ graph TB
|
|
|
104
105
|
| 后端框架 | Hono | 轻量、边缘优先、TS 原生 | Express(生态)、Fastify(性能) |
|
|
105
106
|
| 数据库 | PostgreSQL | 功能丰富、JSONB、RLS | MySQL(简单场景) |
|
|
106
107
|
| 认证 | Supabase Auth | 开箱即用、RLS 集成 | NextAuth(自托管) |
|
|
107
|
-
|
|
|
108
|
+
| 部署约束 | Vercel + Supabase | 零运维、自动扩容 | AWS(自主控制) |
|
|
108
109
|
```
|
|
109
110
|
|
|
111
|
+
**注意**:本步骤只定义部署约束和部署目标,不写完整发布步骤。完整部署方案必须由 `deployment-designer` 输出到 `logos/resources/prd/3-technical-plan/3-deployment/`。
|
|
112
|
+
|
|
110
113
|
**选型原则**:
|
|
111
114
|
- 优先选择团队已熟悉的技术
|
|
112
115
|
- 在无明显差异时,选择社区更大的方案
|
|
@@ -176,12 +179,31 @@ modules:
|
|
|
176
179
|
- 无任何数据库 → skip `database`
|
|
177
180
|
- 有 SQLite / 本地数据库 → 保留 `database`(仍需设计 schema)
|
|
178
181
|
|
|
182
|
+
### Step 7: 交接部署方案设计
|
|
183
|
+
|
|
184
|
+
架构设计完成后,必须向后续 `deployment-designer` Skill 交接以下信息:
|
|
185
|
+
|
|
186
|
+
- 技术栈:语言、框架、数据库、运行时、包管理器
|
|
187
|
+
- 部署目标:本地、测试、预发、生产中的哪些环境需要覆盖
|
|
188
|
+
- 运行依赖:数据库、缓存、对象存储、第三方服务、消息队列
|
|
189
|
+
- 配置与密钥来源:环境变量、密钥管理方式、不可提交配置
|
|
190
|
+
- 数据迁移方式:迁移工具、初始化数据、回滚要求
|
|
191
|
+
- 健康检查入口:页面、API、CLI 命令或进程检查方式
|
|
192
|
+
- smoke 设计输入:部署后必须验证的最小核心链路
|
|
193
|
+
|
|
194
|
+
交接完成后,建议下一步提示:
|
|
195
|
+
|
|
196
|
+
```text
|
|
197
|
+
继续进入 Phase 3 Step 3:使用 deployment-designer 输出部署方案和 smoke 测试方案。
|
|
198
|
+
```
|
|
199
|
+
|
|
179
200
|
## 输出规范
|
|
180
201
|
|
|
181
202
|
- 架构概要文档:`logos/resources/prd/3-technical-plan/1-architecture/core-01-architecture-overview.md`(架构文件全局唯一,后续修改始终在此文件上更新,不新建文件)
|
|
182
203
|
- 架构图使用 Mermaid 格式
|
|
183
204
|
- 技术选型使用表格格式,每项必须有理由
|
|
184
205
|
- 更新 `logos-project.yaml` 的 `tech_stack` 和 `external_dependencies` 字段
|
|
206
|
+
- 如项目确定无需部署,必须在架构文档中说明原因,并建议在 `logos-project.yaml` 中设置对应模块的 `deployment_required: false`
|
|
185
207
|
- 简单项目允许精简输出(不强制所有章节)
|
|
186
208
|
|
|
187
209
|
## 实践经验
|
|
@@ -20,9 +20,10 @@
|
|
|
20
20
|
|
|
21
21
|
1. 理解用户描述的变更意图
|
|
22
22
|
2. 扫描 `logos/resources/` 中的现有文档,定位受影响范围
|
|
23
|
-
3. 根据变更传播规则判断变更类型(需求级 / 设计级 / 接口级 / 代码级)
|
|
24
|
-
4.
|
|
25
|
-
5.
|
|
23
|
+
3. 根据变更传播规则判断变更类型(需求级 / 设计级 / 接口级 / 部署级 / 代码级)
|
|
24
|
+
4. 判断本次变更是否需要部署、是否需要数据迁移、是否需要 smoke 验证
|
|
25
|
+
5. 生成符合规范的 proposal.md
|
|
26
|
+
6. 按变更类型自动拆解 tasks.md
|
|
26
27
|
|
|
27
28
|
## 执行步骤
|
|
28
29
|
|
|
@@ -40,10 +41,11 @@
|
|
|
40
41
|
|
|
41
42
|
1. 读取需求文档(`prd/1-product-requirements/`),检查相关场景定义
|
|
42
43
|
2. 读取产品设计(`prd/2-product-design/`),检查相关功能规格和原型
|
|
43
|
-
3. 读取技术方案(`prd/3-technical-plan
|
|
44
|
+
3. 读取技术方案(`prd/3-technical-plan/`),检查相关架构、时序图、部署方案
|
|
44
45
|
4. 读取 API 文档(`api/`),检查相关端点
|
|
45
46
|
5. 读取 DB 文档(`database/`),检查相关表结构
|
|
46
47
|
6. 读取编排测试(`scenario/`),检查相关测试用例
|
|
48
|
+
7. 读取 smoke 测试用例(`test/smoke/`),检查部署后冒烟覆盖是否需要更新
|
|
47
49
|
|
|
48
50
|
### Step 3: 判断变更类型
|
|
49
51
|
|
|
@@ -51,10 +53,11 @@
|
|
|
51
53
|
|
|
52
54
|
| 变更类型 | 最少需要更新 |
|
|
53
55
|
|---------|------------|
|
|
54
|
-
| 需求级变更 | 全链路(需求 → 设计 → 架构 → API/DB → 编排 → 代码) |
|
|
55
|
-
| 设计级变更 | 原型 + 场景 + API/DB +
|
|
56
|
-
| 接口级变更 | API/DB + 编排 + 代码 |
|
|
57
|
-
|
|
|
56
|
+
| 需求级变更 | 全链路(需求 → 设计 → 架构 → 部署 → API/DB → 测试 → 编排 → 代码) |
|
|
57
|
+
| 设计级变更 | 原型 + 场景 + API/DB + 测试/编排 + 代码 + 部署影响分析 |
|
|
58
|
+
| 接口级变更 | API/DB + 编排 + 代码 + 部署影响分析 |
|
|
59
|
+
| 部署级变更 | 部署方案 + smoke 用例 + `[deploy]` 任务 |
|
|
60
|
+
| 代码级修复 | 代码 + 重新验收 + 部署影响分析 |
|
|
58
61
|
|
|
59
62
|
### Step 4: 生成 proposal.md
|
|
60
63
|
|
|
@@ -67,15 +70,25 @@
|
|
|
67
70
|
[为什么要做这个变更?来源于哪个需求/反馈/Bug?]
|
|
68
71
|
|
|
69
72
|
## 变更类型
|
|
70
|
-
[需求级 / 设计级 / 接口级 / 代码级]
|
|
73
|
+
[需求级 / 设计级 / 接口级 / 部署级 / 代码级]
|
|
71
74
|
|
|
72
75
|
## 变更范围
|
|
73
76
|
- 影响的需求文档:[列表,精确到文件名和章节]
|
|
74
77
|
- 影响的功能规格:[列表]
|
|
75
78
|
- 影响的业务场景:[场景编号列表]
|
|
79
|
+
- 影响的部署方案:[列表]
|
|
76
80
|
- 影响的 API:[端点列表]
|
|
77
81
|
- 影响的 DB 表:[表名列表]
|
|
78
82
|
- 影响的编排测试:[列表]
|
|
83
|
+
- 影响的 smoke 测试:[列表]
|
|
84
|
+
|
|
85
|
+
## 部署影响
|
|
86
|
+
- 是否需要部署:是 / 否
|
|
87
|
+
- 部署原因:[说明为什么需要或不需要部署]
|
|
88
|
+
- 影响环境:[本地 / 测试 / 预发 / 生产 / 无]
|
|
89
|
+
- 是否涉及数据迁移:是 / 否
|
|
90
|
+
- 是否需要回滚预案:是 / 否
|
|
91
|
+
- 是否需要 smoke:是 / 否
|
|
79
92
|
|
|
80
93
|
## 变更概述
|
|
81
94
|
[用 1-3 段话概述具体改什么]
|
|
@@ -85,14 +98,35 @@
|
|
|
85
98
|
|
|
86
99
|
根据变更类型和影响范围,使用结构化 section 格式生成任务清单。完整格式规范见 `spec/tasks-spec.md`。
|
|
87
100
|
|
|
88
|
-
> **禁止在 tasks.md 中写入 verify /
|
|
101
|
+
> **禁止在 tasks.md 中写入 verify / smoke / 人工验证类条目**——这些属于独立 CLI 操作节点。tasks.md 只追踪 delta、代码和部署执行任务。
|
|
89
102
|
|
|
90
103
|
**格式规则**:
|
|
91
104
|
- `## [delta] <描述>` section:只列 delta 文档产出任务,每条对应一个 delta 文件
|
|
92
105
|
- `## [code] <描述>` section:只列代码实现任务,直接修改源文件,不产出 delta
|
|
93
|
-
-
|
|
106
|
+
- `## [deploy] <描述>` section:只列部署执行任务,只能在 verify PASS 后、人类明确确认后执行
|
|
107
|
+
- 不需要部署的提案不得创建 `[deploy]` section
|
|
108
|
+
- 需要部署的提案必须在 `[delta]` section 中包含部署方案和 smoke 用例变更(如受影响)
|
|
94
109
|
- **严禁混用**:delta 任务不得写入 `[code]` section,代码任务不得写入 `[delta]` section
|
|
95
110
|
|
|
111
|
+
**需要部署的变更模板**:
|
|
112
|
+
|
|
113
|
+
```markdown
|
|
114
|
+
# 实现任务
|
|
115
|
+
|
|
116
|
+
## [delta] 规格变更
|
|
117
|
+
- [ ] 产出 delta 文件到 `deltas/prd/3-technical-plan/3-deployment/` — 更新部署方案
|
|
118
|
+
- [ ] 产出 delta 文件到 `deltas/test/smoke/` — 更新部署后冒烟测试用例
|
|
119
|
+
|
|
120
|
+
## [code] 代码实现
|
|
121
|
+
- [ ] 实现 src/xxx 中的业务逻辑
|
|
122
|
+
- [ ] 编写对应测试
|
|
123
|
+
- [ ] 编写 smoke 测试代码或脚本
|
|
124
|
+
|
|
125
|
+
## [deploy] 部署任务
|
|
126
|
+
- [ ] 按部署方案部署到 staging
|
|
127
|
+
- [ ] 确认迁移、配置、服务启动和回滚预案
|
|
128
|
+
```
|
|
129
|
+
|
|
96
130
|
**需求级 / 设计级变更模板**(有 delta + 有代码):
|
|
97
131
|
|
|
98
132
|
```markdown
|
|
@@ -152,9 +186,18 @@ Delta 文件写入 `logos/changes/<slug>/deltas/` 下对应子目录,与 `logo
|
|
|
152
186
|
| `logos/resources/prd/2-product-design/2-page-design/` | `deltas/prd/2-product-design/2-page-design/` |
|
|
153
187
|
| `logos/resources/prd/3-technical-plan/1-architecture/` | `deltas/prd/3-technical-plan/1-architecture/` |
|
|
154
188
|
| `logos/resources/prd/3-technical-plan/2-scenario-implementation/` | `deltas/prd/3-technical-plan/2-scenario-implementation/` |
|
|
189
|
+
| `logos/resources/prd/3-technical-plan/3-deployment/` | `deltas/prd/3-technical-plan/3-deployment/` |
|
|
190
|
+
| `logos/resources/test/smoke/` | `deltas/test/smoke/` |
|
|
155
191
|
|
|
156
192
|
代码实现(`src/`、`test/`)**不产出 delta**,直接修改源文件。
|
|
157
193
|
|
|
194
|
+
部署相关行为规范:
|
|
195
|
+
|
|
196
|
+
- 需要部署时,必须产出部署方案 delta
|
|
197
|
+
- 需要部署且 smoke 覆盖受影响时,必须产出 smoke 测试用例 delta
|
|
198
|
+
- 不允许把部署执行命令写入 `[code]` section
|
|
199
|
+
- 不允许 AI 在 delta-writing 阶段执行部署命令
|
|
200
|
+
|
|
158
201
|
#### 文件命名
|
|
159
202
|
|
|
160
203
|
与目标主文档**同名**(含子目录层级)。例如:
|
|
@@ -204,6 +247,13 @@ Delta 文件写入 `logos/changes/<slug>/deltas/` 下对应子目录,与 `logo
|
|
|
204
247
|
- 用户明确要求执行(包括使用 `/openlogos:merge`、`/openlogos:archive` slash command)时,AI 可以代为执行
|
|
205
248
|
- 不得在"顺手完成流程"、"按流程走完"、"继续"等隐式场景中自动触发
|
|
206
249
|
|
|
250
|
+
merge 后的后续提示应按是否需要部署区分:
|
|
251
|
+
|
|
252
|
+
- **不需要部署**:实现代码 → `openlogos verify` → `openlogos archive`
|
|
253
|
+
- **需要部署**:实现代码 → `openlogos verify` → 用户明确授权部署 → `openlogos smoke` → `openlogos archive`
|
|
254
|
+
|
|
255
|
+
**部署执行、`openlogos smoke` 也是人类确认点**。AI 未经用户明确授权不得自动部署或自动运行 smoke。
|
|
256
|
+
|
|
207
257
|
AI 只负责驱动内容修改,不得在未获明确授权的情况下推进提案状态。
|
|
208
258
|
|
|
209
259
|
## 输出规范
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
## 触发条件
|
|
6
6
|
|
|
7
7
|
- 用户要求实现代码、生成代码或编写代码
|
|
8
|
-
- 用户提到 "Phase 3 Step
|
|
8
|
+
- 用户提到 "Phase 3 Step 5"、"代码生成"、"帮我实现 S01"
|
|
9
9
|
- 测试用例设计已完成(`logos/resources/test/` 非空),需要开始编码
|
|
10
10
|
- 用户指定某个场景编号(如 S01)需要实现
|
|
11
11
|
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
- `logos/resources/test/` 中包含测试用例规格(**必需**)
|
|
18
18
|
- `logos/logos-project.yaml` 中包含 `tech_stack`(**必需**)
|
|
19
19
|
|
|
20
|
-
如果时序图或测试用例目录为空,提示用户先完成 Phase 3 Step 1(scenario-architect)和 Step
|
|
20
|
+
如果时序图或测试用例目录为空,提示用户先完成 Phase 3 Step 1(scenario-architect)和 Step 4a(test-writer)。
|
|
21
21
|
|
|
22
22
|
## 核心能力
|
|
23
23
|
|
|
@@ -33,9 +33,9 @@
|
|
|
33
33
|
|
|
34
34
|
本 Skill 处于三者链条的中间位置:
|
|
35
35
|
|
|
36
|
-
- **test-writer**(Step
|
|
37
|
-
- **code-implementor**(Step
|
|
38
|
-
- **code-reviewer**(Step
|
|
36
|
+
- **test-writer**(Step 4a):设计测试用例**规格文档**(Markdown),定义 UT/ST ID——是"出卷人"
|
|
37
|
+
- **code-implementor**(Step 5,本 Skill):将所有规格转化为**可运行的业务代码和测试代码**——是"答卷人"
|
|
38
|
+
- **code-reviewer**(Step 5 之后):拿着规格**审计已生成的业务代码**,输出审查报告——是"阅卷人"
|
|
39
39
|
|
|
40
40
|
test-writer 不写代码;code-implementor 不设计用例;code-reviewer 不修改代码。三者形成 **设计 → 执行 → 审查** 闭环。
|
|
41
41
|
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# Skill: Deployment Designer
|
|
2
|
+
|
|
3
|
+
> 在代码实现前输出完整部署方案:部署拓扑、环境配置、发布命令、数据迁移、回滚策略和部署后冒烟测试方案。该 Skill 是 Phase 3 Step 3 的执行入口。
|
|
4
|
+
|
|
5
|
+
## 触发条件
|
|
6
|
+
|
|
7
|
+
- 用户要求设计部署方案、发布方案或上线方案
|
|
8
|
+
- 用户提到 “Phase 3 Step 3”、“部署方案”、“deployment plan”
|
|
9
|
+
- API / DB 设计完成后,需要进入部署方案设计
|
|
10
|
+
- Initial 阶段准备进入测试设计前,`3-technical-plan/3-deployment/` 仍为空
|
|
11
|
+
|
|
12
|
+
## 前置依赖
|
|
13
|
+
|
|
14
|
+
1. `logos/resources/prd/3-technical-plan/1-architecture/` 中存在架构概要
|
|
15
|
+
2. `logos/resources/prd/3-technical-plan/2-scenario-implementation/` 中存在场景实现文档
|
|
16
|
+
3. API / DB 设计已完成,或对应模块在 `skip_phases` 中明确跳过
|
|
17
|
+
4. `logos/logos-project.yaml` 可读
|
|
18
|
+
|
|
19
|
+
## 核心能力
|
|
20
|
+
|
|
21
|
+
1. 从架构、API、DB 和技术栈中推导部署目标
|
|
22
|
+
2. 设计本地 / 测试 / 预发 / 生产环境部署拓扑
|
|
23
|
+
3. 明确环境变量、密钥来源、构建命令和发布命令
|
|
24
|
+
4. 定义数据迁移、初始化数据和回滚策略
|
|
25
|
+
5. 设计部署后检查清单
|
|
26
|
+
6. 设计 smoke 测试方案输入,供 `test-writer` 生成 `SMOKE-*` 用例
|
|
27
|
+
7. 更新 `logos-project.yaml` 的部署门禁信息
|
|
28
|
+
|
|
29
|
+
## 执行步骤
|
|
30
|
+
|
|
31
|
+
### Step 1: 读取上下文
|
|
32
|
+
|
|
33
|
+
必须读取:
|
|
34
|
+
|
|
35
|
+
- `logos/logos-project.yaml`
|
|
36
|
+
- 架构概要文档
|
|
37
|
+
- 场景实现文档
|
|
38
|
+
- API 规格(如存在)
|
|
39
|
+
- DB DDL(如存在)
|
|
40
|
+
- 现有部署方案(如存在)
|
|
41
|
+
|
|
42
|
+
重点确认:
|
|
43
|
+
|
|
44
|
+
- 项目是否需要部署
|
|
45
|
+
- 目标环境有哪些
|
|
46
|
+
- 是否存在远程服务、生产环境、密钥、域名、证书或数据迁移
|
|
47
|
+
- smoke 需要覆盖哪些最小链路
|
|
48
|
+
|
|
49
|
+
### Step 2: 判断部署门禁
|
|
50
|
+
|
|
51
|
+
默认规则:
|
|
52
|
+
|
|
53
|
+
- 软件项目默认需要部署方案
|
|
54
|
+
- 有运行环境的项目默认需要部署执行和 smoke
|
|
55
|
+
- 纯文档、纯规范、无需运行环境的库项目可声明 `deployment_required: false`
|
|
56
|
+
|
|
57
|
+
若用户选择无需部署,部署方案仍需写明原因和跳过条件。
|
|
58
|
+
|
|
59
|
+
### Step 3: 输出部署方案
|
|
60
|
+
|
|
61
|
+
默认文件:
|
|
62
|
+
|
|
63
|
+
`logos/resources/prd/3-technical-plan/3-deployment/core-01-deployment-plan.md`
|
|
64
|
+
|
|
65
|
+
文档结构:
|
|
66
|
+
|
|
67
|
+
```markdown
|
|
68
|
+
# core-01-deployment-plan
|
|
69
|
+
|
|
70
|
+
## 一、部署目标
|
|
71
|
+
|
|
72
|
+
## 二、部署拓扑
|
|
73
|
+
|
|
74
|
+
## 三、环境变量与密钥
|
|
75
|
+
|
|
76
|
+
## 四、构建与发布命令
|
|
77
|
+
|
|
78
|
+
## 五、数据迁移策略
|
|
79
|
+
|
|
80
|
+
## 六、回滚策略
|
|
81
|
+
|
|
82
|
+
## 七、部署后检查清单
|
|
83
|
+
|
|
84
|
+
## 八、冒烟测试方案
|
|
85
|
+
|
|
86
|
+
## 九、门禁结论
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Step 4: 设计 smoke 输入
|
|
90
|
+
|
|
91
|
+
在部署方案的“冒烟测试方案”中列出必须覆盖的 smoke 检查项:
|
|
92
|
+
|
|
93
|
+
- 健康检查
|
|
94
|
+
- 核心入口
|
|
95
|
+
- 数据库迁移
|
|
96
|
+
- 静态资源
|
|
97
|
+
- 配置与密钥
|
|
98
|
+
- 关键链路
|
|
99
|
+
- 日志与监控
|
|
100
|
+
|
|
101
|
+
具体 `SMOKE-*` 用例由 `test-writer` 输出到 `logos/resources/test/smoke/`。
|
|
102
|
+
|
|
103
|
+
### Step 5: 更新 logos-project.yaml
|
|
104
|
+
|
|
105
|
+
如模块需要部署,建议写入:
|
|
106
|
+
|
|
107
|
+
```yaml
|
|
108
|
+
deployment_gates:
|
|
109
|
+
core:
|
|
110
|
+
deployment_required: true
|
|
111
|
+
smoke_required: true
|
|
112
|
+
environments:
|
|
113
|
+
- staging
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
并将部署方案加入 `resource_index`。
|
|
117
|
+
|
|
118
|
+
## 输出规范
|
|
119
|
+
|
|
120
|
+
- 部署方案:`logos/resources/prd/3-technical-plan/3-deployment/core-01-deployment-plan.md`
|
|
121
|
+
- 文档语言遵循项目 locale
|
|
122
|
+
- Mermaid 可用于部署拓扑图
|
|
123
|
+
- 不执行任何部署命令
|
|
124
|
+
|
|
125
|
+
## 人类确认点
|
|
126
|
+
|
|
127
|
+
本 Skill 只设计部署方案,不执行部署。部署执行必须等到:
|
|
128
|
+
|
|
129
|
+
1. 代码实现完成
|
|
130
|
+
2. `openlogos verify` 通过
|
|
131
|
+
3. 用户明确授权部署
|
|
132
|
+
|
|
133
|
+
## 推荐提示词
|
|
134
|
+
|
|
135
|
+
- `帮我设计部署方案`
|
|
136
|
+
- `按 Phase 3 Step 3 输出部署方案`
|
|
137
|
+
- `基于当前架构设计 staging 部署和 smoke 方案`
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# Skill: Deployment Executor
|
|
2
|
+
|
|
3
|
+
> 在 `openlogos verify` 通过后,按已合并的部署方案执行经人类明确确认的部署任务,并引导运行 `openlogos smoke`。该 Skill 只在部署执行阶段使用。
|
|
4
|
+
|
|
5
|
+
## 触发条件
|
|
6
|
+
|
|
7
|
+
- 用户明确要求执行部署
|
|
8
|
+
- 用户说“按部署方案部署”“执行当前提案的部署任务”“部署到 staging / production”
|
|
9
|
+
- 当前提案 `tasks.md` 存在 `[deploy]` section
|
|
10
|
+
- Initial 阶段 verify 通过后需要部署到目标环境
|
|
11
|
+
|
|
12
|
+
## 前置依赖
|
|
13
|
+
|
|
14
|
+
1. 用户明确授权部署
|
|
15
|
+
2. `logos/resources/prd/3-technical-plan/3-deployment/` 中存在部署方案
|
|
16
|
+
3. 当前提案已 `VERIFY_PASS`
|
|
17
|
+
4. 当前提案 `tasks.md` 中存在 `[deploy]` section
|
|
18
|
+
5. 部署所需命令、环境变量和回滚策略已在部署方案中声明
|
|
19
|
+
|
|
20
|
+
如果任一条件不满足,停止并说明缺少哪一项。
|
|
21
|
+
|
|
22
|
+
## 核心能力
|
|
23
|
+
|
|
24
|
+
1. 读取部署方案和当前提案部署任务
|
|
25
|
+
2. 将部署任务拆解为可执行步骤
|
|
26
|
+
3. 在关键命令前说明目的、影响环境和回滚点
|
|
27
|
+
4. 执行部署命令并记录结果
|
|
28
|
+
5. 生成部署报告
|
|
29
|
+
6. 写入部署完成标记
|
|
30
|
+
7. 引导用户运行 `openlogos smoke`
|
|
31
|
+
|
|
32
|
+
## 执行步骤
|
|
33
|
+
|
|
34
|
+
### Step 1: 确认授权
|
|
35
|
+
|
|
36
|
+
部署是人类确认点。必须看到用户明确表达,例如:
|
|
37
|
+
|
|
38
|
+
- `执行部署`
|
|
39
|
+
- `部署到 staging`
|
|
40
|
+
- `按部署方案部署`
|
|
41
|
+
|
|
42
|
+
不能因为用户说“继续”“按流程走完”而自动部署。
|
|
43
|
+
|
|
44
|
+
### Step 2: 读取部署上下文
|
|
45
|
+
|
|
46
|
+
必须读取:
|
|
47
|
+
|
|
48
|
+
- `logos/resources/prd/3-technical-plan/3-deployment/*.md`
|
|
49
|
+
- 当前提案 `proposal.md`
|
|
50
|
+
- 当前提案 `tasks.md` 的 `[deploy]` section
|
|
51
|
+
- 已合并后的相关主规格
|
|
52
|
+
|
|
53
|
+
### Step 3: 执行前检查
|
|
54
|
+
|
|
55
|
+
检查:
|
|
56
|
+
|
|
57
|
+
- 当前是否 `VERIFY_PASS`
|
|
58
|
+
- 是否存在未完成代码任务
|
|
59
|
+
- 部署目标环境是否明确
|
|
60
|
+
- 回滚策略是否可执行
|
|
61
|
+
- 必要环境变量和密钥是否已由用户确认
|
|
62
|
+
- smoke 测试命令是否配置或已有替代说明
|
|
63
|
+
|
|
64
|
+
### Step 4: 执行部署
|
|
65
|
+
|
|
66
|
+
按部署方案逐项执行。
|
|
67
|
+
|
|
68
|
+
每个关键命令前必须说明:
|
|
69
|
+
|
|
70
|
+
- 命令目的
|
|
71
|
+
- 影响环境
|
|
72
|
+
- 失败后的中止或回滚方式
|
|
73
|
+
|
|
74
|
+
不得执行部署方案中没有定义的命令。
|
|
75
|
+
|
|
76
|
+
### Step 5: 生成部署报告
|
|
77
|
+
|
|
78
|
+
写入:
|
|
79
|
+
|
|
80
|
+
`logos/resources/verify/deployment-report.md`
|
|
81
|
+
|
|
82
|
+
报告包含:
|
|
83
|
+
|
|
84
|
+
- 部署时间
|
|
85
|
+
- 目标环境
|
|
86
|
+
- 执行命令摘要
|
|
87
|
+
- 迁移结果
|
|
88
|
+
- 服务启动结果
|
|
89
|
+
- 回滚点
|
|
90
|
+
- 未解决风险
|
|
91
|
+
|
|
92
|
+
### Step 6: 写入部署完成标记
|
|
93
|
+
|
|
94
|
+
部署成功后:
|
|
95
|
+
|
|
96
|
+
- 勾选当前提案 `tasks.md` 中的 `[deploy]` 任务
|
|
97
|
+
- 写入 `logos/changes/<slug>/DEPLOY_DONE`
|
|
98
|
+
|
|
99
|
+
部署失败时:
|
|
100
|
+
|
|
101
|
+
- 不得写入 `DEPLOY_DONE`
|
|
102
|
+
- 输出失败点和回滚建议
|
|
103
|
+
- 以 `logos/resources/verify/deployment-report.md` 记录失败摘要
|
|
104
|
+
|
|
105
|
+
### Step 7: 引导 smoke
|
|
106
|
+
|
|
107
|
+
部署完成后提示用户明确授权运行:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
openlogos smoke
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
如有目标环境:
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
openlogos smoke --env staging
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
AI 不得自动运行 `openlogos smoke`,除非用户明确授权。
|
|
120
|
+
|
|
121
|
+
## 禁止行为
|
|
122
|
+
|
|
123
|
+
- 未经用户明确确认自动部署
|
|
124
|
+
- 跳过部署方案,凭经验执行命令
|
|
125
|
+
- 自动执行涉及生产、远程服务器、密钥、发布、域名或数据迁移的命令
|
|
126
|
+
- 部署失败后写入 `DEPLOY_DONE`
|
|
127
|
+
- 部署后直接 archive,跳过 `openlogos smoke`
|
|
128
|
+
|
|
129
|
+
## 推荐提示词
|
|
130
|
+
|
|
131
|
+
- `按部署方案部署到 staging`
|
|
132
|
+
- `执行当前提案的部署任务`
|
|
133
|
+
- `部署完成后帮我准备 smoke 命令`
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
3. 精准定位主文档中的对应章节并执行合并
|
|
23
23
|
4. 保持主文档的格式和风格一致性
|
|
24
24
|
5. 输出变更摘要
|
|
25
|
-
6. **等待人类确认后停止** — 合并完成后 AI 的职责即结束,不得主动执行
|
|
25
|
+
6. **等待人类确认后停止** — 合并完成后 AI 的职责即结束,不得主动执行 verify、部署、smoke 或 archive
|
|
26
26
|
|
|
27
27
|
## 执行步骤
|
|
28
28
|
|
|
@@ -83,13 +83,25 @@ touch logos/changes/{slug}/SPEC_MERGED
|
|
|
83
83
|
**Step 2:运行验收(代码实现完成后)**
|
|
84
84
|
请在项目根目录运行:
|
|
85
85
|
openlogos verify
|
|
86
|
-
- 验收通过(PASS)→
|
|
86
|
+
- 验收通过(PASS)→ 无部署任务时可进入归档;有部署任务时进入 Step 3
|
|
87
87
|
- 验收失败(FAIL)→ 修复代码后重新运行,无需重走 merge 流程
|
|
88
88
|
|
|
89
|
-
**Step 3
|
|
89
|
+
**Step 3:部署(仅当 tasks.md 存在 [deploy] section)**
|
|
90
|
+
验收通过后,由用户明确授权 AI 按部署方案执行部署任务。
|
|
91
|
+
|
|
92
|
+
AI 必须读取:
|
|
93
|
+
- logos/resources/prd/3-technical-plan/3-deployment/
|
|
94
|
+
- 当前提案 tasks.md 的 [deploy] section
|
|
95
|
+
|
|
96
|
+
**Step 4:冒烟测试(仅当已部署)**
|
|
97
|
+
部署完成后,由用户明确授权运行:
|
|
98
|
+
openlogos smoke
|
|
99
|
+
|
|
100
|
+
**Step 5:归档提案**
|
|
101
|
+
verify 通过且无部署任务,或部署完成且 smoke 通过后:
|
|
90
102
|
openlogos archive <slug>
|
|
91
103
|
|
|
92
|
-
openlogos verify 和 openlogos archive 均为人类确认点,AI 未经用户明确授权不得自行执行。
|
|
104
|
+
openlogos verify、部署执行、openlogos smoke 和 openlogos archive 均为人类确认点,AI 未经用户明确授权不得自行执行。
|
|
93
105
|
```
|
|
94
106
|
|
|
95
107
|
## 合并原则
|
|
@@ -104,6 +116,7 @@ openlogos verify 和 openlogos archive 均为人类确认点,AI 未经用户
|
|
|
104
116
|
- 直接修改 `logos/resources/` 中的主文档(就地编辑)
|
|
105
117
|
- 除写入 `logos/changes/<slug>/SPEC_MERGED` 外,不修改 `logos/changes/` 中的任何文件
|
|
106
118
|
- 合并过程中不创建新文件(除非 delta 指定新增一个全新的文档)
|
|
119
|
+
- 合并部署 delta 时,只合并部署方案文档,不执行部署命令
|
|
107
120
|
|
|
108
121
|
## 实践经验
|
|
109
122
|
|