{
  "starter_contract_version": 1,
  "contracts": [
    {"id": "token.color", "layer": "foundation", "implementation": "assets/css/starter-tokens.css"},
    {"id": "token.spacing", "layer": "foundation", "implementation": "assets/css/starter-tokens.css"},
    {"id": "token.typography", "layer": "foundation", "implementation": "assets/css/starter-tokens.css"},
    {"id": "token.radius", "layer": "foundation", "implementation": "assets/css/starter-tokens.css"},
    {"id": "token.shadow", "layer": "foundation", "implementation": "assets/css/starter-tokens.css"},
    {"id": "ui.button", "layer": "primitive", "implementation": "components/starter/UiButton.vue"},
    {"id": "ui.input", "layer": "primitive", "implementation": "components/starter/UiInput.vue"},
    {"id": "ui.textarea", "layer": "primitive", "implementation": "components/starter/UiTextarea.vue"},
    {"id": "form.field", "layer": "composite", "implementation": "components/starter/FormField.vue"},
    {"id": "form.standard", "layer": "composite", "implementation": "components/starter/StandardForm.vue"},
    {"id": "record.table", "layer": "composite", "implementation": "components/starter/RecordTable.vue"},
    {"id": "record.detail", "layer": "composite", "implementation": "components/starter/RecordDetail.vue"},
    {"id": "record.create", "layer": "composite", "implementation": "components/starter/RecordCreate.vue"},
    {"id": "record.edit", "layer": "composite", "implementation": "components/starter/RecordEdit.vue"},
    {"id": "state.empty", "layer": "composite", "implementation": "components/starter/EmptyState.vue"},
    {"id": "state.success", "layer": "composite", "implementation": "components/starter/SuccessState.vue"},
    {"id": "layout.page", "layer": "composite", "implementation": "components/starter/PageLayout.vue"},
    {"id": "layout.admin", "layer": "composite", "implementation": "components/starter/AdminLayout.vue"},
    {"id": "layout.page_header", "layer": "composite", "implementation": "components/starter/PageHeader.vue"},
    {"id": "filter.bar", "layer": "composite", "implementation": "components/starter/FilterBar.vue"},
    {"id": "search.box", "layer": "composite", "implementation": "components/starter/SearchBox.vue"},
    {"id": "nav.pagination", "layer": "composite", "implementation": "components/starter/Pagination.vue"},
    {"id": "status.badge", "layer": "composite", "implementation": "components/starter/StatusBadge.vue"},
    {"id": "record.list", "layer": "composite", "implementation": "components/starter/RecordList.vue"},
    {"id": "record.card", "layer": "composite", "implementation": "components/starter/RecordCard.vue"},
    {"id": "file.upload", "layer": "composite", "implementation": "components/starter/FileUpload.vue"},
    {"id": "file.attachments", "layer": "composite", "implementation": "components/starter/AttachmentList.vue"},
    {"id": "adapter.auth", "layer": "adapter", "implementation": "lib/p2hs-app.js"},
    {"id": "adapter.records", "layer": "adapter", "implementation": "lib/p2hs-app.js"},
    {"id": "adapter.files", "layer": "adapter", "implementation": "lib/p2hs-app.js"},
    {"id": "chart.bar", "layer": "composite", "implementation": "components/starter/ChartBar.vue"},
    {"id": "chart.line", "layer": "composite", "implementation": "components/starter/ChartLine.vue"},
    {"id": "chart.pie", "layer": "composite", "implementation": "components/starter/ChartPie.vue"},
    {"id": "chart.area", "layer": "composite", "implementation": "components/starter/ChartArea.vue"},
    {"id": "metric.card", "layer": "composite", "implementation": "components/starter/MetricCard.vue"},
    {"id": "calculator.formula", "layer": "composite", "implementation": "components/starter/CalculatorFormula.vue"}
  ]
}
