This document outlines the recommended development workflow for Lotti.
- Flutter via FVM (recommended). The repo includes
.fvmrcto pin the version. - Makefile targets wrap common tasks.
make deps
- Analyze:
make analyze - Format:
dart format . - Tests:
make test - Coverage report:
make coverage - Code generation:
make build_runner - Localization generation:
make l10n
To generate the HTML report with make coverage, install lcov (includes genhtml):
- macOS:
brew install lcov - Ubuntu/Debian:
sudo apt-get update && sudo apt-get install -y lcov - Fedora:
sudo dnf install lcov - Arch:
sudo pacman -S lcov
After installation, run make coverage and open coverage/index.html.
- macOS:
fvm flutter run -d macos - Other platforms:
flutter run -d <device>
- ARB files live under
lib/l10n/ - Generate localizations:
make l10n - Optional: sort ARB files:
make sort_arb_files
- Run once:
make build_runner - Watch mode (optional):
make watch
- Aim for zero warnings or infos before opening a PR. Address all analyzer messages; prefer fixes over ignores in production code.
- Conventional Commits (e.g.,
feat:,fix:,docs:,chore:) - Keep subjects concise and imperative.
- PRs should pass
make analyzeandmake testand include a clear description (and screenshots/GIFs for UI changes where relevant).