Skip to main content

mspec-cli - 成员规范驱动开发工作流 CLI 工具

Project description

mspec-cli

PyPI version Python version License

mspec-cli - 成员规范驱动开发工作流 CLI 工具

通过交互式命令行澄清机制,实现结构化问题发现与澄清,提升需求明确度和开发效率。

特性

  • 🚀 一键安装 - pip install mspec-cli 即可使用
  • 🔄 交互式澄清 - 一问一答的引导式交互界面
  • 💾 断点续传 - 支持随时中断,下次自动恢复
  • 📚 结构化问题分类 - 6个需求维度 + 7个设计维度
  • 🎨 美观界面 - 使用 Rich 库提供彩色终端输出

文档

📚 完整文档 →

新手入门

完整指南

实战教程

参考手册

其他

快速开始

安装

pip install mspec-cli

初始化项目

# 进入项目目录
cd my-project

# 初始化 mspec 配置
mspec init

检查环境

mspec doctor

更新模板

mspec update

命令说明

mspec init [path]

初始化 mspec 项目配置

选项:

  • --template, -t <url> - 使用自定义模板仓库
  • --force, -f - 强制覆盖已有配置
  • --dry-run - 模拟运行,不实际创建文件
  • --yes, -y - 跳过确认,使用默认配置

示例:

mspec init                          # 初始化当前目录
mspec init ./my-project             # 初始化指定目录
mspec init --force                  # 强制覆盖已有配置
mspec init --template https://github.com/your-org/mspec-template

mspec update

更新模板到最新版本

选项:

  • --check - 仅检查更新,不执行更新

示例:

mspec update          # 更新到最新版本
mspec update --check  # 仅检查是否有更新

mspec doctor

诊断环境配置

示例:

mspec doctor

工作流

需求输入
    │
    ▼
┌─────────────────────────────────────┐
│  阶段 1: 需求澄清 (交互式)           │
│  - 生成 requirement-issues.md        │
│  - 交互式澄清 High/Medium 问题       │
└─────────────────────────────────────┘
    │
    ▼
┌─────────────────────────────────────┐
│  阶段 2: 提案创建                    │
│  - 创建 proposal.md                  │
└─────────────────────────────────────┘
    │
    ▼
┌─────────────────────────────────────┐
│  阶段 3: 规格定义                    │
│  - 创建 specs/*.md                   │
└─────────────────────────────────────┘
    │
    ▼
┌─────────────────────────────────────┐
│  阶段 4: 技术方案                    │
│  - 创建 design.md                    │
└─────────────────────────────────────┘
    │
    ▼
┌─────────────────────────────────────┐
│  阶段 5: 设计澄清 (交互式)           │
│  - 生成 design-issues.md             │
│  - 交互式澄清 High/Medium 问题       │
└─────────────────────────────────────┘
    │
    ▼
┌─────────────────────────────────────┐
│  阶段 6: 任务创建                    │
│  - 创建 tasks.md                     │
└─────────────────────────────────────┘
    │
    ▼
实施 (apply)

问题分类学

需求问题 (6个维度)

  1. 功能完整性 - 功能边界、流程、依赖
  2. 数据相关 - 数据定义、量级、一致性
  3. 用户体验 - 用户场景、交互、性能
  4. 边界与异常 - 边界条件、异常场景、权限
  5. 集成与依赖 - 外部系统、内部模块、环境
  6. 优先级与范围 - 必需vs可选、时间、资源

设计问题 (7个维度)

  1. 架构决策 - 架构方案、服务边界、扩展性
  2. 技术选型 - 框架、数据库、中间件
  3. 接口设计 - API契约、数据流、异步处理
  4. 数据与状态 - 数据模型、状态机、迁移
  5. 安全与合规 - 认证授权、数据安全、审计
  6. 性能与可靠性 - 性能瓶颈、缓存、降级熔断
  7. 部署与运维 - 部署方案、监控告警、配置管理

交互式澄清

=================================================================
📋 问题 [3/8] - 功能点: 用户管理
=================================================================

❓ 问题:用户资料需要包含哪些字段?

💡 说明:
   当前需求中"用户资料"范围不明确,需要明确包含哪些
   必填字段和选填字段,这将影响数据库设计和前端表单开发。

🔘 备选选项:

   A) 基础版:用户名、邮箱、手机号
   B) 标准版:用户名、邮箱、手机号、头像、昵称
   C) 完整版:用户名、邮箱、手机号、头像、昵称、
              部门、职位、入职日期
   D) 自定义...

✏️ 你的选择:
=================================================================

操作指令:

  • A, B, C, D... - 选择对应选项
  • E 或最后一个选项 - 选择自定义输入模式
  • q - 退出保存,下次自动恢复
  • s - 跳过当前问题(仅 Low 优先级)

配置

mspec 配置文件位于 openspec/config.yaml,包含:

  • 问题分类学引用
  • 交互式澄清配置
  • 各阶段规则定义

开发

# 克隆仓库
git clone https://github.com/mspec-dev/mspec.git
cd mspec

# 创建虚拟环境
python -m venv venv
source venv/bin/activate  # Linux/Mac
# 或
venv\Scripts\activate  # Windows

# 安装依赖
pip install -e ".[dev]"

# 运行测试
pytest

# 格式化代码
black src/
isort src/

# 类型检查
mypy src/

许可证

MIT

贡献

欢迎提交 Issue 和 PR!

相关链接

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mspec_cli-4.0.12.tar.gz (29.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mspec_cli-4.0.12-py3-none-any.whl (32.8 kB view details)

Uploaded Python 3

File details

Details for the file mspec_cli-4.0.12.tar.gz.

File metadata

  • Download URL: mspec_cli-4.0.12.tar.gz
  • Upload date:
  • Size: 29.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.6

File hashes

Hashes for mspec_cli-4.0.12.tar.gz
Algorithm Hash digest
SHA256 557ba7e2b30defcdd4ba2598f8fe037da1f448f48ed91b94db45c1f1b1f87867
MD5 5e77adbdc9eb09d16e2d5992cf9885cc
BLAKE2b-256 732064a9f1f25e912129983eef5ac98cb17e0070659fb07c5db7e84d1bdaf7da

See more details on using hashes here.

File details

Details for the file mspec_cli-4.0.12-py3-none-any.whl.

File metadata

  • Download URL: mspec_cli-4.0.12-py3-none-any.whl
  • Upload date:
  • Size: 32.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.6

File hashes

Hashes for mspec_cli-4.0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 9f7ed4e3ac91b5e4ba06d360d177ee0fe0f0d24bb51d6b9ac7d2e918bfc3ef6e
MD5 56f1c791628dd20e05fc16f7cc0b78bc
BLAKE2b-256 f29c80aba65f1a24f8c5ce87037d7722728b43934f5d42c21040c360624db92e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page