Contributions are welcome and encouraged! Whether you're fixing bugs, adding features, improving documentation, or helping with testing, we appreciate your help!
cargo build # Build all crates
cargo build --release # Production build (LTO enabled)cargo run --bin ldk-server ./ldk-server/ldk-server-config.tomlcargo test # Run all tests
cargo test --all-features # Run tests with all featurescargo fmt --all # Format code
cargo fmt --all -- --check # Check formatting
cargo clippy --all-features -- -D warnings -A clippy::drop_non_drop # Lint (CI uses this on MSRV)- MSRV: Rust 1.85.0
- Hard tabs, max width 100 chars
- Imports grouped: std, external crates, local crates
- Define request/response types in
ldk-server-json-models/src/api.rs - Create handler in
ldk-server/src/api/(follow existing patterns) - Add endpoint constant in
ldk-server-json-models/src/endpoints.rs - Add route in
ldk-server/src/service.rs - Add CLI command in
ldk-server-cli/src/main.rs
- Config template with all options:
ldk-server/ldk-server-config.toml - When updating config options, also update the tests in
ldk-server/src/util/config.rs
- Ensure all tests pass
- Ensure all lints are fixed
- Run
cargo fmt --all - Please disclose the use of any AI tools in commit messages and PR descriptions