Thank you for considering contributing to SyriaHub! This document outlines the guidelines for contributing to this project.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/SyriaHub.git cd SyriaHub - Install dependencies:
npm install
- Create a branch for your changes:
git checkout -b feature/your-feature-name
- Make your changes in your feature branch
- Test your changes locally:
npm run dev npm run build npm run lint
- Commit your changes with clear commit messages:
git commit -m "feat: add new feature" - Push to your fork:
git push origin feature/your-feature-name
- Open a Pull Request
We follow the Conventional Commits specification:
feat:- New featurefix:- Bug fixdocs:- Documentation changesstyle:- Code style changes (formatting, etc.)refactor:- Code refactoringtest:- Adding or updating testschore:- Maintenance tasks
Examples:
feat: add user profile editing
fix: resolve auth redirect issue
docs: update README with new instructions
style: format code with prettier
- Use TypeScript for all new code
- Follow the existing code style
- Use meaningful variable and function names
- Add comments for complex logic
- Keep components small and focused
When adding new features:
- Check existing issues/PRs to avoid duplication
- Create an issue to discuss the feature first (for major changes)
- Follow the project's architecture patterns
- Update documentation as needed
- Add types for new data structures in
/types
Currently, the project doesn't have automated tests, but please:
- Test your changes manually
- Test on different screen sizes (mobile, tablet, desktop)
- Test authentication flows if you modify auth code
- Verify Supabase queries work correctly
- Keep PRs focused on a single feature/fix
- Provide a clear description of changes
- Reference related issues
- Ensure code builds without errors
- Update README/SETUP if needed
Feel free to open an issue for questions or discussions.
By contributing, you agree that your contributions will be licensed under the Apache 2.0 License.