Specforge

io.github.CloudCorpRecords由 GitHub 账号 CloudCorpRecords 发布v0.1.0更新于 Nov 3, 2026

本地规范驱动开发:规范、章程、计划、任务、git 与质量检查。

AI 翻译由 AI 模型根据下方的原文描述翻译,可能有误。

原文描述

Spec-driven development locally: specs, constitutions, plans, tasks, git and quality checks.

已验证STDIO仅桌面开发者工具

概览

Specforge 的本地 MCP 服务;无需登录;STDIO。

暂无 AI 概览:以下信息来自注册中心条目和服务本身。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Specforge,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

specforge

specforge is a local tool for spec-driven development. It keeps a specs/ tree in a workspace: every feature gets a numbered directory holding its spec, constitution, plan, task list, research notes, clarifications and contracts, and specforge creates and maintains those files. It can also create a git branch and run format, lint, test and security-audit checks. One binary serves a command-line interface and a stdio MCP server; nothing here talks to a network service.

The workspace root is taken from the SPECFORGE_ROOT environment variable, defaulting to the current working directory. The "current feature" that most tools operate on is the highest-numbered directory under specs/; tools that need one fail with an error when no feature exists yet.

Install

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

Or run the container image:

bash
docker run -i ghcr.io/cloudcorprecords/specforge

The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.

CLI

The subcommands mirror the MCP tool names:

bash
export SPECFORGE_ROOT=/path/to/workspace
specforge specify_start --project-name "Widget API" --agent claudespecforge 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 storagespecforge clarify_resolve --clarification-id CLARIFY-001 --resolution Postgresspecforge spec_validatespecforge 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,contractsspecforge tasks_generate --scope backendspecforge tasks_tick --task-id T-001specforge tasks_tick_range --task-ids T-002,T-003specforge tasks_filter --preset actionable --limit 5specforge tasks_search --query widget --fuzzy truespecforge tasks_visualize --format mermaidspecforge tasks_stats --include-charts truespecforge git_create_branch --branch-name feature/widgetsspecforge quality_formatspecforge quality_lint --fix truespecforge quality_test --coverage truespecforge quality_security_audit
specforge --version

Results print as JSON. Exit codes: 0 on success, 1 when a tool fails (for example there is no current feature, or the underlying git/quality command exits non-zero), 2 for usage errors.

MCP server

One bin serves both faces. The mcp subcommand starts a stdio MCP server:

bash
npx -y @reneturcios/specforge mcp

MCP client configuration:

json
{  "mcpServers": {    "specforge": {      "command": "npx",      "args": ["-y", "@reneturcios/specforge", "mcp"],      "env": { "SPECFORGE_ROOT": "/path/to/workspace" }    }  }}

Tools

ToolInputWhat it does
specify_startprojectName (required), agentCreate the next numbered feature directory with a spec template, contracts/ and research.md.
specify_describedescription (required)Write the description into the current feature's spec user-story section.
constitution_createprinciples (required), constraints, preferencesWrite constitution.md for the current feature.
clarify_addquestion (required), contextAppend a clarification (CLARIFY-NNN, resolution null) to clarifications.json.
clarify_resolveclarificationId, resolution (both required)Set the resolution for a clarification.
spec_validatechecks (optional object)Check the spec's presence and completeness; returns per-check results.
research_appendcontent (required)Append to research.md.
plan_createconstraintsText (required)Write plan.md from the constraints.
spec_refinesection, changes (both required)Replace or add a named section in spec.md.
artifacts_analyzeartifacts (required array)Report presence and size of named artifacts.
tasks_generatescope (optional)Generate tasks.md, a numbered checkbox list derived from the spec.
tasks_ticktaskId (required)Mark a task T-NNN done.
tasks_tick_rangetaskIds (required array)Mark several tasks done; missing ids are reported.
tasks_filterpreset, limit (optional)List tasks; the default preset is the actionable (unchecked) ones.
tasks_searchquery (required), fuzzySearch task text; fuzzy matching also accepts subsequences.
tasks_visualizeformat (optional)Render the task list as text (default) or mermaid.
tasks_statsgroupBy, includeCharts (optional)Count done and pending tasks, optionally with a text chart.
git_create_branchbranchName (required)Run git checkout -b <branchName> in the workspace.
quality_formatfix (optional)Run the Prettier check, or --write with fix.
quality_lintfix (optional)Run ESLint, or with --fix.
quality_testcoverage (optional)Run npm test, optionally with coverage.
quality_security_auditfix (optional)Run npm audit, or npm audit fix with fix.

The git and quality tools report an error result when the underlying command is unavailable or exits non-zero; they never report success for a command that did not run cleanly.

Note: the original project's prose also mentions clarify_list and artifacts_read, but they do not appear in its documented tools table, so they are not part of this rebuild.

Development

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

License

MIT — see LICENSE.

来源:README.md,提交 33f80e0

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.0最新Nov 3, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分