Thanks for taking the time to improve YadoriLink. The project is pre-1.0, so interfaces and workflows can still change quickly, but small, focused issues and pull requests are welcome.
- Search existing issues first.
- Do not include credentials, tokens, private keys, recovery codes, account IDs, device IDs, or private file contents.
- Report security vulnerabilities by email as described in SECURITY.md, not in a public issue.
- For diagnostics, prefer the built-in report export flow and review the exported JSON before sharing it.
Install a stable Rust toolchain and Protocol Buffers compiler, then run:
cargo build --workspace
cargo test --workspaceOn Linux, the desktop status app is excluded from the supported packaging flow:
cargo build --workspace --exclude yadorilink-desktop-app
cargo test --workspace --exclude yadorilink-desktop-appRun the checks that match the area you changed:
cargo fmt --all -- --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace
cargo auditFor platform-specific shell extensions:
cd shell-ext/windows
cargo fmt --all -- --check
cargo clippy --all-targets -- -D warnings
cargo build --releasecd shell-ext/macos/core
cargo fmt --all -- --check
cargo clippy --all-targets -- -D warnings
cargo build --release- Keep PRs focused on one behavior or documentation change.
- Include tests when changing sync, transport, persistence, IPC, or security relevant behavior.
- Document user-visible CLI or installer changes.
- Explain any intentionally skipped platform check in the PR description.
- Do not add new network submission, telemetry, credential handling, or key-handling behavior without calling it out explicitly.
By contributing, you agree that your contribution is licensed under the same dual MIT or Apache-2.0 terms as the project.