3333@app .command (
3434 name = "codespell" ,
3535 help = "Use the codespell spellchecker: detect common spelling mistakes." ,
36+ rich_help_panel = "Code Quality Tools" ,
3637)
3738def codespell (
3839 remove : bool = remove_opt ,
@@ -47,7 +48,11 @@ def codespell(
4748 _run_tool (use_codespell , remove = remove )
4849
4950
50- @app .command (name = "coverage" , help = "Use coverage: a code coverage measurement tool." )
51+ @app .command (
52+ name = "coverage" ,
53+ help = "Use coverage: a code coverage measurement tool." ,
54+ rich_help_panel = "Testing" ,
55+ )
5156def coverage (
5257 remove : bool = remove_opt ,
5358 offline : bool = offline_opt ,
@@ -64,6 +69,7 @@ def coverage(
6469@app .command (
6570 name = "deptry" ,
6671 help = "Use the deptry linter: avoid missing or superfluous dependency declarations." ,
72+ rich_help_panel = "Code Quality Tools" ,
6773)
6874def deptry (
6975 remove : bool = remove_opt ,
@@ -81,6 +87,7 @@ def deptry(
8187@app .command (
8288 name = "import-linter" ,
8389 help = "Use Import Linter: enforce a self-imposed architecture on imports." ,
90+ rich_help_panel = "Code Quality Tools" ,
8491)
8592def import_linter (
8693 remove : bool = remove_opt ,
@@ -98,6 +105,7 @@ def import_linter(
98105@app .command (
99106 name = "pre-commit" ,
100107 help = "Use the pre-commit framework to manage and maintain pre-commit hooks." ,
108+ rich_help_panel = "Code Quality Tools" ,
101109)
102110def pre_commit (
103111 remove : bool = remove_opt ,
@@ -115,6 +123,7 @@ def pre_commit(
115123@app .command (
116124 name = "pyproject-fmt" ,
117125 help = "Use the pyproject-fmt linter: opinionated formatting of 'pyproject.toml' files." ,
126+ rich_help_panel = "Code Quality Tools" ,
118127)
119128def pyproject_fmt (
120129 remove : bool = remove_opt ,
@@ -130,7 +139,9 @@ def pyproject_fmt(
130139
131140
132141@app .command (
133- name = "pyproject.toml" , help = "Use a pyproject.toml file to configure the project."
142+ name = "pyproject.toml" ,
143+ help = "Use a pyproject.toml file to configure the project." ,
144+ rich_help_panel = "Configuration Files" ,
134145)
135146def pyproject_toml (
136147 remove : bool = remove_opt ,
@@ -145,7 +156,9 @@ def pyproject_toml(
145156 _run_tool (use_pyproject_toml , remove = remove )
146157
147158
148- @app .command (name = "pytest" , help = "Use the pytest testing framework." )
159+ @app .command (
160+ name = "pytest" , help = "Use the pytest testing framework." , rich_help_panel = "Testing"
161+ )
149162def pytest (
150163 remove : bool = remove_opt ,
151164 offline : bool = offline_opt ,
@@ -162,6 +175,7 @@ def pytest(
162175@app .command (
163176 name = "requirements.txt" ,
164177 help = "Use a requirements.txt file exported from the uv lockfile." ,
178+ rich_help_panel = "Configuration Files" ,
165179)
166180def requirements_txt (
167181 remove : bool = remove_opt ,
@@ -177,7 +191,9 @@ def requirements_txt(
177191
178192
179193@app .command (
180- name = "ruff" , help = "Use Ruff: an extremely fast Python linter and code formatter."
194+ name = "ruff" ,
195+ help = "Use Ruff: an extremely fast Python linter and code formatter." ,
196+ rich_help_panel = "Code Quality Tools" ,
181197)
182198def ruff (
183199 remove : bool = remove_opt ,
0 commit comments