First off, thank you for considering contributing to this project! It's people like you that make open source such a great community.
This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code.
Before creating bug reports, please check existing issues to avoid duplicates. When you create a bug report, include as many details as possible:
Bug Report Template:
- Title: Clear and descriptive title
- Description: Detailed description of the issue
- Steps to Reproduce:
- Go to '...'
- Click on '...'
- See error
- Expected Behavior: What you expected to happen
- Actual Behavior: What actually happened
- Screenshots: If applicable
- Environment:
- OS: [e.g., Windows 10, macOS 12]
- Browser: [e.g., Chrome 96, Firefox 95]
- Version: [e.g., 1.0.0]
Feature suggestions are welcome! Please provide:
- Clear title describing the feature
- Detailed description of the proposed functionality
- Use case: Why this feature would be useful
- Possible implementation: If you have ideas on how to implement it
Before suggesting, please check if:
- The feature already exists
- There's an open issue for this feature
- It aligns with the project's goals
- Fork the repository
- Clone your fork locally
- Create a branch for your feature or fix
- Make your changes following our style guidelines
- Test your changes thoroughly
- Commit your changes with clear messages
- Push to your fork
- Open a Pull Request
Pull Request Checklist:
- Code follows the project's style guidelines
- Self-review of the code completed
- Comments added for complex logic
- Documentation updated (if needed)
- No new warnings or errors introduced
- Tests added/updated (if applicable)
Make sure you have the following installed:
- Git
- A code editor (VS Code recommended)
- Required runtime/dependencies for the project
# Clone your fork
git clone https://github.com/YOUR_USERNAME/REPOSITORY_NAME.git
# Navigate to project directory
cd REPOSITORY_NAME
# Install dependencies (if applicable)
# npm install / pip install -r requirements.txt / etc.
# Start development server (if applicable)
# npm start / python app.py / etc.We follow semantic commit messages:
| Prefix | Description |
|---|---|
feat: |
New feature |
fix: |
Bug fix |
docs: |
Documentation changes |
style: |
Code style changes (formatting, etc.) |
refactor: |
Code refactoring |
test: |
Adding or updating tests |
chore: |
Maintenance tasks |
Examples:
feat: add user authentication
fix: resolve login redirect issue
docs: update installation instructions
style: format code with prettier
refactor: simplify validation logic
Commit Message Rules:
- Use imperative mood ("add" not "added")
- Keep first line under 72 characters
- Separate subject from body with blank line
- Use body to explain what and why, not how
- Use consistent indentation (2 or 4 spaces)
- Use meaningful variable and function names
- Write comments for complex logic
- Keep functions small and focused
- Follow DRY (Don't Repeat Yourself) principle
- Remove unused code and imports
Use descriptive branch names with prefixes:
| Prefix | Use Case | Example |
|---|---|---|
feature/ |
New features | feature/user-auth |
fix/ |
Bug fixes | fix/login-error |
hotfix/ |
Urgent fixes | hotfix/security-patch |
docs/ |
Documentation | docs/api-guide |
refactor/ |
Code refactoring | refactor/database-layer |
Feel free to open an issue with your question or contact the maintainer directly.
Thank you for contributing!