Files
deskify/CONTRIBUTING.md
2026-02-23 08:17:59 +01:00

69 lines
2.6 KiB
Markdown
Executable File

# Contributing to Deskify
First off, thank you for considering contributing to Deskify! It's people like you that make Deskify such a great tool.
`deskify` is currently in an **Alpha / Early MVP** phase. Contributions that improve reliability, error handling, tests, and Linux compatibility are especially valuable.
## How Can I Contribute?
### Reporting Bugs
This section guides you through submitting a bug report for Deskify. Following these guidelines helps maintainers and the community understand your report, reproduce the behavior, and find related reports.
* Use a clear and descriptive title for the issue to identify the problem.
* Describe the exact steps which reproduce the problem in as many details as possible.
* Provide specific examples to demonstrate the steps.
### Suggesting Enhancements
This section guides you through submitting an enhancement suggestion for Deskify, including completely new features and minor improvements to existing functionality.
* Use a clear and descriptive title for the issue to identify the suggestion.
* Provide a step-by-step description of the suggested enhancement in as many details as possible.
* Explain why this enhancement would be useful to most Deskify users.
### Pull Requests
* Fill in the required template
* Do not include issue numbers in the PR title
* Include screenshots only when UI/desktop integration behavior is relevant.
* Follow the Rust styleguide (`cargo fmt`).
* Document new code based on the existing documentation style.
* End all files with a newline.
* Prefer small, focused PRs (one behavioral change per PR).
## Development Setup
1. Deskify relies on `tauri`. Ensure `tauri-cli` is installed via `cargo install tauri-cli`.
2. Ensure you have the standard Tauri dependencies for Linux (WebKit2GTK, etc.).
3. Clone the repository and run `cargo build` to test your changes.
4. Run `cargo clippy` to check for common mistakes and improve your Rust code.
## Local Checks Before Opening a PR
Run these checks locally before submitting a pull request:
```bash
cargo fmt --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test
cargo check
```
## Maintainer Notes (Repo Meta / Triage)
Maintainers can use `docs/maintainer-notes.md` for the current label strategy and issue triage conventions during the alpha phase.
## Manual Smoke Test (Recommended for Behavior Changes)
If your change affects build/install/list/remove behavior, run a quick smoke test:
```bash
deskify build --url "https://example.com" --name "Example"
deskify list
deskify remove example
```
Also verify invalid IDs are rejected safely:
```bash
deskify remove ../foo
deskify remove FooBar
```