Opinionated SvelteKit/Flowbite based LLM frontend for LangGraph server.
Install moonrepo, which installs all other dependencies:
Both the frontend and backend require environment variables to be configured. Copy the example files and update them with your values:
Copy the example file:
cd apps/backend
cp .env.example .env
Configure the following variables in apps/backend/.env
:
DESCOPE_PROJECT_ID
- Your Descope project ID for authenticationANTHROPIC_API_KEY
- Your Anthropic API key for Claude integrationLANGSMITH_API_KEY
- Your LangSmith API key for tracing (optional)LANGSMITH_ENDPOINT
- LangSmith endpoint URL (defaults to EU region)Copy the example file:
cd apps/frontend
cp .env.example .env
Configure the following variables in apps/frontend/.env
:
AUTH_TRUST_HOST=true
- Enable auth trust host for developmentAUTH_DESCOPE_ID
- Your Descope project IDAUTH_DESCOPE_SECRET
- Your Descope management keyAUTH_DESCOPE_ISSUER
- Optional: The Descope Issuer URL for your project.AUTH_DESCOPE_ISSUER=https://api.euc1.descope.com/<your-project-id>
Only set this if your tenant requires it, otherwise leave it unset.AUTH_SECRET
- Random string for session encryption (generate with npx auth secret
)PUBLIC_LANGCHAIN_API_KEY
- Your LangChain API key for client-side requestsPUBLIC_LANGGRAPH_API_URL
- URL of your LangGraph server (typically http://localhost:8123
)PUBLIC_SENTRY_DSN
- Public DSN for your Sentry project, for error tracking and user feedback.PUBLIC_SENTRY_SEND_PII
- Optional: Enable PII (Personally Identifiable Information) capture in Sentry.SENTRY_AUTH_TOKEN
- Sentry auth token for source map uploads.SENTRY_ORG
- Sentry org for source map uploads.SENTRY_PROJECT
- Sentry project for source map uploads.The following command ensures dependencies are installed and starts dev servers for frontend and backend, with hot reload:
moon :dev
Run all checks (linting, type checking, formatting):
moon check --all
The backend uses LangGraph for AI workflow orchestration with the following key dependencies:
The frontend is built with modern web technologies:
To run a Docker build of the project, use Docker Compose:
docker compose build
To run it:
docker compose up [--build]
For now, we will not be running the backend in Docker, so to test with the dev backend, it's required to make it available to the Docker container and inform the Docker container of your IP:
moon backend:dev -- --host 0.0.0.0
And in a different terminal:
PUBLIC_LANGGRAPH_API_URL=http://host.docker.internal:2024 docker compose up --build