StackGuardian / StackGuardian/tirith

chore: adopt ruff for linting, formatting and import sorting

Open
#367 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement good first issue
Dominant language
Python
Stars
165
Forks
42
Avg merge
1d 3h
Merged PRs (30d)
11

Description

The project currently uses black (pyproject.toml's [tool.black], black in the Pipfile) and
has no lint or import-sorting step. Ruff covers all three in one
fast tool: ruff check for linting (including isort-style import sorting via the I rules) and
ruff format as a black-compatible formatter.

Tasks

  • Add ruff configuration in pyproject.toml: the default rule set plus I (import sorting), with
    target-version matching the supported Python floor.
  • Run ruff check --fix and ruff format; keep the mechanical changes in their own commit,
    separate from any manual fixes they surface.
  • Replace black with ruff in the Pipfile/dev tooling, and add a CI step under
    .github/workflows/ running ruff check and ruff format --check.
  • Update CONTRIBUTING.md with the new commands.

This also covers import sorting, which was previously tracked as its own issue.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the existing [tool.black] configuration in pyproject.toml, the Pipfile, .github/workflows/, and CONTRIBUTING.md. Run the requested ruff check --fix and ruff format commands, keeping their mechanical changes separate from manual fixes. Done means Ruff replaces Black, CI runs both checks, and the contributor commands are updated.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
ci-cd, documentation, tooling
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
64/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.