Skip to content

Latest commit

 

History

History
49 lines (34 loc) · 1.86 KB

File metadata and controls

49 lines (34 loc) · 1.86 KB

Contributing to saasmail

Thanks for your interest in contributing to saasmail. Please also read the Code of Conduct — it applies in every project space.

Licensing of contributions

saasmail is licensed under Apache License 2.0. There is no CLA. By opening a pull request you agree that your contribution is licensed under the same Apache 2.0 license as the rest of the project, and that you have the right to license it.

Getting Started

  1. Fork the repository
  2. Clone your fork: git clone https://github.com/<your-username>/saasmail.git
  3. Install dependencies: yarn install
  4. Follow the Local Development section in the README to set up your environment

Making Changes

  1. Create a branch from main: git checkout -b my-feature
  2. Make your changes
  3. Run tests: yarn test
  4. Run type checking: yarn tsc --noEmit
  5. If you changed the schema, generate a migration: yarn db:generate
  6. Add an entry under ## [Unreleased] in CHANGELOG.md for any user-visible change
  7. Commit and push your branch
  8. Open a pull request against main

Note: a CLAUDE.md at the repo root contains notes the maintainer uses with Claude Code. It's optional context — you don't need Claude Code to contribute.

Pull Request Guidelines

  • Describe what your PR does and why
  • Keep PRs focused — one feature or fix per PR
  • Include any relevant migration files if you changed the database schema (yarn db:generate)

Code Style

  • TypeScript strict mode
  • Follow existing patterns in the codebase
  • Tailwind CSS for styling (light theme using the existing color tokens)
  • Hono + Zod OpenAPI for backend routes
  • Drizzle ORM for database queries

Reporting Issues

Open an issue on GitHub with:

  • What you expected to happen
  • What actually happened
  • Steps to reproduce