---
title: Workflow
---

# Development Workflow

How to contribute code to sunnypilot.

## Prerequisites

- Git installed
- Python 3.12+
- A GitHub account

## Steps

1. **Fork** the repository on GitHub
2. **Clone** your fork locally
3. **Create a branch** from the appropriate base branch
4. **Make changes** and test locally
5. **Push** your branch to your fork
6. **Open a pull request** against the main repository

## Branch Naming

Use descriptive branch names:

- `feat/feature-name` — New features
- `fix/bug-description` — Bug fixes
- `docs/topic` — Documentation changes

## Pull Request Guidelines

- Keep PRs focused on a single change
- Include a clear description of what and why
- Reference any related issues
- Ensure tests pass
