Contributing

Thanks for your interest in contributing to Umami! This document outlines the process for contributing code.

Branching

Umami uses the following long-lived branches:

  • master — stable, released code. Do not open PRs against master.
  • dev — active development. All pull requests should target dev.

Feature branches and fixes are merged into dev, and dev is periodically merged into master for releases.

Submitting a Pull Request

  1. Fork the repository and create your branch from dev:
    git checkout dev
    git pull origin dev
    git checkout -b my-feature
  2. Make your changes. Keep PRs focused — one logical change per PR.
  3. Ensure the project builds and lints cleanly:
    pnpm install
    pnpm build
    pnpm lint
  4. Push your branch and open a pull request against the dev branch.
  5. Fill in the PR description with what changed and why. Link any related issues.

PRs opened against master will be asked to retarget dev.

Reporting Issues

  • Search existing issues before opening a new one.
  • For bugs, include reproduction steps, expected vs. actual behavior, and your environment (Umami version, database, browser).
  • For feature requests, describe the use case before the proposed solution.

Development Setup

See the README for instructions on installing dependencies, configuring the database, and running Umami locally.

License

By contributing, you agree that your contributions will be licensed under the MIT License.