@primer/brand-mcp 0.72.0 → 0.72.1-rc.8a8dc720
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/content/page-design.md +11 -4
- package/dist/catalog/types.d.ts +2 -0
- package/dist/catalog/types.js.map +1 -1
- package/dist/catalog.json +20 -7
- package/dist/tools/primer-brand-component/primer-brand-component.js +2 -0
- package/dist/tools/primer-brand-component/primer-brand-component.js.map +1 -1
- package/dist/tools/primer-brand-examples/primer-brand-examples.js +11 -4
- package/dist/tools/primer-brand-examples/primer-brand-examples.js.map +1 -1
- package/package.json +1 -1
package/content/page-design.md
CHANGED
|
@@ -36,12 +36,17 @@ Every full page should be framed top and bottom, unless the user has requested a
|
|
|
36
36
|
|
|
37
37
|
### Contain content within the grid
|
|
38
38
|
|
|
39
|
-
Body content must sit in one centered, max-width grid framed by the brand's gridlines — it should rarely stretch edge-to-edge.
|
|
39
|
+
Body content must sit in one centered, max-width grid framed by the brand's gridlines — it should rarely stretch edge-to-edge. Treat gridlines as one continuous page structure: every line endpoint must reach the viewport or shared page-grid boundary, or intersect another gridline. Never let a border stop in empty space.
|
|
40
40
|
|
|
41
41
|
Examples of this are in the Flexsuite recipes.
|
|
42
42
|
|
|
43
43
|
- **Do** — keep heroes, `River`s, `ComparisonTable` / `PricingOptions`, connected Card or Pillar groups, forms, `CTABanner`s, and prose on the same `Grid` / `Section` column. Draw thin side rules on the column and full-bleed horizontal rules between major sections.
|
|
44
|
-
- **
|
|
44
|
+
- **Do** — for connected panels, put block rules on the outer frame, outer inline rules on the centered content container, and internal dividers on zero-gap cell wrappers. Preserve these intersections when max-width or column count changes at responsive breakpoints.
|
|
45
|
+
- **Do** — give a panel frame's block-start and block-end rules the same extent. They may differ only when one rule is also a page-wide section boundary that intersects the frame's inline rules.
|
|
46
|
+
|
|
47
|
+
- **Don't** — give sections different widths, add gaps between borders that should connect, or put borders on inset wrappers where their endpoints stop in empty space.
|
|
48
|
+
- **Don't** — stretch content edge-to-edge or let a section bleed full-width unless it is a deliberate background band behind the shared grid.
|
|
49
|
+
|
|
45
50
|
- **Mobile** — use a modest, consistent side inset and make sure nothing overflows the viewport.
|
|
46
51
|
|
|
47
52
|
Resolve gutter, inset, and gridline (border) values with `primer_brand_tokens`; don't hardcode hex or pixel values.
|
|
@@ -121,12 +126,14 @@ Resolve exact sizes and weights with `primer_brand_tokens`.
|
|
|
121
126
|
|
|
122
127
|
**Do**
|
|
123
128
|
|
|
124
|
-
-
|
|
129
|
+
- Default to placing `Card`, `Pillar`, `Box`, or custom items in a square frame using `<Grid columnGap="none" rowGap="none" enableGutters={false}>`.
|
|
130
|
+
- When Card images need to stretch to fill the Card width, set `padding="none"` on every `Card.Image` and `hasBorder` on every `Card` to provide visual containment. Place these full-bleed Cards in a regular `Grid` with a clear gap between them; this is a separate visual treatment from gridline Cards. Keep image position and aspect ratio consistent across the group, and retrieve Card examples with `primer_brand_examples` for reference.
|
|
125
131
|
- Draw shared dividers on custom frame/cell wrappers and use `border-radius: 0` there.
|
|
126
132
|
|
|
127
133
|
**Don't**
|
|
128
134
|
|
|
129
|
-
-
|
|
135
|
+
- Put native-bordered, full-bleed Cards inside a shared gridline frame, or mix gridline and native-border treatments within one group.
|
|
136
|
+
- Render other repeated panels as separate rounded cards, double their shared borders, or override `Card` / `Pillar` internals.
|
|
130
137
|
- `Pillar` has no grid variant; don't invent one.
|
|
131
138
|
|
|
132
139
|
### CTABanner
|
package/dist/catalog/types.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ export type CatalogExample = {
|
|
|
15
15
|
title: string;
|
|
16
16
|
/** Source snippet (JSX), when one could be extracted. */
|
|
17
17
|
code?: string;
|
|
18
|
+
/** CSS modules referenced by the source snippet, when available. */
|
|
19
|
+
styles?: string;
|
|
18
20
|
/** Where the snippet came from: an authored JSDoc `@example`, a tested Storybook story, or a docs page. */
|
|
19
21
|
source: 'jsdoc' | 'story' | 'docs';
|
|
20
22
|
/** Storybook story id, when the example comes from a story. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/catalog/types.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/catalog/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AA8EH,MAAM,UAAU,YAAY;IAC1B,OAAO;QACL,YAAY,EAAE,qBAAqB;QACnC,oBAAoB,EAAE,SAAS;QAC/B,WAAW,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;QACtC,UAAU,EAAE,EAAE;QACd,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;KACZ,CAAA;AACH,CAAC"}
|
package/dist/catalog.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"brandPackage": "@primer/react-brand",
|
|
3
|
-
"generatedFromVersion": "0.72.
|
|
4
|
-
"generatedAt": "2026-
|
|
3
|
+
"generatedFromVersion": "0.72.1-rc.8a8dc720",
|
|
4
|
+
"generatedAt": "2026-08-10T14:56:05.571Z",
|
|
5
5
|
"components": [
|
|
6
6
|
{
|
|
7
7
|
"name": "Hero",
|
|
@@ -283,7 +283,7 @@
|
|
|
283
283
|
"props": [
|
|
284
284
|
{
|
|
285
285
|
"name": "children",
|
|
286
|
-
"type": "
|
|
286
|
+
"type": "ButtonGroupChild | ButtonGroupChild[]",
|
|
287
287
|
"required": true
|
|
288
288
|
},
|
|
289
289
|
{
|
|
@@ -568,6 +568,7 @@
|
|
|
568
568
|
{
|
|
569
569
|
"title": "MediaPlaylist example",
|
|
570
570
|
"code": "<MediaPlaylist>\n <MediaPlaylist.Heading>Latest videos</MediaPlaylist.Heading>\n\n {youtubeVideos.slice(0, 1).map(video => (\n <MediaPlaylist.Item\n key={video.id}\n thumbnail={\n <Image\n src={`https://i.ytimg.com/vi/${video.id}/hqdefault.jpg`}\n alt=\"\"\n aspectRatio=\"16:9\"\n loading=\"lazy\"\n />\n }\n >\n <MediaPlaylist.ItemHeading title={video.title} description={video.duration} />\n <MediaPlaylist.ItemContent>\n <Prose\n enableFullWidth\n html={`\n <h3>${video.title}</h3>\n <p>${video.summary}</p>\n `}\n />\n </MediaPlaylist.ItemContent>\n <MediaPlaylist.ItemMedia>\n <iframe\n className={styles.youtubeEmbed}\n src={`https://www.youtube-nocookie.com/embed/${video.id}`}\n title={video.title}\n loading=\"lazy\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\n allowFullScreen\n referrerPolicy=\"strict-origin-when-cross-origin\"\n />\n </MediaPlaylist.ItemMedia>\n </MediaPlaylist.Item>\n ))}\n</MediaPlaylist>",
|
|
571
|
+
"styles": "/* MediaPlaylist/MediaPlaylist.stories.module.css */\n.youtubeEmbed {\n display: block;\n width: 100%;\n aspect-ratio: 16 / 9;\n border: 0;\n}",
|
|
571
572
|
"source": "story"
|
|
572
573
|
}
|
|
573
574
|
],
|
|
@@ -1769,7 +1770,8 @@
|
|
|
1769
1770
|
"examples": [
|
|
1770
1771
|
{
|
|
1771
1772
|
"title": "Pillar example",
|
|
1772
|
-
"code": "<Grid.Column key={pillar.heading} span={{xsmall: 12, large: 4}} className={gridStyles.gridColumn}>\n
|
|
1773
|
+
"code": "<Section fullWidth paddingBlockStart=\"condensed\" paddingBlockEnd=\"normal\">\n <Stack direction=\"vertical\" padding=\"none\" gap=\"spacious\">\n <SectionIntro align=\"center\" fullWidth>\n <SectionIntro.Heading as=\"h2\" size=\"3\">\n Empower your whole school to build and learn with GitHub\n </SectionIntro.Heading>\n </SectionIntro>\n\n <Box className={gridStyles.gridFrame}>\n <Box className={clsx(gridStyles.gridContent, gridStyles.gridContentWide)}>\n <Grid columnGap=\"none\" rowGap=\"none\" enableGutters={false}>\n {educationPillars.map(pillar => {\n return (\n <Grid.Column key={pillar.heading} span={{xsmall: 12, large: 4}} className={gridStyles.gridColumn}>\n <Box\n className={gridStyles.gridItem}\n paddingBlockStart={{narrow: 48, regular: 64}}\n paddingBlockEnd={{narrow: 48, regular: 64}}\n paddingInlineStart={{narrow: 32, regular: 64}}\n paddingInlineEnd={{narrow: 32, regular: 64}}\n >\n <Pillar>\n <Pillar.Icon icon={pillar.icon} />\n <Pillar.Heading>{pillar.heading}</Pillar.Heading>\n <Pillar.Description>{pillar.description}</Pillar.Description>\n </Pillar>\n </Box>\n </Grid.Column>\n )\n })}\n </Grid>\n </Box>\n </Box>\n </Stack>\n</Section>",
|
|
1774
|
+
"styles": "/* Card/Card.stories.shared.module.css */\n.gridFrame {\n width: 100%;\n border-block-start: var(--brand-borderWidth-thin) solid var(--brand-color-border-subtle);\n border-block-end: var(--brand-borderWidth-thin) solid var(--brand-color-border-subtle);\n}\n\n.gridContent {\n width: 100%;\n max-width: 789px;\n margin-inline: auto;\n}\n\n.gridContentWide {\n width: 100%;\n}\n\n.gridColumn {\n display: flex;\n}\n\n.gridItem {\n width: 100%;\n height: 100%;\n border-inline: var(--brand-borderWidth-thin) solid var(--brand-color-border-subtle);\n border-block-start: var(--brand-borderWidth-thin) solid var(--brand-color-border-subtle);\n}\n\n.gridColumnArrowHover .gridItem {\n transition: background var(--brand-animation-duration-extended) var(--brand-animation-easing-default);\n}\n\n.gridColumnArrowHover .gridItem:is(:hover, :focus-within) {\n background: linear-gradient(180deg, rgba(242, 245, 243, 0.5) 0%, rgba(242, 245, 243, 0) 100%),\n var(--brand-color-canvas-default);\n}\n\n[data-color-mode='dark'] .gridColumnArrowHover .gridItem:is(:hover, :focus-within) {\n background: linear-gradient(180deg, rgba(242, 245, 243, 0.1) 0%, rgba(242, 245, 243, 0) 100%),\n var(--brand-color-canvas-default);\n}\n\n.gridColumn:first-child .gridItem {\n border-block-start: 0;\n}\n\n@media screen and (min-width: 63.25rem) {\n .gridContent {\n max-width: none;\n }\n\n .gridContentWide {\n max-width: 81rem;\n }\n\n .gridItem {\n border-block-start: 0;\n border-inline-end: 0;\n border-inline-start: var(--brand-borderWidth-thin) solid var(--brand-color-border-subtle);\n }\n\n .gridColumn:nth-child(n + 4) .gridItem {\n border-block-start: var(--brand-borderWidth-thin) solid var(--brand-color-border-subtle);\n }\n\n .gridColumn:nth-child(3n) .gridItem,\n .gridColumn:last-child .gridItem {\n border-inline-end: var(--brand-borderWidth-thin) solid var(--brand-color-border-subtle);\n }\n}",
|
|
1773
1775
|
"source": "story"
|
|
1774
1776
|
}
|
|
1775
1777
|
],
|
|
@@ -1801,7 +1803,7 @@
|
|
|
1801
1803
|
{
|
|
1802
1804
|
"name": "disableAnimation",
|
|
1803
1805
|
"type": "boolean",
|
|
1804
|
-
"description": "Disable
|
|
1806
|
+
"description": "Disable transitions and animations within the Card",
|
|
1805
1807
|
"required": false
|
|
1806
1808
|
},
|
|
1807
1809
|
{
|
|
@@ -1860,7 +1862,8 @@
|
|
|
1860
1862
|
"examples": [
|
|
1861
1863
|
{
|
|
1862
1864
|
"title": "Card example",
|
|
1863
|
-
"code": "
|
|
1865
|
+
"code": "<Section fullWidth paddingBlockStart=\"condensed\" paddingBlockEnd=\"normal\">\n <Stack direction=\"vertical\" padding=\"none\" gap=\"spacious\">\n <SectionIntro align=\"center\" fullWidth>\n <SectionIntro.Heading as=\"h2\" size=\"3\">\n {t('explore_ai_at_github')}\n </SectionIntro.Heading>\n </SectionIntro>\n\n <Box className={styles.gridFrame}>\n <Box className={clsx(styles.gridContent, styles.gridContentWide)}>\n <Grid columnGap=\"none\" rowGap=\"none\" enableGutters={false}>\n {editorialCards.map((card, index) => {\n return (\n <Grid.Column\n key={`${card.headingKey}-${index}`}\n span={{xsmall: 12, large: 4}}\n className={styles.gridColumn}\n >\n <Box className={styles.gridItem}>\n <Card\n href=\"https://github.com/resources/articles\"\n fullWidth\n ctaVariant=\"none\"\n backgroundColor=\"none\"\n >\n <Card.Image\n src={darkHorizontalBannerAlt}\n alt={t('abstract_blue_green_gradient_illustration')}\n aspectRatio=\"16:10\"\n />\n <Card.Heading>{t(card.headingKey)}</Card.Heading>\n <Card.Description>{t(card.descriptionKey)}</Card.Description>\n <Card.Tokens position=\"block-end\">\n <Token leadingVisual={<Avatar src={avatarMona} alt={t('mona_lisa')} size={32} />}>\n {t('mona_lisa')}\n </Token>\n <Token variant=\"outline\">{t('dec_25')}</Token>\n </Card.Tokens>\n </Card>\n </Box>\n </Grid.Column>\n )\n })}\n </Grid>\n </Box>\n </Box>\n </Stack>\n</Section>",
|
|
1866
|
+
"styles": "/* Card/Card.stories.shared.module.css */\n.gridFrame {\n width: 100%;\n border-block-start: var(--brand-borderWidth-thin) solid var(--brand-color-border-subtle);\n border-block-end: var(--brand-borderWidth-thin) solid var(--brand-color-border-subtle);\n}\n\n.gridContent {\n width: 100%;\n max-width: 789px;\n margin-inline: auto;\n}\n\n.gridContentWide {\n width: 100%;\n}\n\n.gridColumn {\n display: flex;\n}\n\n.gridItem {\n width: 100%;\n height: 100%;\n border-inline: var(--brand-borderWidth-thin) solid var(--brand-color-border-subtle);\n border-block-start: var(--brand-borderWidth-thin) solid var(--brand-color-border-subtle);\n}\n\n.gridColumnArrowHover .gridItem {\n transition: background var(--brand-animation-duration-extended) var(--brand-animation-easing-default);\n}\n\n.gridColumnArrowHover .gridItem:is(:hover, :focus-within) {\n background: linear-gradient(180deg, rgba(242, 245, 243, 0.5) 0%, rgba(242, 245, 243, 0) 100%),\n var(--brand-color-canvas-default);\n}\n\n[data-color-mode='dark'] .gridColumnArrowHover .gridItem:is(:hover, :focus-within) {\n background: linear-gradient(180deg, rgba(242, 245, 243, 0.1) 0%, rgba(242, 245, 243, 0) 100%),\n var(--brand-color-canvas-default);\n}\n\n.gridColumn:first-child .gridItem {\n border-block-start: 0;\n}\n\n@media screen and (min-width: 63.25rem) {\n .gridContent {\n max-width: none;\n }\n\n .gridContentWide {\n max-width: 81rem;\n }\n\n .gridItem {\n border-block-start: 0;\n border-inline-end: 0;\n border-inline-start: var(--brand-borderWidth-thin) solid var(--brand-color-border-subtle);\n }\n\n .gridColumn:nth-child(n + 4) .gridItem {\n border-block-start: var(--brand-borderWidth-thin) solid var(--brand-color-border-subtle);\n }\n\n .gridColumn:nth-child(3n) .gridItem,\n .gridColumn:last-child .gridItem {\n border-inline-end: var(--brand-borderWidth-thin) solid var(--brand-color-border-subtle);\n }\n}",
|
|
1864
1867
|
"source": "story"
|
|
1865
1868
|
}
|
|
1866
1869
|
],
|
|
@@ -3006,7 +3009,7 @@
|
|
|
3006
3009
|
"examples": [
|
|
3007
3010
|
{
|
|
3008
3011
|
"title": "Statistic example",
|
|
3009
|
-
"code": "<
|
|
3012
|
+
"code": "<>\n <Box\n marginBlockStart=\"normal\" /* This is for demo purposes only to reveal the initial gridline */\n borderBlockEndWidth=\"thin\"\n borderBlockStartWidth=\"thin\"\n borderColor=\"muted\"\n borderStyle=\"solid\"\n >\n <Grid enableGutters={false} columnGap=\"none\" rowGap=\"none\">\n <Grid.Column span={{large: 8}}>\n <Box\n padding={{\n narrow: 32,\n regular: 32,\n wide: 64,\n }}\n backgroundColor=\"subtle\"\n borderInlineStartWidth={{\n wide: 'thin',\n }}\n borderInlineEndWidth={{\n wide: 'thin',\n }}\n borderColor=\"muted\"\n borderStyle=\"solid\"\n style={{height: '100%'}}\n >\n <Card href=\"https://github.com\" fullWidth variant=\"minimal\" disableAnimation>\n <Card.Label>Resources</Card.Label>\n <Card.Heading size=\"5\">\n How Thomson Reuters successfully adopted AI —and how your organization can, too\n </Card.Heading>\n <Card.Image\n position=\"block-end\"\n aspectRatio=\"16:10\"\n src={placeholderImage}\n alt=\"placeholder, blank area with a gray background color\"\n />\n </Card>\n </Box>\n </Grid.Column>\n <Grid.Column span={{large: 4}}>\n <Box\n borderInlineEndWidth={{\n wide: 'thin',\n }}\n borderColor=\"muted\"\n borderStyle=\"solid\"\n style={{height: '100%'}}\n >\n <Stack direction=\"vertical\" padding=\"none\" gap=\"none\" style={{height: '100%'}}>\n <Box\n padding={{\n narrow: 32,\n wide: 64,\n }}\n borderBlockStartWidth={{\n narrow: 'thin',\n wide: 'none',\n }}\n borderColor=\"muted\"\n borderStyle=\"solid\"\n style={{flex: 1, display: 'flex', alignItems: 'center'}}\n >\n <Statistic>\n <Statistic.Heading weight=\"normal\" size=\"800\" style={{color: 'var(--brand-color-text-emphasized)'}}>\n 55%\n </Statistic.Heading>\n <Statistic.Description font=\"monospace\" size=\"100\">\n At vero eos et accusamus et iusto odio dignissimos\n </Statistic.Description>\n </Statistic>\n </Box>\n <Box\n padding={{\n narrow: 'normal',\n wide: 64,\n }}\n borderBlockStartWidth=\"thin\"\n borderColor=\"muted\"\n borderStyle=\"solid\"\n style={{flex: 1, display: 'flex', alignItems: 'center'}}\n >\n <Statistic>\n <Statistic.Heading weight=\"normal\" size=\"800\" style={{color: 'var(--brand-color-text-emphasized)'}}>\n 39%\n </Statistic.Heading>\n <Statistic.Description font=\"monospace\" size=\"100\">\n Sed ut perspiciatis unde omnis iste natus voluptatem\n </Statistic.Description>\n </Statistic>\n </Box>\n <Box\n padding={{\n narrow: 'normal',\n wide: 64,\n }}\n borderBlockStartWidth=\"thin\"\n borderColor=\"muted\"\n borderStyle=\"solid\"\n style={{flex: 1, display: 'flex', alignItems: 'center'}}\n >\n <Statistic>\n <Statistic.Heading weight=\"normal\" size=\"800\" style={{color: 'var(--brand-color-text-emphasized)'}}>\n 39%\n </Statistic.Heading>\n <Statistic.Description font=\"monospace\" size=\"100\">\n Sed ut perspiciatis unde omnis iste natus error sit\n </Statistic.Description>\n </Statistic>\n </Box>\n </Stack>\n </Box>\n </Grid.Column>\n </Grid>\n </Box>\n</>",
|
|
3010
3013
|
"source": "story"
|
|
3011
3014
|
}
|
|
3012
3015
|
],
|
|
@@ -7040,6 +7043,16 @@
|
|
|
7040
7043
|
"value": "400ms",
|
|
7041
7044
|
"group": "functional"
|
|
7042
7045
|
},
|
|
7046
|
+
{
|
|
7047
|
+
"name": "--brand-Card-padding-inline",
|
|
7048
|
+
"value": "var(--base-size-20)",
|
|
7049
|
+
"group": "functional"
|
|
7050
|
+
},
|
|
7051
|
+
{
|
|
7052
|
+
"name": "--brand-Card-padding-block",
|
|
7053
|
+
"value": "var(--base-size-32)",
|
|
7054
|
+
"group": "functional"
|
|
7055
|
+
},
|
|
7043
7056
|
{
|
|
7044
7057
|
"name": "--brand-Card-maxWidth",
|
|
7045
7058
|
"value": "26.25rem",
|
|
@@ -39,6 +39,8 @@ function describeComponent(component, ctx) {
|
|
|
39
39
|
const example = component.examples.find(entry => entry.code);
|
|
40
40
|
if (example?.code) {
|
|
41
41
|
sections.push(`## Example\n\`\`\`tsx\n${example.code.trim()}\n\`\`\``);
|
|
42
|
+
if (example.styles)
|
|
43
|
+
sections.push(`## Example styles\n\`\`\`css\n${example.styles.trim()}\n\`\`\``);
|
|
42
44
|
}
|
|
43
45
|
sections.push(versionNote(ctx));
|
|
44
46
|
return { text: sections.join('\n\n') };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primer-brand-component.js","sourceRoot":"","sources":["../../../src/tools/primer-brand-component/primer-brand-component.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"primer-brand-component.js","sourceRoot":"","sources":["../../../src/tools/primer-brand-component/primer-brand-component.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,12 +9,21 @@ const inputSchema = z.object({
|
|
|
9
9
|
});
|
|
10
10
|
const description = `Get ranked, copy-and-adapt examples of correct Primer Brand usage for a goal. Page goals include a current-brand full-page recipe for overall composition, while independently ranked component examples provide goal-specific detail.
|
|
11
11
|
Pass a target use-case like "pricing section", "category page", or "education landing page"; unmatched page types use the general overview recipe, while unmatched component goals use a foundational set.
|
|
12
|
-
Examples are real source, so they may carry demo scaffolding (a \`content\` object, internal fixture imports, CSS-module class names, repo-relative imports, \`{...args}\` spreads)
|
|
12
|
+
Examples are real source, so they may carry demo scaffolding (a \`content\` object, internal fixture imports, CSS-module class names, repo-relative imports, \`{...args}\` spreads). Preserve the composition and gridline geometry; adapt the content, assets, and imports. When companion CSS is included, carry its frame and cell rules with the JSX.`;
|
|
13
13
|
/** Foundational sections that anchor almost every GitHub landing page, in composition order. */
|
|
14
14
|
const DEFAULT_COMPONENTS = ['Hero', 'SectionIntro', 'River', 'Pillar', 'CTABanner'];
|
|
15
15
|
function exampleCode(component) {
|
|
16
16
|
return component.examples.find(entry => entry.code)?.code?.trim();
|
|
17
17
|
}
|
|
18
|
+
function formatComponentExample(component) {
|
|
19
|
+
const example = component.examples.find(entry => entry.code);
|
|
20
|
+
if (!example?.code)
|
|
21
|
+
return '';
|
|
22
|
+
const sections = [`### ${component.name}\n\`\`\`tsx\n${example.code.trim()}\n\`\`\``];
|
|
23
|
+
if (example.styles)
|
|
24
|
+
sections.push(`\`\`\`css\n${example.styles.trim()}\n\`\`\``);
|
|
25
|
+
return sections.join('\n\n');
|
|
26
|
+
}
|
|
18
27
|
export const primerBrandExamplesTool = {
|
|
19
28
|
name: 'primer_brand_examples',
|
|
20
29
|
title: 'Primer Brand usage examples',
|
|
@@ -64,9 +73,7 @@ export const primerBrandExamplesTool = {
|
|
|
64
73
|
const note = useDefault
|
|
65
74
|
? `No example matched "${goal}", so here is the default foundational set — compose these in order and adapt the copy and props to your theme.`
|
|
66
75
|
: `Closest tested component examples for "${goal}". Adapt the copy and props to your theme; don't paste verbatim.`;
|
|
67
|
-
const componentExamples = shown
|
|
68
|
-
.map(component => `### ${component.name}\n\`\`\`tsx\n${exampleCode(component)}\n\`\`\``)
|
|
69
|
-
.join('\n\n');
|
|
76
|
+
const componentExamples = shown.map(formatComponentExample).join('\n\n');
|
|
70
77
|
// For page-level goals, lead with the closest full-page recipe. It's the real source (single
|
|
71
78
|
// source of truth in @primer/react-brand), so tell the agent to look past its demo scaffolding.
|
|
72
79
|
const recipeSearchFields = (recipe) => [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primer-brand-examples.js","sourceRoot":"","sources":["../../../src/tools/primer-brand-examples/primer-brand-examples.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAA;AAGrB,OAAO,EAAC,IAAI,EAAC,MAAM,oBAAoB,CAAA;AACvC,OAAO,EAAC,qBAAqB,EAAE,WAAW,EAAC,MAAM,cAAc,CAAA;AAG/D,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,iHAAiH,CAClH;CACJ,CAAC,CAAA;AAIF,MAAM,WAAW,GAAG;;
|
|
1
|
+
{"version":3,"file":"primer-brand-examples.js","sourceRoot":"","sources":["../../../src/tools/primer-brand-examples/primer-brand-examples.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAA;AAGrB,OAAO,EAAC,IAAI,EAAC,MAAM,oBAAoB,CAAA;AACvC,OAAO,EAAC,qBAAqB,EAAE,WAAW,EAAC,MAAM,cAAc,CAAA;AAG/D,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,iHAAiH,CAClH;CACJ,CAAC,CAAA;AAIF,MAAM,WAAW,GAAG;;0VAEsU,CAAA;AAE1V,gGAAgG;AAChG,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;AAEnF,SAAS,WAAW,CAAC,SAA2B;IAC9C,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;AACnE,CAAC;AAED,SAAS,sBAAsB,CAAC,SAA2B;IACzD,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC5D,IAAI,CAAC,OAAO,EAAE,IAAI;QAAE,OAAO,EAAE,CAAA;IAC7B,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,IAAI,gBAAgB,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IACrF,IAAI,OAAO,CAAC,MAAM;QAAE,QAAQ,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IAChF,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,IAAI,EAAE,uBAAuB;IAC7B,KAAK,EAAE,6BAA6B;IACpC,WAAW;IACX,UAAU,EAAE,WAAW,CAAC,KAAK;IAC7B,WAAW,EAAE,EAAC,YAAY,EAAE,IAAI,EAAC;IACjC,GAAG,CAAC,KAAK,EAAE,GAAG;QACZ,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,cAAc,CAAA;QACjD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;YAC/B,SAAS;YACT,UAAU;YACV,MAAM;YACN,SAAS;YACT,IAAI;YACJ,WAAW;YACX,MAAM;YACN,OAAO;YACP,SAAS;YACT,MAAM;YACN,UAAU;YACV,WAAW;YACX,SAAS;SACV,CAAC,CAAA;QACF,MAAM,cAAc,GAAG,IAAI;aACxB,WAAW,EAAE;aACb,KAAK,CAAC,KAAK,CAAC;aACZ,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC;aAC1D,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aACnD,IAAI,CAAC,GAAG,CAAC,CAAA;QACZ,MAAM,UAAU,GACd,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE;YACnB,6FAA6F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAE1G,mFAAmF;QACnF,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAA;QACvF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO;gBACL,IAAI,EAAE,sGAAsG,WAAW,CACrH,GAAG,CACJ,EAAE;gBACH,OAAO,EAAE,IAAI;aACd,CAAA;QACH,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,YAAY,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9F,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC3B,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAA;QACvC,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAC/G,CAAC,SAAS,EAAiC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CACjE,CAAA;QACD,gFAAgF;QAChF,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QAEpG,MAAM,IAAI,GAAG,UAAU;YACrB,CAAC,CAAC,uBAAuB,IAAI,iHAAiH;YAC9I,CAAC,CAAC,0CAA0C,IAAI,kEAAkE,CAAA;QAEpH,MAAM,iBAAiB,GAAG,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAExE,6FAA6F;QAC7F,gGAAgG;QAChG,MAAM,kBAAkB,GAAG,CAAC,MAAqB,EAAY,EAAE,CAAC;YAC9D,MAAM,CAAC,IAAI;YACX,MAAM,CAAC,KAAK;YACZ,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;SAC1B,CAAA;QACD,MAAM,eAAe,GACnB,UAAU,IAAI,cAAc;YAC1B,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;YACxF,CAAC,CAAC,EAAE,CAAA;QACR,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,qBAAqB,CAAC,CAAA;QAC/F,MAAM,gBAAgB,GAAG,UAAU,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,CAAA;QAC7F,MAAM,cAAc,GAClB,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACzG,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;QAEnC,MAAM,QAAQ,GAAG,CAAC,mBAAmB,IAAI,GAAG,CAAC,CAAA;QAC7C,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC5C,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM;gBAC9B,CAAC,CAAC,6CAA6C,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBACrG,CAAC,CAAC,EAAE,CAAA;YACN,QAAQ,CAAC,IAAI,CACX;gBACE,2BACE,gBAAgB,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,4BAClE,KAAK,SAAS,CAAC,KAAK,EAAE;gBACtB,gaAAga,IAAI,EAAE;gBACta,cAAc,SAAS,CAAC,MAAM,UAAU;aACzC,CAAC,IAAI,CAAC,MAAM,CAAC,CACf,CAAA;QACH,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAA;QACxD,OAAO,EAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAC,CAAA;IACtC,CAAC;CACF,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@primer/brand-mcp",
|
|
3
|
-
"version": "0.72.
|
|
3
|
+
"version": "0.72.1-rc.8a8dc720",
|
|
4
4
|
"description": "MCP (Model Context Protocol) server that helps AI agents use Primer Brand (@primer/react-brand) correctly when building GitHub marketing and landing pages.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"primer",
|