<!-- review: finished -->

<a id="development"></a>

# Разработка

Angie — проект с открытым исходным кодом,
поучаствовать в котором могут все.

<a id="source-code"></a>

## Исходный код

Клонировать исходный код Angie можно из наших открытых репозиториев:
[Mercurial](https://hg.angie.software/angie),
[Git](https://git.angie.software/web-server/angie).

<a id="coding-style"></a>

## Стиль кода

Вносимые изменения должны сочетаться с остальным кодом Angie;
хорошей отправной точкой будут
[правила оформления кода](https://angie.software//angie/docs/developer_guide.md#developer-guide).

<a id="commit-messages"></a>

### Коммит-сообщения

Исторически коммит-лог ведется на английском языке.

Сообщение начинается с однострочной сводки о проделанной работе.
Она может иметь префикс, уже использованный в коммит-логе для этой части кода.
Сводка имеет длину до 67 символов включительно;
за ней может следовать пустая строка, после которой идут подробности.

В хорошем сообщении указаны причины изменения, что было сделано,
и каково положение дел сейчас:

```none
API: bad things removed, good things added.

As explained elsewhere[1], the original API was bad because stuff;
this change was introduced to improve that aspect locally.

Levels of goodness have been implemented to mitigate the badness;
this is now the preferred way to work.  Also, the badness is gone.

[1] https://example.com
```

Детали, которые могли остаться незамеченными:

- Резюме кончается точкой и начинается с прописной (большой) буквы.
- Если использован префикс, то за ним следует строчная (маленькая) буква.
- Предложения в одной строке разделяются двойным пробелом.

<a id="final-checks"></a>

## Финальные проверки

- Проверьте, что ваши изменения работают на  *всех* целевых платформах.
- Запустите тесты на всех платформах, чтобы устранить возможность регрессии:
  ```sh
  $ cd tests
  $ prove .
  ```

  Подробности см. в файле `tests/README`.
- Убедитесь, что вас устраивают [юридические условия](https://angie.software//legal/index.md#legal).

<a id="submitting-contributions"></a>

## Куда отправлять патчи

Чтобы отправить патч, создайте PR-запрос в нашем
[зеркале на GitHub](https://github.com/webserver-llc/angie/).

С вопросами и предложениями обращайтесь к разработчикам через
[GitHub Issues](https://github.com/webserver-llc/angie/issues).
