mirror of
https://github.com/spalencsar/bearwave.git
synced 2026-07-06 22:24:17 +02:00
Document current version in README, add ctest instructions, update QML development paths, and run tests plus broader qmllint in CI.
75 lines
1.7 KiB
Markdown
75 lines
1.7 KiB
Markdown
# Contributing to BearWave
|
|
|
|
BearWave is a KDE-focused desktop internet radio app built with C++/Qt 6, QML, and QtMultimedia.
|
|
|
|
The project favors:
|
|
|
|
- stability over feature churn
|
|
- minimal dependencies
|
|
- readable, conservative code
|
|
- Plasma-friendly desktop behavior
|
|
|
|
## Before You Contribute
|
|
|
|
- Check existing issues before opening a new one.
|
|
- Prefer focused pull requests over broad refactors.
|
|
- Keep behavior predictable for desktop users.
|
|
- Avoid adding dependencies unless there is a clear payoff.
|
|
|
|
## Local Setup
|
|
|
|
Build from the repository root:
|
|
|
|
```bash
|
|
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
|
|
cmake --build build -j"$(nproc)"
|
|
```
|
|
|
|
Optional local install:
|
|
|
|
```bash
|
|
cmake --install build --prefix "$HOME/.local"
|
|
```
|
|
|
|
If you changed QML:
|
|
|
|
```bash
|
|
qmllint src/qml/Main.qml src/qml/components/*.qml src/qml/theme/BearTheme.qml
|
|
```
|
|
|
|
Run unit tests after backend changes:
|
|
|
|
```bash
|
|
ctest --test-dir build --output-on-failure
|
|
```
|
|
|
|
## Change Guidelines
|
|
|
|
- Follow the existing style in each file.
|
|
- Keep changes minimal and scoped.
|
|
- Do not block the UI thread.
|
|
- Keep network operations asynchronous.
|
|
- Preserve MPRIS behavior and user state compatibility.
|
|
- When changing resources, register them in `src/qml.qrc`.
|
|
|
|
## Manual Checks
|
|
|
|
Please smoke-test the area you changed when possible:
|
|
|
|
- app launches successfully
|
|
- station list loads
|
|
- search and filtering behave correctly
|
|
- play/pause/stop work
|
|
- favorites persist across restart
|
|
- resume restores last station and volume
|
|
- tray and MPRIS behavior still work
|
|
|
|
## Pull Requests
|
|
|
|
Useful pull requests usually include:
|
|
|
|
- a short description of the user-visible change
|
|
- any relevant screenshots for UI changes
|
|
- exact verification commands that were run
|
|
- known limitations or follow-up work
|