Contributing to Rhesis

July 9, 2026 · View on GitHub

Thank you for your interest in contributing to Rhesis! This guide will help you get started quickly.

Quick Start

  1. Fork and clone the repository:
git clone https://github.com/YOUR_USERNAME/rhesis.git
cd rhesis
  1. Set up local development environment:
./rh dev init         # Initialize env files (one-time setup) - apps/backend/.env and apps/frontend/.env.local
./rh dev up           # Start dev infrastructure (postgres + redis)
./rh dev backend      # Start backend server (auto-login enabled)
./rh dev worker       # Start worker for background tasks
./rh dev frontend     # Start frontend server
  1. Access the application at http://localhost:3000

Run ./rh dev to see all available commands.

Component Guides

Each component has its own detailed contributing guide:

Development Workflow

  1. Create a feature branch:
git checkout -b feature/your-feature-name
  1. Enable pre-commit hooks:
uvx pre-commit install
  1. Make your changes and run checks:
make format && make lint && make test

Run make commands from apps/backend/ or sdk/ directories.

  1. Commit your changes:
git commit -m "feat: your descriptive commit message"
  1. Push and create a Pull Request:
git push origin feature/your-feature-name
.github/pr

Commit Guidelines

We follow Conventional Commits:

<type>[optional scope]: <description>

Types: feat, fix, docs, style, refactor, perf, test, build, ci

Pull Request Checklist

  • Code follows our coding standards
  • Tests added/updated for changes
  • Documentation updated if needed
  • All CI checks pass

Questions or Need Help?


By contributing to this project, you confirm that you have authored the content, have the necessary rights, and that your contribution may be provided under the project's MIT License.

Developer Certificate of Origin (DCO)

We encourage contributors to sign off on their commits to certify they have the right to submit their contributions under the project's open source license. We follow the Developer Certificate of Origin (DCO) used by the Linux Foundation.

Sign your commits using the -s flag:

git commit -s -m "feat: add new feature"

This adds a Signed-off-by line to your commit:

Signed-off-by: Your Name <your.email@example.com>

Ensure your Git config matches:

git config user.name "Your Name"
git config user.email "your.email@example.com"

Thank you for contributing to Rhesis!