Code Quality¶
Overview¶
The project maintains high code quality standards through automated tools and pre-commit hooks.
Code Style¶
Line Length¶
79 characters maximum (enforced by Ruff)
Formatting¶
Type Hints¶
Required on all functions (enforced by mypy --strict):
Docstrings¶
Required on all public functions, classes, and methods (80% coverage minimum):
def create_author(name: str) -> Author:
"""
Create a new author.
Args:
name: Author's full name
Returns:
Created author instance
Raises:
ValueError: If name is empty
"""
pass
Linting¶
Ruff¶
Mypy¶
Interrogate¶
Security¶
Bandit¶
Skjold¶
Dead Code Detection¶
Spell Checking¶
Pre-commit Hooks¶
All checks run automatically on commit: