Thanks for your interest in contributing!
We require a Developer Certificate of Origin
(DCO) Signed-off-by line on every commit. Sign off with git commit -s, which
appends:
Signed-off-by: Your Name <you@example.com>
This certifies that you wrote the change or otherwise have the right to submit it under the project's license.
Every Go and Python source file must begin with the Tailscale copyright and SPDX header:
// Copyright (c) Tailscale Inc & AUTHORS
// SPDX-License-Identifier: BSD-3-ClauseUse # comments for Python (after the shebang, if any). The TestLicenseHeaders
test enforces this, so CI fails if a file is missing it.
make # build ./build/tsheadroom
make test # Go tests (incl. license headers) + Python worker testsThe Python tests run against a fake headroom by default. To also run the
real-headroom integration test, point PYTHON at an interpreter that has
headroom-ai installed:
make test PYTHON=/path/to/venv/bin/pythonPlease keep gofmt and go vet ./... clean. CI runs the build, go vet, the Go
test suite (which includes the license-header check), and the Python tests.
Please do not open public issues for security vulnerabilities. See SECURITY.md for private reporting.