DCO (Developer Certificate of Origin): Standard DCO 1.1 (Linux kernel, CNCF, Kubernetes standard) Contributors retain copyright — no rights assignment NOTICE: Copyright attribution (Guildhouse LLC) Contributors retain copyright, own their implementations SessionHandler/AuthProvider as public API boundary Tribal jurisdiction for voluntary dispute resolution GOVERNANCE.md: Project governance model and decision making IP framework: Guildhouse brand vs contributor code vs shared Apache 2.0 SessionHandler trait IS the product boundary Tribal dispute resolution: voluntary, technically informed Tribal partnership mission CI: DCO sign-off check on pull requests Existing commits on main exempt README + CONTRIBUTING: Governance section, DCO instructions, corporate guidance Signed-off-by: Tyler King <tking@guildhouse.dev>
1.9 KiB
1.9 KiB
Contributing to Bascule
Development Setup
git clone https://github.com/your-org/bascule.git
cd bascule
cargo build --all
cargo test --all
Architecture
Bascule is a Rust workspace:
| Crate | Purpose |
|---|---|
bascule-core |
Library — SSH server, auth, PTY, proxy, container, hooks |
bascule-server |
Binary — CLI, config, telemetry |
bascule-auth-agent-id |
Optional — Entra Agent ID auth |
bascule-shell |
Binary — Identity-aware login shell |
Testing
cargo test --all
Code Style
cargo fmtbefore committingcargo clippymust pass- No
unwrap()in production code - All public items need doc comments
Pull Request Process
- Create a feature branch
- Ensure
make cipasses - Update docs if adding features
- Submit PR against
main
Commit Messages
Format: type: description
Types: feat, fix, docs, chore, refactor, test
Developer Certificate of Origin (DCO)
All contributions must be signed off under the Developer Certificate of Origin (DCO Version 1.1).
Every commit must include a Signed-off-by line:
git commit -s -m "feat: my contribution"
# Result includes: Signed-off-by: Your Name <your.email@example.com>
What DCO means
- You certify you have the right to submit the contribution
- Your contribution is licensed under Apache 2.0
- You retain copyright to your contribution
- You do NOT assign ownership to Guildhouse
Corporate contributions
If contributing on behalf of your employer, ensure your employer permits the contribution under Apache 2.0.
Why DCO (not CLA)
- DCO doesn't assign rights — you keep your copyright
- DCO is lightweight — one line per commit, no legal review
- DCO is standard — used by Linux, Kubernetes, CNCF projects
See GOVERNANCE.md for the full IP and dispute resolution framework.
License
By contributing, you agree your contributions are licensed under Apache 2.0.