ruff-integration について
ruff-integrationは、ruffをエディター、pre-commit、CI/CD、ビルド工程に組み込むためのスキルです。Lintルールやフォーマット設定の選定ではなく、連携設定を扱います。
主な機能
- 01エディターとVS Codeの設定
- 02pre-commitフックの構成
- 03GitHub Actions CIの例
- 04ruff設定の優先順位
- 05CIとコマンドラインの手順
活用シーン
- 01保存時にruffを実行する設定
- 02pre-commitでLintと整形を実行
- 03GitHub Actionsにruffチェックを追加
- 04ビルドやDockerにruffを統合
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ laurigates/ claude-plugins --skill ruff-integrationインストール後、Claude Code で/ruff-integrationを入力して読み込まれたか確認します。
同梱ファイルREFERENCE.md
詳細
ruff の統合
ruff をエディター、pre-commit フック、CI/CD パイプラインに統合します。
このスキルを使用するタイミング
| 次の場合はこのスキルを使用します... | 次の場合は ruff-linting を使用します... | 次の場合は ruff-formatting を使用します... |
|---|---|---|
| VS Code/エディターをセットアップする | lint ルールを設定する | フォーマットオプションを設定する |
| pre-commit フックを追加する | ルールを選択/無視する | 引用符のスタイル、行の長さ |
| ruff を CI/CD に追加する | ルールのカテゴリを理解する | フォーマットの違い |
| Docker/ビルドを統合する | lint 違反を修正する | フォーマットへの準拠を確認する |
VS Code のセットアップ
// .vscode/settings.json
{
"[python]": {
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll": "explicit",
"source.organizeImports": "explicit"
},
"editor.defaultFormatter": "charliermarsh.ruff"
},
"ruff.lint.args": ["--select=E,F,B,I"],
"ruff.importStrategy": "fromEnvironment"
}
# Install extension
code --install-extension charliermarsh.ruff
pre-commit との統合
# .pre-commit-config.yaml
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.14.0
hooks:
- id: ruff-check
args: [--fix]
- id: ruff-format
pre-commit install # Install hooks
pre-commit run --all-files # Run manually
pre-commit autoupdate # Update versions
GitHub Actions CI
# .github/workflows/lint.yml
name: Lint
on: [push, pull_request]
jobs:
ruff:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/ruff-action@v3
with:
args: 'check --output-format github'
lint とフォーマットのチェックを個別に実行:
jobs:
ruff-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: pip install ruff
- run: ruff check --output-format github
ruff-format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: pip install ruff
- run: ruff format --check --diff
設定の優先順位
- コマンドライン引数(最優先)
- エディターの LSP 設定
- カレントディレクトリの
ruff.toml - カレントディレクトリの
pyproject.toml - 親ディレクトリの設定(再帰的)
- ユーザー設定:
~/.config/ruff/ruff.toml - Ruff のデフォルト(優先度が最も低い)
ベストプラクティス
- エディター:保存時のフォーマットを有効にし、プロジェクト固有の
.vscode/settings.jsonを使用します - pre-commit:最初に
ruff-check --fixを実行し、その後ruff-formatを実行します - CI/CD:PR の注釈には
--output-format githubを使用します - パフォーマンス:CI で ruff をキャッシュし、pre-commit では変更されたファイルのみを対象にします
- チーム:エディターと pre-commit の設定をバージョン管理にコミットします
エージェント向けの最適化
| コンテキスト | コマンド |
|---|---|
| すばやく lint を確認 | ruff check --output-format github |
| フォーマットを確認 | ruff format --check --diff |
| すべてを自動修正 | ruff check --fix && ruff format |
| エラーのみ | ruff check --select E |
| CI の注釈 | ruff check --output-format github |
| JSON 出力 | ruff check --output-format json |
| 特定のファイル | ruff check --diff path/to/file.py |
クイックリファレンス
# Editor
code --install-extension charliermarsh.ruff
# Pre-commit
pre-commit install && pre-commit run --all-files
# CI (GitHub Actions)
uses: astral-sh/ruff-action@v3
# Docker
docker run -v .:/app ghcr.io/astral-sh/ruff:0.14.0-alpine check /app
エディター設定(Neovim、Zed、Helix)、GitLab/CircleCI/Jenkins CI、ビルドシステムとの統合、Docker のセットアップ、LSP 設定、移行ガイドについては、REFERENCE.md を参照してください。
コメント
Markdown 対応