- Ссылки на источник истины v5.13/v5.14/v5.15 → v5.17: openspec/config.yaml, KICKOFF-PROMPT, 00-workspace-layout, 08-source-docs-index, заголовок 05-domain-rules, dev/checks.md; спека quality-checks — без привязки к версии (путь — переменная DBML Makefile). - Диаграммы model/diagrams/part01…09 перерисованы по v5.17 (были v5.12): scripts/gen_model_diagrams.py (разбиение DBML на части + dbml-renderer + resvg через npx, версии закреплены), цель make diagrams; описание в 04-data-model-guide, 06-test-data, 08-source-docs-index. - dev/frontend-api-guide.md: КПП (arm-core #52) и DB_SCHEMA (#53) — из §11 в §1, КПП в маршрутах §5.2/§5.3, схеме §5.8 и каталоге ошибок §9 (сверено с кодом 99669cd). - Ссылки на заархивированные change'и (dev/README, dev/checks, api-contract-slice-3b/4), путь к v4 DBML в индексе. - 09-delivery-plan: статусы Срезов 0, 2d, 3b, 4. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
30 lines
1.5 KiB
Makefile
30 lines
1.5 KiB
Makefile
# Команды проверки репозитория arm-ka-docs. Запуск из корня репозитория.
|
||
# Сервисных целей (lint/test/up...) здесь нет: описание общих целей сервисов — dev/checks.md.
|
||
VENV := .venv
|
||
# Если окружение создано (`make venv`) — берём его интерпретатор, иначе системный python3 (в нём должен быть jsonschema)
|
||
PY := $(if $(wildcard $(VENV)/bin/python),$(CURDIR)/$(VENV)/bin/python,python3)
|
||
CHANGE ?= slice-0-skeleton
|
||
# Текущая версия модели данных — по ней рисуются диаграммы (make diagrams)
|
||
DBML ?= model/data-model-v5.17.dbml
|
||
|
||
.PHONY: venv validate-contracts validate-openspec check diagrams
|
||
|
||
# Единственная зависимость скриптов проверки контракта — jsonschema
|
||
venv:
|
||
uv venv --python 3.11 --allow-existing $(VENV)
|
||
uv pip install --python $(VENV)/bin/python jsonschema
|
||
|
||
# Примеры contracts/examples/ против трёх схем JSON Schema 2020-12
|
||
validate-contracts:
|
||
$(PY) scripts/validate_contracts.py
|
||
|
||
# Спека текущего изменения OpenSpec (нужен CLI openspec в PATH)
|
||
validate-openspec:
|
||
openspec validate $(CHANGE) --strict
|
||
|
||
check: validate-contracts validate-openspec
|
||
|
||
# Диаграммы model/diagrams/part01…09.{svg,png} из $(DBML); нужен npx (Node.js), зависимостей Python нет
|
||
diagrams:
|
||
python3 scripts/gen_model_diagrams.py $(DBML)
|