Thank you for your interest in contributing to MInd_Care! We're excited to have you as part of our community working to make mental health support more accessible.
Welcome contributors! Whether this is your first contribution or your hundredth, we're glad to have you here. Here's everything you need to know to get started.
good first issue- Perfect for newcomersbeginner-friendly- Great if you're new to React/TypeScripthelp wanted- We need community help on thesedocumentation- Documentation improvementsenhancement- New features or improvementsbug- Bug fixes needed
# Fork the repository on GitHub, then:
git clone https://github.com/YOUR_USERNAME/MInd_Care.git
cd MInd_Care# Install dependencies
bun install
# or
npm install
# Start development server
bun dev
# or
npm run devgit checkout -b feature/your-feature-name
# or
git checkout -b fix/issue-number- Check existing issues - Look for
good first issueand other relevant labels - Comment on the issue - Let us know you're working on it
- Read the issue description - Make sure you understand the requirements
- Ask questions - Don't hesitate to ask for clarification
We use ESLint and Prettier for consistent code formatting:
- Use TypeScript for all new code
- Define proper types for props and state
- Avoid
anytypes when possible - Use existing types from
src/types/
- Use functional components with hooks
- Follow React naming conventions
- Use proper prop types
- Implement proper error boundaries when needed
- Use Tailwind CSS for styling
- Follow mobile-first responsive design
- Use existing shadcn/ui components when possible
- Maintain consistent spacing and typography
- Support both light and dark themes
- Reproduce the bug locally
- Create a test case if possible
- Fix the issue with minimal changes
- Test thoroughly in different scenarios
- Check if the feature exists in issues or discussions
- Start with a small implementation
- Add proper error handling
- Update documentation if needed
- Use clear, concise language
- Include code examples when helpful
- Update README if you're changing major functionality
- Add inline comments for complex logic
- Follow existing design patterns
- Ensure accessibility (WCAG guidelines)
- Test on mobile devices
- Consider dark mode compatibility
- Test your feature thoroughly
- Check different screen sizes
- Test both light and dark themes
- Verify accessibility with screen readers if possible
Test your changes in:
- Chrome/Chromium
- Firefox
- Safari (if possible)
- Mobile browsers
type(scope): brief description
Longer description if needed
Closes #issue-number
feat:- New featurefix:- Bug fixdocs:- Documentation changesstyle:- Code style changes (formatting)refactor:- Code refactoringtest:- Adding or updating testschore:- Build process or auxiliary tool changes
feat(dashboard): add mood tracking widget
Implement a new widget for the dashboard that allows users to track their daily mood with interactive charts and analytics.
Closes #123fix(chat): resolve message overflow in mobile view
Fixed chat messages overflowing container on mobile devices by adjusting CSS grid layout and text wrapping.
Closes #45- Ensure your branch is up to date with main
- Test your changes locally
- Check that lint passes
- Write descriptive commit messages
git push origin your-branch-nameThen create a PR on GitHub with:
- Clear title describing the change
- Description explaining what you did and why
- Screenshots for UI changes
- Reference to issue number
- Testing notes for reviewers
Use this template for your PR description:
## 📝 Description
Brief description of changes
## 🔗 Related Issue
Closes #issue-number
## 🧪 Testing
- [ ] Manual testing completed
- [ ] Responsive design verified
- [ ] Dark mode compatibility checked
- [ ] Accessibility considerations reviewed
## 📷 Screenshots
(If applicable)
## ✅ Checklist
- [ ] Code follows project conventions
- [ ] Self-review completed
- [ ] Documentation updated if needed
- [ ] No console errors- Spam PRs - Low-quality changes just to get PRs accepted
- Duplicate work - Check existing PRs and issues first
- Major architecture changes - Discuss these in issues first
- Unrelated changes - Keep PRs focused on one issue
- Breaking changes - Without prior discussion
If you're looking for ways to contribute, here are some beginner-friendly areas:
- Add JSDoc comments to components
- Improve README sections
- Create component documentation
- Add setup guides for different operating systems
- Add loading states to components
- Improve mobile responsiveness
- Add micro-interactions and animations
- Enhance form validation messages
- Add ARIA labels
- Improve keyboard navigation
- Enhance screen reader support
- Add focus indicators
- Add new dashboard widgets
- Create additional themes
- Implement form validation
- Add new mental health resources
- Questions about setup? - Check existing issues or create a new one
- Stuck on implementation? - Comment on the issue you're working on
- Need design guidance? - Look at existing components for patterns
- Want to propose a feature? - Create an issue for discussion first
- Functionality - Does it work as expected?
- Code quality - Is it readable and maintainable?
- Performance - Does it impact app performance?
- Accessibility - Is it accessible to all users?
- Design consistency - Does it match existing patterns?
- We aim to review PRs within 2-3 days
- Complex changes may take longer
- Please be patient and responsive to feedback
All contributors will be recognized in our README and project documentation. We appreciate every contribution, big or small!
This project follows our Code of Conduct. By participating, you agree to uphold these standards.
Your contributions help make mental health support more accessible to everyone. Whether you're fixing a small bug or adding a major feature, every contribution matters!
Happy coding! 🚀