First off, thank you for considering contributing to the Stellar Address Kit! It's people like you that make the Stellar ecosystem a better place for developers.
The most impactful way to contribute is by adding new test vectors to spec/vectors.json. If you find an edge case or a tricky address format, follow these steps:
- Add the case to
spec/vectors.json. - Run
node spec/validate.jsto ensure it meets the schema. - Update the TypeScript, Go, and Dart implementations to pass the new vector.
- Check the Issues to see if the bug has already been reported.
- If not, open a new issue with a clear title and description, including steps to reproduce the bug.
- Open an issue to discuss your idea.
- Clearly explain why this enhancement would be useful to others.
- Fork the repo and create your branch from
main. - If you've added code that should be tested, add tests.
- If you've changed APIs, update the documentation.
- Ensure the test suite passes (
pnpm test,go test ./...,dart test). - Use
pnpm changesetto document your changes.
# Install dependencies
pnpm install
# Run the spec validator
node spec/validate.js
# Run tests across all packages
pnpm test- TypeScript: Follow the existing Prettier/ESLint config.
- Go: Run
go fmtbefore committing. - Dart: Run
dart formatbefore committing.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.