hp-studios-ai-content-agent/.env.example
DJP 72c8a0d0fe Initial import — HP Studios AI Content Agent
Full-stack app that turns HP customer briefs (master asset + regional
supporting docs) into a set of branded Word deliverables via a RAG +
agent pipeline.

Stack
- FastAPI + SQLAlchemy + pgvector + RQ (backend, Python 3.12)
- React + Vite + TypeScript + Tailwind + TanStack Query (frontend)
- Claude Opus 4.7 (generation) + Haiku 4.5 (translation/OCR)
- Voyage voyage-3 or OpenAI text-embedding-3-small (embeddings)
- python-docx (branded Word output, Montserrat + HP blue)
- Docker Compose (5 services)

Features
- 6 built-in deliverable types (leadership themes, regional enrichment,
  LinkedIn posts, webinar spec, infographic specs, ABM enablement)
- Data-driven deliverable types: admins add new types at runtime via
  prompt + JSON schema + template_json — no code, no deploy
- Generic schema-driven review form + generic Word template renderer
- Document ingestion pipeline with translation, chunking, pgvector RAG
- Pluggable auth provider (password now, Entra SSO later); admin/user roles
- Re-roll / retry on every deliverable; cascading delete; brief editing;
  inline document upload; progress hints; router-level ErrorBoundary
- Admin panel with test-render preview for new deliverable types
- Help page at /help with architecture overview and usage guide

82 backend tests passing, 18 skipped (gated live-API tests).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 17:11:25 -04:00

33 lines
2 KiB
Text

# ─── Anthropic / AI ───────────────────────────────────────────────────────────
ANTHROPIC_API_KEY=your-anthropic-api-key-here
# Voyage AI embeddings (voyage-3, 1024 dims). Optional — falls back to OpenAI.
VOYAGE_API_KEY=
# OpenAI embeddings fallback (text-embedding-3-small, 1536 dims). Optional.
OPENAI_API_KEY=
# ─── PostgreSQL ───────────────────────────────────────────────────────────────
POSTGRES_USER=hp
POSTGRES_PASSWORD=hp
POSTGRES_DB=hp_content_agent
# Derived from the above; consumed by SQLAlchemy / Alembic.
DATABASE_URL=postgresql+psycopg://hp:hp@postgres:5432/hp_content_agent
# ─── Redis ────────────────────────────────────────────────────────────────────
REDIS_URL=redis://redis:6379/0
# ─── Host port mappings (container side stays default) ───────────────────────
# Adjust if your host already uses these; defaults avoid common conflicts.
POSTGRES_HOST_PORT=55432
REDIS_HOST_PORT=56379
API_HOST_PORT=8008
FRONTEND_HOST_PORT=5178
# ─── Auth ─────────────────────────────────────────────────────────────────────
# Generate a strong random secret, e.g.: openssl rand -hex 32
JWT_SECRET=change-me-use-openssl-rand-hex-32
# ─── Frontend ─────────────────────────────────────────────────────────────────
# Public API base URL reachable from the browser.
VITE_API_URL=http://localhost:8008