build: Makefile репозитория docs с целью check (валидация контракта и OpenSpec)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
5f2be96e11
commit
039bb4ed7b
1
.gitignore
vendored
1
.gitignore
vendored
@ -3,3 +3,4 @@
|
||||
.superpowers/
|
||||
.bounded
|
||||
dev/.env
|
||||
.venv/
|
||||
|
||||
23
Makefile
Normal file
23
Makefile
Normal file
@ -0,0 +1,23 @@
|
||||
# Команды проверки репозитория 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
|
||||
|
||||
.PHONY: venv validate-contracts validate-openspec check
|
||||
|
||||
# Единственная зависимость скриптов проверки контракта — 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
|
||||
Loading…
x
Reference in New Issue
Block a user