Welcome Contributors!
Thank you for considering contributing to Open Tarteel! We appreciate your help in making this project better. This guide will walk you through the contribution process.Ways to Contribute
There are many ways to contribute to Open Tarteel:- Report bugs and issues
- Suggest new features or enhancements
- Improve documentation
- Submit bug fixes
- Add new features
- Improve code quality and performance
- Help with translations (i18n)
Getting Started
Set Up Your Development Environment
Follow the development setup guide to configure your local environment.
Find an Issue or Create One
- Browse the GitHub Issues page
- Look for issues labeled
good first issueorhelp wanted - If you have a new idea, create an issue first to discuss it
Development Workflow
1. Create a Feature Branch
Always create a new branch for your work. Use a descriptive name that reflects your changes:Branch naming convention:
type/description-in-kebab-caseCommon types: feature, fix, docs, refactor, test, chore2. Make Your Changes
Implement your feature or fix following these guidelines:Code Style
- Follow the existing code style and conventions
- Use TypeScript for all new code
- Use functional components with hooks
- Leverage Tailwind CSS for styling
- Use Jotai for state management
Path Aliases
Use configured path aliases for imports:3. Test Your Changes
Before committing, ensure your changes work correctly:Run Development Server
4. Commit Your Changes
The project uses Conventional Commits with Commitizen support:Commit Message Format
feat- New featurefix- Bug fixdocs- Documentation changesstyle- Code style changes (formatting, etc.)refactor- Code refactoringperf- Performance improvementstest- Adding or updating testschore- Maintenance tasksci- CI/CD changesbuild- Build system changes
5. Push Your Changes
Push your branch to your fork:6. Create a Pull Request
Open Pull Request
Go to the Open Tarteel repository and click “New Pull Request”.
Write Clear Description
Provide a clear description of your changes:
- What does this PR do?
- Why are these changes needed?
- How did you test these changes?
- Screenshots (if UI changes)
- Related issues (use
Closes #123orFixes #123)
Pull Request Checklist
Before submitting your PR, ensure:- Code follows project style guidelines
- All tests pass (
npm run build) - Type checking passes (
npm run type-check) - Linting passes (
npm run lint) - Commit messages follow conventional format
- Documentation is updated (if needed)
- Changes are tested in both development and production modes
Reporting Issues
When reporting bugs or issues, please include:- Clear Description - What is the problem?
- Steps to Reproduce - How can we reproduce the issue?
- Expected Behavior - What should happen?
- Actual Behavior - What actually happens?
- Environment - Browser, OS, device
- Screenshots - If applicable
- Console Errors - Any error messages
Use the GitHub Issues page to report bugs or request features.
Feature Requests
When suggesting new features:- Check Existing Issues - Has someone already requested this?
- Describe the Feature - What functionality do you want?
- Use Cases - Why is this feature valuable?
- Alternatives - Have you considered other approaches?
- Additional Context - Mockups, examples, or references
Code Review Process
All contributions go through code review:- Automated Checks - Linting, type checking, build
- Manual Review - A maintainer reviews your code
- Feedback - Address any requested changes
- Approval - Once approved, your PR will be merged
Reviews typically happen within 2-3 business days. Be patient and responsive to feedback.
Community Guidelines
- Be respectful and inclusive
- Provide constructive feedback
- Help other contributors
- Follow the code of conduct
- Ask questions when unsure
Questions?
If you have any questions:- Open an issue on GitHub
- Contact the maintainers at [email protected]