You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 29dbaed
Browse filesBrowse the repository at this point in the historyBrowse files
Swap the two separate dev tools -- flake8 (lint) and black (format) -- for
a single ruff binary that does both.
- pyproject.toml: add [tool.ruff] (line-length = 125) and [tool.ruff.lint]
with select = ["E", "W", "F"] plus the ignore set carried over from
.flake8 (F841, F821, E402); drop [tool.black].
- requirements/dev_tools.txt: replace flake8 and black with ruff.
- delete .flake8 (settings now live in pyproject.toml).
- scripts/format.sh: ruff check --fix + ruff format.
- scripts/lint.sh: ruff check.
- rename the file-level `# flake8: noqa` directives to `# ruff: noqa`.
- freeze three middleware/handler dispatch calls with `# fmt: skip` so
ruff format cannot detach their `# type: ignore` comments (which would
break mypy under warn_unused_ignores).
- record the reformat commit in .git-blame-ignore-revs.
Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
Copy file name to clipboardExpand all lines: AGENTS.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ Slack Bolt for Python -- a framework for building Slack apps in Python.
16
16
17
17
## Environment Setup
18
18
19
-
You can verify the venv is active by checking `echo $VIRTUAL_ENV`. If tools like `black`, `flake8`, `mypy` or `pytest` are not found, ask the user to activate the venv.
19
+
You can verify the venv is active by checking `echo $VIRTUAL_ENV`. If tools like `ruff`, `mypy` or `pytest` are not found, ask the user to activate the venv.
20
20
21
21
A python virtual environment (`venv`) should be activated before running any commands.
22
22
@@ -65,10 +65,10 @@ Always use the project scripts instead of calling `pytest` directly:
65
65
### Formatting, Linting, Type Checking
66
66
67
67
```bash
68
-
# Format -- Black, configured in pyproject.toml
68
+
# Format -- Ruff formatter (+ lint autofix), configured in pyproject.toml
69
69
./scripts/format.sh --no-install
70
70
71
-
# Lint -- Flake8, configured in .flake8
71
+
# Lint -- Ruff linter, configured in pyproject.toml
72
72
./scripts/lint.sh --no-install
73
73
74
74
# Type check -- mypy, configured in pyproject.toml
@@ -210,7 +210,7 @@ The core package has a **single required runtime dependency**: `slack_sdk` (defi
210
210
-`test_async.txt` -- test runner deps (`pytest`, `pytest-asyncio`, includes `async_dev.txt`)
211
211
-`test.txt` -- test deps without async (`pytest`, `pytest-cov`)
212
212
-`test_adapter.txt` -- adapter-specific test deps (`moto`, `boddle`, `sanic-testing`)
213
-
-`dev_tools.txt` -- dev tools (`mypy`, `flake8`, `black`)
213
+
-`dev_tools.txt` -- dev tools (`mypy`, `ruff`)
214
214
215
215
When adding a new dependency: add it to the appropriate `requirements/*.txt` file with version constraints, never to `pyproject.toml``dependencies` (unless it's a core runtime dep, which is very rare).
0 commit comments