MetaCoder ドキュメント

MetaCoder の Harness Engineering パイプライン(/harness)と 4 つの自動化ツールのコマンドリファレンス。本ページの構文・フラグ・既定値は MetaCoder のソースコードと照合済みです。

すべてのコマンドは MetaCoder(デスクトップ版またはエージェントプロンプト)内で実行します。スラッシュコマンドは表示どおりに入力します(例: /harness status)。

概要

MetaCoder は大規模システム向けのグラフ・ファースト AI 開発ツールです。コードベースを意味知識グラフに変換し、Harness Engineering——機械検証される品質ゲートを備えた規律ある 10 フェーズパイプライン——を通じて AI 開発を駆動します。2 つのコマンドファミリがあります:

インストールと初回実行

Windows / macOS 向けの無料デスクトップ アプリをダウンロードページから入手してください。典型的な初回セッション:

/harness init --template react-nextjs-frontend /harness spec --advance "user dashboard with auth and i18n" /harness implement /harness phase advance

Harness Engineering — コンセプトとパイプライン

Harness Engineering は AI 駆動開発に、固定された順序と、楽観的な自己報告ではなく機械が検証する品質基準を与えます。人間も AI も同じレールを通ります。

10 フェーズパイプライン

各フェーズはそのゲートが合格したときのみ前進します。rollback は 1 フェーズずつ戻ります。

requirements → design → test-spec → implementation → code-review → integration-test → performance → security → deploy-plan → confirm ✅

4 つのロール(フェーズごとに自動付与)

ロールフェーズ
pmrequirements / design / deploy-plan / confirm
testertest-spec / integration-test
developerimplementation / performance
reviewercode-review / security
ゲートの内容はプロジェクト定義です。 各ゲートが実行する具体的なチェックは、あなたの harness/workflow/gates.yaml から取得されます。本ドキュメントの一覧は /harness init が生成する標準テンプレートを反映しています。

spec-kit — まず設計し、設計どおりに正確に作る

spec-kit は鍵となるイノベーションです。AI はまず業界標準の設計(プロジェクト憲法spec.md → plan.md → tasks.md の連鎖)を作り、それに厳密に従って実装します——多すぎず・少なすぎず。これにより、AI のハルシネーションが想像上の範囲外機能を追加することを防ぎます。spec-kit は METACODER_HARNESS_SPEC_MODEoff でないときに有効になります。これは /harness spec を支え、design → test-spec への前進時に tasks.md を自動生成し、横断機能(認証・i18n・AI アシスタント)を第一級タスクへ昇格させて何も埋もれないようにします。

/harness — コマンドリファレンス

3 つのグループに分かれた 18 のサブコマンド。以下のフラグと既定値はソース(src/skills/bundled/harness.ts_exec レジストリ)から取得しています。

準備・点検

/harness init

/harness init [--template TYPE] [--force]

目的: ワークスペースに harness/ 規律ディレクトリを雛形生成。前提: なし(--force がなく harness/ が既存の場合は警告)。

効果: harness/{rules,skills,agents,workflow,context}/workflow/phases.yamlgates.yaml を作成。spec-kit が有効なら harness/constitution.md(3 条)と harness/specs/.gitkeep も書き込む。

フラグ既定値説明
--template TYPEminimalminimal, java-spring-enterprise, node-fastapi, python-django, go-microservice, react-nextjs-frontend, cobol-modernization
--forcefalse既存の harness/ ファイルを確認なしで上書き

/harness spec

/harness spec [--feature <name>] [--inputs <paths>] [--advance] [--db <dir>] <brief>

目的: 要件分析/設計フェーズを開始する——宣言された入力から AI に設計文書を著述させ製品コードは一切書かせない/harness implement と対称の相方)。ステータス: 実装済み。

前提: 現在のフェーズが requirements または design であること(フェーズ状態が未設定の場合は自動で requirements に初期化)。requirements では <brief> が必須。

効果: アクティブな feature を解決(必要なら雛形生成)し、harness/inputs.yaml + --inputs から設計入力を読み込み、docs/SPEC_PLAN.md(著述 SOP)を書き込み、AI が spec.md(design では続けて plan.md + data-model.md)を著述、セルフチェック(テンプレートのプレースホルダ、空の横断セクション、未解決の [NEEDS CLARIFICATION])を実行。--advance 指定かつセルフチェックがクリーンなら、ゲートを実行して次フェーズへ進む。

フラグ既定値説明
--feature <name>brief から導出feature の表示名
--inputs <p1,p2,…>harness/inputs.yaml入力レジストリに追加する設計入力パスの CSV
--advanceoffセルフチェックがクリーンなら、ゲートを実行して次フェーズへ進む
--db <dir>設計文書ディレクトリ。spec の前提として記録される実 DB URL は、このフラグではなく DATABASE_URL から取得される。

/harness validate

/harness validate

目的: harness/ レイアウトの整合性を検査。前提: init 済み。

効果: ok・エラー()・警告()を報告。spec-kit が有効なら、Constitution セクションと横断アーティファクト整合セクションも表示。フラグなし。

/harness lint

/harness lint

目的: harness/rules/*.md のルールをソースに対して実行。前提: init 済み。

効果: 0〜100 のスコアと違反テーブル(severity / file / line / rule / message)を返す。spec-kit が有効なら、constitution-conformanceno-unresolved-clarification が常に実行される。フラグなし。

/harness status

/harness status

目的: 現在の harness 状態を表示。前提: なし(未初期化なら "not initialized" を表示)。

効果: 検出されたテンプレート、必須/任意ファイルの present/missing。spec-kit が有効なら、憲法バージョン・アクティブな feature・未解決の clarification 件数も表示。素の /harnessstatus に既定。フラグなし。

/harness phase init

/harness phase init [--phase <id>] [--feature <name>]

目的: フェーズ状態機械を初期化。前提: init 済み。

フラグ既定値説明
--phase <id>requirements初期化するフェーズ
--feature <name>なしspec-kit のみ: specs/<NNN-name>/{spec,plan,tasks}.md を雛形生成し、アクティブな feature に設定
パイプライン操作

/harness phase status

/harness phase status

目的: 現在のフェーズ・ロール・ロールバック回数・最終ゲート結果を表示。前提: フェーズ状態が初期化済み。

効果: spec-kit が有効なら、アクティブな feature・タスク進捗(done/total %)も表示し、requirements では未解決の clarification を表示。フラグなし。

/harness phase advance

/harness phase advance [--reason "…"] [--no-interactive]

目的: 現フェーズのゲートを実行し、合格なら次フェーズへ前進してロールを自動的に再付与。最もよく使うコマンド。

効果:(spec-kit, requirements)[NEEDS CLARIFICATION] を対話的に解決。ゲートを実行。前進し、フェーズ既定ロールを再付与。design → test-spec では tasks.md を自動生成。implementation に入る際は、先に /harness implement を使うよう促す。

フラグ既定値説明
--reason "…"監査理由
--no-interactiveoffspec-kit のみ: requirements で clarification が未解決のとき、プロンプトせずブロックする

/harness phase rollback

/harness phase rollback [--reason "…"]

目的: 1 フェーズ戻す。前提: ロールバック試行の上限を超えていないこと(超えると "Human approval required")。

効果: 前のフェーズへ戻り、試行カウンタを増やす。フラグ: --reason(監査理由)。

/harness gate

/harness gate <gateId>

目的: gates.yaml から名前付きゲートを 1 つ実行(検証のみ、フェーズ変更なし)。前提: <gateId> が定義済み(省略するとゲート ID を一覧表示)。

効果: チェックごとの合否テーブルを返す。gate-integration-test は特別で、プログラム的なチェックではなく /systest パイプラインをセッション内で(Claude-in-Chrome MCP を継承して)実行する。

/harness assume

/harness assume <role> [--reason "…"]

目的: アクティブなロールを手動設定(フェーズ自動付与を抑止)。ロール: pm | developer | reviewer | tester

効果: 手動ロールを設定し、ペルソナブロックを CLAUDE.md に書き込み、role-assume 監査エントリを追記する。

/harness role

/harness role

目的: アクティブなロール、手動で上書きされているか、フェーズ既定ロールを表示。フラグなし。

実装・高度な操作

/harness implement

/harness implement

目的: tasks.md の次の未完タスクを、test-plan.md の受入基準でゲートしながら実装。前提: 現フェーズが implementation であること。tasks.md を持つアクティブな feature が存在すること。

効果: 次のタスクと受入基準を docs/IMPLEMENT_PLAN.md に集約。AI はタスクごとに必須のセルフチェック(AC 網羅 + 漏れた横断機能のための設計再読)を行いつつ実装し、タスクを done にマークする。モードは権限モードに従う: auto / bypassPermissions → 連続(全タスクを順に実装)。それ以外は単一タスクで停止。フラグなし。

/harness context

/harness context <show | refresh | query <text>>

目的: 3 層コンテキスト(session / phase / on-demand)を管理。前提: init 済み。

/harness approve

/harness approve <gateId> [--reason "…"]

目的: 保留中の human-approval ゲートチェックに人間承認を記録。効果: YAML 承認レコード(次のゲート実行で消費)と監査エントリを書き込む。

/harness drill

/harness drill [--skip-gates] [--from <phaseId>] [--to <phaseId>]

目的: 状態を永続化せずパイプライン全体を仮想ドライラン。前提: init 済み。

フラグ既定値説明
--skip-gatesfalse全フェーズを通し、構造チェックのみ(ゲート実行をスキップ)
--from <phaseId>既定フェーズ開始フェーズ(含む)
--to <phaseId>終端フェーズ終了フェーズ(含む)

/harness ai-rate

/harness ai-rate [--since <days>]

目的: git 履歴から AI 採用率(AI が著述/受容したコードの %)を計測。前提: git リポジトリ。

効果: AI コミット(author/email が claude|anthropic に一致、または Co-Authored-By: Claude トレーラ)を検出し、コミット単位・行単位の率と著者別テーブルを報告。フラグ: --since <days>(既定 30)。

/harness ci-init

/harness ci-init [--target github|gitlab|both] [--force]

目的: CI 雛形ファイルを出力(冪等)。効果: github.github/workflows/harness.ymlgitlab.gitlab-ci.ymlboth → 両方。既存ファイルは --force がない限りスキップ。

フラグ既定値説明
--targetgithubgithub | gitlab | both
--forcefalse既存の CI ファイルを上書き

自動化ツール

/modernize/newproject は同じ引数パーサを共有します。/systest は独自のものを持ち、/env はプロンプト駆動(サブコマンド)です。以下のフラグはすべてソースと照合済みです。

/modernize

レガシーコードベースをモダン化——レガシーソース(およびスクリーンショット)を知識グラフで解析し、PRP モジュールへ分解、その後マルチエージェント TDD で開発・テスト・文書化を行い、レガシーツリーには一切触れずに新しい Web アプリを作ります。

/modernize --workspace <legacy> --database <conn> [--output <dir>] [--design-style <name>] [--backend-lang] [--frontend-lang] [--language ja|en|zh] [--team] [-v] [--env <name>]
フラグ(ロング / ショート)既定値説明
--workspace / -w必須レガシーコードのパス(読み取り専用の参照)
--output / -o= workspaceモダン化コードの出力先ディレクトリ
--database / --db未設定データベース接続 URL
--design-docs / -d未設定要件/設計文書ディレクトリ
--design-style未設定生成 UI のブランド設計言語——デザインスタイルを参照(70+ プリセット、例: stripe, linear.app, notion)
--backend-lang / --frontend-lang未設定ターゲットのバックエンド / フロントエンドフレームワーク
--reference / -r未設定参照プロジェクトのパス
--language / -ljaドキュメントの言語
--teamfalse実験的な Agent Teams を有効化
-v / --verifyfalsePhase 3 の終わりでレビューのため一時停止
--env未設定名前付きインフラ環境を有効化(URL を自動補完)

フェーズフロー

Phase 0 Graph Init(legacy + output グラフ)→ Phase 3 Module Decomposition(PRP)→ Phase 3.5 Contract Generation(openapi.yaml)→ Phase 4 Multi-Agent TDD Development → Phase 4.5 Acceptance Cross-check → Phase 5 Automated Test → Phase 6 MODERNIZATION_REPORT.md

デザインスタイル(--design-style

--design-style <name> を渡すと、生成されるフロントエンドが既製のブランド設計言語に従います。MetaCoder はオープンソースの awesome-design-md ライブラリから設計仕様(色・タイポグラフィ・余白・コンポーネントパターン)を読み込み、Phase 3〜4 で対応する DESIGN.md を適用します——その結果、モダン UI は無味乾燥ではなく意図のあるものになります。

70+ のブランドプリセットが利用可能です。例: apple, stripe, linear.app, notion, vercel, claude, figma, airbnb, spotify, tesla, shopify, supabase, raycast, nike, uber

全カタログ(各プリセットは DESIGN.md を含むフォルダ)を見る: github.com/VoltAgent/awesome-design-md。フォルダ名を --design-style の値として使います(例: --design-style stripe)。

/newproject

要件文書からグリーンフィールドプロジェクトを構築——ソクラテス式 Q&A で意思決定を確認し、PRP へ分解、その後マルチエージェント TDD でフルスタック Web アプリを開発・テスト・文書化します。

/newproject --workspace <dir> --design-docs <reqs> [--database <conn>] [--reference <proj>] [--design-style] [--backend-lang] [--frontend-lang] [-v] [--env]

/modernize と同じ共有パーサを使うため、フラグの全セットは同一です。主な違いは以下のとおり。

フラグ既定値説明
--workspace / -w必須新規コードの出力ワークスペース
--design-docs / -d未設定要件文書(列挙のみ、正規表現解析はしない)
--reference / -rauto参照/PoC プロジェクト。省略時は一般的なフォルダから自動検出
--database / --dbresolved省略時: セッション TiDB(DATABASE_URL)→ なければローカル SQLite
-v / --verifyfalsePhase 3 の終わりで一時停止(ソクラテス式フェーズ自体は対話的)

フェーズフロー

Phase 0 Graph Init(空)→ Phase 1.5 Socratic Requirements Confirmation(7〜15 問)→ Phase 3 Module Decomposition → Phase 3.5 OpenAPI 3.1 Contract → Phase 4 Code Generation → Phase 4.5 Acceptance Cross-check → Phase 5 Automated Test → Phase 6 Docs

/systest

稼働中アプリの自動システム QA——知識グラフを構築し、2 階層のテストケースを生成、その後 API + Chrome-MCP フロントエンド E2E テストを自動修正ループと証跡に基づく自己監査つきで実行します。

/systest run --workspace <path> [--backend-url <url>] [--frontend-url <url>] [--database <conn>] [--env <name>] [--design-docs <path>]
フラグ(ロング / エイリアス / ショート)既定値説明
--workspace / -w必須テスト対象のプロジェクトワークスペース
--backend-url / --backend / -b未設定 / env からバックエンドのベース URL → Phase 5B(API テスト)を有効化
--frontend-url / --frontend / -f未設定 / env からフロントエンド URL → Phase 5C(E2E)を有効化。無ければ ⇒ 5C をスキップ
--database / --database-url / --db未設定 / env からデータベース URL(ユーザ作成・管理者昇格)
--env未設定名前付き env。欠けている URL スロットを補完(明示フラグが優先)
--design-docs / -d未設定設計文書ディレクトリ

フェーズフロー

Step 0 Env Discovery(production ⇒ 強制拒否)→ Phase 1–3 Init / Graph → Phase 4 Test-case Generation(Layer1 CRUD / Layer2 scenario)→ Phase 5A Seed + Quality Gate → Phase 5B Backend API → Phase 5C Frontend E2E(Chrome MCP)→ Phase 6 TEST_REPORT.md → Phase 6.5 Evidence Self-audit

/env

プロンプト駆動のインフラ環境マネージャ——.metacoder/environments.yaml に定義された環境を list・switch・import/export・edit・health-check・diff。シークレット安全性と preview → /apply のガードつき。

/env <list | use | reset | add | edit | remove | clone | set | import | export | doctor | diff>
サブコマンド説明
/env list [--tag TAG]env 一覧 + アクティブ(素の /env = list)
/env use NAME [Reason: …]アクティブ env を切替
/env reset既定 env へ戻す
/env import PATH --as NAME.env をインポート。キーを var/secret に自動分類
/env export NAME [--include-secrets].env としてエクスポート。フラグがない限りシークレットはマスク
/env add NAME [extends PARENT] [field=VALUE …]env を追加(cloud.provider, cloud.region, safety.destructive_ops が必須)
/env edit NAME [field=VALUE …]フィールドを浅いマージで更新
/env remove NAMEenv を削除(依存先について警告)
/env clone SRC DST [field=VALUE …]上書き付きでコピー
/env set NAME.PATH VALUEドットパスで単一フィールドを設定
/env doctor [--level basic|standard|full] [--env NAME] [--force] [--offline]ヘルスチェック(full は --force がない限り production でブロック)
/env diff A Bextends 解決後の左右並列 diff
正確性に関する注記: 60 ルールの CLI 許可リスト、SQL 分類器、2 段階コミットは別スキルの /deploy に属し、/env のものではありません。/envsafety.writes_two_phase_commit/env diff でフラグ付きフィールドとして表示するだけです。

本ドキュメントは MetaCoder Desktop v3.6.22 を反映しています。コマンド構文はソースコードと照合済みです。ゲートの内容はプロジェクトごとに harness/workflow/gates.yaml で定義されます。