mcpField
S
specforge

specforge

ローカル
github.com/CloudCorpRecords開発ツール01 週間前に更新

specforge について

specforgeは、機能ごとの仕様、計画、タスク、関連ドキュメントを管理する、ローカルの仕様駆動開発ツールです。CLIとstdio MCPサーバーで同じ操作を提供し、Gitブランチ作成や品質チェックにも対応します。

主な機能

  1. 01機能仕様と関連文書の管理
  2. 02計画とタスクリストの生成
  3. 03仕様の完全性チェック
  4. 04タスクの管理と検索
  5. 05Gitブランチの作成
  6. 06フォーマット、Lint、テスト、セキュリティ監査

活用シーン

  1. 01機能用の仕様ディレクトリの作成
  2. 02仕様から追跡可能なタスクへの変換
  3. 03仕様の完全性の確認
  4. 04ワークスペースでの品質チェック

MCP 対応

stdio MCPサーバーを提供し、仕様、計画、タスク、Git、品質チェックのツールをMCPクライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの 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いいえ指定された場合、機能に関連付けるエージェント名を記録します。
projectNamestringはい新しい機能のプロジェクト名。

詳細

specforge

specforge は、仕様駆動開発のためのローカルツールです。ワークスペース内に specs/ ツリーを保持します。各機能には、仕様書、憲章、計画、タスクリスト、 調査メモ、明確化事項、コントラクトを格納する番号付きディレクトリが割り当てられ、 specforge がこれらのファイルを作成・管理します。Git ブランチを作成し、フォーマット、Lint、テスト、セキュリティ監査のチェックを実行することもできます。 1 つのバイナリでコマンドラインインターフェースと 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、ツールが失敗した場合(たとえば、現在の機能が存在しない場合や、基盤となる git/品質チェックコマンドが 0 以外で終了した場合)は 1、使用方法に誤りがある場合は 2 です。

MCP サーバー

1 つのバイナリで両方のインターフェースを提供します。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、解決内容は 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 を指定して実行します。
quality_testcoverage(任意)npm test を実行します。オプションでカバレッジも確認できます。
quality_security_auditfix(任意)npm audit を実行するか、fix を指定して npm audit fix を実行します。

git ツールと quality ツールは、基盤となるコマンドが利用できない場合、またはゼロ以外の終了コードで終了した場合にエラー結果を報告します。正常に実行されなかったコマンドを成功として報告することはありません。

注:元のプロジェクトの説明文には 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 を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。