Agentic event discovery app for Appx. See docs/intro/intro.md for the vision and docs/spikes/2026-05-09-pi-sdk-spike.md for the architectural foundations.
npm install
npm run dev- Backend on http://localhost:3001 (configurable via
PORT) - Frontend on http://localhost:5173 (Vite dev server, proxies
/api/*to backend)
Open http://localhost:5173.
What works:
- Calendar/event list view fed by SQLite seed data.
- Sources panel listing seed event-source URLs.
- Preferences panel reading/writing
data/PREFERENCES.mdvia API. - Chat panel connected to backend over SSE. Talks to a stub echo agent that emits pi-shaped events (
agent_start/message_start/message_updatetext-delta /message_end/agent_end) so the frontend reducer is exercising the real event shape. - Multiple sessions: create, list, switch, send prompt; sessions persist in memory for now (SQLite-persisted in milestone 2).
What is intentionally stubbed:
- Real pi SDK agent (next milestone — drops into
src/backend/src/agent/). - Cron / scheduled runs.
- Skills (Python typer + playwright).
- Permission/extension UI requests.
src/
backend/ Express + TS + better-sqlite3 + SSE
frontend/ React + Vite + TS, custom chat UI
skills/ (placeholder; Python typer skills will land here)
data/
eventx.db SQLite (auto-created with seed data)
PREFERENCES.md agent's freeform memory
.pi/skills/ project-local pi skills (discovery)
.agents/skills/ alt project-local skills location
docs/ intro, questions, spike notes
spike/ pi SDK validation scripts (kept for reference)