# Contribute

> Shows how you can help by answering questions, testing nightly and PR builds, supporting your own devices, translating, editing the docs or writing code.

evcc is built by the community. Most ways to help don’t need any code.

## Start Small

Don’t start with your favourite big feature, even though AI agents make that incredibly easy and tempting. Read along in [discussions](https://github.com/evcc-io/evcc/discussions) and [issues](https://github.com/evcc-io/evcc/issues) first and get a feel for how the community works. Your idea has probably come up before, so search for it and join the existing conversation. Begin with something small and grow from there. Bigger changes need agreement in an issue or discussion before moving on to implementation and a pull request.

## Help Others

Many questions in the [discussions](https://github.com/evcc-io/evcc/discussions/categories/need-help) can be answered by someone who owns the same device or had the same problem. Triage helps too: reproduce reported bugs, ask for missing logs and point to duplicates. [Report a Problem](/en/report-a-problem) explains what a helpful issue contains.

## Test New Versions

The nightly build contains everything that has been merged since the last release. All installation guides (e.g. [Linux](/en/installation/linux), [Docker](/en/installation/docker) or [Home Assistant](/en/installation/home-assistant)) explain how to switch to it. Back up your installation before you switch. New features often start as experimental and need to be enabled in **Configuration → Experimental**.

For a pull request, maintainers can publish a test build with binaries and a Docker image `evcc/evcc:pr-<number>`. A short test report from someone with the matching hardware is often what gets a change merged. If a pull request has no test build yet but you could test it, feel free to ask for one in the pull request.

To try new versions of the iOS and Android app early, see the [beta section of the app](https://github.com/evcc-io/app#beta-testing).

## Your Own Devices

The best first contributions come from your own setup. You own an inverter, home battery, vehicle or charger that maintainers can’t test. Confirm fixes or improve the instructions of a template. Your device isn’t supported yet? Set it up as a [user-defined device](/en/user-defined-devices) first and, once it works, turn it into a template for everyone.

## Translate

The interface is translated on [Weblate](https://hosted.weblate.org/engage/evcc/). Add a new language or check and improve an existing one, no developer tools needed.

## Improve the Docs

Every page has an **Edit page** link at the bottom that takes you to its source on GitHub. The documentation is written in English and German. If you only speak one of them, mention it in your pull request and we’ll help with the other.

## Write Code

The [contribution guidelines](https://github.com/evcc-io/evcc/blob/master/CONTRIBUTING.md) cover the ground rules, the development setup and how to test locally. General development topics are discussed on [Slack](https://evcc.io/slack).

## Build Something Around evcc

Dashboards, displays, utilities or hardware gadgets that help other users are contributions too. The [REST API](/integrations/rest-api) and [MQTT API](/en/integrations/mqtt-api) give you access to all data of your evcc instance. Show your project in the discussions and add it to [More Awesome Projects](/en/smarthome/awesome).

## Project Overview

| Repository                                                      | What it is                                     | Tech            |
| --------------------------------------------------------------- | ---------------------------------------------- | --------------- |
| [evcc-io/evcc](https://github.com/evcc-io/evcc)                 | Core, web interface and device templates       | Go, Vue         |
| [evcc-io/app](https://github.com/evcc-io/app)                   | iOS and Android app                            | React Native    |
| [evcc-io/optimizer](https://github.com/evcc-io/optimizer)       | [Optimizer](/en/features/optimizer) service    | Python          |
| [evcc-io/docs](https://github.com/evcc-io/docs)                 | This documentation                             | Astro, Markdown |
| [evcc-io/images](https://github.com/evcc-io/images)             | Linux images for Raspberry Pi and other boards | Armbian         |
| [evcc-io/hassio-addon](https://github.com/evcc-io/hassio-addon) | Home Assistant app                             | Docker          |
| [evcc-io/evcc.io](https://github.com/evcc-io/evcc.io)           | Website                                        | Hugo            |

[Report a Problem](/en/report-a-problem#where) lists which repository a problem belongs to.

## Contributor Tokens

The project lives on the contributions of many people, with code, templates, docs, translations, answers in the discussions or detailed test reports.

Already contributed a fair bit? [Send us a short email](mailto:info@evcc.io) with your GitHub username and we’ll issue you an unlimited sponsor token.