From e72e01238222ef9666758001e4ccc1e6aeffe2da Mon Sep 17 00:00:00 2001 From: Boxel Submission Bot Date: Wed, 8 Apr 2026 15:21:05 +0800 Subject: [PATCH] add Specification Card Definition and Components Metadata changes [boxel-content-hash:9e3cbd0a662e] --- .../ebfe866c-376a-4289-925d-75e9eb4bd191.json | 64 +++++++++++++++++++ .../e02e74b2-dd89-4f9b-b8e2-33593efa3670.json | 40 ++++++++++++ pet.gts | 5 ++ 3 files changed, 109 insertions(+) create mode 100644 CardListing/ebfe866c-376a-4289-925d-75e9eb4bd191.json create mode 100644 Spec/e02e74b2-dd89-4f9b-b8e2-33593efa3670.json create mode 100644 pet.gts diff --git a/CardListing/ebfe866c-376a-4289-925d-75e9eb4bd191.json b/CardListing/ebfe866c-376a-4289-925d-75e9eb4bd191.json new file mode 100644 index 0000000..02a22cb --- /dev/null +++ b/CardListing/ebfe866c-376a-4289-925d-75e9eb4bd191.json @@ -0,0 +1,64 @@ +{ + "data": { + "meta": { + "adoptsFrom": { + "name": "CardListing", + "module": "https://realms-staging.stack.cards/catalog/catalog-app/listing/listing" + } + }, + "type": "card", + "attributes": { + "name": "Specification Card Definition and Components Metadata", + "images": [], + "summary": "The Spec defines the structure and components of a specification card within the Cardstack platform. It includes fields for documentation (readMe), references to code modules, and categorization (type: card, field, component, app). The Spec provides components for displaying and editing its metadata—such as titles, descriptions, and module information—along with sections for linked and contained examples. It also offers functionality to generate sample data and readme content through commands, support for previews, and visual tagging of spec types. The primary purpose is to enable detailed, editable specifications for cards, including metadata, examples, and module info, facilitating creation, display, and management of card definitions within the platform.", + "cardInfo": { + "name": null, + "notes": null, + "summary": null, + "cardThumbnailURL": null + } + }, + "relationships": { + "skills": { + "links": { + "self": null + } + }, + "tags.0": { + "links": { + "self": "https://realms-staging.stack.cards/catalog/Tag/ed5a1a3f-0dbf-47b5-b2a6-d88b0d2a7642" + } + }, + "license": { + "links": { + "self": "https://realms-staging.stack.cards/catalog/License/4c5a023b-a72c-4f90-930b-da60a1de5b2d" + } + }, + "specs.0": { + "links": { + "self": "../Spec/e02e74b2-dd89-4f9b-b8e2-33593efa3670" + } + }, + "publisher": { + "links": { + "self": null + } + }, + "categories.0": { + "links": { + "self": "https://realms-staging.stack.cards/catalog/Category/product-catalogs" + } + }, + "examples.0": { + "links": { + "self": "../Spec/e02e74b2-dd89-4f9b-b8e2-33593efa3670" + } + }, + "cardInfo.theme": { + "links": { + "self": null + } + } + } + } +} \ No newline at end of file diff --git a/Spec/e02e74b2-dd89-4f9b-b8e2-33593efa3670.json b/Spec/e02e74b2-dd89-4f9b-b8e2-33593efa3670.json new file mode 100644 index 0000000..f3ce16d --- /dev/null +++ b/Spec/e02e74b2-dd89-4f9b-b8e2-33593efa3670.json @@ -0,0 +1,40 @@ +{ + "data": { + "meta": { + "adoptsFrom": { + "name": "Spec", + "module": "https://cardstack.com/base/spec" + } + }, + "type": "card", + "attributes": { + "ref": { + "name": "Pet", + "module": "../pet" + }, + "readMe": "**Summary**\nThe `Pet` spec is a card definition that represents a pet. It has a static `displayName` property set to \"pet\".\n\n**Import**\n```gts\nimport { CardDef } from 'https://cardstack.com/base/card-api';\n```\n\n**Usage as a Field**\nTo use the `Pet` spec as a field within a consuming card or field, you can define a field that links to the `Pet` card:\n\n```gts\n@field myPet = linksTo(Pet);\n```\n\n**Template Usage**\nWithin a template, you can display the `Pet` card by delegating to its field template:\n\n```hbs\n<@fields.myPet @format=\"embedded\" />\n```\n\nThis will render the `Pet` card in its `embedded` format.", + "cardInfo": { + "name": null, + "notes": null, + "summary": null, + "cardThumbnailURL": null + }, + "specType": "card", + "cardTitle": "pet", + "cardDescription": null, + "containedExamples": [] + }, + "relationships": { + "cardInfo.theme": { + "links": { + "self": null + } + }, + "linkedExamples": { + "links": { + "self": null + } + } + } + } +} \ No newline at end of file diff --git a/pet.gts b/pet.gts new file mode 100644 index 0000000..6ba1f8f --- /dev/null +++ b/pet.gts @@ -0,0 +1,5 @@ +import { CardDef } from 'https://cardstack.com/base/card-api'; +import { Component } from 'https://cardstack.com/base/card-api'; +export class Pet extends CardDef { + static displayName = "pet"; +} \ No newline at end of file