# SpecVerse v4.0 Implementation Manifest - Frontend Only
# Generates standalone React frontend that connects to external API

manifests:
  {{projectNameKebab}}Implementation:
    specVersion: "4.0.0"
    name: "{{projectNameKebab}}-frontend"
    version: "1.0.0"
    description: "Frontend application for {{projectName}}"

    # v4.0: Deployment reference
    deployment:
      deploymentSource: "../specs/main.specly"
      deploymentName: "development"

    # v4.0: Configuration for standalone frontend
    configuration:
      outputStructure: "standalone"
      frontendDir: "."
      
      # External API connection (configured at runtime)
      apiBaseUrl: "${VITE_API_BASE_URL}"
      apiPrefix: "/api"

      # Development server
      vitePort: 5173
      viteHost: "localhost"

    # v4.0: Frontend-only capability mappings
    capabilityMappings:
      # React Application — slim shell backed by @specverse/runtime.
      # Dev views are rendered at runtime from the embedded spec, so no
      # per-view components are generated. To eject to a fully standalone
      # starter kit, swap ReactAppRuntime for ReactAppStarter.
      - capability: "app.frontend"
        instanceFactory: "ReactAppRuntime"
        configuration:
          outputStructure: "standalone"
          frontendDir: "."
          apiBaseUrl: "${VITE_API_BASE_URL}"

      # Project Scaffolding
      - capability: "project.scaffold"
        instanceFactory: "GenericScaffold"
        configuration:
          outputStructure: "standalone"
          includeReadme: true
