# Отчетность по проблемам {#issue-reporting} Как пользователь Tuist, вы можете столкнуться с ошибками или неожиданными действиями. В этом случае мы рекомендуем вам сообщать о них, чтобы мы могли их исправить. ## GitHub issues - это наша платформа для рассылки тикетов {#github-issues-is-our-ticketing-platform} О проблемах следует сообщать на GitHub как [GitHub issues](https://github.com/tuist/tuist/issues), а не в Slack или на других платформах. GitHub лучше подходит для отслеживания и управления проблемами, он ближе к кодовой базе и позволяет нам отслеживать прогресс в решении проблемы. Кроме того, он поощряет развернутое описание проблемы, что заставляет журналиста задуматься о проблеме и предоставить больше контекста. ## Контекст имеет решающее значение {#context-is-crucial} Вопрос без достаточного контекста будет считаться неполным, и автору будет предложено предоставить дополнительный контекст. Если он не будет предоставлен, вопрос будет закрыт. Подумайте об этом так: чем больше контекста вы предоставите, тем проще нам будет понять проблему и исправить ее. Поэтому, если вы хотите, чтобы ваша проблема была исправлена, предоставьте как можно больше контекста. Постарайтесь ответить на следующие вопросы: - Что вы пытались сделать? - Как выглядит ваш график? - Какую версию Tuist вы используете? - Это мешает вам? Мы также требуем, чтобы вы предоставили минимальный **воспроизводимый проект**. ## Воспроизводимый проект {#reproducible-project} ### Что такое воспроизводимый проект? {#what-is-a-reproducible-project} Воспроизводимый проект - это небольшой проект Tuist для демонстрации проблемы - часто эта проблема вызвана ошибкой в Tuist. Ваш воспроизводимый проект должен содержать минимум функций, необходимых для наглядной демонстрации ошибки. ### Зачем нужно создавать воспроизводимые тестовые примеры? {#why-should-you-create-a-reproducible-test-case} Воспроизводимые проекты позволяют выявить причину проблемы, что является первым шагом к ее устранению! Самая важная часть любого сообщения об ошибке - это описание точных шагов, необходимых для воспроизведения ошибки. Воспроизводимый проект - это отличный способ поделиться информацией о конкретном окружении, которое вызывает ошибку. Ваш воспроизводимый проект - лучший способ помочь людям, которые хотят помочь вам. ### Шаги по созданию воспроизводимого проекта {#steps-to-create-a-reproducible-project} - Создайте новый git-репозиторий. - Инициализируйте проект с помощью `tuist init` в каталоге репозитория. - Добавьте код, необходимый для воссоздания возникшей ошибки. - Опубликуйте код (для этого подойдет ваш аккаунт на GitHub), а затем ссылайтесь на него при создании проблемы. ### Преимущества воспроизводимых проектов {#benefits-of-reproducible-projects} - **Меньшая площадь поверхности:** Удалив все, кроме ошибки, вам не придется копать, чтобы найти ее. - **Нет необходимости публиковать секретный код:** Вы можете не публиковать свой основной сайт (по разным причинам). Переделка небольшой его части в воспроизводимый тестовый пример позволит вам публично продемонстрировать проблему, не раскрывая секретный код. - **Доказательство ошибки:** Иногда ошибка возникает из-за некоторой комбинации настроек на вашей машине. Воспроизводимый тестовый пример позволяет участникам взять вашу сборку и протестировать ее на своих машинах. Это помогает проверить и выявить причину проблемы. - **Обратитесь за помощью в исправлении ошибки:** Если кто-то другой сможет воспроизвести вашу проблему, у него часто есть все шансы ее устранить. Практически невозможно исправить ошибку, не имея возможности ее воспроизвести.