56 lines
1.4 KiB
Markdown
56 lines
1.4 KiB
Markdown
# Contributing to imajViewer
|
|
|
|
Thanks for taking the time to contribute! 🎉
|
|
|
|
## Development setup
|
|
|
|
- [Flutter SDK](https://docs.flutter.dev/get-started/install) (stable channel)
|
|
- Linux: GTK dev libraries (`libgtk-3-dev`, `ninja-build`, `clang`, `cmake`)
|
|
- Windows: Visual Studio 2022 Build Tools with "Desktop development with C++"
|
|
|
|
```bash
|
|
flutter pub get
|
|
flutter build linux # or: flutter build windows --release
|
|
```
|
|
|
|
## Code style
|
|
|
|
- Follow `flutter_lints` (see `analysis_options.yaml`)
|
|
- Keep changes minimal and focused — no drive-by refactors
|
|
- Use existing patterns in `lib/` (services, widgets, screens)
|
|
|
|
## Tests
|
|
|
|
Run the test suite before opening a PR:
|
|
|
|
```bash
|
|
flutter test
|
|
```
|
|
|
|
## Commit conventions
|
|
|
|
We use conventional commit prefixes:
|
|
|
|
- `feat:` — new feature
|
|
- `fix:` — bug fix
|
|
- `perf:` — performance improvement
|
|
- `build:` — build/packaging/CI changes
|
|
- `docs:` — documentation only
|
|
|
|
## Pull request process
|
|
|
|
1. Fork the repository
|
|
2. Create a branch: `git checkout -b fix/describe-the-fix`
|
|
3. Make your changes, run `flutter test`
|
|
4. Commit with a conventional message
|
|
5. Open a PR against `main` and describe what you changed and why
|
|
|
|
## Reporting bugs
|
|
|
|
Open an issue using the bug report template. Include:
|
|
|
|
- imajViewer version (from `pubspec.yaml` or the release name)
|
|
- OS and desktop environment
|
|
- Steps to reproduce
|
|
- Expected vs. actual behavior
|