2.4 KiB
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
- Deskify relies on
tauri. Ensuretauri-cliis installed viacargo install tauri-cli. - Ensure you have the standard Tauri dependencies for Linux (WebKit2GTK, etc.).
- Clone the repository and run
cargo buildto test your changes. - Run
cargo clippyto check for common mistakes and improve your Rust code.
Local Checks Before Opening a PR
Run these checks locally before submitting a pull request:
cargo fmt --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test
cargo check
Manual Smoke Test (Recommended for Behavior Changes)
If your change affects build/install/list/remove behavior, run a quick smoke test:
deskify build --url "https://example.com" --name "Example"
deskify list
deskify remove example
Also verify invalid IDs are rejected safely:
deskify remove ../foo
deskify remove FooBar