# Contributing to blvm-sdk
Thank you for your interest in contributing to blvm-sdk! This document contains **repo-specific guidelines only**. For comprehensive contributing guidelines, see the [BLVM Documentation](https://docs.thebitcoincommons.org/development/contributing.html).
## Quick Links
- **[Complete Contributing Guide](https://docs.thebitcoincommons.org/development/contributing.html)** - Full developer workflow
- **[PR Process](https://docs.thebitcoincommons.org/development/pr-process.html)** - Governance tiers and review process
- **[SDK Documentation](https://docs.thebitcoincommons.org/sdk/overview.html)** - SDK guides
## Code of Conduct
This project follows the [Rust Code of Conduct](https://www.rust-lang.org/policies/code-of-conduct). By participating, you agree to uphold this code.
## Repository-Specific Guidelines
### Development Setup
```bash
# Clone the repository
git clone https://github.com/BTCDecoded/blvm-sdk.git
cd blvm-sdk
# Run tests
cargo test
# Run benchmarks
cargo bench
# Check formatting
cargo fmt --check
# Check clippy
cargo clippy --all-targets --all-features
```
### Contribution Areas
#### High Priority
- **Governance crypto primitives**: Key generation, signing, verification
- **Multisig operations**: Threshold validation and signature collection
- **CLI tools**: Command-line interfaces for maintainer operations
- **Testing**: Comprehensive test coverage for all crypto operations
#### Future Areas
- **Node composition**: Declarative node building from modules
- **Module interfaces**: Standardized module trait definitions
- **Economic integration**: Merge mining revenue model
### Code Standards
#### Governance Crypto
- All cryptographic operations must have 100% test coverage
- Use Bitcoin-compatible standards for message signing
- Pin all dependencies to exact versions
- Document security boundaries clearly
#### CLI Tools
- Follow standard Unix conventions for command-line interfaces
- Provide clear error messages and usage examples
- Support both JSON and human-readable output formats
#### Testing
- Unit tests for all public APIs
- Integration tests for complete workflows
- Property-based testing for cryptographic operations
- Benchmark tests for performance-critical paths
### Security Considerations
- Never commit private keys or sensitive data
- All cryptographic changes require security review
- Follow the security boundaries defined in SECURITY.md
- Report security issues to security@thebitcoincommons.org (see [SECURITY.md](SECURITY.md))
## Getting Help
- **Documentation**: [docs.thebitcoincommons.org](https://docs.thebitcoincommons.org)
- **Issues**: Use GitHub issues for bugs and feature requests
- **Discussions**: Use GitHub discussions for questions
- **Security**: See [SECURITY.md](SECURITY.md)
Thank you for contributing to blvm-sdk!