Thanks for your interest! tailscaled-rs is an independent, experimental project and contributions
are welcome.
- License: by contributing, you agree your work is licensed under BSD-3-Clause.
- Conventional commits:
feat:,fix:,docs:,chore:, etc. - Keep the trademark hygiene intact: don't use the Tailscale or WireGuard logos, and don't imply official affiliation. Nominative "compatible with the Tailscale protocol" phrasing is fine.
cargo build
export TS_RS_EXPERIMENT=this_is_unstable_software # required by the engine
cargo testTo co-develop against a local tailscale-rs checkout, add a gitignored .cargo/config.toml:
paths = ["/path/to/your/tailscale-rs"]The CI gates are, in order:
cargo fmt --all --check
cargo clippy --all-targets -- -D warnings
cargo test --all-targets
cargo build --release --binsRun them locally first — a failing format or clippy step gates the whole pipeline. Keep changes surgical and add focused tests for new logic where practical.
See docs/DESIGN.md for the architecture and the phased plan. The daemon layer
(state machine, LocalAPI, CLI, OS integration) lives here; the cryptographic/networking engine
lives in tailscale-rs — engine-level changes belong
there.