bascule-oss/CONTRIBUTING.md
Tyler King 2fa92f8635 docs: comprehensive documentation + developer experience polish
New files:
  CONTRIBUTING.md — dev setup, code style, PR process
  CLAUDE.md — workspace context for Claude Code
  Makefile — build, test, lint, fmt, docker, helm-lint, dev, ci
  .editorconfig — consistent formatting
  rustfmt.toml — Rust formatting config
  docs/kubernetes.md — Helm install, values, architecture
  docs/bascule-shell.md — client shell install, config, TPM
  charts/bascule/README.md — Helm quick start

Updated:
  README.md — accurate feature matrix, clear shipped vs planned
  config/bascule.example.toml — full reference (72 lines, all fields)

All 15 README links verified valid.
Helm lint clean. Build passes. 0 substrate deps.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 10:53:08 -04:00

50 lines
1,021 B
Markdown

# Contributing to Bascule
## Development Setup
```bash
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
```bash
cargo test --all
```
## Code Style
- `cargo fmt` before committing
- `cargo clippy` must pass
- No `unwrap()` in production code
- All public items need doc comments
## Pull Request Process
1. Create a feature branch
2. Ensure `make ci` passes
3. Update docs if adding features
4. Submit PR against `main`
## Commit Messages
Format: `type: description`
Types: feat, fix, docs, chore, refactor, test
## License
By contributing, you agree your contributions are licensed under Apache 2.0.