Skip to main content

Contributing

We love your input! We want to make contributing to the starter kit as easy and transparent as possible, whether it's:

  • Reporting a bug
  • Discussing the current state of the code
  • Submitting a fix
  • Proposing new features
  • Improving documentation

Development Process

We use GitHub to host code, to track issues and feature requests, as well as accept pull requests.

  1. Fork the repo and create your branch from main
  2. Set up your development environment (see below)
  3. Make your changes
  4. Test your changes
  5. Submit a pull request

Setting Up Development Environment

# Clone your fork
git clone https://github.com/YOUR_USERNAME/starter-kit.git

# Install dependencies
pnpm install

# Set up environment variables
cp .env.example .env.local

# Start development server
pnpm dev

Contributing Guidelines

Creating Issues

  1. For New Features:

    • Create an issue with the suggestion label
    • Provide detailed description and use cases
    • Mention if you'd like to implement it yourself
    • Wait for approval before starting development
  2. For Bug Fixes:

    • Check existing issues with bug label
    • Look for good first issue label for beginner-friendly tasks
    • Comment on the issue to indicate you're working on it

Making Changes

  1. Code Contributions:

    • Create a new branch for your feature/fix
    • Follow existing code style
    • Add tests where applicable
    • Update documentation if needed
  2. Documentation:

    • Located in docs/ directory
    • Follow existing documentation structure
    • Include code examples where relevant

Commit Messages

We follow Conventional Commits specification:

feat: add new email template
fix: correct authentication redirect
docs: update contributing guidelines
style: format code according to style guide
refactor: restructure email sending logic
test: add tests for auth middleware

Pull Request Process

  1. Update the README.md with details of changes if needed
  2. Update the documentation if you're introducing new features
  3. Make sure all tests pass
  4. Link any relevant issues in your PR description

Types of Contributions

🐛 Bug Fixes

  • Look for issues labeled bug or help wanted
  • Comment on the issue to avoid duplicate work
  • Include test cases that demonstrate the fix

✨ New Features

  1. Create an issue first
  2. Use the suggestion label
  3. Wait for approval
  4. Mention your interest in implementing it

📚 Documentation

  • One of the most valuable contributions!
  • Fix typos, clarify explanations
  • Add examples and use cases
  • Improve API documentation

🧪 Testing

  • Add tests for uncovered code
  • Improve existing tests
  • Add integration tests

Best Practices

  • Create Issues First: For non-trivial changes
  • Test Your Code: Ensure all tests pass
  • Document Changes: Update relevant documentation
  • Clear PRs: Keep changes focused and well-documented
  • Communicate: Discuss major changes in issues first
tip

Looking for something to work on? Check out issues labeled good first issue or help wanted!

info

Questions? Feel free to open a discussion on GitHub!