Prepare GitHub alpha launch (README, CI, tests, release workflow)
This commit is contained in:
64
CONTRIBUTING.md
Executable file
64
CONTRIBUTING.md
Executable file
@@ -0,0 +1,64 @@
|
||||
# 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
|
||||
```
|
||||
|
||||
## 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
|
||||
```
|
||||
Reference in New Issue
Block a user