Welcome Contributors
Thank you for your interest in contributing to the Money monorepo! This document provides guidelines and best practices for contributing to the project.Getting Started
Before you begin contributing:Set up your environment
Follow the Development Setup guide to configure your local environment.
Understand the codebase
Familiarize yourself with:
- Project structure and organization
- Existing code patterns and conventions
- Code style guidelines
Find an issue or feature
Look for:
- Issues labeled
good first issuefor beginners - Issues labeled
help wantedfor broader contributions - Or propose your own improvements
Types of Contributions
We welcome various types of contributions:Bug Fixes
Fix issues and improve stability
New Features
Add new functionality and capabilities
Documentation
Improve docs, guides, and examples
Code Quality
Refactoring, optimization, and cleanup
Testing
Add or improve tests
Performance
Optimize speed and efficiency
Contribution Workflow
1. Fork and Clone
Fork the repository and clone it locally:2. Create a Branch
Create a descriptive branch for your changes:feature/description- New featuresfix/description- Bug fixesdocs/description- Documentation updatesrefactor/description- Code refactoringtest/description- Test additions/changeschore/description- Maintenance tasks
3. Make Your Changes
Follow these guidelines while coding:Write clean code
- Follow the Code Style guidelines
- Use TypeScript types properly
- Write self-documenting code with clear names
- Add comments for complex logic
Keep changes focused
- One logical change per commit
- Separate refactoring from feature changes
- Don’t mix unrelated changes
4. Commit Your Changes
Write clear, descriptive commit messages:Commit Message Format
feat- New featurefix- Bug fixdocs- Documentation changesstyle- Code style/formatting (no logic change)refactor- Code refactoringperf- Performance improvementstest- Adding or updating testschore- Maintenance tasksci- CI/CD changes
5. Push and Create Pull Request
Code Review Process
All contributions go through code review:Automated checks
CI/CD pipelines will run:
- Type checking
- Linting
- Build verification
- Tests (when available)
Maintainer review
A maintainer will review your code for:
- Code quality and style
- Logic and correctness
- Performance implications
- Security considerations
- Documentation completeness
Address feedback
- Respond to review comments
- Make requested changes
- Push updates to your branch
- Re-request review when ready
Code Quality Standards
All contributions must meet these standards:TypeScript
- ✅ All code must be properly typed
- ✅ No
anytypes without justification - ✅ Pass
pnpm check-typeswithout errors - ✅ Use interfaces for object shapes
- ✅ Use type guards for runtime validation
Linting
- ✅ Pass
pnpm lintwith zero warnings - ✅ Follow ESLint rules
- ✅ Fix auto-fixable issues:
pnpm lint -- --fix - ✅ No disabled rules without explanation
Code Style
- ✅ Follow Code Style guidelines
- ✅ Use Prettier for formatting:
pnpm format - ✅ Consistent naming conventions
- ✅ Clear and readable code
Testing
- ✅ Test changes manually in browser
- ✅ Verify builds succeed:
pnpm build - ✅ Check for console errors
- ✅ Test edge cases and error scenarios
What We Look For
Good contributions typically have: ✅ Clear purpose - Solves a specific problem or adds defined value ✅ Quality code - Well-written, maintainable, follows conventions ✅ Proper testing - Verified to work correctly ✅ Documentation - Code is documented, guides updated ✅ Focused scope - Does one thing well ✅ No breaking changes - Or clearly documented if necessaryWhat to Avoid
❌ Large, unfocused PRs - Break into smaller, logical changes ❌ Breaking changes without discussion - Discuss first ❌ Incomplete features - Ensure functionality is complete ❌ Poor code quality - Follow style guide and best practices ❌ Missing documentation - Update docs with changes ❌ Unrelated changes - Keep PRs focusedGetting Help
If you need help:- 💬 Ask questions in GitHub issues
- 📖 Read the docs for guidance
- 🔍 Search existing issues for similar problems
- 👥 Reach out to maintainers for major contributions
Recognition
Contributors are recognized in:- GitHub contributors list
- Release notes and changelogs
- Project documentation (when appropriate)
License
By contributing, you agree that your contributions will be licensed under the same license as the project.Code of Conduct
Be respectful and professional:- ✅ Be welcoming and inclusive
- ✅ Respect differing viewpoints
- ✅ Accept constructive criticism gracefully
- ✅ Focus on what’s best for the project
- ❌ No harassment, discrimination, or unprofessional behavior
Thank You!
Your contributions help make this project better for everyone. We appreciate your time and effort!Next Steps
Code Style
Learn the project’s code style conventions
Pull Requests
How to create great pull requests
Development Setup
Set up your development environment
Running Locally
Start coding and testing