# Чек-листы

Короткие списки для случаев, когда проверять нужно быстро и без размышлений. Пакет
покрывает их командами; списки нужны там, где решение принимает человек.

## Перед публикацией репозитория

- [ ] Описание: категория впереди, до 200 символов, без эмодзи и превосходных степеней.
- [ ] Темы: 8–20, нижний регистр через дефис, первым — главный термин.
- [ ] Домашняя страница: отвечает `200` или пустая. Мёртвая ссылка хуже отсутствия.
- [ ] README: заголовок, абзац-описание, 3–8 бейджей, установка, использование, лицензия.
- [ ] Числа в README имеют источник измерения.
- [ ] `LICENSE` определяется GitHub (`license.spdx_id` не `NOASSERTION`).
- [ ] `SECURITY.md`, `CONTRIBUTING.md`, `CHANGELOG.md`, `CODE_OF_CONDUCT.md` на месте.
- [ ] Issue-формы лежат в `.github/ISSUE_TEMPLATE/` и содержат `name` и `description`.
- [ ] Социальное превью 1280×640 задано в настройках.
- [ ] Релиз: тег `vX.Y.Z`, заметки из CHANGELOG, файл с контрольной суммой.
- [ ] Вики: `Home`, `_Sidebar`, `_Footer`, внутренние ссылки проверены.
- [ ] Pages: сборка `built`, адрес отвечает `200`, `canonical` присутствует.
- [ ] Входящая ссылка с профиля владельца существует.

## Перед публикацией вики

- [ ] `ghagent wiki build` — без ошибок.
- [ ] `ghagent wiki verify` — без ошибок.
- [ ] Каждая страница есть в `wiki/wiki.json`, и наоборот.
- [ ] Внутренние ссылки без `.md`.
- [ ] Ни одной относительной картинки.
- [ ] `_Footer` содержит только абсолютные ссылки.
- [ ] Сухой прогон `wiki publish` без `--push` просмотрен: список `kept` понятен.
- [ ] Публикация: `--push`, затем проверка страницы в браузере.

## Перед выпуском версии

- [ ] `CHANGELOG.md`: `[Unreleased]` содержит записи, каждая — про видимое изменение.
- [ ] `ghagent changelog release <версия> --write`.
- [ ] `ghagent changelog check` — без ошибок.
- [ ] Версия одна во всех местах: манифест пакета, `CITATION.cff`, тег.
- [ ] `ghagent changelog notes <версия>` — текст релиза проверен человеком.
- [ ] Тег аннотированный, подпись владельца.

## Перед pull request

- [ ] `python tools/ghagent.py selftest` — зелёный.
- [ ] `python tools/ghagent.py doc --root .` — код `0`.
- [ ] `python tools/ghagent.py audit .` — код `0`.
- [ ] Одна логическая причина в изменении.
- [ ] Новая проверка пришла с фикстурой и приманкой.
- [ ] Документация обновлена там, где изменилось поведение.

## Что означает «зелёный прогон»

Зелёный прогон значит, что правила осмотрели объекты и не нашли нарушений. Он **не**
значит, что проект в порядке: он значит, что агент начнёт работу с точных фактов. Если
правило осмотрело ноль объектов, отчёт говорит об этом отдельной строкой
`coverage.skipped`.
