👍🎉 First off, thanks for taking the time to contribute! 🎉👍
Check out the Stellar Contribution Guide that applies to all Stellar projects.
We welcome meaningful contributions that add real value to the project. To maintain code quality and project integrity, please note:
- No trivial contributions for credit farming - We do not accept PRs that make minimal changes solely to gain contribution credits or build activity history (e.g., whitespace-only changes, single character fixes, unnecessary formatting changes).
- Substantial contributions only - All contributions should address real issues, add meaningful functionality, or provide genuine improvements to the codebase.
- Genuine engagement - Contributors should demonstrate understanding of the codebase and the problem they're solving.
Contributions that appear to be made solely for gaining credits or building fake activity may be closed without review.
- Ensure the issue was not already reported by searching on GitHub under Issues.
- Issues start with:
- The functional area most affected, ex.
disbursements: fix.... - Or,
ci:when changes or an issue are isolated to CI. - Or,
doc:when changes or an issue are isolated to non-code documentation not limited to a single package.
- The functional area most affected, ex.
- Label issues with
bugif they're clearly a bug. - Label issues with
feature requestif they're a feature request.
- Branches follow these naming conventions:
feat/SDP-123-descriptionfor features.SDP-123is the ticket/issue number.bugfix/SDP-123-descriptionfor bugs/fixes.chore/SDP-123-descriptionfor general cleanups, continuous improvements, documentation, etc.release/x.x.xfor releases (usually created automatically by CI), e.g.release/6.4.0
- Title: PR titles contain the following:
- ticket/issue number (e.g.
SDP-123) (if applicable) feat,fix,refactor,ci,choreordoc- A short description of the change
- ticket/issue number (e.g.
- Branching: PRs must be opened against the
developbranch. - Scope: PRs must be focused and not contain unrelated commits.
- Refactoring: Explicitly differentiate refactoring PRs and feature PRs. Refactoring PRs don’t change functionality. They usually touch a lot more code, and are reviewed in less detail. Avoid refactoring in feature PRs.
- Go Formatting: Ensure your code is formatted with
gofmt. - Tests: Ensure your change is covered by tests. If you're adding a new feature or fixing a bug, you must add tests. If you're refactoring, you should add tests if possible.
- Documentation: Update README.md or other relevant documentation pages if necessary. For exported functions, types, and constants, make sure to add a doc comment conforming to Effective Go.
- Best Practices: * Follow Effective Go and Go Code Review Comments.
- Use the present tense ("Add feature" not "Added feature").
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...").
- Start commit message with the relevant issue number, e.g., #123 Fixed bug in XYZ module.
All SDP services can be started using the docker-compose.yml file in the dev directory. Please refer to the README for more information.
Help us keep Stellar open and inclusive. Please read and follow our Code of Conduct.