@chenmk/superflow 0.1.1 → 0.1.3

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.
Files changed (89) hide show
  1. package/INSTALL.en.md +32 -5
  2. package/INSTALL.md +58 -17
  3. package/README.md +121 -7
  4. package/README.zh-CN.md +92 -11
  5. package/assets/brand/superflow-banner.svg +80 -0
  6. package/assets/context-templates/business-rules.md +45 -78
  7. package/assets/context-templates/decisions.md +63 -149
  8. package/assets/context-templates/external-systems.md +64 -161
  9. package/assets/context-templates/incidents.md +40 -78
  10. package/assets/context-templates-en/business-rules.md +72 -0
  11. package/assets/context-templates-en/decisions.md +72 -0
  12. package/assets/context-templates-en/external-systems.md +78 -0
  13. package/assets/context-templates-en/incidents.md +52 -0
  14. package/assets/manifest.json +6 -4
  15. package/assets/scripts/claude-auto-backup-hook.sh +11 -6
  16. package/assets/scripts/codex-auto-backup-hook.sh +11 -6
  17. package/assets/skills/superflow-design/SKILL.md +16 -8
  18. package/assets/skills/superflow-docs/SKILL.md +17 -8
  19. package/assets/skills/superflow-pipeline/references/api-design-template.md +99 -63
  20. package/assets/skills/superflow-pipeline/references/batch-prompt-template.md +62 -14
  21. package/assets/skills/superflow-pipeline/references/implementation-prompt-template.md +114 -67
  22. package/assets/skills/superflow-pipeline/references/quality-gate.md +104 -102
  23. package/assets/skills/superflow-pipeline/references/superpower-technical-design-template.md +45 -19
  24. package/assets/skills/superflow-pipeline/scripts/superflow-guard.sh +35 -0
  25. package/assets/skills-en/api-doc-changelog/SKILL.md +64 -151
  26. package/assets/skills-en/superflow-clarify/SKILL.md +4 -4
  27. package/assets/skills-en/superflow-clarify/agents/openai.yaml +1 -1
  28. package/assets/skills-en/superflow-design/agents/openai.yaml +1 -1
  29. package/assets/skills-en/superflow-docs/SKILL.md +27 -27
  30. package/assets/skills-en/superflow-docs/agents/openai.yaml +1 -1
  31. package/assets/skills-en/superflow-implement/SKILL.md +113 -457
  32. package/assets/skills-en/superflow-implement/agents/openai.yaml +1 -1
  33. package/assets/skills-en/superflow-pipeline/SKILL.md +167 -840
  34. package/assets/skills-en/superflow-pipeline/agents/openai.yaml +1 -1
  35. package/assets/skills-en/superflow-pipeline/references/api-design-template.md +17 -426
  36. package/assets/skills-en/superflow-pipeline/references/architecture-design-template.md +15 -114
  37. package/assets/skills-en/superflow-pipeline/references/batch-prompt-template.md +36 -524
  38. package/assets/skills-en/superflow-pipeline/references/batch-split-guide.md +19 -133
  39. package/assets/skills-en/superflow-pipeline/references/document-templates.md +50 -123
  40. package/assets/skills-en/superflow-pipeline/references/feature-gated-workflow.md +12 -119
  41. package/assets/skills-en/superflow-pipeline/references/implementation-prompt-template.md +22 -1044
  42. package/assets/skills-en/superflow-pipeline/references/mock-strategy-guide.md +11 -81
  43. package/assets/skills-en/superflow-pipeline/references/openspec-format.md +17 -51
  44. package/assets/skills-en/superflow-pipeline/references/orchestration.md +17 -632
  45. package/assets/skills-en/superflow-pipeline/references/p0-baseline-template.md +10 -169
  46. package/assets/skills-en/superflow-pipeline/references/prompt-usage-template.md +29 -128
  47. package/assets/skills-en/superflow-pipeline/references/quality-gate.md +36 -299
  48. package/assets/skills-en/superflow-pipeline/references/quality-standards.md +12 -186
  49. package/assets/skills-en/superflow-pipeline/references/reviewer-checklist.md +12 -154
  50. package/assets/skills-en/superflow-pipeline/references/sql-risk-review-checklist.md +19 -316
  51. package/assets/skills-en/superflow-pipeline/references/test-execution-template.md +22 -220
  52. package/assets/skills-en/superflow-pipeline/references/test-guide.md +12 -26
  53. package/assets/skills-en/superflow-pipeline/references/traceability-matrix.md +5 -103
  54. package/assets/skills-en/superflow-pipeline/references/validation-integrity.md +12 -130
  55. package/assets/skills-en/superflow-pipeline/scripts/superflow-guard.sh +23 -23
  56. package/assets/skills-en/superflow-pipeline/scripts/superflow-state.sh +1 -1
  57. package/assets/skills-en/superflow-pipeline/scripts/superflow-status.sh +15 -15
  58. package/assets/skills-en/superflow-table-impact-analysis/SKILL.md +3 -3
  59. package/dist/cli/index.js +61 -54
  60. package/dist/cli/index.js.map +1 -1
  61. package/dist/commands/design.js +25 -3
  62. package/dist/commands/design.js.map +1 -1
  63. package/dist/commands/doctor.js +31 -12
  64. package/dist/commands/doctor.js.map +1 -1
  65. package/dist/commands/init.js +75 -27
  66. package/dist/commands/init.js.map +1 -1
  67. package/dist/commands/scan.js +8 -4
  68. package/dist/commands/scan.js.map +1 -1
  69. package/dist/commands/uninstall.js +3 -3
  70. package/dist/commands/uninstall.js.map +1 -1
  71. package/dist/commands/update.js +8 -3
  72. package/dist/commands/update.js.map +1 -1
  73. package/dist/core/cli-help.js +98 -0
  74. package/dist/core/cli-help.js.map +1 -0
  75. package/dist/core/context.js +40 -17
  76. package/dist/core/context.js.map +1 -1
  77. package/dist/core/detect.js +58 -5
  78. package/dist/core/detect.js.map +1 -1
  79. package/dist/core/i18n.js +10 -8
  80. package/dist/core/i18n.js.map +1 -1
  81. package/dist/core/manifest.js +3 -0
  82. package/dist/core/manifest.js.map +1 -1
  83. package/dist/core/scripts.js +8 -0
  84. package/dist/core/scripts.js.map +1 -1
  85. package/dist/core/skills.js +6 -0
  86. package/dist/core/skills.js.map +1 -1
  87. package/dist/core/state.js +12 -1
  88. package/dist/core/state.js.map +1 -1
  89. package/package.json +4 -3
@@ -1,86 +1,16 @@
1
- # Mock 策略与边界声明指南
1
+ # Mock Strategy Guide
2
2
 
3
- 比赛/项目中涉及外部接口、设备回调、第三方服务时,必须明确 Mock 策略并在交付物中声明。
3
+ Mocks are allowed for isolation, not for claiming real integration.
4
4
 
5
- ## 何时需要 Mock
5
+ ## Labels
6
6
 
7
- | 场景 | 是否 Mock | 说明 |
8
- |------|-----------|------|
9
- | 外部 HTTP API(支付、短信、地图) | ✅ 必须 | 避免真实调用产生费用或副作用 |
10
- | 设备回调(门禁、摄像头、传感器) | ✅ 必须 | 无真实硬件环境 |
11
- | 数据库(无测试环境) | ✅ 可选 | 可用 H2 / Docker MySQL |
12
- | 消息队列 | ✅ 可选 | 可用内存队列替代 |
13
- | 缓存(Redis) | ✅ 可选 | 可用 Caffeine / 本地缓存 |
14
- | 文件存储(OSS) | ✅ 可选 | 可用本地文件系统 |
7
+ - Mock verification: dependency replaced or simulated.
8
+ - Test endpoint verification: local helper endpoint or bypass path.
9
+ - Real-entry verification: production-like user, device, callback, job, MQ,
10
+ client, or third-party entry.
15
11
 
16
- ## Mock 方式选择
12
+ ## Report Rule
17
13
 
18
- | 方式 | 适用场景 | 实现手段 | 验证能力 |
19
- |------|----------|----------|----------|
20
- | `@MockBean` | Spring Boot 单元/集成测试 | Mockito | 验证调用次数、参数 |
21
- | `WireMock` | HTTP 外部服务 | 独立 Mock 服务器 | 验证请求格式、返回预设响应 |
22
- | 本地模拟服务 | 设备回调、Webhook | 单独启动的 HTTP 服务 | 手动触发回调 |
23
- | 接口假实现 | 无测试框架时 | 接口的硬编码实现 | 固定返回 |
24
- | H2 内存数据库 | 无 MySQL 环境 | `spring.datasource.url=jdbc:h2:mem` | 标准 SQL 验证 |
25
-
26
- ## Mock 边界声明模板
27
-
28
- 每个使用 Mock 的外部依赖必须在交付文档中填写下表:
29
-
30
- ```markdown
31
- ## Mock 声明
32
-
33
- ### 外部依赖 1:<名称>
34
-
35
- | 项目 | 说明 |
36
- |------|------|
37
- | 实际能力 | ____(如:真实支付扣款) |
38
- | Mock 方式 | ____(如:@MockBean + 固定返回 success) |
39
- | Mock 范围 | ____(哪些接口/方法被 Mock) |
40
- | 假设条件 | ____(如:假设支付网关永远返回成功) |
41
- | 替代验证 | ____(如何验证代码逻辑正确,如:检查数据库状态变化) |
42
- | 恢复真实 | ____(如何切回真实服务,如:去掉 @MockBean 注解) |
43
- ```
44
-
45
- ## 示例:门禁设备回调 Mock
46
-
47
- ```markdown
48
- ### 外部依赖:人行门禁设备
49
-
50
- | 项目 | 说明 |
51
- |------|------|
52
- | 实际能力 | 真实硬件设备,刷卡/人脸识别后主动回调服务器 |
53
- | Mock 方式 | 本地启动模拟 HTTP 服务(Python Flask / Node.js) |
54
- | Mock 范围 | `/device/callback` 接口接收回调 |
55
- | 假设条件 | 假设设备回调的报文格式与真实设备一致 |
56
- | 替代验证 | 手动 POST 模拟回调报文,验证服务器处理逻辑(记录通行日志、开门指令) |
57
- | 恢复真实 | 将回调地址指向真实设备网关 |
58
- ```
59
-
60
- ## 示例:支付接口 Mock
61
-
62
- ```java
63
- // 测试中使用 @MockBean
64
- @MockBean
65
- private PaymentClient paymentClient;
66
-
67
- @BeforeEach
68
- void setUp() {
69
- when(paymentClient.charge(any()))
70
- .thenReturn(PaymentResult.success("mock-trade-no"));
71
- }
72
-
73
- // 验证替代方式:检查订单状态是否变为 PAID
74
- @Test
75
- void shouldUpdateOrderStatusWhenPaymentSuccess() {
76
- // 执行支付流程
77
- // 断言:数据库订单状态 = PAID(不依赖真实支付)
78
- }
79
- ```
80
-
81
- ## 禁止事项
82
-
83
- 1. ❌ Mock 后不声明假设条件
84
- 2. ❌ Mock 范围过大(把整个 Service 层都 Mock 掉)
85
- 3. ❌ 无替代验证方式(Mock 后不知道代码对不对)
86
- 4. ❌ 生产代码中残留 Mock 逻辑
14
+ Keep these labels separate in test-report.md. Mock-only evidence cannot close a
15
+ requirement that tests.md marks as L3/L4, real-entry, third-party, DB, or log
16
+ verified.
@@ -1,57 +1,23 @@
1
- # OpenSpec 规范基础
1
+ # OpenSpec Format
2
2
 
3
- ## 三阶段工作流
3
+ ## Change Layout
4
4
 
5
- | 阶段 | 文件名 | 说明 |
6
- |------|--------|------|
7
- | Stage 1: Creating Changes | `proposal.md` / `spec.md` / `design.md` / `tasks.md` | 写提案/规范/设计/任务 |
8
- | Stage 2: Implementing Changes | 按 `tasks.md` 顺序逐项实现 | 确保实现满足 spec 场景 |
9
- | Stage 3: Archiving Changes | 上线后将 `changes/<id>/` 移入 `changes/archive/` | 归档已完成的需求 |
5
+ - proposal.md
6
+ - api.md
7
+ - design.md
8
+ - tasks.md
9
+ - tests.md
10
+ - specs/<capability>/spec.md
11
+ - traceability-matrix.md
12
+ - review-checklist.md
13
+ - sdd-quality-gate.md
14
+ - test-report.md
10
15
 
11
- ## 目录规范
16
+ ## Spec Style
12
17
 
13
- 所有文档必须放在 `doc/openspec/` 目录下:
18
+ Use requirement IDs and scenarios. Each scenario must map to at least one test
19
+ case and one traceability row.
14
20
 
15
- ```
16
- doc/openspec/
17
- ├── project.md # 项目定义
18
- ├── SPEC.md # OpenSpec 规范(含目录规范)
19
- ├── specs/ # 功能规格文档
20
- │ └── <feature-name>/
21
- │ └── spec.md
22
- ├── changes/ # 需求变更/新功能
23
- │ └── <change-name>/
24
- │ ├── proposal.md
25
- │ ├── design.md
26
- │ ├── tasks.md
27
- │ ├── tests.md
28
- │ └── specs/<feature>/
29
- │ └── spec.md
30
- ├── designs/ # 架构/技术设计
31
- ├── reviews/ # 设计评审报告
32
- ├── plans/ # 计划文档
33
- └── tests/ # 测试文档
34
- ```
21
+ ## Task Style
35
22
 
36
- **禁止:**
37
- - 在 `doc/openspec/` 根目录散落文档
38
- - 使用中文目录名
39
- - 在其他位置创建 openspec 文档
40
-
41
- ## Spec 编写规则(必须遵守)
42
-
43
- ```markdown
44
- ## ADDED|MODIFIED|REMOVED|RENAMED Requirements
45
-
46
- ### Requirement: <需求描述>
47
- #### Scenario: <场景名称>
48
- - **WHEN** <前置条件>
49
- - **THEN** <预期结果>
50
- - **AND** <附加条件>
51
- ```
52
-
53
- **规则:**
54
- - 使用 `## ADDED|MODIFIED|REMOVED|RENAMED Requirements`
55
- - 每个 `### Requirement:` 至少包含 1 个 `#### Scenario:`
56
- - Scenario 用 `- **WHEN** / - **THEN** / - **AND**` 描述可验收行为
57
- - 涉及边界条件的必须单独写 Scenario
23
+ Tasks must be atomic, ordered, dependency-aware, and linked to requirement IDs.