Development
Guides for contributing to rustledger development.
Getting Started
- Clone the repository
- Install Rust toolchain
- Run
cargo build --all-features - Run
cargo test --all-features
See CONTRIBUTING.md for detailed setup.
Guides
| Guide | Description |
|---|---|
| Contributing Plugins | Adding native plugins to rustledger |
| Testing | Running tests, adding test cases |
| Benchmarking | Performance testing and profiling |
Roadmaps
| Roadmap | Description |
|---|---|
| Testing Roadmap | Test infrastructure improvements |
| Import Roadmap | Bank import feature development |
| Performance Roadmap | Optimization phases |
Quick Commands
bash
# Build
cargo build --all-features
# Test
cargo test --all-features
# Lint
cargo clippy --all-features -- -D warnings
# Format
cargo fmt --all
# Benchmark
cargo bench
# Check dependencies
cargo deny checkProject Structure
rustledger/
├── crates/
│ ├── rustledger-core/ # Core types
│ ├── rustledger-parser/ # Lexer and parser
│ ├── rustledger-loader/ # File loading
│ ├── rustledger-booking/ # Booking engine
│ ├── rustledger-validate/ # Validation
│ ├── rustledger-query/ # BQL engine
│ ├── rustledger-plugin/ # Plugin system
│ ├── rustledger-importer/ # Import framework
│ ├── rustledger-lsp/ # LSP server
│ ├── rustledger-wasm/ # WASM target
│ ├── rustledger-ffi-wasi/ # WASI FFI
│ └── rustledger/ # CLI binary
├── spec/ # Specifications
└── tests/ # Integration testsSee Also
- Architecture - System design
- ADRs - Design decisions
- Compatibility - Beancount compatibility