mspec-cli 4.0.9__tar.gz → 4.0.11__tar.gz
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.
- {mspec_cli-4.0.9/src/mspec_cli.egg-info → mspec_cli-4.0.11}/PKG-INFO +1 -1
- {mspec_cli-4.0.9 → mspec_cli-4.0.11}/pyproject.toml +1 -1
- {mspec_cli-4.0.9 → mspec_cli-4.0.11}/src/mspec/__init__.py +1 -1
- {mspec_cli-4.0.9 → mspec_cli-4.0.11}/src/mspec/cli.py +2 -1
- {mspec_cli-4.0.9 → mspec_cli-4.0.11}/src/mspec/commands/doctor.py +3 -3
- {mspec_cli-4.0.9 → mspec_cli-4.0.11}/src/mspec/templates/config.yaml +15 -13
- {mspec_cli-4.0.9 → mspec_cli-4.0.11/src/mspec_cli.egg-info}/PKG-INFO +1 -1
- {mspec_cli-4.0.9 → mspec_cli-4.0.11}/LICENSE +0 -0
- {mspec_cli-4.0.9 → mspec_cli-4.0.11}/MANIFEST.in +0 -0
- {mspec_cli-4.0.9 → mspec_cli-4.0.11}/README.md +0 -0
- {mspec_cli-4.0.9 → mspec_cli-4.0.11}/setup.cfg +0 -0
- {mspec_cli-4.0.9 → mspec_cli-4.0.11}/src/mspec/__main__.py +0 -0
- {mspec_cli-4.0.9 → mspec_cli-4.0.11}/src/mspec/commands/__init__.py +0 -0
- {mspec_cli-4.0.9 → mspec_cli-4.0.11}/src/mspec/commands/init.py +0 -0
- {mspec_cli-4.0.9 → mspec_cli-4.0.11}/src/mspec/commands/update.py +0 -0
- {mspec_cli-4.0.9 → mspec_cli-4.0.11}/src/mspec/core/__init__.py +0 -0
- {mspec_cli-4.0.9 → mspec_cli-4.0.11}/src/mspec/core/config.py +0 -0
- {mspec_cli-4.0.9 → mspec_cli-4.0.11}/src/mspec/core/openspec_manager.py +0 -0
- {mspec_cli-4.0.9 → mspec_cli-4.0.11}/src/mspec/core/template.py +0 -0
- {mspec_cli-4.0.9 → mspec_cli-4.0.11}/src/mspec/templates/design-issue-taxonomy.md +0 -0
- {mspec_cli-4.0.9 → mspec_cli-4.0.11}/src/mspec/templates/design-issues.md +0 -0
- {mspec_cli-4.0.9 → mspec_cli-4.0.11}/src/mspec/templates/requirement-issue-taxonomy.md +0 -0
- {mspec_cli-4.0.9 → mspec_cli-4.0.11}/src/mspec/templates/requirement-issues.md +0 -0
- {mspec_cli-4.0.9 → mspec_cli-4.0.11}/src/mspec/utils/__init__.py +0 -0
- {mspec_cli-4.0.9 → mspec_cli-4.0.11}/src/mspec/utils/console.py +0 -0
- {mspec_cli-4.0.9 → mspec_cli-4.0.11}/src/mspec_cli.egg-info/SOURCES.txt +0 -0
- {mspec_cli-4.0.9 → mspec_cli-4.0.11}/src/mspec_cli.egg-info/dependency_links.txt +0 -0
- {mspec_cli-4.0.9 → mspec_cli-4.0.11}/src/mspec_cli.egg-info/entry_points.txt +0 -0
- {mspec_cli-4.0.9 → mspec_cli-4.0.11}/src/mspec_cli.egg-info/requires.txt +0 -0
- {mspec_cli-4.0.9 → mspec_cli-4.0.11}/src/mspec_cli.egg-info/top_level.txt +0 -0
- {mspec_cli-4.0.9 → mspec_cli-4.0.11}/tests/test_init.py +0 -0
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import click
|
|
5
5
|
from rich.console import Console
|
|
6
6
|
|
|
7
|
+
from mspec import __version__
|
|
7
8
|
from mspec.commands import doctor, init, update
|
|
8
9
|
from mspec.utils.console import print_banner
|
|
9
10
|
|
|
@@ -11,7 +12,7 @@ console = Console()
|
|
|
11
12
|
|
|
12
13
|
|
|
13
14
|
@click.group()
|
|
14
|
-
@click.version_option(version=
|
|
15
|
+
@click.version_option(version=__version__, prog_name="mspec")
|
|
15
16
|
@click.option("--verbose", "-v", is_flag=True, help="显示详细日志")
|
|
16
17
|
@click.pass_context
|
|
17
18
|
def cli(ctx: click.Context, verbose: bool) -> None:
|
|
@@ -96,13 +96,13 @@ def _check_openspec_cli() -> dict:
|
|
|
96
96
|
return {"ok": True, "message": f"已安装{version_str}"}
|
|
97
97
|
elif status == OpenspecStatus.NPX_AVAILABLE:
|
|
98
98
|
return {
|
|
99
|
-
"ok":
|
|
100
|
-
"message": "
|
|
99
|
+
"ok": False,
|
|
100
|
+
"message": "未全局安装(npx 可用但不够用)。运行 `mspec init` 自动安装",
|
|
101
101
|
}
|
|
102
102
|
else:
|
|
103
103
|
return {
|
|
104
104
|
"ok": False,
|
|
105
|
-
"message": "
|
|
105
|
+
"message": "未安装且 npx 不可用。先安装 Node.js,再运行 `mspec init`",
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
|
|
@@ -35,12 +35,11 @@ context: |
|
|
|
35
35
|
步骤 2: 分析需求,识别功能点(Capabilities)
|
|
36
36
|
步骤 3: 按 6 个维度检查每个功能点的问题
|
|
37
37
|
步骤 4: 创建 spec/requirement-issues.md,填充发现问题
|
|
38
|
-
步骤 5:
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
- 支持 'q' 退出保存,'s' 跳过 Low 问题
|
|
38
|
+
步骤 5: 启动批量澄清(一次性提问)
|
|
39
|
+
- 将所有 High/Medium 问题组织为编号列表,一次性展示给用户
|
|
40
|
+
- 格式:"需要确认 N 个问题,请一并回答:\n1. [问题]\n 选项:A) ... B) ...\n2. ..."
|
|
41
|
+
- 等待用户一次性回答所有问题,不要逐题单独提交
|
|
42
|
+
- 收到完整回答后,统一同步到 requirement-issues.md
|
|
44
43
|
步骤 6: 确认所有 High 问题已澄清后,更新状态为 clarified
|
|
45
44
|
```
|
|
46
45
|
|
|
@@ -57,7 +56,11 @@ context: |
|
|
|
57
56
|
步骤 1: 读取 openspec/templates/design-issue-taxonomy.md
|
|
58
57
|
步骤 2: 按 7 个维度分析 design.md 的不确定性
|
|
59
58
|
步骤 3: 创建 spec/design-issues.md
|
|
60
|
-
步骤 4:
|
|
59
|
+
步骤 4: 启动批量澄清(一次性提问)
|
|
60
|
+
- 将所有 High/Medium 设计问题组织为编号列表,一次性展示给用户
|
|
61
|
+
- 格式:"需要确认 N 个设计问题,请一并回答:\n1. [问题]\n 选项:A) ... B) ...\n2. ..."
|
|
62
|
+
- 等待用户一次性回答所有问题,不要逐题单独提交
|
|
63
|
+
- 收到完整回答后,统一同步到 design-issues.md
|
|
61
64
|
步骤 5: 根据澄清结果更新 design.md
|
|
62
65
|
步骤 6: 更新状态为 clarified
|
|
63
66
|
```
|
|
@@ -94,15 +97,14 @@ context: |
|
|
|
94
97
|
|
|
95
98
|
## 💬 交互式澄清配置
|
|
96
99
|
|
|
97
|
-
- **交互模式**:
|
|
98
|
-
- **界面元素**:
|
|
99
|
-
- **同步策略**:
|
|
100
|
+
- **交互模式**: 批量提问——一次性列出所有 High/Medium 问题,等待用户统一回答
|
|
101
|
+
- **界面元素**: 编号问题列表,每题附带 2-4 个备选选项说明
|
|
102
|
+
- **同步策略**: 收到用户完整回答后,统一同步到问题清单(不在每题之后单独同步)
|
|
100
103
|
- **断点续传**: 支持 'q' 退出保存,下次自动从断点恢复
|
|
101
|
-
- **进度显示**:
|
|
104
|
+
- **进度显示**: 在批量提问标题中显示总题数,如 "需要确认 5 个问题(2 High,3 Medium)"
|
|
102
105
|
- **操作指令**:
|
|
103
|
-
-
|
|
106
|
+
- 按编号回答每道题,一次性提交所有答案
|
|
104
107
|
- 输入 'q' 随时退出,进度将自动保存
|
|
105
|
-
- 输入 's' 跳过当前问题(仅 Low 优先级)
|
|
106
108
|
|
|
107
109
|
## 📋 问题清单模板位置
|
|
108
110
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|