Thanks for your interest in contributing! All contributions are welcome – bug fixes, features, documentation, benchmarks, or security improvements.
感谢您的贡献意愿!我们欢迎所有类型的贡献 – 包括错误修复、新功能、文档、基准测试或安全改进。
- Getting Started / 入门指南
- Development Workflow / 开发流程
- Code Standards / 代码规范
- Testing / 测试
- Benchmarking / 基准测试
- Pull Request Process / PR 流程
- Security Issues / 安全问题
- Fork the repository on GitHub.
- Clone your fork:
git clone https://github.com/your-username/HunTianDB.git - Build the project:
cargo build --release - Run tests:
cargo test - Run the database:
./target/release/huntiandb
- Use Rust nightly or stable 1.70+ (check
rust-toolchain.toml). - Format code:
cargo fmt - Lint code:
cargo clippy -- -D warnings - Commit messages: follow conventional commits (e.g.,
feat: add COPY support,fix: wal recovery)
- Rust style: rustfmt with default settings.
- Naming:
snake_casefor variables/functions,CamelCasefor types. - Documentation: Write
///comments for public APIs. - Unsafe code: Avoid unless absolutely necessary, and document why.
- Unit tests:
cargo test - Integration tests:
tests/directory - Protocol tests: Use
psqland the provided benchmark script.
Run WAL recovery test manually:
pkill -9 huntiandb
./target/release/huntiandb &
psql -c "SELECT * FROM recovery_test"