测试驱动开发-MCP(或“测试驱动开发-微软认证专业人员”,具体翻译取决于“MCP”在此上下文中的具体含义,但通常“MCP”代表“Microsoft Certified Professional”,即微软认证专业人员)
🎯 本地开发重点TDD-MCP 通过 Docker 在本地运行,并挂载您的代码仓库。简单、快速,无需处理远程部署的复杂性。
本地TDD(测试驱动开发)专用的MCP(可能是指某种配置或管理平台)服务器,用于发现或生成仓库检查清单,并启动引导程序/测试。
工作流图
flowchart TD
A[Run start-mcp.sh] --> B{Checklist exists?}
B -->|No| C[Generate .mcp/checklist.yaml]
C --> D[Scaffold CHECKLIST.md and src/tasks/*]
B -->|Yes| D
D --> E[Create/Update src/master.py]
E --> F[Bootstrap deps]
F --> G[Run tests TDD]
G -->|fail| H[Fix code / tests]
H --> F
G -->|pass| I[Mark checkbox in CHECKLIST.md]目录
概述
这台服务器可以:
- 检测
.mcp/*.yaml在仓库中使用检查清单,或根据(某内容)生成一个检查清单README.md如果缺失 - 在仓库根目录下创建一个包含复选框的CHECKLIST.md文件,以便人类理解(参见 Workflow.md 翻译为中文是:“工作流程.md”(其中“.md”通常表示Markdown格式的文件))
- 运行依赖项引导脚本和测试以支持TDD(测试驱动开发)工作流程
- 在本地完全运行,将您的仓库挂载到Docker容器中
关键设计决策: TDD-MCP 通过 Docker 在本地运行,以确保服务器能够直接访问您的代码库文件系统。这样既消除了远程部署的架构复杂性,又保持了隔离性和可重复性。
验收标准:
- 存在一个以下列形式呈现的核对清单:
.mcp/checklist.yaml或者在缺失时生成 - 在编写之前,可以对动作和生成进行预演(或模拟运行)
- 服务器对存储库文件系统具有读/写访问权限
快速入门(本地Docker)
端口: 63777 (选择以避免常见冲突)\ 容器名称: TDD-MCP\ 访问: http://localhost:63777
来自这个仓库
# Start server for this repository
LANGUAGE=python ./start-mcp.sh .来自其他任何仓库
# Start TDD-MCP server with your project mounted
LANGUAGE=python /path/to/test-driven-development-mcp/start-mcp.sh $(pwd)自动发生的情况是:
- 🐳 构建并运行 Docker 容器于
http://localhost:63777 - 📁 将您的存储库挂载到
/work集装箱内部 - 🔍 向您的仓库结构介绍服务器
- 📋 创建检查清单或开始TDD(测试驱动开发)的初始化/测试
- ✅ 服务器对您的文件具有完全的读/写访问权限
语言选择
- 服务器接受默认语言,并将其包含在生成的检查清单中,作为
metadata.default_language - 支持的语言:
python,node,go,rust,java,cpp - 启动脚本会提示选择语言(如果)
LANGUAGE环境变量未设置
示例:
# Interactive (will prompt for language)
./start-mcp.sh /path/to/repo
# Non-interactive with language specified
LANGUAGE=python ./start-mcp.sh /path/to/repo
LANGUAGE=node ./start-mcp.sh /path/to/repo
LANGUAGE=go ./start-mcp.sh /path/to/repo终点(或:终点指标)
基本URL: http://localhost:63777
GET /health- 检查服务器健康状况GET /version- 获取服务器版本GET /docs交互式API文档(Swagger UI)POST /introduce- 将仓库引入服务器
- 正文: { "repoPath": "/work" } - 返回内容:仓库信息、现有检查清单、下一步操作
POST /ensure-checklist- 生成或验证检查清单的存在
- 正文: { "repoPath": "/work", "dryRun": false, "language": "python|node|go|rust|java|cpp" } - 创建 .mcp/checklist.yaml 并且 CHECKLIST.md
POST /tdd/start- 开始TDD(测试驱动开发)工作流程
- 正文: { "repoPath": "/work", "language": "python|node|go|rust|java|cpp" } - 启动依赖项并运行测试
示例用法:
# Check health
curl http://localhost:63777/health
# Introduce your repository
curl -X POST http://localhost:63777/introduce \
-H "Content-Type: application/json" \
-d '{"repoPath": "/work"}'
# Generate checklist
curl -X POST http://localhost:63777/ensure-checklist \
-H "Content-Type: application/json" \
-d '{"repoPath": "/work", "language": "python", "dryRun": false}'
# Start TDD workflow
curl -X POST http://localhost:63777/tdd/start \
-H "Content-Type: application/json" \
-d '{"repoPath": "/work", "language": "python"}'模块化函数与主协调器
- 模块化函数被编写到各个单独的文件中,位于
src/tasks/(每个检查表项目对应一个文件)。 - 主编曲文件
src/master.py按顺序导入并调用每个任务函数。 - 每个导入的函数上方都有一个注释,指明了具体的文件路径,这使得引用调用分析(RCAs)和代码导航变得容易。
- 这种模式是本项目中的标准且必要的实践,旨在确保变更可审计,任务可独立测试。
复选框语义
- 每个检查表项目都对应一个复选框
CHECKLIST.md. - 只有当某项测试通过并且该函数被正确连接时,才会对该项目进行检查
src/master.py。 - 未检查的项目要么未实现,要么测试失败。
可选:CLI 检查清单工具
你也可以通过一个小型的Node CLI来管理检查清单(在服务器外部使用非常方便):
node bin/mcp-checklist.js --repo . --dry-run
node bin/mcp-checklist.js --repo .或者使用环境变量:
MCP_REPO_PATH=$(pwd) node bin/mcp-checklist.js --dry-run当嵌入到MCP服务器中时,CLI可以在启动时通过指定目标仓库路径来调用;如果未找到任何检查清单文件,它将生成 .mcp/checklist.yaml 根据README文件,成功退出。
在其他存储库中使用TDD-MCP
TDD-MCP旨在通过本地Docker与任何存储库协同工作。以下是推荐的方法:
方法1:使用启动脚本(推荐)
使用TDD-MCP与任何存储库的最简单方法:
# Clone or download TDD-MCP repository once
git clone https://github.com/Hawaiideveloper/test-Driven_Development-MCP.git ~/tdd-mcp
# Use with any project
cd /path/to/your/project
LANGUAGE=python ~/tdd-mcp/start-mcp.sh $(pwd)所发生的事情:
- 🐳 启动Docker容器,并挂载您的仓库
- 📁 服务器对您的文件具有完全的读/写访问权限
- 🔍 自动检测或生成检查清单
- ✅ 准备开始TDD(测试驱动开发)工作流程
方法2:快速仓库辅助脚本
对于在任何新仓库中即时设置TDD(测试驱动开发):
# One-liner: Download and run in any repository
curl -sSL https://raw.githubusercontent.com/Hawaiideveloper/test-Driven_Development-MCP/main/tdd-helper.sh -o tdd-helper.sh && chmod +x tdd-helper.sh && ./tdd-helper.sh辅助脚本的作用是:
- 🔍 看起来像是一个放大镜的符号,常用于表示搜索或查看细节。在中文里,这个符号本身没有直接的翻译,但可以根据上下文理解为“🔍 搜索”、“🔍 查看细节”或“🔍 寻找”。如果单独使用,可以简单地说成“🔍 放大镜”或“🔍 搜索符号”。 自动检测 现有的TDD-MCP Docker容器
- 📝(一个带有笔记或书写内容的符号,具体含义可能根据上下文而变化,但通常表示与笔记、记录或书写相关的内容) 介绍 将你的代码库迁移到TDD-MCP
- 🎯(瞄准目标) 语言检测自动检测 Python、Node.js、Go、Rust、Java、C++
- 📋(清单/待办事项列表) 创建检查清单生成
CHECKLIST.md并且.mcp/checklist.yaml - ⚙️ 通常表示“齿轮”或“机械装置”的图标,没有具体的文字含义,但在上下文中可能象征着机械、技术、调整或设置等概念。 配置保存创建
.tdd-mcp-config以备将来使用
支持的项目类型:
- python:
requirements.txt,setup.py,pyproject.toml - Node.js:
package.json - 走(或“去”):
go.mod - Rust(锈/锈蚀):
Cargo.toml - Java:
pom.xml,build.gradle - C:
CMakeLists.txt,Makefile
方法3:手动运行Docker
直接使用Docker运行TDD-MCP:
# In your repository
docker run -d -p 63777:63777 \
-v "$(pwd):/work" \
--name TDD-MCP \
ghcr.io/hawaiideveloper/tdd-mcp:latest
# Server is now available at http://localhost:63777
curl http://localhost:63777/health方法4:Git子模块集成
将TDD-MCP添加为子模块以进行版本控制:
# In your repository
git submodule add https://github.com/Hawaiideveloper/test-Driven_Development-MCP.git .tdd-mcp
git submodule update --init --recursive
# Run from submodule
cd .tdd-mcp
./start-mcp.sh ..方法5:独立Python服务器
直接运行服务器,不使用Docker:
# Clone the repository
git clone https://github.com/Hawaiideveloper/test-Driven_Development-MCP.git
cd test-Driven_Development-MCP
# Install dependencies
pip install -r server/requirements.txt
# Run server
cd server
python main.py
# Server runs on http://localhost:63777注: 此方法需要Python 3.8及以上版本,并且需要手动管理依赖项。
另见:GETTING_STARTED.md
如需更详细的逐步指南及特定编辑器(VS Code、Cursor、Claude)的使用技巧,请参阅 GETTING_STARTED.md。
