-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
38 lines (28 loc) · 1.79 KB
/
Copy pathMakefile
File metadata and controls
38 lines (28 loc) · 1.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
.PHONY: ingest run serve lint format test
# ── Setup ─────────────────────────────────────────────────────────────────────
install:
uv sync
# ── Pipeline commands ─────────────────────────────────────────────────────────
ingest: ## Usage: make ingest PDF=attention.pdf
python src/main.py ingest $(PDF)
run: ## Run the research crew (collection must already be ingested)
python src/main.py run
run-full: ## Ingest + run crew in one step: make run-full PDF=attention.pdf
python src/main.py run --auto-ingest --pdf $(PDF)
serve: ## Start the FastAPI server (dev mode with auto-reload)
python src/main.py serve --reload
serve-prod: ## Start the FastAPI server in production mode
uvicorn src.api.server:app --host 0.0.0.0 --port 8000 --workers 2
# ── Code quality ──────────────────────────────────────────────────────────────
lint:
ruff check src/
format:
ruff format src/
# ── Testing ───────────────────────────────────────────────────────────────────
test:
pytest tests/ -v
smoke-test: ## Quick import checks (no API keys needed)
python -c "from src.core.config import settings; print('Config OK')"
python -c "from src.ingestion.pipeline import IngestionPipeline; print('Ingestion OK')"
python -c "from src.api.server import app; print('FastAPI OK')"
python src/main.py --help