capsule AI-native Unix-like composition layer

capsule.yaml

2,345 bytes · 64 lines · capsule://quake0day/[email protected] raw on github

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