Deployment
Local HTTP mode
cp .env.example .env
# populate secrets without committing .env
docker compose up --build knowledge-assistant
curl http://localhost:3000/health
Compose runs uvicorn app.main:app --host 0.0.0.0 --port 3000. For Socket Mode run docker compose --profile socket up --build knowledge-assistant-socket; the image default is python -m app.slack_socket_app. The Python image is based on python:3.11-slim, installs the project, changes to an unprivileged app user, and exposes port 3000.
For direct development, install Python 3.11+, run pip install -e '.[dev]', then use Uvicorn or the Socket Mode module. Verify with pytest and ruff check ..
Production artifacts
The Helm chart is under deployment/. Environment values exist for sbx, dev, and prod. Their hostnames, ECR repositories, and Vault remote keys are repository configuration, but cluster context and release automation are TO_BE_CONFIRMED. See Kubernetes.