Handbook
Code style
Language conventions and linting
Python
- Python 3.13 and PEP 8.
ruff formatenforces Black-style formatting;ruff checkenforces lint rules.- Prefer type hints and docstrings with Args/Returns/Raises (Google-style sections).
- Use absolute imports (no relative
from .imports). - FastAPI services default to
ORJSONResponsefor JSON output. - Generated stubs in
packages/python/nest_protosare excluded from linting.
Naming
snake_casefor files/functions,PascalCasefor classes.UPPER_SNAKE_CASEfor constants.
Formatting and linting
uv run ruff format
uv run ruff checkOptional: uv run pre-commit run --all-files
Protobufs
- Edit
.protofiles underproto/. - Regenerate stubs with
buf generate(do not hand-edit generated files).
Flutter/Dart
- Follow Flutter/Dart recommended style and conventions (
flutter_lints). apps/raven/analysis_options.yamlincludesflutter_lintsand excludeslib/gen/**.- Run
flutter analyzeanddart formatbefore merging. - Prefer package imports (
import 'package:nest/...';) over relative paths.
Last updated on