"""Starter Library — contracts and product mechanics, not a UI framework.

Foundations, UI primitives, composites, and adapters. Hosts live in the
framework Starter Runtimes (P2HS Starter — Nuxt / React / HTML). Those
runtimes use the framework's router, native form controls, and existing
adapters. This package must not grow into a P2HS form library, router, or ORM.

Starter Library standardizes presentation contracts.
App Blocks standardize product capabilities.
Feature Packs standardize backend composition.
Cloud standardizes execution.
Archetype Starters are thin application shells.
Codegen specializes the final product.

Authoring rules: docs/FEATURE_PACKS_APP_BLOCKS_STARTER.md
Catalog contract: docs/STARTER_LIBRARY_CATALOG.md
"""

from src.domain.starter_library.archetypes import (
    get_archetype_starter,
    list_archetype_starters,
    starter_id_for_recipe,
)
from src.domain.starter_library.catalog import (
    STARTER_CATALOG_SCHEMA_VERSION,
    STARTER_CONTRACT_VERSION,
    get_contract,
    list_contracts,
    list_proposed_contracts,
)
from src.domain.starter_library.runtime_substrate import (
    assemble_generated_project,
    assemble_runtime_substrate,
    uses_starter_assembly,
    write_generated_project_tree,
)

__all__ = [
    "STARTER_CATALOG_SCHEMA_VERSION",
    "STARTER_CONTRACT_VERSION",
    "assemble_generated_project",
    "assemble_runtime_substrate",
    "get_archetype_starter",
    "get_contract",
    "list_archetype_starters",
    "list_contracts",
    "list_proposed_contracts",
    "starter_id_for_recipe",
    "uses_starter_assembly",
    "write_generated_project_tree",
]
