mcpField
R
ruff-integration

ruff-integration

github.com/laurigates测试与质量5943 次安装1 天前更新
代码仓库

关于 ruff-integration

ruff-integration 是一项将 ruff 接入编辑器、pre-commit、CI/CD 和构建流程的技能,重点介绍集成配置,而非选择 lint 规则或格式选项。

主要功能

  1. 01编辑器与 VS Code 配置
  2. 02配置 pre-commit 钩子
  3. 03GitHub Actions CI 示例
  4. 04ruff 配置优先级说明
  5. 05CI 与命令行操作指南

适用场景

  1. 01设置编辑器保存时运行 ruff
  2. 02在 pre-commit 中运行 lint 和格式化
  3. 03将 ruff 检查加入 GitHub Actions
  4. 04把 ruff 集成到构建或 Docker

安装

复制下面的命令,在终端中运行。

$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

配置优先级

  1. 命令行参数(优先级最高)
  2. 编辑器 LSP 设置
  3. 当前目录中的 ruff.toml
  4. 当前目录中的 pyproject.toml
  5. 父目录中的配置(递归查找)
  6. 用户配置:~/.config/ruff/ruff.toml
  7. Ruff 默认值(优先级最低)

最佳实践

  • 编辑器:启用保存时格式化,使用项目专属的 .vscode/settings.json
  • Pre-commit:先运行 ruff-check --fix,再运行 ruff-format
  • CI/CD:使用 --output-format github 为 PR 添加注释
  • 性能:在 CI 中缓存 ruff,并在 pre-commit 中仅对更改的文件运行
  • 团队:将编辑器/pre-commit 配置提交到版本控制中

Agent 优化

场景命令
快速 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