Вначале, хотим поблагодарить Вас за желание участвовать в проекте!
Далее описаны советы, как сделать свое участие наиболее эффективным для проекта и для себя. Это не жесткие правила, поэтому используйте свой разум, если здесь что-либо не описано.
## У меня есть вопрос
1. Для начала убедитесь, что ответа нет в самой конфигурации 1С:ГитКонвертер в справке или подсказке к полям и командам.
2. Расширенная информация есть в [Wiki](https://github.com/1C-Company/GitConverter/wiki) - стоит ее прочитать
3. Так же есть [FAQ](https://github.com/1C-Company/GitConverter/wiki/Если-что-то-пошло-не-так-FAQ) с наиболее частыми вопросами
**Вопрос есть, но ответа не нашел?** Создай `issue`
## Сообщить об ошибке
Печально, что ошибка существует, но мы благодарны, что вы о ней нам сообщите!
#### Прежде чем зарегистрировать
* Проверьте [FAQ](https://github.com/1C-Company/GitConverter/wiki/Если-что-то-пошло-не-так-FAQ) и [Wiki](https://github.com/1C-Company/GitConverter/wiki) на наличие описания, что не является ошибкой
* Проверьте раздел [Issues](https://github.com/1C-Company/GitConverter/issues), чтобы не создавать дубликатов
#### Как сообщить об ошибке эффективно
Следуйте простым правилам:
1. Задайте понятный заголовок `issue`, лаконично и исчерпывающе определяющий проблему
* постарайтесь не допускать двойного смысла, сленга из других областей и т.д.
* Не используйте "метки" в заголовке - для этого существуют сами метки (labels)
2. Опишите сценарий воспроизведения ошибки.
* скриншоты очень сильно помогают, но не заменяют сценарий
* добавьте логи ЖР, из лог-файлов (убедитесь, что они не содержат приватной информации)
3. Опишите, что есть ошибка по вашему мнению и почему
4. Опишите ожидаемое поведение
## Предложите улучшение функциональности
1. Задайте понятный заголовок `issue`, лаконично и исчерпывающе определяющий новую функциональность
2. Опишите суть улучшений и обсудите в issue варианты реализации.
3. Реализуйте Ваше улучшение функциональности проекта в отдельном форке и предложите его через [Pull/merge request](#Pull-Requests-Merge-Requests)
## Доработка кода
**Главная цель этого проекта** - помочь разработчикам 1С перейти на разработку в 1C:EDT и Git с сохранением истории разработки в хранилище 1С.
Доработка кода в конфигурации осуществляется только для улучшения существующей функциональности в соответствии с целями проекта.
Создание и развитие новой функциональности нужно реализовывать с помощью [расширений конфигураций 1С:Предприятия](http://v8.1c.ru/overview/Term_000000883.htm).
### Исправление ошибок
* Создайте `issue` в проекте с описанием ошибки. Убедитесь, что владельцы проекта так же считают текущее поведение ошибочным.
* Создайте ветку в своем **форке** с именем `bugfix/issue-<Номер issue>-доп-название`
* Создайте **pull-request** из своей ветки в ветку **`develop`** проекта GitConverter
* Убедитесь, что модификация кода действительно исправляет ошибку, описанную в issue, и не привносит новую функциональность - новую функциональность следует делать отдельным issue и pull-request'ом.
* Следуйте общим правилам [Pull/merge request](#Pull-Requests-Merge-Requests)
### Создайте Расширение конфигурации
Новая функциональность должна создаваться с помощью расширений для конфигурации 1С:ГитКонвертер.
Размещение кода расширений может быть двух типов:
* в репозитории `1C-Company/GitConverter` вместе с проектом 1С:ГитКонвертер
* в вашем репозитории на ГитХабе и ссылка в основном проект на ваш репозиторий, добавляемая вами по правилам `<Pull/merge request'а>`
Требования к расширениям:
* Расширение должно быть в проекте в формате EDT
* Наименование проекта расширения должно иметь формат `GitConverter.ИмяРасширения`
* Код расширения должен соответствовать [общим требованиям разработки](https://its.1c.ru/db/v8std)
* В расширении должны быть заполнены свойства `Vendor/Поставщик` и `Version/Версия`.
### Pull Requests (Merge Requests)
* Создайте `issue` в проекте с описанием новой функциональности, желательно перед началом работы, чтобы исключить параллельную работу разных людей над одной задачей
* Создайте ветку в своем **форке** с именем `feature/issue-<Номер issue>-доп-название`
* Внесите изменения в конфигурацию или расширение
* Создайте **pull-request** из своей ветки в ветку **`develop`** проекта GitConverter
* Укажите ссылку на issue, которую закрывает данный pull-request
* Установите в своем PR флажок "allow edits from maintainers"
1. Добавляя любой контент в этот репозиторий (в т.ч. код), вы соглашаетесь с тем, что Ваш контент будет поставляться по [лицензии проекта](LICENSE.md).
2. Создавая "Запрос на объединение" текстов модулей, вы подтверждаете, что публикуете код с согласия правообладателя (это вы или ваша компания). **Внимание!** Если вы работаете в компании, убедитесь, что вы не публикуете код вашей компании без ее согласия.
3. При модификации текстов модулей Вы должны добавить себя или свою компанию в секцию копирайта в заголовке модуля. Если в секции копирайта уже указан **один** дополнительный автор, необходимо заменить на `ООО 1С-Софт и другие.`
4. При создании новых модулей, например в расширениях, в заголовок модуля необходимо добавить лицензию этого проекта и правообладателя.