install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/TerminalSkills/skills/ruff" ~/.claude/skills/comeonoliver-skillshub-ruff && rm -rf "$T"
manifest:
skills/TerminalSkills/skills/ruff/SKILL.mdsource content
Ruff
Overview
Ruff is an extremely fast Python linter and formatter written in Rust. It replaces flake8, black, isort, pyupgrade, pydocstyle, and dozens more tools — running 10-100x faster. One tool for all Python code quality.
Instructions
Step 1: Setup
pip install ruff
Step 2: Configuration
# pyproject.toml — Ruff configuration [tool.ruff] target-version = "py311" line-length = 100 src = ["src", "tests"] [tool.ruff.lint] select = [ "E", # pycodestyle errors "W", # pycodestyle warnings "F", # pyflakes "I", # isort (import sorting) "B", # flake8-bugbear "C4", # flake8-comprehensions "UP", # pyupgrade "SIM", # flake8-simplify "TCH", # flake8-type-checking "RUF", # ruff-specific rules ] ignore = [ "E501", # line too long (handled by formatter) ] fixable = ["ALL"] [tool.ruff.lint.isort] known-first-party = ["my_app"] [tool.ruff.format] quote-style = "double" indent-style = "space" docstring-code-format = true
Step 3: Use
# Lint ruff check . # check all files ruff check . --fix # auto-fix issues ruff check . --fix --unsafe-fixes # include risky auto-fixes # Format ruff format . # format all files ruff format --check . # check without modifying (CI) # Watch mode ruff check --watch .
Step 4: Pre-commit Hook
# .pre-commit-config.yaml repos: - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.3.0 hooks: - id: ruff args: [--fix] - id: ruff-format
Step 5: CI Integration
# .github/workflows/lint.yml - name: Lint with Ruff run: | ruff check . --output-format=github ruff format --check .
Guidelines
- Ruff replaces flake8, black, isort, pyupgrade in a single tool — remove the old ones.
- Start with a broad rule set (
) and expand.select = ["E", "W", "F", "I", "B", "UP"]
auto-fixes most issues — safe to run in pre-commit hooks.ruff check --fix- Ruff processes the entire CPython codebase in under 200ms — linting is no longer a bottleneck.
- Use
as a drop-in replacement for black — same output, 100x faster.ruff format