Skip to content
ohmoveagain
0/76 · 0%
Поддерживается сообществом · открытый код · MIT-лицензия

Участвовать

Pipeline полезен только пока он точен. Помогите ему оставаться таким.

Зачем участвовать

Правила переезда меняются постоянно. Каждый этап Pipeline ссылается на официальный источник с датой проверки. Чем дольше эти даты не обновляются, тем менее полезным становится Pipeline. Контрибьюторы — это то, что держит его честным.

Каждое улучшение публикуется как открытый коммит под именем автора.

Кому это подойдёт

Вы хорошо подходите для участия, если применимо что-либо из этого:

Не обязательно быть техническим специалистом. Исправления на уровне опечаток и формулировок ценны не меньше новых пунктов чеклиста.

Что можно сделать

Проверить и обновить источник. Каждый пункт чеклиста ссылается на официальную государственную или европейскую страницу с датой asOf. Если источник переехал, изменил номер или само правило поменялось — обновите ссылку и дату.

Добавить недостающий пункт чеклиста. Если реальный шаг подкосил вас при переезде, а в Pipeline его нет — добавьте его в нужный этап со ссылкой на источник.

Указать подводный камень. В каждом этапе есть блок gotchas — неочевидные ловушки, которые не вписываются в чеклист. Добавьте свою.

Поделиться опытом. Сроки («OIB занял 3 часа в Загребе и 3 дня в Сплите»), стоимости, муниципальные особенности — это всё живёт в заметках к пунктам и в gotchas.

Добавить измерение персоны. Pipeline уже фильтруется по визе, семье и питомцам. Если вы заметили, что пункт ведёт себя по-разному для вашей категории, добавьте блок appliesTo или предложите новое измерение персоны.

Улучшить текст. Более чёткие формулировки, лучшее форматирование, исправление неуклюжего английского.

Перевести. Благодаря разделению данных и строк (см. ниже) перевод выполняется механически: скопируйте content/stages/<slug>.md в content/stages/<slug>.<lang>.md и переведите только строковые значения. Все URL, даты и фильтры остаются каноническими в data/stages/*.yaml — поэтому перевод не может разойтись с источником истины.

Как внести вклад

Быть разработчиком не нужно. Четыре способа, от простого к сложному. Первые три полностью выполняются в браузере — ничего устанавливать не надо.

Нужен только бесплатный аккаунт GitHub. Если его нет, зарегистрируйтесь на github.com/signup — это занимает около минуты.

Способ 1 — просто сообщить (2 минуты)

Самый простой путь, и он по-настоящему полезен. Чинить ничего не нужно.

  1. Откройте выбор шаблона issue.
  2. Выберите шаблон: Source correction (факт, ссылка или дата неверны), Bug report (что-то сломано на сайте) или Add a country.
  3. Заполните поля и отправьте.

Форма исправления источника просит официальную страницу и дату, когда вы её проверили. Это не бюрократия — на этом держится весь сайт. Исправление без источника опубликовать нельзя, иначе это просто ещё один блог-пост.

Не уверены, что там ошибка? Всё равно сообщите. Неверное сообщение закрывается за минуту, а незамеченная ошибка может привести человека к отказу по заявлению.

Способ 2 — поправить формулировку в браузере (5 минут)

Для опечаток, неуклюжих фраз или битой ссылки в тексте страницы.

  1. Откройте страницу с проблемой и прокрутите её вниз до конца.
  2. Нажмите ✎ Edit this page on GitHub. Откроется именно тот файл, который стоит за страницей, сразу в режиме редактирования — искать его не придётся.
  3. Меняйте только те слова, ради которых пришли. Что вы увидите: ## в начале строки — заголовок, **жирный**, а [текст](https://example.com) — ссылка, где видимые слова в квадратных скобках, а адрес в круглых. Блок в самом верху между двумя строками --- — это настройки: слова в кавычках менять можно, а слова перед каждым : трогать не нужно.
  4. Прокрутите до Commit changes. Напишите короткое описание, например Fix typo in pre-flight stage.
  5. Выберите Create a new branch for this commit and start a pull request и нажмите Propose changes.
  6. На следующем экране нажмите Create pull request.

Если у вас нет прав на запись — а их почти ни у кого нет — GitHub сообщит, что создаёт для вас форк. Форк — это просто ваша собственная копия. Согласитесь; разбираться в этом не обязательно.

Всё, что выглядит как asOf: "2026-02-15", здесь не трогайте. У дат свои правила, они ниже.

Способ 3 — обновить ссылку на источник или дату (10 минут)

Самый ценный вклад и то, чего проекту не хватает больше всего.

  1. Сначала прочитайте официальную страницу. Именно это и есть вклад; остальное — набор текста. Ссылка ещё жива? Страница по-прежнему говорит то, что мы утверждаем? Изменились ли цифра, срок или требование к документу? Редирект, который выбрасывает вас на главную страницу министерства, считается битой ссылкой — у нас правительственный PDF начал делать ровно это, продолжая отвечать «ОК».
  2. Под пунктом чеклиста нажмите на дату проверки. Она ведёт прямо на нужную строку в файле данных, где эта дата задана.
  3. Нажмите значок карандаша справа сверху, чтобы редактировать.
  4. Обновите значения:
ПолеЧто это значит
idВнутреннее имя источника. Не меняйте его — на него ссылаются другие части сайта.
urlОфициальная страница. Обновите, если ссылка переехала.
typeofficial (государственный орган), supranational (ЕС, ООН, IATA) или community. Определяет, как часто источник нужно перепроверять.
lastChecked / asOfДата, когда вы открыли страницу и подтвердили содержимое. Всегда в формате YYYY-MM-DD.

Сохраняйте кавычки и отступы ровно так, как они есть — отступы здесь значимы.

  1. Предложите изменение так же, как в способе 2, и вставьте ссылку на источник в описание.

Единственное по-настоящему важное правило: меняйте дату, только если вы действительно открыли страницу в этот день. Дата говорит читателю, что человек недавно всё подтвердил. Поднять её не глядя — значит сделать сайт уверенно неправильным, а это хуже, чем заметно устаревшим. Если вы не проверяли — оставьте старую дату, она для того и нужна.

Способ 4 — запустить локально (для разработчиков)

gh repo fork 7nolikov/ohmoveagain --clone
cd ohmoveagain
npm install
hugo server

Факты живут в data/stages/*.yaml (URL, даты asOf, фильтры персон). Слова — в front-matter content/stages/*.md под itemStrings.<item-id>. Шаблоны объединяют их по ID пункта во время сборки, поэтому URL место в YAML, а не в тексте.

Перед открытием pull request запустите node scripts/check-staleness.mjs, три скрипта check-i18n-* и npm run test:unit. CI дополнительно проверяет доступность, Lighthouse на десктопе и мобильном и полный набор браузерных тестов. Подробности — в CONTRIBUTING.md в репозитории.

Что происходит дальше

Каждый pull request рассматривается публично. Сначала отрабатывают автоматические проверки: они ловят сломанную сборку, битые ссылки и упавшие тесты ещё до того, как посмотрит человек. Ответ обычно приходит в течение нескольких дней.

Сломать вы ничего не можете. Прав на запись в живой сайт у вас нет, каждое изменение рецензируется, а исправление в одну строку — вполне нормальный pull request. Если комментарий рецензента непонятен, ответить «не понимаю — что именно поправить?» совершенно нормально.

Планка качества

Чтобы Pipeline оставался достоверным, вклад должен соответствовать нескольким правилам:

Чем Pipeline не является

Граница в охвате важна не меньше содержания. Чтобы Pipeline оставался полезным:

Лицензия

Весь контент публикуется под лицензией MIT. Используйте, адаптируйте и распространяйте свободно — упоминание авторства приветствуется, но не обязательно.

Связь

Открытый вопрос — issue на GitHub. Для приватных тем (например, вы хотите внести вклад, но не хотите связывать имя с чувствительной иммиграционной темой) контактный email есть в README репозитория.