Files
stork/Makefile
T
ilia b91ba3490c
CI / secret-scan (pull_request) Successful in 32s
CI / python-ci (pull_request) Successful in 50s
Add shareable multi-board links with paper UI and voice notes.
Boards use /b/<uid> with no invite password; restore renamable columns,
recordings, and seeded locale notes, with first column locked.
2026-08-07 14:47:28 -04:00

37 lines
1.4 KiB
Makefile

.PHONY: help install test lint run docker-build seed
help: ## Show targets
@grep -E '^[a-zA-Z_-]+:.*?##' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " %-16s %s\n", $$1, $$2}'
install: ## Install runtime + dev deps into .venv (prefers python3.12)
@PY=$$(command -v python3.12 || command -v python3); \
$$PY -m venv .venv
.venv/bin/pip install -U pip
.venv/bin/pip install -r requirements-dev.txt
lint: ## Ruff lint (CI hard gate)
ruff check .
test: ## Pytest (CI hard gate)
pytest -q
run: ## Local uvicorn on :8094 (needs .env)
@test -f .env || (echo "Copy .env.example to .env first" && exit 1)
set -a && . ./.env && set +a && uvicorn stork.app:app --reload --host 127.0.0.1 --port 8094
seed: ## Seed example names (usage: make seed STORK_BOARD_ID=b_… OR STORK_INVITE=…)
@if [ -z "$(STORK_BOARD_ID)" ] && [ -z "$(STORK_INVITE)" ]; then \
echo "Set STORK_BOARD_ID=b_… or STORK_INVITE=…"; exit 1; \
fi
STORK_URL="$(or $(STORK_URL),http://127.0.0.1:8094)" \
STORK_BOARD_ID="$(STORK_BOARD_ID)" STORK_INVITE="$(STORK_INVITE)" \
.venv/bin/python scripts/seed_names.py
create-board: ## Create empty board + print share URL (usage: make create-board [STORK_BOARD_TITLE='…'])
STORK_URL="$(or $(STORK_URL),http://127.0.0.1:8094)" \
STORK_BOARD_TITLE="$(or $(STORK_BOARD_TITLE),Name board)" \
.venv/bin/python scripts/create_board.py
docker-build: ## Build local image
docker build -t homelab-stork:latest .