Thank you for your interest in contributing! This document provides guidelines for contributing to the project.
-
Fork the repository
-
Clone your fork
git clone https://github.com/your-username/mosaic.git cd mosaic -
Install dependencies
pnpm install
-
Create a branch
git checkout -b feature/your-feature-name
packages/sdk/- Token templates and SDK functionalitypackages/cli/- Command-line interfaceapps/app/- Dashboard application (web interface)
- Use TypeScript for all new code
- Follow the existing code style (Prettier + ESLint)
- Write meaningful commit messages
- Add tests for new functionality
- Ensure all tests pass:
pnpm test - Maintain or improve code coverage
# Format code
pnpm run format
# Lint code
pnpm run lint
# Type check
pnpm run type-check
# Build
pnpm run build
# Test
pnpm run test- Clear Description: Explain what changes you made and why
- Link Issues: Reference any related issues
- Small PRs: Keep changes focused and atomic
- Tests: Include tests for new functionality
- Documentation: Update README/docs if needed
When working with Token-2022 extensions:
- Follow Solana best practices
- Ensure compatibility with SRFC standards
- Add comprehensive error handling
- Document extension interactions
- Test on devnet before mainnet
Include:
- Clear description of the issue
- Steps to reproduce
- Expected vs actual behavior
- Environment details (Node.js version, OS, etc.)
- Relevant logs or error messages
- Check existing issues first
- Provide clear use case and requirements
- Consider Token-2022 compatibility
- Think about impact on different packages
By contributing, you agree that your contributions will be licensed under the MIT License.
- Open an issue for questions
- Check existing documentation
- Review Token-2022 specifications