You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Jonathan Hinkel 9a911a2ff7 Revise the monorepo migration brief after review 2 months ago
.claude Add realtime session management core (OpenAI Realtime API via WS relay) 2 months ago
.vscode initial commit 2 months ago
docs Revise the monorepo migration brief after review 2 months ago
src Isolate analytics recorder failures 2 months ago
static Add the eye look-at gaze system as a humanoid/eye sub-package 2 months ago
.env.example Add a core debug-logging system with a client debug panel 2 months ago
.gitattributes initial commit 2 months ago
.gitignore Add server-side analytics recording to a local SQLite database 2 months ago
.npmrc initial commit 2 months ago
.prettierignore initial commit 2 months ago
AGENTS.md Gate /demo routes to dev-only instead of requiring per-fork deletion 2 months ago
README.md Format project documentation and homepage 2 months ago
eslint.config.js initial commit 2 months ago
package-lock.json Add the eye look-at gaze system as a humanoid/eye sub-package 2 months ago
package.json Add the eye look-at gaze system as a humanoid/eye sub-package 2 months ago
playwright.config.ts initial commit 2 months ago
prettier.config.js initial commit 2 months ago
server.js Add a core debug-logging system with a client debug panel 2 months ago
tsconfig.json initial commit 2 months ago
tsconfig.server.json Add tool calling (server- and client-executed) and a core/project ownership boundary 2 months ago
vite.config.ts Add the eye look-at gaze system as a humanoid/eye sub-package 2 months ago

README.md

webavatar-core

A base SvelteKit project meant to be branched off for future webavatar client projects. It provides the reusable core infrastructure those projects would otherwise reimplement from scratch — session management, auth tokens, and the realtime model connection — as a foundation to branch from, not a finished product.

See docs/ARCHITECTURE.md for the full architecture map, and AGENTS.md for project conventions and structure. docs/ holds a deep-dive per subsystem.

Getting started

npm install
cp .env.example .env
# fill in OPENAI_API_KEY and REALTIME_TOKEN_SECRET in .env
npm run dev

Open /demo/realtime for the realtime session reference wiring, or /demo/humanoid for the humanoid avatar-state demo (works offline via REALTIME_PROVIDER=mock, no API key needed).

Scripts

  • npm run dev / npm run build / npm run preview — standard SvelteKit commands.
  • npm run check — type-check. npm run lint / npm run format — prettier + eslint.
  • npm run test:unit — vitest. npm run test:e2e — Playwright.
  • npm start — run the production build via server.js (the persistent Node process the realtime WebSocket relay requires — see docs/ARCHITECTURE.md).

Documentation

Subsystem Doc
Architecture overview and module layering docs/ARCHITECTURE.md
Realtime session management docs/REALTIME_SESSION.md
Tool calling (server- and client-executed) docs/TOOLS.md
Analytics recording docs/ANALYTICS.md
Configuration (env vars, persona) docs/CONFIGURATION.md
humanoid package (avatar-state, animation composition) docs/HUMANOID.md