New top-level `helexa.ai/` app for the public beta — Vite + React (SWC) +
TypeScript + react-bootstrap + react-router + react-i18next-ready. Not a
Cargo crate; lives beside the workspace.
- Vite with @vitejs/plugin-react-swc (standard Vite + npm, not the
reference's rolldown/pnpm pin). `vite.config.ts` dev-proxies the mesh
data-plane (/v1, /health → helexa-router) and account control-plane
(/api → helexa-upstream /web/v1) same-origin, targets overridable via
VITE_ROUTER_BASE_URL / VITE_ACCOUNT_BASE_URL.
- tsconfig (app/node, ported from the reference), eslint flat config,
minimal index.css reset + bootstrap CSS, a placeholder App shell.
- Deps pre-declared for later phases: dexie + dexie-react-hooks (IndexedDB
chat history), @fingerprintjs/fingerprintjs (anon throttle + register
fingerprint), i18next/react-i18next, react-icons.
- Monorepo: root .gitignore ignores helexa.ai/{node_modules,dist} +
.env.local (mirrors the existing /bench entries); committed
package-lock.json for reproducible installs.
Validated: npm install resolves (vite 7 + plugin-react-swc 4 + react 19),
`npm run lint`/`typecheck`/`build` all green (344 modules via SWC →
dist/). The frontend isn't in the Cargo workspace, so the Rust CI is
unaffected. A path-filtered web CI job is deferred (needs a Node-capable
runner confirmed) and folded into a later phase.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F6o3ddqmYNh9kzdwq6eowh
1.3 KiB
helexa.ai
The public-beta frontend for the helexa mesh: a chat-first landing experience
(anonymous + authenticated, with all chat history kept client-side in
IndexedDB — no server-side history), a /mission page on European digital
sovereignty, and full account self-service (register, recover, manage API
keys, set per-key limits, redeem top-up codes) against helexa-upstream.
Vite + React (SWC) + TypeScript + react-bootstrap + react-router + react-i18next. Lives as a top-level folder in the cortex monorepo; it is not a Cargo crate.
Develop
cd helexa.ai
npm install
cp .env.example .env.local # adjust backend URLs
npm run dev # vite dev server, proxies /v1+/health → router, /api → upstream
Other scripts: npm run build (tsc -b && vite build → dist/), npm run preview, npm run lint, npm run typecheck.
In dev, vite.config.ts proxies the mesh data-plane (helexa-router) and the
account control-plane (helexa-upstream) same-origin. Run a local router
(cargo run -p helexa-router) for the chat path and a local helexa-upstream
for the account path.
Status
F0 scaffold. Theming + i18n (33 languages, usage-ordered selector), the
/mission page, the chat workspace (Dexie + streaming), and the account
dashboard land in subsequent phases — see
~/.claude/plans/we-need-to-plan-modular-graham.md.