# Contributing to RMI Backend Thank you for your interest in contributing to RMI! This is a commercial security product, and we take security seriously. Please read this guide carefully. ## Table of Contents - [Development Environment](#development-environment) - [Code Style](#code-style) - [Security Requirements](#security-requirements) - [Testing](#testing) - [Pull Request Process](#pull-request-process) - [Release Process](#release-process) ## Development Environment ### Prerequisites - Python 3.11+ - [uv](https://github.com/astral-sh/uv) for package management - Docker for local development - Tailscale for secure server access ### Setup ```bash # Clone the repository git clone git@github.com:crypto-rug-muncher/rugmuncher-backend.git cd rugmuncher-backend # Install dependencies uv sync --frozen # Set up environment cp .env.example .env # Edit .env with your local credentials # Run linter ruff check . # Run type checker mypy app/ # Run tests pytest tests/unit/ ``` ## Code Style ### Python - **Format**: Black with 88-character lines - **Lint**: Ruff with `--select=E,F,I,S,W` rules - **Types**: Full type hints on all public functions - **Imports**: Isort with `known_first_party=app` ### Commit Messages ``` ():