Files
deskify/CONTRIBUTING.md
2026-02-23 07:44:41 +01:00

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

  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:

cargo fmt --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test
cargo check

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