Спасибо, что хотите помочь. Проект делают добровольцы, и любой вклад важен: исправленная фраза в заявлении, сверенный адресат, понятнее написанная подсказка
Вклад можно делать под псевдонимом
Всё, что вы пишете в issues, pull request и обсуждениях, видят все. Поэтому:
- не пишите ФИО, диагнозы, адреса, телефоны и номера документов, даже свои
- не прикладывайте настоящие заявления, жалобы, ответы медицинских организаций и ведомств, выписки, их фото и сканы. Даже с закрашенными данными
- не пересказывайте чужую историю так, что человека можно узнать: город, больница, даты и диагноз вместе уже выдают его
- не присылайте списки подопечных, пациентов или семей
- если в сообщение случайно попали личные данные, отредактируйте его или напишите мейнтейнерам через кнопку «Report content», мы скроем
Нужен пример, чтобы показать ошибку? Придумайте его: «Иванова А. А., ул. Примерная, 1» вполне подойдёт
Инструмент сделан для одной семьи на одном устройстве. Мы не принимаем:
- общий режим для нескольких клиентов, списки подопечных, карточки семей, метки и фильтры по чужим делам
- отправку дел, документов и контактов на сервер, синхронизацию через облако, учётные записи
- интеграции с CRM, мессенджерами, почтой и госсистемами
- оценку шансов, медицинские и юридические советы
Всё, что вводит семья, остаётся в её браузере. Если вам нужен учёт для организации, это другой инструмент, и делать его в этом репо мы не будем
- Юристу в РФ. Прочитать шаблоны документов в
data/pack/documents/и сказать, что в них неверно, лишнее или чего не хватает. Issue «Ошибка в документе» или pull request с меткойreview:legal. Нормы и сроки живут в репо pal-norms, правка цитаты нормы делается там - Сотруднику НКО или хосписа. Проверить, понятно ли написаны сценарии и подсказки, совпадают ли каналы подачи с тем, как это работает на практике
- Разработчику. Доступность, печать, работа без интернета, тесты. Задачи с меткой
good first issue - Всем. Пройти один сценарий вместе с человеком старше 60 и написать, где он остановился или не понял. Это самый ценный вклад
Тексты документов, сценарии, адресаты, каналы подачи и вехи «Ребёнку скоро 18» лежат данными в data/. Что где, описано в data/README.md. Правка пакета идёт только через pull request, который смотрит человек
-
Найдите нужный файл, например
data/pack/documents/written-answer.yaml -
Внесите правку. Правила текста документа:
- номер акта, статьи или пункта в текст не пишется. Ссылка на норму только так:
{{norm:180n#p-16}}, и у блока обязательно естьfallback, запасная формулировка без нормы - срок в документ не пишется, только «в установленный срок». Дату ответа считает экран дела по правилам из pal-norms
- без латиницы, названия проекта, названий препаратов и доз
- номер акта, статьи или пункта в текст не пишется. Ссылка на норму только так:
-
Проверьте пакет:
uv run python -m pipeline.pack_lint
Он объяснит по-русски, что не так. Ошибки нужно исправить, предупреждения
norm_unverifiedзначат, что норма в pal-norms ещё не сверена и в документ пойдёт запасная формулировка -
Если правка меняет текст документов, пересоберите фикстуры и эталоны:
uv run python -m pipeline.fixtures, потомuv run pytest -q -
Откройте pull request и заполните чек-лист. Правки в
data/pack/смотрит юрист, меткаreview:legal
Свой пакет для своей организации можно проверить так же: uv run python -m pipeline.pack_lint путь/к/pack
Шесть репо, каждый собирается в статический сайт для GitHub Pages:
| Репо | Что внутри |
|---|---|
| openpalliative.github.io | хаб: «Что случилось?», ситуации, «Сейчас», о проекте. Здесь же общий UI и сборщик opsite/ |
| pal-norms | нормы, дословные цитаты, сроки ответа, календарь |
| pal-devices-data | кто выдаёт изделия и по какому документу |
| pal-directory | номера и адресаты по регионам |
| obrashchenie-kit | заявления и жалобы со сроками, этот репо |
| home-care-kit | листы для дома и для скорой |
Этот репо берёт нормы, сроки и календарь из pal-norms, регионы и ведомства из pal-directory. Снимки лежат в vendor/ и обновляются только через sync-data, руками их не правят
Внутри репо работа делится на зоны, чтобы правки не сталкивались:
- данные:
data/,pipeline/,raw/и тесты данных - страницы:
templates/,assets/,content/,lib/, e2e и скриншоты - инфраструктура:
.github/,README.md,docs/, лицензии и эти файлы - общий UI: папка
opsite/. Её правят только в хабе
opsite/ здесь это копия из хаба. Не меняйте её и не присылайте pull request с изменениями в opsite/, такие правки потеряются при следующей синхронизации. Нужна правка общего UI, присылайте её в хаб openpalliative.github.io. После слияния там:
sh scripts/sync-ui # забирает копию из ../openpalliative.github.ioПеред pull request прогоните:
sh scripts/gate.shЭто uv sync, pnpm install, actionlint по workflows, pytest, pack_lint, сборка, opsite check (текст, ссылки, сеть, бюджеты), unit-тесты, e2e в headless-браузере и скриншоты. Pull request с красными воротами не сливаем
- У каждой нормы есть источник: официальная публикация на publication.pravo.gov.ru. Цитата нормы только дословно, с
eoNumberи ссылкой, и только в pal-norms - То, что не сверено с источником, помечаем
verified: false, и это видно на странице. Номера, коды, сроки и пункты не придумываем и не подставляем «по памяти» - Шаблоны и тексты про права идут с плашкой «черновик, нужна проверка юристом в РФ»
- Без длинных тире (пишем
-), эмодзи, восклицательных знаков и капса - Без медицинских порогов, доз, названий препаратов и советов по лечению
- Пишем просто и по-человечески, для человека в стрессе: «вы», короткие фразы, следующий шаг. Документ составляет человек, инструмент только помогает
- Данные по территориям, которые линтер помечает правилом
territory, не добавляем
opsite check, pipeline.pack_lint и uv run python -m opsite lint ловят большую часть этого автоматически
- Форкните репо и сделайте ветку
- Внесите правку в своей зоне и прогоните ворота
- Откройте pull request и заполните чек-лист в шаблоне: источник,
verified, нет личных данных и настоящих документов - Правки, которые видят семьи (тексты документов, адресаты, каналы, вехи), смотрит человек с меткой
review:legal, снимки соседей и номераreview:data
Отправляя pull request, вы соглашаетесь, что код распространяется по MIT, а тексты и данные на условиях LICENSE-DATA этого репо
Поведение в проекте: CODE_OF_CONDUCT.md. Уязвимости: SECURITY.md
obrashchenie-kit helps families in Russia ask a hospital or an authority for a written answer, track the legal deadline and choose the next step. The interface is in Russian, but you can help without knowing it
- Privacy first. Issues and pull requests are public. Never post names, diagnoses, addresses, phone numbers, document numbers, or real letters, complaints and replies (not even redacted scans). Use made-up examples
- Single family, single device. We do not accept multi-client mode, lists of patients or families, server sync, accounts or CRM integrations
- Template pack. Document texts live in
data/pack/as data. Change them only via pull request and runuv run python -m pipeline.pack_lint. Legal references go through{{norm:...}}placeholders with a fallback, never as literal article numbers. Lawyers in Russia: see the labelreview:legal - Zones.
opsite/(shared UI and site builder) is edited only in the hub repoopenpalliative.github.io, then copied withscripts/sync-ui. Snapshots invendor/come from pal-norms and pal-directory and are never edited by hand - Gate. Run
sh scripts/gate.shbefore opening a pull request
Code is MIT, texts and data follow LICENSE-DATA. Pseudonymous contributions are welcome