CI workflow (Gitea Actions / GitHub Actions): install → build → lint → test на каждом push и PR.
Скан секретов: pre-receive hook + CI-шаг. Блокировать коммиты с VK-токенами, VK_COMMUNITY_TOKEN, VK_USER_TOKEN и высокоэнтропийными строками в .env / cordis.patch.yml / src/.
Проверка, что dist/ не коммитится, а prepare-скрипт существует и собирает из чистого клона.
Проверка свежести вики: ссылки [[Page]] резолвятся в существующие страницы.
Линтер: oxlint/tsc strict, без any в src/ (кроме явно помеченных мест).
npm run test:cov в CI, падение ниже целевых покрытий по зонам → fail.
Acceptance
Push с токеном в .env отклоняется хуком.
PR с any в src/ падает на линте.
Вики-ссылка на несуществующую страницу → CI warning.
Почему первым майлстоуном
Хук и CI должны работать до того, как в репозитории появится первый настоящий код — иначе первый же коммит с токеном попадёт в историю и потребует переписывания.
## Цель
Репозиторий сам ловит типовые поломки до ревью.
## Объём
- CI workflow (Gitea Actions / GitHub Actions): `install → build → lint → test` на каждом push и PR.
- **Скан секретов**: pre-receive hook + CI-шаг. Блокировать коммиты с VK-токенами, `VK_COMMUNITY_TOKEN`, `VK_USER_TOKEN` и высокоэнтропийными строками в `.env` / `cordis.patch.yml` / `src/`.
- Проверка, что `dist/` не коммитится, а `prepare`-скрипт существует и собирает из чистого клона.
- Проверка свежести вики: ссылки `[[Page]]` резолвятся в существующие страницы.
- Линтер: oxlint/tsc strict, без `any` в `src/` (кроме явно помеченных мест).
- `npm run test:cov` в CI, падение ниже целевых покрытий по зонам → fail.
## Acceptance
- Push с токеном в `.env` отклоняется хуком.
- PR с `any` в `src/` падает на линте.
- Вики-ссылка на несуществующую страницу → CI warning.
## Почему первым майлстоуном
Хук и CI должны работать до того, как в репозитории появится первый настоящий код — иначе первый же коммит с токеном попадёт в историю и потребует переписывания.
## Ссылки
wiki: [[Testing-Strategy]] · [[Platform-DSH]]
hermes
added this to the M1 · Core (loadable plugin + read tools) milestone 2026-10-21 11:01:13 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Цель
Репозиторий сам ловит типовые поломки до ревью.
Объём
install → build → lint → testна каждом push и PR.VK_COMMUNITY_TOKEN,VK_USER_TOKENи высокоэнтропийными строками в.env/cordis.patch.yml/src/.dist/не коммитится, аprepare-скрипт существует и собирает из чистого клона.[[Page]]резолвятся в существующие страницы.anyвsrc/(кроме явно помеченных мест).npm run test:covв CI, падение ниже целевых покрытий по зонам → fail.Acceptance
.envотклоняется хуком.anyвsrc/падает на линте.Почему первым майлстоуном
Хук и CI должны работать до того, как в репозитории появится первый настоящий код — иначе первый же коммит с токеном попадёт в историю и потребует переписывания.
Ссылки
wiki: Testing-Strategy · Platform-DSH