Thank you for your interest in contributing to Mailbuddy! This document provides guidelines and instructions to help you get started.
-
Fork the repository
- Click the "Fork" button at the top right of the Mailbuddy repository
-
Clone your fork
git clone https://github.com/izadoesdev/mailer.git cd mailer -
Set up the development environment
# Install dependencies bun install # Copy the environment variables template cp .env.example .env.local # Fill in required environment variables # Start the development server bun run dev
-
Create a new branch
git checkout -b feature/your-feature-name
-
Coding Standards
- Follow the existing code style in the project
- Use TypeScript for type safety
- Write clean, readable code with meaningful variable names
- Keep components small and focused on a single responsibility
- Use Biome for formatting:
bun run biome-write
- Ensure ESLint passes:
bun run lint
-
Commit your changes
- Use clear, descriptive commit messages
- Reference issue numbers in your commit messages when applicable
git commit -m "Add feature X, resolves #123" -
Push to your fork
git push origin feature/your-feature-name
-
Submit a Pull Request
- Go to the Mailbuddy repository
- Click "Pull Request" and then "New Pull Request"
- Select your fork and the branch you created
- Fill in the PR template with details about your changes
- Submit the PR
- Ensure your code follows the project's coding standards
- Update documentation if necessary
- Add tests for new functionality
- Make sure all tests pass
- Your PR will be reviewed by maintainers, who may suggest changes
- Check if the issue already exists before creating a new one
- Use the issue templates when available
- Provide clear steps to reproduce bugs
- Include relevant information like your OS, browser, and Mailbuddy version
We use various labels to organize issues:
- good first issue: Good for newcomers
- bug: Something isn't working correctly
- enhancement: New feature or improvement request
- documentation: Documentation-related tasks
- help wanted: Extra attention is needed
If you have questions about contributing:
- Open a discussion in the GitHub Discussions tab
- Ask in the issue if related to an existing issue
- For security-related issues, please see our security policy
By participating in this project, you agree to abide by our Code of Conduct.
By contributing to Mailbuddy, you agree that your contributions will be licensed under the project's MIT License.