{"enrichment":{"faq":[{"a":"ruff provides linting through its `ruff check` command, which analyzes your Python files against hundreds of rules across multiple rule sets (Flake8, isort, Black compatibility, and more). Run `ruff check .` to scan your project, or `ruff check path/to/file.py` for a specific file. ruff reports violations with rule codes (e.g., E501 for line length) and their locations. You can configure which rules run via ruff.toml or pyproject.toml using `select` and `extend-select` to enable rule families, and `ignore` to suppress unwanted checks.","q":"How do I lint Python code with ruff?"},{"a":"Yes\u2014ruff is designed as a unified replacement for Flake8, Black, and isort. Use `ruff check` for linting (replacing Flake8), `ruff format` for code formatting (replacing Black), and ruff's isort-compatible rules for import sorting. This consolidation eliminates tool conflicts, reduces configuration overhead, and speeds up CI/CD since ruff is written in Rust and runs much faster. Migrate by updating your pyproject.toml or ruff.toml with equivalent rule selections and formatting preferences, then run `ruff check --fix` and `ruff format` instead of invoking three separate tools.","q":"Can ruff replace Flake8, Black, and isort in my workflow?"},{"a":"ruff categorizes auto-fixes into safe and unsafe modes. Safe fixes are applied by default with `ruff check --fix` and preserve code semantics\u2014ruff is certain the change won't alter behavior. Unsafe fixes may change logic or require human review; enable them with `--unsafe-fixes` flag. For example, removing an unused import is safe, but simplifying a complex expression might be unsafe. Check the rule documentation to see which fixes fall into each category. Use `--show-fixes` to preview what ruff will change before applying fixes.","q":"What's the difference between ruff safe fixes and unsafe fixes?"},{"a":"ruff configuration lives in a `[tool.ruff]` section in pyproject.toml (or in a dedicated ruff.toml file). Use `select` to enable specific rule codes or families (e.g., `select = [\"E\", \"F\", \"I\"]` for errors, Pyflakes, and isort), `extend-select` to add rules to defaults, and `ignore` to suppress rules. Set `line-length` for formatting, `target-version` for Python compatibility, and `per-file-ignores` for file-specific exceptions. Example: `[tool.ruff]` with `line-length = 100`, `select = [\"E501\", \"F\"]`, and `per-file-ignores = {\"__init__.py\" = [\"F401\"]}` to ignore unused imports in init files.","q":"How do I configure ruff rules in pyproject.toml?"},{"a":"ruff supports `noqa` comments to suppress violations inline. Add `# noqa` at the end of a line to ignore all violations on that line, or `# noqa: E501` to suppress only rule E501. Use `# noqa: E501, F401` for multiple rules. For entire files, add `# ruff: noqa` at the top. You can also configure per-file ignores in pyproject.toml under `per-file-ignores` (e.g., `{\"tests/*\" = [\"F841\"]}` to ignore unused variables in test files). ruff respects these comments during both `ruff check` and `ruff format` operations.","q":"How do I suppress specific linting violations with ruff?"},{"a":"ruff server is a language server protocol (LSP) implementation that integrates ruff into IDEs like VS Code, PyCharm, and Neovim for real-time linting and formatting feedback. Start it with `ruff server` and configure your editor to connect to it. The server provides on-the-fly diagnostics, code actions (quick fixes), and formatting on save. This gives you instant feedback without running separate CLI commands. Install the Pylance or ruff-lsp extension in your IDE, point it to the ruff server, and you'll see violations highlighted inline with suggestions to auto-fix them.","q":"What is ruff server and how do I use it for IDE integration?"}],"shadow_tags":["static-analysis","code-quality-enforcement","multi-tool-consolidation","rust-based-linter","autofix-capability","configuration-inheritance","rule-selection-strategy","formatter-parity","import-sorting","dependency-analysis"],"summary_rewrite":"ruff combines linting, formatting, and dependency analysis into a single Rust-based tool for Python projects. It replaces multiple tools like Flake8, Black, and isort while offering a built-in language server, configurable rule selection, and both safe and unsafe fix modes. Configure via ruff.toml or pyproject.toml to control which rules run, how code formats, and which violations auto-fix."},"files":[{"bytes":11328,"path":"skills/ruff/SKILL.md","sha256":"cfbfbf78689afca8535127c6807935d4841c05c27ffa5b08ff36a9ca530e1c73","url":"https://skillfed.io/files/hyperb1iss/hyperskills/ruff/2889bd94/SKILL.md"}],"id":"hyperb1iss/hyperskills/ruff","links":{"html":"https://skillfed.io/hyperb1iss/hyperskills/ruff","md":"https://skillfed.io/hyperb1iss/hyperskills/ruff.md","repo":"https://github.com/hyperb1iss/hyperskills"},"meta":{"agents_supported":[],"first_seen":"2026-07-28","forks":1,"language":"Makefile","last_updated":"2026-07-23","license":"MIT","name":"ruff","publisher":"hyperb1iss","stars":26},"relations":{"similar":[{"id":"jiatastic/open-python-skills/ruff-linter"},{"id":"astral-sh/claude-code-plugins/ruff"},{"id":"dawiddutoit/custom-claude/quality-run-linting-formatting"},{"id":"JosiahSiegel/claude-plugin-marketplace/python-package-management"},{"id":"wshobson/agents/python-code-style"},{"id":"alinaqi/maggy/existing-repo"},{"id":"trailofbits/skills/modern-python"},{"id":"eyadsibai/ltk/code-quality"},{"id":"majiayu000/spellbook/python-project"},{"id":"patricio0312rev/skills/code-formatter-installer"}]},"slug":{"owner":"hyperb1iss","repo":"hyperskills","skill":"ruff"},"version":"2889bd94"}
