> ## Documentation Index
> Fetch the complete documentation index at: https://docs.goakt.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Contributing Overview

> How to contribute to GoAkt.

We welcome contributions—bug fixes, features, and documentation improvements. This section helps collaborators get
started.

## Prerequisites

* [Docker](https://docs.docker.com/get-started/get-docker/)
* `make` (pre-installed on macOS and most Linux distributions)

All developer tooling (Go, `buf`, `mockery`, `golangci-lint`, `openssl`) runs inside a Docker image built by the `Makefile`. No additional local installs are required.

## Before you start

1. Read the [Architecture Document](https://github.com/tochemey/goakt/blob/main/arch/ARCHITECTURE.md) to understand the codebase
2. Check existing [issues](https://github.com/Tochemey/goakt/issues)
   and [discussions](https://github.com/Tochemey/goakt/discussions)
3. Follow [Conventional Commits](https://www.conventionalcommits.org/) for commit messages

## How to contribute

1. Fork the repository
2. Create a branch for your change
3. Make your changes; ensure tests pass: `make test`
4. Commit with a conventional commit message
5. Open a pull request to the `main` branch
6. For bug fixes, leave a working sample in the `playground` package per its instructions

## Key documents

* [Development Setup](/contributing/development-setup) — Clone, build, run tests
* [Testing Strategy](/contributing/testing-strategy) — TestKit, mocks, integration tests
* [Extending GoAkt](/contributing/extending) — Adding discovery, mailboxes, extensions
