chore: import upstream snapshot with attribution
Validate YAML Workflows / Validate YAML Configuration Files (push) Has been cancelled
Validate YAML Workflows / Validate YAML Configuration Files (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
# ==============================================================================
|
||||
# Development Commands
|
||||
# ==============================================================================
|
||||
|
||||
.PHONY: dev
|
||||
dev: ## Run both backend and frontend development servers
|
||||
@$(MAKE) -j2 server client
|
||||
|
||||
|
||||
.PHONY: server
|
||||
server: ## Start the backend server in the background
|
||||
@echo "Starting server in background..."
|
||||
@uv run python server_main.py --port 6400 &
|
||||
|
||||
.PHONY: client
|
||||
client: ## Start the frontend development server
|
||||
@cd frontend && npx cross-env VITE_API_BASE_URL=http://localhost:6400 npm run dev
|
||||
|
||||
.PHONY: stop
|
||||
stop: ## Stop backend and frontend servers cross-platform
|
||||
@echo "Stopping backend server (port 6400)..."
|
||||
@npx kill-port 6400
|
||||
@echo "Stopping frontend server (port 5173)..."
|
||||
@npx kill-port 5173
|
||||
|
||||
# ==============================================================================
|
||||
# Tools & Maintenance
|
||||
# ==============================================================================
|
||||
|
||||
.PHONY: sync
|
||||
sync: ## Sync Vue graphs to the server database
|
||||
@uv run python tools/sync_vuegraphs.py
|
||||
|
||||
.PHONY: validate-yamls
|
||||
validate-yamls: ## Validate all YAML configuration files
|
||||
@uv run python tools/validate_all_yamls.py
|
||||
|
||||
# ==============================================================================
|
||||
# Help
|
||||
# ==============================================================================
|
||||
|
||||
.PHONY: help
|
||||
help: ## Display this help message
|
||||
@uv run python -c "import re; \
|
||||
p=r'$(firstword $(MAKEFILE_LIST))'.strip(); \
|
||||
[print(f'{m[0]:<20} {m[1]}') for m in re.findall(r'^([a-zA-Z_-]+):.*?## (.*)$$', open(p, encoding='utf-8').read(), re.M)]" | sort
|
||||
|
||||
# ==============================================================================
|
||||
# Quality Checks
|
||||
# ==============================================================================
|
||||
|
||||
.PHONY: check-backend
|
||||
check-backend: ## Run backend quality checks (tests + linting)
|
||||
@$(MAKE) backend-tests
|
||||
@$(MAKE) backend-lint
|
||||
|
||||
.PHONY: backend-tests
|
||||
backend-tests: ## Run backend tests
|
||||
@uv run pytest -v
|
||||
|
||||
.PHONY: backend-lint
|
||||
backend-lint: ## Run backend linting
|
||||
@uvx ruff check .
|
||||
Reference in New Issue
Block a user