Files
imajviewer/CONTRIBUTING.md

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