Contributing
How to contribute to Truss — bug reports, pull requests, and development setup.
Thanks for contributing to Truss. The project is in the 1.0.x production line, so changes should preserve operator safety, backwards compatibility, and release quality.
Development Setup
Requirements
- Node.js 22+
- Go 1.25+
- buf CLI
protoc-gen-goandprotoc-gen-connect-goonPATHmake- A working kubeconfig / Kubernetes credentials
Setup
# Clone
git clone https://github.com/kroy-the-rabbit/truss.git
cd truss
# Frontend deps
cd app && npm ci
# Backend deps
cd ../backend && go mod download
# Generate protobuf stubs
make proto
# Build backend daemon
make backend-dev
# Run dev server
cd ../app && npm run dev
Tests
# Backend
cd backend && go test ./...
# Frontend unit tests
cd app && npm run test
# Frontend smoke tests (Playwright)
cd app && npm run test:e2e
Before You Open a PR
- Check for an existing issue or discussion first
- Keep changes scoped — feature, refactor, docs, or CI in separate PRs
- For UI changes, include screenshots or a short video
- For behavioral changes, include tests or explain why tests are not practical
Reporting Issues
Open a GitHub issue and include:
- Expected vs actual behavior
- Reproduction steps
- Truss version
- OS / architecture
- Kubernetes version and cluster type
Warning
For security vulnerabilities, use the Security policy instead of a public issue.
Commit Style
- Imperative mood:
Add,Fix,Refactor - Concise first line (< 72 chars)
- Explain
whyin the body for non-trivial changes - Signed commits preferred for release work
Contributor License Agreement
By submitting a PR, you agree to the terms of the CLA. Contributions are accepted under Apache License 2.0.