Thanks for helping build developer infrastructure for Stellar and Soroban.
- Be respectful; see CODE_OF_CONDUCT.md.
- Never commit secrets, keys, or credentials.
- Do not claim a feature works unless it is implemented and tested.
- Keep the core usable without AI and without network access by default.
If you are contributing through an open-source Wave:
- Request assignment on an issue before starting. Do not open a pull request for an issue you have not been assigned.
- Each issue has a
difficulty/*label describing its scope. Drips determines applicable points and budgets through its own system. - Your pull request must include
Closes #<issue-number>. - Run the local gate before opening the PR:
cargo fmt --all -- --check,cargo clippy --all-targets --all-features -- -D warnings,cargo test --all.
See docs/WAVE.md for the full process.
git clone https://github.com/StellarFoundry/stellar-devkit
cd stellar-devkit
cargo build
cargo testRust 1.91 or newer is required (the workspace MSRV).
cargo fmt --all -- --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test --allRead docs/ARCHITECTURE.md first. The crate dependency direction is one-way:
devkit-cli → devkit-xdr / devkit-rpc / devkit-contract / devkit-analysis / devkit-config
→ devkit-core
Do not add a Stellar dependency to devkit-core.
- Prefer composing with official crates (
stellar-xdr,stellar-strkey, andstellar-rpc-client) over reimplementing. - Every fallible function returns
devkit_core::DevkitError. - Add unit tests; decoding changes must include malformed-input tests.
- Update documentation and
CHANGELOG.mdfor user-visible changes.
Use Conventional Commits: feat, fix, refactor, test, docs, ci,
security, perf, build.
Issues are labeled by area/*, type/*, difficulty/*, and phase/*. Start
with difficulty/trivial or good first issue. Search existing issues before
filing a new one.
- Code compiles with clippy
-D warnings. cargo fmtis clean.- Tests added and passing.
- Documentation updated.
- No secrets, placeholders, or fake implementations.
Contributions are licensed under Apache-2.0.