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>
50 lines
1,021 B
Markdown
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.
|