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_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
)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 create a production version of the frontend:
cd apps/frontend
npm run build
You can preview the production build with npm run preview
.
To deploy your app, you may need to install an adapter for your target environment.
svelte-langgraph/
├── apps/
│ ├── backend/ # LangGraph Python server
│ │ ├── src/ # Source code
│ │ └── langgraph.json
│ └── frontend/ # SvelteKit application
│ ├── src/ # Source code
│ ├── messages/ # Internationalization files
│ └── e2e/ # End-to-end tests
└── README.md