@@ -117,14 +117,20 @@ Key settings:
117117# Run all pre-commit hooks (using uvx with tox-uv)
118118uvx --with tox-uv tox -e lint
119119
120- # Run type checking
121- mypy src/mxdev
120+ # Run ruff linter (with auto-fix)
121+ uvx ruff check --fix src/mxdev tests
122+
123+ # Run ruff formatter
124+ uvx ruff format src/mxdev tests
122125
123- # Run flake8
124- flake8 src/mxdev
126+ # Sort imports with isort
127+ uvx isort src/mxdev tests
128+
129+ # Run type checking
130+ uvx mypy src/mxdev
125131
126- # Sort imports
127- isort src/mxdev
132+ # Run all pre-commit hooks manually
133+ uvx pre-commit run --all-files
128134```
129135
130136### Testing Multiple Python Versions (using uvx tox with uv)
@@ -401,9 +407,16 @@ myext-package_setting = value
401407
402408## Code Style
403409
404- - ** Formatting** : Black-compatible (max line length: 120)
405- - ** Import sorting** : isort with ` force_alphabetical_sort = true ` , ` force_single_line = true `
406- - ** Type hints** : Use throughout (Python 3.10+ compatible)
410+ - ** Formatting** : Ruff formatter (max line length: 120, target Python 3.10+)
411+ - Configured in [ pyproject.toml] ( pyproject.toml ) under ` [tool.ruff] `
412+ - Rules: E, W, F, UP, D (with selective ignores for docstrings)
413+ - Automatically enforced via pre-commit hooks
414+ - ** Import sorting** : isort with plone profile, ` force_alphabetical_sort = true ` , ` force_single_line = true `
415+ - Configured in [ pyproject.toml] ( pyproject.toml ) under ` [tool.isort] `
416+ - Runs after ruff in pre-commit pipeline
417+ - ** Type hints** : Use throughout (Python 3.10+ syntax)
418+ - Use ` X | Y ` instead of ` Union[X, Y] `
419+ - Use ` list[T] ` , ` dict[K, V] ` instead of ` List[T] ` , ` Dict[K, V] `
407420- ** Path handling** : Prefer ` pathlib.Path ` over ` os.path ` for path operations
408421 - Use ` pathlib.Path().as_posix() ` for cross-platform path comparison
409422 - Use ` / ` operator for path joining: ` Path("dir") / "file.txt" `
0 commit comments