feat: implemented declarative schema-based settings system

This commit is contained in:
2026-01-03 10:06:37 +01:00
parent aa89a3fb00
commit faaf1aafa7
12 changed files with 2277 additions and 372 deletions
+17 -5
View File
@@ -16,17 +16,26 @@ DOCKER_BUILD := docker build --no-cache \
--build-arg RUNNER=$(RUNNER)
# --- Phony ---
.PHONY: .env bootstrap up down restart logs ps shell build build-test install \
.PHONY: .env bootstrap validate up down restart logs ps shell build build-test install \
update install-hooks test coverage lint format clean major minor patch help
# --- Setup ---
.env .env.make:
.env:
@echo "Initializing environment..."
@python scripts/bootstrap.py \
&& echo "✓ Environment ready" \
|| (echo "✗ Environment setup failed" && exit 1)
bootstrap: .env .env.make
# .env.make is automatically generated by bootstrap.py when .env is created
.env.make: .env
bootstrap: .env
validate:
@echo "Validating settings..."
@python scripts/validate_settings.py \
&& echo "✓ Settings valid" \
|| (echo "✗ Settings validation failed" && exit 1)
# --- Docker ---
up: .env
@@ -161,8 +170,12 @@ help:
@echo ""
@echo "Usage: make [target] [p=profile1,profile2]"
@echo ""
@echo "Setup:"
@echo " bootstrap Generate .env and .env.make from schema"
@echo " validate Validate settings against schema"
@echo ""
@echo "Docker:"
@echo " up Start containers (default profile: core)"
@echo " up Start containers (default profile: full)"
@echo " Example: make up p=rag,meili"
@echo " down Stop all containers"
@echo " restart Restart containers (supports p=...)"
@@ -172,7 +185,6 @@ help:
@echo " build Build the production Docker image"
@echo ""
@echo "Dev & Quality:"
@echo " setup Bootstrap .env and security keys"
@echo " install Install dependencies via $(RUNNER)"
@echo " test Run pytest suite"
@echo " coverage Run tests and generate HTML report"