apiVersion: capsule.dev/v0.1
kind: Capsule
name: cverse-frontend-app
version: 0.1.0
type: template
purpose:
summary: 'The Vue.js single-page application (SPA) that provides the user interface
for interacting with digital humans. It includes character management, chat UI,
settings, and WebRTC integration. It''s a template because the UI/UX, character
data, and specific landing pages are bespoke.
'
owns:
- Vue.js components and pages
- Frontend routing and state management
- Internationalization resources
- WebRTC client logic
- Public assets (icons, specific character images)
does_not_own:
- Backend API implementation
- AI inference logic
- LiveKit server integration
interfaces:
provides:
- kind: http_api
name: frontend-spa
description: The main user interface for the digital human system.
requires:
- kind: http_api
name: backend-api
from_capsule: cverse-api-server
description: REST API for character management, settings, and task status.
- kind: http_api
name: websocket-api
from_capsule: cverse-api-server
description: WebSocket API for real-time chat and media control.
- kind: library
name: livekit-client-sdk
description: LiveKit client SDK for WebRTC connections.
agent:
summary_for_ai: 'An AI agent working on this capsule would focus on UI/UX improvements,
adding new frontend features, integrating with new backend API endpoints, or adapting
the UI for different character types. It requires knowledge of Vue.js, TypeScript,
and WebRTC client-side interactions.
'
avoid:
- Modifying backend logic or AI inference models directly from this capsule.
verification:
invariants:
- The UI must be responsive and accessible.
- Real-time chat and video must function correctly.
- Character data display must be consistent with backend API.
x-reuse:
notes: 'The brand string ''CyberVerse'' is hardcoded in `frontend/src/components/AppHeader.vue`.
The `frontend/public/liukanshan/` directory contains specific character assets.
The `frontend/src/pages/KanshanLandingPage.vue` is a specific landing page. `frontend/.env.production`
contains hardcoded `VITE_WS_BASE=wss://www.cyberverse.cc`. These values need to
be renamed/parameterized for reuse.
'
x-reconstruct:
install: install.json