claudy_writes_ruff_conf: a skill for linting to our (my) "wonky code style" #88

Open
goodboy wants to merge 3 commits from claudy_writes_ruff_conf into main

Pertains to further extending claude skills as proposed in #79 in this case trying to get a base ruff.conf + surrounding tooling to encourage a common style throughout (at least to start) all the py codez 🙏

Also see https://www.pikers.dev/pikers/piker/issues/87#issuecomment-1431 for my incremental updates from the prompt-sesh where all this was vibed.


What to do

  • test and doc the new /lint skill-cmd.
  • ensure we have a sane setup even on nixos dev envs.
    • originally there were questions about “which ruff” should be used.
  • address the auto-fixable and non cases_,
    • 274 auto-fixable with ruff check –fix.

    • D205 (blank line between summary + description) is not auto-fixable, so those 411 violations need manual attention or a scripted fix.

Pertains to further extending `claude` skills as proposed in https://pikers.dev/pikers/piker/issues/79 in this case trying to get a base `ruff.conf` + surrounding tooling to encourage a common style throughout (at least to start) all the py codez 🙏 Also see https://www.pikers.dev/pikers/piker/issues/87#issuecomment-1431 for my incremental updates from the prompt-sesh where all this was vibed. --- #### What to do - [ ] test and doc the new `/lint` skill-cmd. * prolly just use the [comment here verbatim?](https://www.pikers.dev/pikers/piker/issues/87#issuecomment-1431) - [ ] ensure we have a sane setup even on nixos dev envs. * originally there were questions about "which `ruff`" should be used. - [ ] address [the *auto-fixable* and non cases](https://www.pikers.dev/pikers/piker/issues/87#issue-141)_, * > 274 auto-fixable with ruff check --fix. * > D205 (blank line between summary + description) is not auto-fixable, so those 411 violations need manual attention or a scripted fix.
goodboy added 3 commits 2026-03-12 01:08:36 +00:00
cec6d19156 Add pydocstyle and `W` rules to `ruff.toml`
Enable `D2xx` formatting rules to enforce piker's `'''`
multiline docstring convention: summary on second line
(D213), closing quotes on separate line (D209), blank
line between summary and description (D205).

Deats,
- select `D2` (whitespace/formatting) rule group plus
  cherry-picked `D402`/`D403`/`D419` content checks.
- ignore `D200` (allow multiline for short docstrings),
  `D203` (use `D211` instead), `D212` (use `D213`).
- skip `D1xx` (missing-docstring) to avoid noise and
  `D3xx` since `D300` conflicts with `'''` convention.
- add `W` rules for trailing-whitespace detection.

Also,
- enable `docstring-code-format` with 67-char width
  for code examples inside docstrings.

(this patch was generated in some part by [`claude-code`][claude-code-gh])
[claude-code-gh]: https://github.com/anthropics/claude-code
e5a91faac7 Add `/lint` skill with `scripts/check.py`
Add a user-invocable `/lint` skill that wraps
`ruff check` with staged-file defaults and piker's
`ruff.toml` config via a PEP 723 script.

The `ruff.toml` (from prior commit) now enforces
piker's `'''` multiline docstring convention with
`D2xx` formatting rules: summary on second line
(D213), closing quotes on separate line (D209), blank
line between summary and description (D205), plus
`W` trailing-whitespace and cherry-picked `D4xx`
content checks.

Deats,
- `scripts/check.py`: pure-stdlib wrapper that
  defaults to staged `.py` files via
  `git diff --cached`, with `--all`, `--fix`,
  `--diff`, and `--stats` flags.
- calls `ruff` from `$PATH` (works with nixpkgs,
  nvim-bundled, or pip-installed).
- prints clear install guidance if `ruff` not found.
- `SKILL.md`: documents usage, common violations
  (D213, D205, D204), and fix patterns for
  converting to piker's docstring style.

(this patch was generated in some part by [`claude-code`][claude-code-gh])
[claude-code-gh]: https://github.com/anthropics/claude-code
This Pull Request doesn't have enough approvals yet. 0 of 1 approvals granted.
You are not authorized to merge this pull request.
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: pikers/piker#88
There is no content yet.