mcpField
C
configure-tests

configure-tests

github.com/laurigatesテスト・品質5954 回インストール1 日前に更新
リポジトリ

configure-tests について

JavaScript、Python、Rustプロジェクトのテストフレームワークを確認・設定するスキルです。既存構成を検出して不足を報告し、依頼に応じて設定変更も行います。

主な機能

  1. 01Vitest・Jest・pytest・nextestの検出
  2. 02フレームワークとカバレッジ設定の確認
  3. 03テスト構成とスクリプトの確認
  4. 04設定修正と移行の支援
  5. 05CIのテスト連携確認

活用シーン

  1. 01プロジェクトのテスト基盤を設定
  2. 02フレームワーク設定の不足を確認
  3. 03モダンなテストフレームワークへ移行
  4. 04CIワークフローにテストコマンドを追加

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/laurigates/claude-plugins --skill configure-tests

インストール後、Claude Code で/configure-testsを入力して読み込まれたか確認します。

同梱ファイルREFERENCE.md

詳細

/configure:tests

ベストプラクティスに照らして、テストフレームワーク(Vitest、Jest、pytest、cargo-nextest)を確認し、設定します。

このスキルを使用するタイミング

次の場合にこのスキルを使用します次の場合は別の方法を使用します
テストインフラストラクチャをセットアップする場合テストを実行するだけの場合(/test:run スキルを使用)
テストフレームワークの設定を確認する場合テストがすでに適切に設定されている場合
最新のテストフレームワーク(Vitest、pytest、nextest)に移行する場合個別のテストを作成する場合(テストを直接記述)
カバレッジ設定を検証する場合失敗するテストをデバッグする場合(テスト出力を確認)
テストのベストプラクティスを徹底する場合テストが不要なシンプルなプロジェクトの場合

コンテキスト

  • Package.json: !find . -maxdepth 1 -name \'package.json\'
  • Pyproject.toml: !find . -maxdepth 1 -name \'pyproject.toml\'
  • Cargo.toml: !find . -maxdepth 1 -name \'Cargo.toml\'
  • テスト設定ファイル: !find . -maxdepth 1 \( -name 'vitest.config.*' -o -name 'jest.config.*' -o -name 'pytest.ini' -o -name '.nextest.toml' \)
  • pyproject 内の pytest: !find . -maxdepth 1 -name 'pyproject.toml' -exec grep -c 'tool.pytest' {} +
  • テストディレクトリ: !find . -maxdepth 2 -type d \( -name 'tests' -o -name '__tests__' -o -name 'test' \)
  • package.json 内のテストスクリプト: !find . -maxdepth 1 -name 'package.json' -exec grep -m5 -o '"test[^"]*"' {} +
  • カバレッジ設定: !find . -maxdepth 1 \( -name 'vitest.config.*' -o -name 'jest.config.*' \) -exec grep -l 'coverage' {} +
  • プロジェクト標準: !find . -maxdepth 1 -name '.project-standards.yaml' -type f

最新のテストスタックに関する推奨事項:

  • JavaScript/TypeScript:Vitest(推奨)または Jest
  • Python:pytest と pytest-cov
  • Rust:パフォーマンス向上のため cargo-nextest

パラメーター

$ARGUMENTS から次の項目を解析します:

フラグ説明
--check-only修正を提案せず、ステータスを報告します
--fix確認を求めず、すべての修正を自動的に適用します
--framework <framework>フレームワークの検出を上書きします(vitest、jest、pytest、nextest)

バージョンの確認

重要:古いバージョンとして指摘する前に、最新リリースを確認してください:

  1. Vitest:vitest.dev または GitHub releases を確認します
  2. Jest:jestjs.io または npm を確認します
  3. pytest:pytest.org または PyPI を確認します
  4. cargo-nextest:nexte.st または GitHub releases を確認します

古いフレームワークを報告する前に、WebSearch または WebFetch を使用して現行バージョンを確認してください。

実行

このテストフレームワークの準拠状況チェックを実行します:

ステップ 1:フレームワークの検出

プロジェクトの言語と既存のテストフレームワークを特定します:

指標言語検出されたフレームワーク
vitest.config.*JavaScript/TypeScriptVitest
jest.config.*JavaScript/TypeScriptJest
pyproject.toml [tool.pytest]Pythonpytest
pytest.iniPythonpytest
Cargo.tomlRustcargo test
.nextest.tomlRustcargo-nextest

--framework フラグが指定されている場合は、その値を使用します。

ステップ 2:現状を分析する

検出されたフレームワークの設定を読み込み、完全性を確認します。各フレームワークについて、次の項目を検証してください。

Vitest:

  • 設定ファイルが存在する(vitest.config.ts または .js)
  • 互換性のために globals: true が設定されている
  • environment が適切に設定されている(jsdom、happy-dom、node)
  • @vitest/coverage-v8 または @vitest/coverage-istanbul を使ったカバレッジが設定されている
  • ウォッチモードの除外設定がある

Jest:

  • 設定ファイルが存在する(jest.config.js または .ts)
  • testEnvironment が設定されている
  • カバレッジ設定がある
  • TypeScript/JSX 用の変換が設定されている
  • モジュールパスのエイリアスが設定されている

pytest:

  • pyproject.toml に [tool.pytest.ini_options] セクションがある
  • testpaths が設定されている
  • addopts に有用なフラグ(-v、--strict-markers)が含まれている
  • テストの分類用に markers が定義されている
  • pytest-cov がインストールされている

cargo-nextest:

  • .nextest.toml が存在する
  • プロファイル設定(default、ci)がある
  • 再試行ポリシーが設定されている
  • 必要に応じてテストグループが定義されている
ステップ 3:結果を報告する

次の項目を含む適合レポートを出力します。

  • 検出されたフレームワークとバージョン
  • 各項目の設定チェック結果
  • テストの構成(unit/integration/e2e ディレクトリ)
  • パッケージスクリプトの状態(test、test:watch、test:coverage)
  • 問題の合計数と推奨事項

--check-only が指定されている場合は、ここで終了します。

ステップ 4:修正を適用する(--fix が指定された場合、またはユーザーが確認した場合)

REFERENCE.md のテンプレートを使って、依存関係をインストールし、設定を作成します。

  1. 設定の欠落:テンプレートからフレームワークの設定ファイルを作成する
  2. 依存関係の欠落:必要なパッケージをインストールする
  3. カバレッジの欠落:80% のしきい値を設定したカバレッジ設定を追加する
  4. スクリプトの欠落:package.json にテストスクリプトを追加する
  5. テストディレクトリの欠落:標準的なテストディレクトリ構成を作成する
ステップ 5:テストの構成を設定する

検出された言語に対応する標準的なテストディレクトリ構成を作成します。REFERENCE.md のディレクトリ構成パターンを参照してください。

ステップ 6:CI/CD 統合を設定する

GitHub Actions ワークフローにテストコマンドがあるか確認します。ない場合は、REFERENCE.md の CI テンプレートを使って CI テストコマンドを追加します。

ステップ 7:移行を処理する(アップグレードする場合)

フレームワーク間で移行する場合(例:Jest から Vitest、unittest から pytest)、REFERENCE.md の移行ガイドに従ってください。

ステップ 8:標準の追跡情報を更新する

.project-standards.yaml を更新します。

standards_version: "2025.1"
last_configured: "<timestamp>"
components:
  tests: "2025.1"
  tests_framework: "<vitest|jest|pytest|nextest>"
  tests_coverage_threshold: 80
  tests_ci_integrated: true

詳しい設定テンプレート、移行ガイド、CI/CD 統合例、ディレクトリ構成パターンについては、REFERENCE.md を参照してください。

エージェント向けの最適化

コンテキストコマンド
テストフレームワークを検出するfind . -maxdepth 1 \( -name 'vitest.config.*' -o -name 'jest.config.*' -o -name 'pytest.ini' \) 2>/dev/null
カバレッジ設定を確認するgrep -l 'coverage' package.json pyproject.toml 2>/dev/null
テストファイルを一覧表示するfind . \( -path '*/tests/*' -o -path '*/test/*' -o -name '*.test.*' -o -name '*.spec.*' \) 2>/dev/null | head -n 10
適合状況を簡易チェックする/configure:tests --check-only
設定を自動修正する/configure:tests --fix

エラー処理

  • package.json が見つからない:JS/TS のテストは設定できません。スキップするか、エラーにします
  • フレームワークの競合:複数のテスト設定があることを警告し、手動での解決を求めます
  • 依存関係の欠落:必要なパッケージのインストールを提案します
  • 設定構文が無効:解析エラーを報告し、テンプレートへの置き換えを提案します

関連項目

  • /configure:coverage - カバレッジのしきい値とレポートを設定する
  • /configure:all - すべての適合チェックを実行する
  • /test:run - 汎用テストランナー
  • /test:setup - 包括的なテスト基盤をセットアップする
  • Vitest のドキュメント:https://vitest.dev
  • pytest のドキュメント:https://docs.pytest.org
  • cargo-nextest のドキュメント:https://nexte.st

コメント