| .PHONY: help \ |
| db-up db-down db-reset \ |
| backend-install backend-init \ |
| backend-ingest backend-ingest-bible backend-ingest-history \ |
| backend-dev \ |
| frontend-install frontend-dev frontend-build \ |
| eval \ |
| dev |
|
|
| BACKEND_DIR := backend |
| FRONTEND_DIR := frontend |
| EVAL_DIR := eval |
|
|
| |
| help: |
| @echo "" |
| @echo " Lectio β Scripture Companion" |
| @echo "" |
| @echo " Database" |
| @echo " make db-up start postgres+pgvector container" |
| @echo " make db-down stop container" |
| @echo " make db-reset stop + wipe volume + restart" |
| @echo "" |
| @echo " Backend" |
| @echo " make backend-install uv sync (creates .venv + installs all deps)" |
| @echo " make backend-init run DB migrations (init_db.py)" |
| @echo " make backend-ingest ingest KJV bible + church history" |
| @echo " make backend-dev start API server on :8000" |
| @echo "" |
| @echo " Frontend" |
| @echo " make frontend-install npm install" |
| @echo " make frontend-dev start Next.js on :3000" |
| @echo " make frontend-build production build" |
| @echo "" |
| @echo " Eval" |
| @echo " make eval run 20-case evaluation harness" |
| @echo "" |
| @echo " Shortcuts" |
| @echo " make dev start backend API on :8000" |
| @echo "" |
|
|
| |
| |
| |
| db-up: |
| docker compose up -d db |
| @echo "Waiting for postgres..." |
| @docker compose exec db sh -c 'until pg_isready -U postgres -d christianity_ai; do sleep 1; done' |
|
|
| db-down: |
| docker compose down |
|
|
| db-reset: |
| docker compose down -v |
| docker compose up -d db |
| @docker compose exec db sh -c 'until pg_isready -U postgres -d christianity_ai; do sleep 1; done' |
|
|
| |
| |
| |
| backend-install: |
| cd $(BACKEND_DIR) && uv sync --extra dev |
|
|
| backend-init: |
| cd $(BACKEND_DIR) && uv run python -m scripts.init_db |
|
|
| backend-ingest-bible: |
| cd $(BACKEND_DIR) && uv run python -m scripts.ingest_bible |
|
|
| backend-ingest-history: |
| cd $(BACKEND_DIR) && uv run python -m scripts.ingest_history |
|
|
| backend-ingest: |
| cd $(BACKEND_DIR) && uv run python -m scripts.ingest_bible |
| cd $(BACKEND_DIR) && uv run python -m scripts.ingest_history |
|
|
| backend-dev: |
| cd $(BACKEND_DIR) && uv run uvicorn app.main:app --reload --port 8000 |
|
|
| |
| |
| |
| frontend-install: |
| cd $(FRONTEND_DIR) && npm install |
|
|
| frontend-dev: |
| cd $(FRONTEND_DIR) && npm run dev |
|
|
| frontend-build: |
| cd $(FRONTEND_DIR) && npm run build |
|
|
| |
| |
| |
| eval: |
| cd $(EVAL_DIR) && uv run --project ../$(BACKEND_DIR) run_eval.py |
|
|
| |
| |
| |
| dev: |
| cd $(BACKEND_DIR) && uv run uvicorn app.main:app --reload --port 8000 |
|
|