mcpField
S
specforge

specforge

本地服务
github.com/CloudCorpRecords开发工具01 周前更新

关于 specforge

specforge 是用于本地规格驱动开发的工具,为开发者维护每个功能的规格、计划、任务及相关文档。它通过 CLI 和 stdio MCP 服务提供相同操作,并可创建 Git 分支及运行质量检查。

主要功能

  1. 01维护功能规格与文档
  2. 02生成计划和任务清单
  3. 03校验规格完整性
  4. 04管理任务状态与搜索
  5. 05创建 Git 分支
  6. 06运行格式、Lint、测试和安全审计

适用场景

  1. 01为新功能建立规格目录
  2. 02将规格转为可跟踪任务
  3. 03检查规格内容是否完整
  4. 04在工作区执行代码质量检查

MCP 相关

提供 stdio MCP 服务,向 MCP 客户端开放规格、计划、任务、Git 和质量检查等工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-specforge": {
"command": "npx",
"args": [
"-y",
"@reneturcios/specforge"
]
}
}
}
启动命令npx -y @reneturcios/specforge

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@reneturcios/specforge0.1.0
ocighcr.io/cloudcorprecords/specforge:0.1.0

工具

22

收录的工具列表 · 更新于 1 周前

参数类型必填说明
agentstring否指定时记录与该功能关联的 Agent 名称。
projectNamestring是新功能的项目名称。

详细介绍

specforge

specforge 是一款用于规范驱动开发的本地工具。它会在工作区中维护一个 specs/ 树:每项功能都有一个带编号的 目录,其中包含规范、章程、计划、任务列表、 研究笔记、澄清和契约;specforge 会创建并维护这些文件。它还可以创建 git 分支,并运行格式化、lint、测试和安全审计检查。 一个二进制文件同时提供命令行界面和 stdio MCP 服务;这里没有任何内容会连接网络服务。

工作区根目录取自 SPECFORGE_ROOT 环境变量,默认为当前工作目录。“当前功能”是大多数工具操作的对象, 即 specs/ 下编号最高的目录;如果尚无功能, 需要当前功能的工具会报错。

安装

npx @reneturcios/specforge specify_start --project-name "My Feature"

或者运行容器映像:

docker run -i ghcr.io/cloudcorprecords/specforge

容器默认启动 MCP 服务(见下文)。传入 CLI 参数即可将其用作 CLI。

CLI

子命令与 MCP 工具名称相对应:

export SPECFORGE_ROOT=/path/to/workspace

specforge specify_start --project-name "Widget API" --agent claude
specforge specify_describe --description "As a user I can create widgets."
specforge constitution_create --principles "Ship small,Test first" --constraints "Node 20"
specforge clarify_add --question "Which database?" --context storage
specforge clarify_resolve --clarification-id CLARIFY-001 --resolution Postgres
specforge spec_validate
specforge research_append --content "Evaluated two libraries; picked the smaller one."
specforge plan_create --constraints-text "Must ship by Friday."
specforge spec_refine --section Requirements --changes "- Must be fast"
specforge artifacts_analyze --artifacts spec,plan,tasks,contracts
specforge tasks_generate --scope backend
specforge tasks_tick --task-id T-001
specforge tasks_tick_range --task-ids T-002,T-003
specforge tasks_filter --preset actionable --limit 5
specforge tasks_search --query widget --fuzzy true
specforge tasks_visualize --format mermaid
specforge tasks_stats --include-charts true
specforge git_create_branch --branch-name feature/widgets
specforge quality_format
specforge quality_lint --fix true
specforge quality_test --coverage true
specforge quality_security_audit

specforge --version

结果以 JSON 格式输出。退出码:成功时为 0;工具失败时为 1(例如没有当前功能,或底层 git/质量检查命令以非零状态退出);用法错误时为 2。

MCP 服务

一个二进制文件提供两种用法。mcp 子命令会启动 stdio MCP 服务:

npx -y @reneturcios/specforge mcp

MCP 客户端配置:

{
  "mcpServers": {
    "specforge": {
      "command": "npx",
      "args": ["-y", "@reneturcios/specforge", "mcp"],
      "env": { "SPECFORGE_ROOT": "/path/to/workspace" }
    }
  }
}
工具
工具输入功能
specify_startprojectName(必填)、agent创建下一个编号的功能目录,其中包含规格模板、contracts/ 和 research.md。
specify_describedescription(必填)将描述写入当前功能规格的用户故事部分。
constitution_createprinciples(必填)、constraints、preferences为当前功能编写 constitution.md。
clarify_addquestion(必填)、context将澄清项(CLARIFY-NNN,resolution 为 null)追加到 clarifications.json。
clarify_resolveclarificationId、resolution(均为必填)设置澄清项的解决方案。
spec_validatechecks(可选对象)检查规格是否存在且完整;返回各项检查结果。
research_appendcontent(必填)追加内容到 research.md。
plan_createconstraintsText(必填)根据约束编写 plan.md。
spec_refinesection、changes(均为必填)替换或添加 spec.md 中的指定章节。
artifacts_analyzeartifacts(必填数组)报告指定构件是否存在及其大小。
tasks_generatescope(可选)根据规格生成 tasks.md,内容为编号复选框列表。
tasks_ticktaskId(必填)将任务 T-NNN 标记为已完成。
tasks_tick_rangetaskIds(必填数组)将多个任务标记为已完成;报告缺失的 ID。
tasks_filterpreset、limit(可选)列出任务;默认预设为可执行的(未勾选)任务。
tasks_searchquery(必填)、fuzzy搜索任务文本;模糊匹配也会接受子序列。
tasks_visualizeformat(可选)将任务列表渲染为 text(默认)或 mermaid。
tasks_statsgroupBy、includeCharts(可选)统计已完成和待处理的任务,可选择附带文本图表。
git_create_branchbranchName(必填)在工作区运行 git checkout -b <branchName>。
quality_formatfix(可选)运行 Prettier 检查;如果设置 fix,则运行 --write。
quality_lintfix(可选)运行 ESLint;如果设置 fix,则运行 --fix。
quality_testcoverage(可选)运行 npm test,可选择启用覆盖率。
quality_security_auditfix(可选)运行 npm audit;如果设置 fix,则运行 npm audit fix。

如果底层命令不可用或以非零状态退出,Git 和质量工具会返回错误结果;只有命令成功运行时,它们才会报告成功。

注意:原项目的说明文字还提到了 clarify_list 和 artifacts_read,但它们并未出现在文档的工具表中,因此不属于此重建版本。

开发

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, temp dirs and a fake executor, no network
npm run dev     # run the CLI from source via tsx

许可证

MIT — 参见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。