Code Style Guidelines ======================== Code Formatting ------------------- All code must be formatted using `Ruff `_. Type checking ----------------- The use of type hints is encouraged, and all code must be checked using `mypy `_. Commit messages ---------------- Commit messages should follow the `Conventional Commits `_. Versioning ---------------- Ignis follows `Semantic Versioning `_. Definitions and Naming ----------------------- Use the following naming conventions for different purposes: - ``snake_case``: Functions, variables, GObject properties (except D-Bus methods/properties) - ``SCREAMING_SNAKE_CASE``: Constants - ``PascalCase``: Classes, D-Bus methods/properties - ``kebab-case``: GObject signals