configure-formatting について
ソフトウェアプロジェクトのコードフォーマッターを確認・設定するスキルです。ツールの検出、設定監査、移行に加え、エディター、コミット前フック、CIとの連携を扱います。
主な機能
- 01プロジェクト言語とフォーマッターの検出
- 02フォーマッター設定の監査
- 03フォーマット用スクリプトと設定の作成
- 04フォーマッター移行の案内
- 05コミット前フックとCIチェックの設定
- 06確認のみと自動修正に対応
活用シーン
- 01新規プロジェクトのフォーマット設定
- 02PrettierからBiomeへの移行
- 03BlackからRuff formatへの置き換え
- 04CIへのフォーマットチェック追加
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ laurigates/ claude-plugins --skill configure-formattingインストール後、Claude Code で/configure-formattingを入力して読み込まれたか確認します。
同梱ファイルREFERENCE.md
詳細
/configure:formatting
最新のベストプラクティスに照らして、コードフォーマットツールを確認・設定します。
このスキルを使う場面
| このスキルを使う場面 | 別の方法を使う場面 |
|---|---|
| プロジェクトに Biome、Prettier、Ruff format、または rustfmt を設定する | 既存のフォーマッターを実行する(biome format、ruff format) |
| Prettier から Biome、または Black から Ruff に移行する | 特定のファイルの個別のフォーマット問題を修正する |
| フォーマッターの設定が完全で、ベストプラクティスに沿っているか監査する | lint ルールを設定する(代わりに /configure:linting を使用) |
| 保存時のフォーマットと CI のフォーマットチェックを追加する | pre-commit フックのみを設定する(代わりに /configure:pre-commit を使用) |
| モノレポ全体でフォーマット設定を標準化する | .editorconfig または .vscode/settings.json を手動で編集する |
コンテキスト
- Biome の設定: !
find . -maxdepth 1 -name \'biome.json\' - Prettier の設定: !
find . -maxdepth 1 \( -name '.prettierrc*' -o -name 'prettier.config.*' \) - Ruff の設定: !
grep -l 'tool.ruff.format' pyproject.toml - Black の設定: !
grep -l 'tool.black' pyproject.toml - Rustfmt の設定: !
find . -maxdepth 1 \( -name 'rustfmt.toml' -o -name '.rustfmt.toml' \) - EditorConfig: !
find . -maxdepth 1 -name \'.editorconfig\' - Package JSON: !
find . -maxdepth 1 -name \'package.json\' - Python プロジェクト: !
find . -maxdepth 1 -name \'pyproject.toml\' - Rust プロジェクト: !
find . -maxdepth 1 -name \'Cargo.toml\' - Pre-commit: !
find . -maxdepth 1 -name \'.pre-commit-config.yaml\' - プロジェクト標準: !
find . -maxdepth 1 -name \'.project-standards.yaml\'
パラメーター
$ARGUMENTS から解析します。
--check-only: 変更せずに準拠状況を報告します--fix: 確認を求めずにすべての修正を自動適用します--formatter <formatter>: フォーマッターの検出結果を上書きします(biome、prettier、ruff、rustfmt)
バージョン確認
重要: 古いフォーマッターを指摘する前に、WebSearch または WebFetch を使って最新リリースを確認してください。
- Biome: biomejs.dev または GitHub releases を確認します
- Prettier: prettier.io または npm を確認します
- Ruff: docs.astral.sh/ruff または GitHub releases を確認します
- rustfmt: Rust ツールチェーンに同梱されています。Rust releases を確認します
実行
以下のコードフォーマット設定ワークフローを実行します。
Step 1: プロジェクトの言語と既存のフォーマッターを検出する
言語を示すファイルやフォーマッターの設定を確認します。
| 指標 | 言語 | 検出されたフォーマッター |
|---|---|---|
フォーマッター設定を含む biome.json | JavaScript/TypeScript | Biome |
.prettierrc.* | JavaScript/TypeScript | Prettier |
pyproject.toml [tool.ruff.format] | Python | Ruff |
pyproject.toml [tool.black] | Python | Black(旧式) |
rustfmt.toml または .rustfmt.toml | Rust | rustfmt |
推奨する最新のフォーマット設定:
- JavaScript/TypeScript: Biome(推奨)または Prettier
- Python: Ruff format(Black の代替)
- Rust: rustfmt(標準)
Step 2: 現在のフォーマッター設定を分析する
検出された各フォーマッターについて、設定の完全性を確認します。
- 必要な設定(インデント、行幅、引用符など)を含む設定ファイルが存在する
- 除外パターンが設定されている
- package.json / pyproject.toml にフォーマット用スクリプトが定義されている
- pre-commit フックが設定されている
- CI/CD チェックが設定されている
Step 3: 準拠レポートを生成する
書式設定された準拠レポートを出力します。
Code Formatting Compliance Report
==================================
Project: [name]
Language: [detected]
Formatter: [detected]
Configuration: [status per check]
Format Options: [status per check]
Scripts: [status per check]
Integration: [status per check]
Overall: [X issues found]
Recommendations: [list specific fixes]
--check-only が指定されている場合は、ここで終了します。
ステップ 4:フォーマッターをインストールして設定する(--fix が指定されている場合、またはユーザーが確認した場合)
検出した言語とフォーマッターの設定に基づいて、インストールして設定します。REFERENCE.md の設定テンプレートを使用してください。
- フォーマッターパッケージをインストールする
- 設定ファイルを作成する(biome.json、.prettierrc.json、pyproject.toml セクション、rustfmt.toml)
- package.json または Makefile/justfile にフォーマットスクリプトを追加する
- 必要に応じて無視ファイル(.prettierignore)を作成する
ステップ 5:EditorConfig との連携を作成する
フォーマッターの設定に合わせた設定を .editorconfig に作成または追加します。
ステップ 6:移行に対応する(該当する場合)
以前のフォーマッターが検出された場合(Prettier → Biome、Black → Ruff):
- 既存の設定をインポートする
- 新しいフォーマッターをインストールする
- 古いフォーマッターを削除する
- スクリプトを更新する
- pre-commit フックを更新する
REFERENCE.md の移行ガイドを使用してください。
ステップ 7:pre-commit フックを設定する
適切なフックリポジトリを使用して、フォーマッターを .pre-commit-config.yaml に追加します。
ステップ 8:CI/CD 連携を設定する
GitHub Actions ワークフローにフォーマットチェックのステップを追加します。
ステップ 9:エディター連携を設定する
.vscode/settings.json に保存時のフォーマット設定を作成または追加し、.vscode/extensions.json にフォーマーター拡張機能を設定します。
ステップ 10:標準の追跡情報を更新する
.project-standards.yaml を更新します。
components:
formatting: "2025.1"
formatting_tool: "[biome|prettier|ruff|rustfmt]"
formatting_pre_commit: true
formatting_ci: true
ステップ 11:完了レポートを出力する
実施した変更、追加したスクリプト、次の手順(フォーマットの実行、CI の確認、保存時のフォーマットの有効化)の概要を出力します。
設定テンプレート、移行ガイド、pre-commit 設定の詳細については、REFERENCE.md を参照してください。
エージェント向けの最適化
| コンテキスト | コマンド |
|---|---|
| 簡易コンプライアンスチェック | /configure:formatting --check-only |
| すべての問題を自動修正 | /configure:formatting --fix |
| Biome のフォーマットをチェック | biome format --check --reporter=github |
| Prettier のフォーマットをチェック | `npx prettier --check . 2>&1 |
| Ruff のフォーマットをチェック | ruff format --check --output-format=github |
| rustfmt のフォーマットをチェック | `cargo fmt --check 2>&1 |
フラグ
| フラグ | 説明 |
|---|---|
--check-only | 修正を提案せずに状態を報告する |
--fix | 確認を求めずにすべての修正を自動的に適用する |
--formatter <formatter> | フォーマッターの検出結果を上書きする(biome、prettier、ruff、rustfmt) |
例
# Check compliance and offer fixes
/configure:formatting
# Check only, no modifications
/configure:formatting --check-only
# Auto-fix and migrate to Biome
/configure:formatting --fix --formatter biome
エラー処理
- 複数のフォーマッターが検出された場合:競合を警告し、移行を提案します
- パッケージマネージャーが見つからない場合:フォーマッターをインストールできないため、エラーにします
- 設定が無効な場合:解析エラーを報告し、テンプレートへの置き換えを提案します
- フォーマットの競合がある場合:再フォーマットされるファイルを報告します
関連項目
/configure:linting- リントツールを設定する/configure:editor- エディター設定を行う/configure:pre-commit- pre-commit フックを設定する/configure:all- すべてのコンプライアンスチェックを実行する- Biome のドキュメント:https://biomejs.dev
- Ruff のドキュメント:https://docs.astral.sh/ruff
- rustfmt のドキュメント:https://rust-lang.github.io/rustfmt