diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..3ab075e --- /dev/null +++ b/Makefile @@ -0,0 +1,37 @@ +.PHONY: help dev install lint fmt open logs + +VENV := .venv +PYTHON := $(VENV)/bin/python +UV := $(VENV)/bin/uvicorn +APP := app.main:app +PORT := $(shell grep -E '^PORT=' .env 2>/dev/null | cut -d= -f2 || echo 8001) + +help: + @echo "DevOpsDash local dev" + @echo "" + @echo " make dev – start uvicorn with auto-reload (uses .env)" + @echo " make install – install/sync dependencies into .venv" + @echo " make open – open browser at localhost:PORT" + @echo " make fmt – format with black" + @echo " make lint – ruff check" + +install: + python3 -m venv $(VENV) + $(VENV)/bin/pip install -q -r requirements.txt + +dev: + @test -f .env || (echo "⚠ No .env found – copy .env.example first: cp .env.example .env" && exit 1) + @echo "→ Starting DevOpsDash on http://localhost:$(PORT)" + env $$(grep -v '^#' .env | xargs) \ + $(UV) $(APP) \ + --host 0.0.0.0 --port $(PORT) \ + --reload --reload-dir app + +open: + open http://localhost:$(PORT) + +fmt: + $(VENV)/bin/black app/ + +lint: + $(VENV)/bin/ruff check app/ diff --git a/app/templates/dashboard.html b/app/templates/dashboard.html index 9ae7162..8fcd4fa 100644 --- a/app/templates/dashboard.html +++ b/app/templates/dashboard.html @@ -37,7 +37,7 @@ .prose-dark hr { border-color:#374151; margin:.75rem 0; } - +