项目简介

'spec-driven-workflow' 是一个旨在通过AI指导实现可预测软件交付的规范驱动开发工作流。它将AI协作与人类开发人员对齐,围绕共享的真实来源。该项目提供了一套精选的提示(prompts),指导AI从初步想法到详细规范、可执行任务列表,再到最终实施。其中,包含了一个基于 Model Context Protocol (MCP) 的服务器,用于向AI客户端提供这些核心提示和工具,实现更深度的自动化集成。

主要功能点

  • Prompt 模板托管: 托管并管理 'generate-spec' (生成规范)、'generate-task-list-from-spec' (从规范生成任务列表) 和 'manage-tasks' (管理任务) 等核心提示模板。这些提示旨在引导AI代理完成从概念到可交付成果的整个开发周期。
  • 工具注册与执行: 注册并允许LLM调用外部功能,例如目前已提供一个基础的测试工具 'basic-example',未来可扩展更多用于代码分析、文件操作等工具。
  • 标准化AI交互接口: 通过Model Context Protocol (MCP) 和 JSON-RPC 协议提供标准化的API接口,使AI客户端能够以统一的方式访问托管的提示和工具,增强互操作性。
  • 多传输协议支持: 支持Stdio和HTTP等多种传输协议,方便在不同环境(如本地开发、IDE集成或远程服务)中部署和使用。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/liatrio-labs/spec-driven-workflow.git
    cd spec-driven-workflow
  2. 安装依赖: 使用 'uv' 包管理器同步并安装项目依赖。如果未安装 'uv',请先安装:'pip install uv'。
    uv sync

服务器配置 (MCP客户端使用)

MCP服务器是后端服务,通常由MCP客户端连接和使用。客户端需要配置服务器的启动命令和参数。以下是配置示例:

{
  "server_name": "spec-driven-development-mcp",
  "description": "为AI驱动的规范开发工作流提供核心服务,托管核心提示和工具。",
  "command": [
    "uvx",
    "--from",
    "git+https://github.com/liatrio-labs/spec-driven-workflow",
    "spec-driven-development-mcp"
  ],
  "args": [],
  "config_notes": "默认使用stdio传输协议。如需使用HTTP传输,请在args中添加或修改参数:\n- 使用HTTP端口8000: [\"--transport\", \"http\", \"--port\", \"8000\"]\n- 默认stdio: []"
}
  • 'server_name': 服务器的唯一标识符。
  • 'description': 服务器的简要描述。
  • 'command': 启动MCP服务器的命令。'uvx --from git+https://github.com/liatrio-labs/spec-driven-workflow spec-driven-development-mcp' 是通过 'uvx' 工具直接从GitHub仓库运行服务器的命令。
  • 'args': 传递给启动命令的参数。
    • '[]': 默认使用标准输入输出 (Stdio) 传输协议,适合本地或IDE集成。
    • '["--transport", "http", "--port", "8000"]': 使用HTTP作为传输协议,监听8000端口,适合远程或Web集成。

基本使用方法

MCP服务器启动后,任何支持MCP协议的客户端(如AI代理或集成开发环境)即可通过上述配置信息连接到该服务器。

连接后客户端可以:

  1. 获取Prompt列表: 客户端可以请求服务器提供所有可用的Prompt模板(如 'generate-spec', 'generate-task-list-from-spec', 'manage-tasks')。
  2. 调用Prompt: 客户端可以根据需要调用特定的Prompt,并将用户输入作为参数传递。服务器将返回渲染后的Prompt内容,供LLM使用。例如,调用 '/generate-spec I want to add user authentication to my app' 即可开始生成用户认证功能的规范。
  3. 调用工具: 客户端可以调用服务器注册的工具,以执行特定的后端逻辑。例如,调用 'basic-example' 工具进行测试。

通过这些交互,AI客户端可以利用服务器托管的开发工作流提示和工具,更有效地指导开发过程,生成规范、任务列表,并辅助任务管理和代码实现。

信息

分类

开发者工具