mcpField
O
OrangePro

OrangePro

ローカル
github.com/OrangeproAI開発ツール191 日前に更新

OrangePro について

OrangePro はリポジトリ内の関数とテストの根拠を調べ、未検証のテスト不足を優先順位付けし、コードを変異させてテストを再実行することで保護を確認します。開発者やコーディングエージェント向けのローカル MCP サーバーで、分析とスコアリングに AI モデルは不要です。

主な機能

  1. 01関数とテストの根拠を対応付け
  2. 02リスク要因で不足を順位付け
  3. 03変異テストでテストを検証
  4. 04任意のモデルキーでテスト案を作成
  5. 05HTML レポートと tests CSV を生成
  6. 06データを送信せずローカルで分析

活用シーン

  1. 01検証済みテストがない優先度の高い関数を特定
  2. 02テストがコードの破損を検出するか確認
  3. 03コーディングエージェントにテストと検証のワークフローを提供

MCP 対応

MCP サーバーとして動作し、コーディングエージェントに順位付けされたテスト不足、テスト場所の提案、検証手順を提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"ai-orangepro": {
"command": "npx",
"args": [
"-y",
"@orangepro/mcp-server"
],
"env": {
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"ANTHROPIC_API_KEY": "<ANTHROPIC_API_KEY>",
"OLLAMA_BASE_URL": "<OLLAMA_BASE_URL>"
}
}
}
}
起動コマンドnpx -y @orangepro/mcp-server
設定が必要な環境変数
OPENAI_API_KEYシークレットOptional OpenAI BYOK key for AI candidate links and test generation.
ANTHROPIC_API_KEYシークレットOptional Anthropic BYOK key for AI candidate links and test generation.
OLLAMA_BASE_URLOptional Ollama endpoint for local AI candidate links and test generation.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@orangepro/mcp-server0.2.59

ツール

18

掲載時のツール一覧 · 今日に更新

パラメーター型必須説明
freshbooleanいいえ前回の実行以降に変更がない場合でも、完全実行します。デフォルトでは、変更のないリポジトリは unchanged_since と前回実行時のレポートをすぐに返します。
modelstringいいえモデル名の上書き。
no_aibooleanいいえプロバイダーキーが設定されていても、AI による弱いリンクと候補フローの処理を無効にします。
ai_allbooleanいいえギャップのみではなく、すべての決定論的な動作ノードに対して AI による弱いリンク処理を実行します。
sourcestringいいえ分析するソースパス。デフォルトはワークスペースです。
base_refstringいいえ任意の PR/差分ベース参照。デフォルトでは、可能な場合に main/master を自動検出します。
providerenumいいえAI パス用の BYOK プロバイダーの上書き。openai | ollama | anthropic
workspacestringいいえローカルワークスペースのルート。デフォルトは現在のディレクトリです。
no_ai_flowsbooleanいいえ弱い AI リンクを有効にしたまま、自動 AI 候補フローの検出を無効にします。
prompt_versionenumいいえ自動証明生成レーンのオプトイン生成戦略。デフォルトは v2/deterministic で、v5 はバッチ処理による 2 段階生成を使用します。どちらの場合も、証明/ミントのゲートは変わりません。v2 | v5
include_markdownbooleanいいえ要件に類する Markdown ドキュメントを補強します。デフォルトは true です。
generate_coveragebooleanいいえサポートされている場合、analyze の前に安全なローカルカバレッジ生成を実行します。デフォルトは false です。
coverage_timeout_msintegerいいえコマンドごとのカバレッジ生成タイムアウト。

詳細

OrangePro

テストが実際にどのコードを保護しているかを確認しましょう。コードを意図的に壊して、それを証明します。

npm version MIT License npm downloads Glama score MCP Registry


OrangeProは、リポジトリ内のすべての公開関数をマッピングし、それぞれを実際に呼び出すテストに結び付け、残りの関数を壊した場合の影響に基づいて順位付けします。重要なテストについては、隔離されたコピー内で関数を壊し、そのテストが失敗するか確認します。お使いのマシン上で実行され、スコアリングにAIモデルを使用せず、OrangeProにデータを送信することもありません。モデル呼び出しが行われるのは、任意のテスト生成や提案のために独自のキーを追加した場合のみです。

npx -y @orangepro/mcp-server@latest start .

目次


得られるもの

実行するたびに、2つのレポートとテスト一覧のスプレッドシートが .orangepro/ に出力されます。

ファイル対象内容
short_behavior-coverage.htmlリーダー、マネージャー、時間がない方1ページに、優先度上位20個の関数に対して何をすべきか、理由とそれぞれに作成されたテストを含む上位5個、前回のレポートからの変更点、実行を再現する方法をまとめています。
behavior-coverage.html開発者作業リスト: 順位付けされたすべての関数と、それぞれに対して何をすべきか、フィルター、エビデンス・順位付けの理由・作成されたテスト2件・証明コマンドを示すサイドパネルを掲載します。マップ: テストが領域ごとにどこまで到達しているかを示します。実行の詳細: 入力、件数、証明、フィンガープリント、設定を示します。
tests.csvQA、テストマネージャーテスト枠ごとに1行(事前条件、手順、テストデータ、期待結果、優先度、フォルダー)を含み、Excel、Google Sheets、TestRail、Jira Xray、Zephyr Scaleでそのまま使用できます。詳細レポートの Export tests (CSV) からダウンロードでき、列の対応関係は実行の詳細で確認できます(tests.csv のインポート)。

各関数には、次の4つの対応のいずれかが割り当てられます。

意味対応
完了このコードを壊すと、テストが失敗します。対応は不要です。コードが変更されると、「証明」に戻ります。
証明テストがこの関数を実行するか、カバレッジ実行で実行されますが、破損を検知すると証明されたテストはありません。証明コマンドを実行します。
確認テストファイルまたはテスト名がこの関数を指していますが、呼び出しは追跡されていません。まずそのテストファイルを読みます。その関数を実行するテストなら証明し、そうでなければテストを1件作成します。
作成まだこの関数の破損を検知するテストはありません。テストを作成します(上位20件については2件作成済みです)。その後、証明します。
1ページの概要
OrangeProの1ページ概要:優先度上位20個の関数に対して何をすべきか、およびテストとともに示す上位5個 ### 詳細レポート OrangePro の詳細レポート:フィルター付きの作業リストと、1 つの関数のサイドパネル

どちらも、モデルキーなしで、コミット 64a5213 の OrangePro 自身のリポジトリを対象に実行したものです。そのため、テストは作成されていません。キーを設定すると、上位 20 件のそれぞれにテスト案が 2 つ表示され、サイドパネルにはそれらの手順とコードが表示されます。


開発者が活用する理由

  • テストが何を実際に検証しているのかがわかります。実行している内容だけではありません。 関数を呼び出すテストが、その関数を検証しているとは限りません。opro prove は、分離したコピー内で関数本体を固定の戻り値に置き換え、変更していない実際のテストを再実行します。それでもテストが成功するなら、そのテストはその関数を保護していません。
  • 影響の大きいものから優先します。 1 つのフィルターで、削除または一括削除に至るコードパス(キャッシュの削除は対象外)を表示できます。ほかのフィルターでは、変更頻度が高いコード、多くの呼び出し元があるコード、スケジュール実行されるコードを表示します。
  • 根拠を正直に示します。 テストがその関数を正確に呼び出す場合に限り、関数は「リンク済み」になります。似た名前のテストは手がかりであって、カバレッジではありません。モックのチェックだけを行うテストは対象外です。
  • 再現性があります。 同じコミット、完全な Git 履歴、同じ設定、同じバージョンであれば、同じ順位になります。各レポートにはフィンガープリントが記録されるため、結果の変化がコードによるものか、ツールによるものかを見分けられます。
  • コーディングエージェントから操作できます。 MCP サーバーとして、Claude Code、Cursor、Copilot、Codex などに、順位付けされた不足箇所、推奨するテストの場所、証明手順を 1 つのループで提供します。
  • 無料で、ローカルで動作するオープンソース(MIT)です。 アカウントも、分析用の API キーも不要で、アップロードもありません。

クイックスタート

cd /path/to/your/repo
# install the repo's own dependencies first (npm ci, uv sync, go mod download, ...)
npx -y @orangepro/mcp-server@latest start .
open .orangepro/short_behavior-coverage.html

分析、順位付け、証明にモデルキーは必要ありません。テスト生成は任意で、ご自身のキーを使用します(モデルの設定を参照)。

最も正確に実行するためのヒント:

  • 浅いクローンではなく、完全なクローンを使用してください。 変更履歴は順位付けの一部に影響し、履歴が不完全な場合はレポートに表示されます。
  • rank_exclude_paths でプロダクトコード以外を除外してください(設定を参照)。
  • 変更後に再実行してください。 各レポートには、前回からの変更内容が記載されます。何も変わっていない場合(同じコミット、ファイル、設定、カバレッジ、証明)、start は前回のレポートをすぐに再利用し、その旨を表示します。--fresh を指定すると、いずれの場合もすべて実行します。

出力される内容:

.orangepro/
├── short_behavior-coverage.html   ← one-page summary
├── behavior-coverage.html         ← detailed report: worklist, map, run details
├── tests.csv                      ← drafted tests, one row per test
├── report-data.json               ← the data both reports show (used to compare and reuse runs)
├── run-key.json, last-start.json  ← what the last run saw, so an unchanged repo is not analysed again
├── graph.json                     ← the evidence graph (deterministic)
├── ledger.json                    ← proof certificates
├── rtm.md                         ← traceability matrix
└── config.json                    ← optional per-repo settings

orangepro_generated/               ← generated tests (only with a model key); your files are never edited

根拠の段階

すべての関数には、根拠ラベルが 1 つだけ付与されます。上記の 4 つの対応項目は、このラベルに基づいて表示されます。

根拠意味対応
証明済み元のコードではテストが成功し、この関数を分離したコピー内で壊した場合、テストは自身のアサーションで失敗しました。完了
テストで実行済み実行したカバレッジツールが、このコードを実行しました。証明
リンク済みテストがこの関数を正確に呼び出しています。これは構造上のつながりであり、証明ではありません。証明
未確認テストファイル、または似た名前のテストがこの関数を指していますが、呼び出しは追跡されていません。これは手がかりであり、根拠ではありません。確認
テスト未検出テストとのつながりが見つかりません。作成

証明を実行しても不具合を検出できなかった場合、その関数は 作成 になります。コード変更前に行った証明は、再び 証明 になります。

OrangePro がカウントしない項目。リンク数はカバレッジ率ではなく、最低数を示します:

  • モックに対するアサーションしか行わないテスト。
  • HTTP 経由、またはエンドツーエンドテストスイートからの呼び出し。
  • Python で、フィクスチャを介してのみテストに到達するオブジェクト。

フラグが付いたパスに対して新しいテストを書く前に、既存のテストを確認してください。

「証明済み 0」は初回実行では通常の状態です。 証明ではテストを実行するため、選択した関数、または opro start の試行予算内にある関数のみが対象になります。

ランキングの仕組み

まだテストで証明されていない各関数に OrangePro リスクスコア(ORS = P × I × D)が付与されます。

  • P:変更される可能性です。変更履歴、影響範囲、新しいコード、コードの規模を考慮します。
  • I:問題が発生した場合の影響です。参照元の数、エントリーポイントとしての位置、データの機密性に加え、2 回以内の呼び出しで削除または消去に至るパスに対する下限値を考慮します。
  • D:問題の発見しにくさです。証拠の階層(リンクされたテストやカバレッジ実行があれば、名前の一致のみ、または何もない場合よりも問題を発見しやすくなります)と、無人で実行されるかどうか(ジョブやスケジューラー)を考慮します。

スコアによって作業順が決まります。これは欠陥が発生する確率ではありません。重みは固定されており、AI モデルは関与しません。レポートには各行の算出根拠が表示されます。


テストを証明する

# Python: the mutation value is derived from the function (return annotation or its observed result)
opro prove-loop --target-symbol 'sym:app/billing/invoices.py#void_invoice' \
  --test 'tests/test_invoices.py::test_void_marks_invoice_void' --replacement sentinel

# TypeScript / JavaScript: give the inert body to substitute
opro prove-loop --target-symbol 'sym:src/orders.service.ts#OrdersService.cancel' \
  --test src/orders.service.spec.ts --replacement 'return null;'
  • 証明済み: 元のコードではテストが成功し、壊したコードではそのテスト自身のアサーションで失敗します。
  • 未証明: 壊したコードでもテストが成功するため、その関数を保護できていません。これも調査結果です。
  • 実行不可: セットアップに失敗しました。どちらの場合にもカウントされません。

モデルキーなしで弱いテストを見つける:

opro roast .   # passing tests whose targeted mutant still survives

コーディングエージェントで使用する

OrangePro は MCP サーバーとして動作します。クライアントの設定に追加してください。

{
  "mcpServers": {
    "orangepro-local": {
      "command": "npx",
      "args": ["-y", "@orangepro/mcp-server@latest", "mcp"]
    }
  }
}
クライアント設定場所
Claude Code.mcp.json または ~/.claude.json
Cursor~/.cursor/mcp.json または Settings → MCP
VS Code / CopilotMCP settings
Codex / OpenCode / Windsurfnpx -y @orangepro/mcp-server@latest agent --client codex を実行すると、セットアップ方法が表示されます

一連の処理を実行するプロンプト:

「orangepro_start を使い、続けて orangepro_find_test_gaps を実行してください。最も優先度の高いギャップについて、提案されたパスにテストを書いて実行し、その後 orangepro_prove_loop を呼び出して、証明できたかどうかを教えてください。」


設定

任意です。リポジトリ内の .orangepro/config.json、またはすべてのリポジトリに適用する既定値として ~/.orangepro/config.json に設定します。ランキングを変更する各設定はレポートに表示されます。

{
  "classification": {
    "rank_exclude_paths": ["ui/**", "docs/**", "scripts/**"],
    "test_support_paths": ["internal/testutil/**"],
    "destructive_sinks": ["archive*"]
  },
  "tuning": { "churn_window_days": 180 },
  "proof": { "python_runner": "auto", "attempt_limit": 20 },
  "overrides": [
    { "symbol": "sym:src/legacy/shim.ts#shim", "action": "suppress", "reason": "generated shim, not product code" }
  ]
}
  • rank_exclude_paths はランキングからパスを除外します。動作としては引き続きカウントされます。
  • destructive_sinks はコードベースで削除に類する呼び出しを追加します。
  • オーバーライド(suppress、pin、reclassify)にはそれぞれ理由が必要で、レポートにも記載されます。
  • 重みと階層は設定できません。

言語サポート

言語関数のマッピング関数を呼び出すテストのリンクテストの下書きミューテーションによる証明
TypeScript / JavaScript✓✓✓ Jest, Vitest, Mocha✓ Jest, Vitest, Mocha
Python✓✓✓ pytest✓ pytest
Go✓✓✓ *_test.go✓ go test
Java✓✓✓ JUnit 4 and 5✓ Maven with JUnit 5 only
Kotlin, Rust, PHP, C#, Ruby, Swift, C, C++✓名前の一致のみ未対応未対応
  • 「名前の一致のみ」の場合、関数に似たテストファイル名またはテスト名があると、未確認(要確認)になります。呼び出しは追跡されないため、これらの言語では現時点でリンク済みまたは証明済みにはなりません。
  • TypeScript と JavaScript は TypeScript コンパイラーで解析し、その他の言語は tree-sitter で解析します。
  • Python の証明では、リポジトリ独自の環境を通して pytest を実行します。既存の .venv または venv を使用し、ロックファイルがある場合は uv または poetry を使用します。それ以外の場合は python -m pytest を実行します。独自のコマンドを使用するには proof.python_runner を設定してください。
  • Java の証明には Maven(Surefire)と JUnit 5 が必要です。Gradle および JUnit 4 のプロジェクトはマッピングとリンクができますが、まだ証明には対応していません。
  • まだ追跡されていないため、テスト済みのコードでも未確認と表示される場合があります。対象は、Go のテストスイートメソッドやヘルパーコンストラクターを介した呼び出し、実行時に配線される依存性注入、リフレクション、HTTP または RPC 経由の呼び出しです。

要件と制限

  • macOS または Linux で、パッチが適用された Node.js:22.23.4 以降の 22.x、24.22.1 以降の 24.x、または 26.12.1 以降。 Windows はテストされていません。証明では POSIX パスとシンボリックリンクを使用します。
  • パッチが適用された Node.js を使用してください。 2026 年 10 月 21 日の Node.js セキュリティリリース(22.23.4、24.22.1、26.12.1)では、重大度の高い問題がいくつか修正されています。また、Node.js 20 はサポート終了となっており、修正は提供されません。奇数番号の系列(23、25)には、パッチ適用済みリリースがありません。package.json の engines フィールドにはこの要件が記載されていますが、engine-strict=true を設定しない限り、npm は警告を表示するだけです。node -v でバージョンを確認してください。Node.js のセキュリティリリースに関するお知らせを参照してください。
  • 変更履歴の確認に Git が必要です。 Git がない場合、またはシャロークローンの場合、順位付けには構造だけが使われ、その旨がレポートに記載されます。Git チェックアウトではないフォルダーでは、常に全件実行されます。
  • 最初にリポジトリの依存関係をインストールしてください(npm ci、uv sync、go mod download、mvn -q install、…)。証明では、分離されたコピー内で独自のテストを実行するため、そこでテストがパスする必要があります。
  • 読み取り対象: ソースファイルとテストファイル。.gitignore または .orangeproignore に記載された項目(! による除外解除は未対応)、一般的なビルドおよび依存関係のフォルダー(node_modules、vendor、dist、build、target、coverage、.venv、…)、1 MB を超えるファイル、生成コード(Code generated … DO NOT EDIT と記されたファイル)は対象外です。最大 100,000 ファイルです。ORANGEPRO_MAX_FILES でその数を減らし、ORANGEPRO_MAX_ANALYZE_MS でスキャンの制限時間を設定できます。
  • テストのドラフト作成では、優先度が最も高い 20 個の関数を対象に、各関数につき 2 つのテストを、ワークリストに表示される順序で作成します。レポートにもこの 20 個が表示されます。関数のコードが変更されるまで、ドラフトは保持されます。
  • 実行を再利用する際に「何も変更されていない」と見なす条件: コミット、Git で無視されない変更済みまたは未追跡のすべてのファイル、OrangePro の設定ファイルと除外ファイル、カバレッジファイル、証明台帳、start オプション、モデルキーが設定されているかどうか、および分析バージョン。プロバイダーエラー(クレジット不足、レート制限)でテストのドラフト作成に失敗した実行は、全件再実行されます。
  • CSV の列の対応付けは、各ツールの CSV インポーターに従います(tests.csv のインポートを参照)。初回はインポートプレビューを確認してください。

プライバシーとネットワークの使用

  • コードや実行に関する情報が外部に送信されることはありません。 使用状況のテレメトリーはありません。
  • ソースはプロセス内で読み取られ、保存またはアップロードされることはありません。 レポートとエビデンスグラフにはメタデータが含まれ、ソースは含まれません。
  • ソースファイルが編集されることはありません。 証明は分離されたコピー内で実行されます。
  • モデル呼び出しが行われるのは、キーを設定した場合だけです。 選択したプロバイダーへ、マシンから直接送信されます。キー、プロバイダー、そのエンドポイントとモデルは、シェル環境または MCP クライアントの設定にある env ブロックからのみ読み取られます。OrangePro は .env ファイルを読み取らないため、スキャン対象のリポジトリがキーの送信先を指定することはできません。また、OrangePro がキーをどこかに書き込むこともありません。opro setup が保存するのは、プロバイダー名とモデル名だけです。
  • キーを設定すると、レポートと tests.csv にはモデルが作成したテストが含まれます。 また、プロンプトには、対象となる関数名、ファイル名、および根拠となるエビデンスが含まれます。
  • レポートがネットワークから何かを読み込むことはありません。 外部リンクは、クリックしたものだけです。

フィードバック

レポートにはフィードバックを送信リンクと、各指摘事項にこれは間違っているようですリンクがあります。ときどき、指摘事項の後に、レポートが役に立ったかどうかも尋ねます。

  • リンクを通じてプロジェクトに関する情報が送信されることはありません。 フォームから送信されるのは、確認して送信した内容だけです。
  • メールアドレスを入力しない限り、匿名のままです。
opro feedback          # print the link and your settings
opro feedback off      # stop the "Did this help?" question (links stay)
ORANGEPRO_FEEDBACK_URL=off   # hide every feedback link

質問が表示されるのは、最長でも 14 日に 1 回です(ORANGEPRO_FEEDBACK_COOLDOWN_DAYS)。この設定はお使いのマシンにのみ保存されます。MCP クライアントはリンクを任意の結果メタデータ(_meta["ai.orangepro/feedback_url"])として受け取り、エージェントからフィードバックを求めるプロンプトが表示されることはありません。


リファレンス

CLI ```bash opro # same as opro start . opro start . --no-ai --no-auto # analyze + reports, no model calls, no proof attempts opro start . --fresh # run in full even when nothing changed since the last run opro start --base main # scope to a branch diff opro analyze # build the evidence graph and reports opro gaps --limit 10 # top unproven behaviors, ranked opro prove-loop ... # mutation proof for one function (see above) opro roast . # find tests whose mutant survives (no key needed) opro doctor --proof # why top targets aren't proven yet opro generate --base main # tests for what this branch changed (needs a model key) opro rtm # traceability matrix opro export # metadata-only evidence pack opro coverage # find or generate runtime coverage artifacts opro feedback [on|off] # feedback link and invitation setting opro mcp # run as an MCP server (stdio) ``` 機械処理向けの出力には、読み取りコマンドに `--json` を追加してください。各フラグについては `opro help` を実行してください。
MCP ツール(18)
ツール機能
orangepro_start分析を行い、両方のレポートと tests.csv を作成して、次のアクションを返します。変更がない場合は unchanged_since とともに即座に返し(fresh を指定すると全処理を実行します)、
orangepro_analyze_sourcesエビデンスグラフを構築または更新します
orangepro_find_test_gapsORS に基づいて順位付けした、証明されていない動作
orangepro_prove_loop1 つの動作について、セットアップ+ミューテーション証明+レポート更新を行います
orangepro_proveミューテーション証明のみを行います
orangepro_generate_testsギャップに対する根拠のあるテスト(モデルキーが必要です)
orangepro_changed_impact差分が影響する範囲
orangepro_status何も実行せずにワークスペースの状態を表示します
orangepro_doctor次に追加すべきエビデンス
orangepro_graph_scoreグラフの準備状況(0~100)
orangepro_rtmトレーサビリティマトリクス
orangepro_stats集計統計
orangepro_record_runテスト実行結果を記録します
orangepro_explain_testテストが生成された理由
orangepro_export_evidence_packメタデータのみのエビデンスパック
orangepro_update_graphグラフを段階的に更新します
orangepro_ai_links動作→コードの弱い候補(オプションの AI を使用しますが、エビデンスにはなりません)
orangepro_ai_flowsフロー候補(オプションの AI を使用しますが、エビデンスにはなりません)
カバレッジ関連成果物

まず独自のユニットテストと統合テストのカバレッジを実行してから、opro start を実行してください。OrangePro は Go coverprofile、lcov、coverage.py XML、JaCoCo XML を取り込み、ユニット、統合、未分類のカバレッジを別々に保持します。成果物にラベルを付けるには、.orangepro/coverage-suites.json を追加してください。

{
  "artifacts": {
    ".orangepro/coverage/unit.coverprofile": { "suite": "unit", "command": "make unit-test-coverage" },
    ".orangepro/coverage/integration.coverprofile": { "suite": "integration", "command": "make integration-test-coverage" }
  }
}
モデルの設定(BYOK、生成時のみ)
プロバイダー環境変数
OpenAI 互換OPENAI_API_KEY(任意:OPENAI_BASE_URL、OPENAI_MODEL)
AnthropicANTHROPIC_API_KEY(任意:ANTHROPIC_MODEL)
Ollama(ローカル、キー不要)OLLAMA_BASE_URL(任意:OLLAMA_MODEL)

自動検出の順序:OpenAI → Ollama → Anthropic。--provider と --model で上書きするか、opro setup を実行してください。

  • モデルの出力によってエビデンスの階層が変わることはありません。 動作を Proven としてマークできるのは、ミューテーション証明のみです。
  • 生成されたテストは orangepro_generated/ に保存されます。 根拠となったファイルと既存テスト、およびテストの実行場所と方法も記載されます。
  • コンパイルチェックに失敗したコードを含むドラフトは、理由を明記した計画(「Plan only」)として保持されます。 キーがない場合、上位 20 件のそれぞれに、コーディングエージェントにコピーできるプロンプト付きの空スロットが 2 つ表示されます。
tests.csv のインポート

テストごとに 1 行を使用し、UTF-8 で保存します。最初の 12 列はインポート用です。残りの列には、各テストの優先度、エビデンス、証明コマンドが保持されます。優先度は、順位上位 5 関数が High、それ以外が Medium です。

tests.csv の列TestRailJira XrayZephyr Scale
IDTest Case Identifier(Key は空欄のまま)
TitleTitleSummaryName
Section (a > b)Sections Hierarchy
Folder (a/b)Test Repository PathFolder
PriorityPriorityPriorityPriority(Medium を Normal に対応付け)
Test typeTypeLabelsLabels
PreconditionsPreconditions(Xray では別の課題にします。必要に応じて Description に追加してください)Precondition
StepsManual Test Step: Action
Test dataManual Test Step: Data
Steps with dataStepsTest Script (Steps) - Step
Expected resultExpected ResultManual Test Step: Expected ResultTest Script (Steps) - Expected Result
ReferencesReferencesDescriptionObjective
  • TestRail: **Test Case (Text)**テンプレートを使用してCSVからインポートします。テストケースごとに1行です。
  • Jira Xray: Test Case Importerを使用します。各テストは1つの手動ステップとしてインポートされます。
  • Zephyr Scale: テストデータ用のフィールドがないため、Steps with dataに記載します。
  • 確定する前に、インポーターのプレビューを確認してください。
PR ワークフロー
opro generate --base main     # tests for what this branch changed (read-only git diff)
opro generate --changed       # current branch vs its base
opro generate --pr 1234       # checks out PR #1234 (asks first; refuses on a dirty tree)

ホステッドプラットフォーム

このリポジトリは無料のローカルツールです。OrangePro platformでは、次の機能が追加されます。

  • PRとリポジトリをまたいで永続化されるグラフ
  • エビデンスとリスクの変更に対するCIゲート
  • 要件とインシデントの相関付け
  • チームダッシュボード

貢献

git clone https://github.com/OrangeproAI/orangepro-mcp.git
cd orangepro-mcp && npm ci && npm run build
npm test

PRを歓迎します。大規模な変更の場合は、まずissueを作成してください。


MIT License · orangepro.ai

コメント

MCP は初めてですか?

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

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