@primer/brand-mcp 0.73.0 → 0.74.0-rc.888ba09a
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/README.md +3 -1
- package/content/page-design.md +15 -5
- package/dist/brand/detect-asset-generator/detect-asset-generator.js.map +1 -0
- package/dist/brand/detect-framework/detect-framework.js.map +1 -0
- package/dist/brand/{docs-source.d.ts → docs-source/docs-source.d.ts} +2 -2
- package/dist/brand/docs-source/docs-source.js.map +1 -0
- package/dist/brand/{resolve-assets.d.ts → resolve-assets/resolve-assets.d.ts} +1 -1
- package/dist/brand/resolve-assets/resolve-assets.js.map +1 -0
- package/dist/brand/resolve-brand-project/resolve-brand-project.d.ts +7 -0
- package/dist/brand/resolve-brand-project/resolve-brand-project.js +78 -0
- package/dist/brand/resolve-brand-project/resolve-brand-project.js.map +1 -0
- package/dist/brand/resolve-install/resolve-install.js.map +1 -0
- package/dist/brand/update-agents-md/update-agents-md.d.ts +7 -0
- package/dist/brand/update-agents-md/update-agents-md.js +74 -0
- package/dist/brand/update-agents-md/update-agents-md.js.map +1 -0
- package/dist/catalog.json +7 -6
- package/dist/review/rules.js +21 -0
- package/dist/review/rules.js.map +1 -1
- package/dist/server.js +17 -5
- package/dist/server.js.map +1 -1
- package/dist/tools/primer-brand-asset/primer-brand-asset.js +3 -1
- package/dist/tools/primer-brand-asset/primer-brand-asset.js.map +1 -1
- package/dist/tools/primer-brand-component/primer-brand-component.js +7 -1
- package/dist/tools/primer-brand-component/primer-brand-component.js.map +1 -1
- package/dist/tools/primer-brand-docs/primer-brand-docs.js +4 -1
- package/dist/tools/primer-brand-docs/primer-brand-docs.js.map +1 -1
- package/dist/tools/primer-brand-examples/primer-brand-examples.js +7 -5
- package/dist/tools/primer-brand-examples/primer-brand-examples.js.map +1 -1
- package/dist/tools/primer-brand-page-design/primer-brand-page-design.js +4 -1
- package/dist/tools/primer-brand-page-design/primer-brand-page-design.js.map +1 -1
- package/dist/tools/primer-brand-review/primer-brand-review.js +8 -6
- package/dist/tools/primer-brand-review/primer-brand-review.js.map +1 -1
- package/dist/tools/primer-brand-setup/primer-brand-setup.d.ts +3 -0
- package/dist/tools/primer-brand-setup/primer-brand-setup.js +66 -6
- package/dist/tools/primer-brand-setup/primer-brand-setup.js.map +1 -1
- package/dist/tools/primer-brand-tokens/primer-brand-tokens.js +2 -1
- package/dist/tools/primer-brand-tokens/primer-brand-tokens.js.map +1 -1
- package/dist/tools/types.d.ts +15 -2
- package/package.json +1 -1
- package/dist/brand/detect-asset-generator.js.map +0 -1
- package/dist/brand/detect-framework.js.map +0 -1
- package/dist/brand/docs-source.js.map +0 -1
- package/dist/brand/resolve-assets.js.map +0 -1
- package/dist/brand/resolve-install.js.map +0 -1
- /package/dist/brand/{detect-asset-generator.d.ts → detect-asset-generator/detect-asset-generator.d.ts} +0 -0
- /package/dist/brand/{detect-asset-generator.js → detect-asset-generator/detect-asset-generator.js} +0 -0
- /package/dist/brand/{detect-framework.d.ts → detect-framework/detect-framework.d.ts} +0 -0
- /package/dist/brand/{detect-framework.js → detect-framework/detect-framework.js} +0 -0
- /package/dist/brand/{docs-source.js → docs-source/docs-source.js} +0 -0
- /package/dist/brand/{resolve-assets.js → resolve-assets/resolve-assets.js} +0 -0
- /package/dist/brand/{resolve-install.d.ts → resolve-install/resolve-install.d.ts} +0 -0
- /package/dist/brand/{resolve-install.js → resolve-install/resolve-install.js} +0 -0
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@ It is a version-aware, `stdio` (local) server which reads the docs and metadata
|
|
|
8
8
|
|
|
9
9
|
| Tool | What it does |
|
|
10
10
|
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
11
|
-
| `primer_brand_setup` | Configures Primer Brand first-time
|
|
11
|
+
| `primer_brand_setup` | Configures Primer Brand first-time and maintains a Primer Brand pointer beside the declaring `package.json`. |
|
|
12
12
|
| `primer_brand_page_design` | Page-design conventions (header/footer, hero media, gridline aesthetic, card grids, labels) and the current-brand reference templates to start from. |
|
|
13
13
|
| `primer_brand_component` | Get a component API information like props, allowed values and named sub-components. |
|
|
14
14
|
| `primer_brand_examples` | Reference examples taken from our Storybook. |
|
|
@@ -35,6 +35,8 @@ Requires Node.js >= 24.
|
|
|
35
35
|
}
|
|
36
36
|
```
|
|
37
37
|
|
|
38
|
+
When an agent calls `primer_brand_setup`, the tool updates `AGENTS.md` only in a package whose `package.json` declares `@primer/react-brand`. Existing instructions are preserved. If several workspace packages declare the dependency, call setup with `projectDir` set to the intended workspace-relative package folder. The pointer routes future agents to the MCP tools and version-matched docs bundled with the installed package.
|
|
39
|
+
|
|
38
40
|
### Copilot CLI / other stdio clients
|
|
39
41
|
|
|
40
42
|
Run the server with `npx @primer/brand-mcp@latest`.
|
package/content/page-design.md
CHANGED
|
@@ -19,7 +19,9 @@ Pull adaptable component snippets with `primer_brand_examples`.
|
|
|
19
19
|
`@primer/react-brand` spans multiple generations of GitHub's design language, and many components expose that choice as a variant or prop. **Gridline** is the current brand direction. It's a connected, ruled-line aesthetic, as seen throughout the Flexsuite templates. Bias toward it.
|
|
20
20
|
|
|
21
21
|
- **Do** — when a component offers a gridline-family option, choose it over the older or default look. "Expressive" gridline options are a more pronounced sub-variant of the same aesthetic, not a competing style; reach for them where a section wants extra emphasis.
|
|
22
|
+
- **Do** — use a component's built-in `gridline` variant, gridline-family variant, or `hasGridLines` prop when available.
|
|
22
23
|
- **Don't** — settle for a component's plainest or legacy variant, or borrow section layouts from an older brand generation, when a gridline equivalent exists.
|
|
24
|
+
- **Don't** — recreate built-in gridlines with custom `Box` wrappers, border props, or CSS.
|
|
23
25
|
|
|
24
26
|
The gridline look is crucial and literal, not just a set of variants. Gridlines are thin ruled lines that frame the content column and separate sections (see "Contain content within the grid" section below).
|
|
25
27
|
|
|
@@ -36,17 +38,22 @@ Every full page should be framed top and bottom, unless the user has requested a
|
|
|
36
38
|
|
|
37
39
|
### Contain content within the grid
|
|
38
40
|
|
|
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
|
|
41
|
+
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. A gridline group must not look like an isolated four-sided box floating inside the page gutters.
|
|
40
42
|
|
|
41
43
|
Examples of this are in the Flexsuite recipes.
|
|
42
44
|
|
|
43
45
|
- **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
|
-
- **Do** — for connected
|
|
45
|
-
- **Do** —
|
|
46
|
+
- **Do** — for connected `Card` and `Pillar` groups, put block-start and block-end rules on a page-width outer frame outside the centered, max-width `Grid` / `Section`. Put outer inline rules on the centered content container and internal dividers on zero-gap cell wrappers.
|
|
47
|
+
- **Do** — for these custom group frames, make every horizontal rule reach both viewport edges. It may instead end at vertical page-grid rules only when those rules continue beyond the group into adjacent sections.
|
|
48
|
+
- **Do** — preserve rule intersections when the max-width or column count changes at responsive breakpoints.
|
|
46
49
|
|
|
50
|
+
- **Don't** — put all four outer borders for a `Card` or `Pillar` group on a centered, max-width container. This creates a disconnected box with empty margins around it.
|
|
51
|
+
- **Don't** — assume `width: 100%` makes a custom group frame full bleed when it is inside a constrained parent. The outer frame must sit outside that parent or use the page's established full-bleed breakout.
|
|
47
52
|
- **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
53
|
- **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
54
|
|
|
55
|
+
Retrieve the canonical grouped `Card` or `Pillar` structure with `primer_brand_examples` and carry its companion CSS with the JSX. Do not reproduce that structure from this prose.
|
|
56
|
+
|
|
50
57
|
- **Mobile** — use a modest, consistent side inset and make sure nothing overflows the viewport.
|
|
51
58
|
|
|
52
59
|
Resolve gutter, inset, and gridline (border) values with `primer_brand_tokens`; don't hardcode hex or pixel values.
|
|
@@ -63,7 +70,9 @@ Generous spacing is what lets a layout breathe; the Flexsuite recipes are a good
|
|
|
63
70
|
|
|
64
71
|
A page has one clear headline and a calm step-down from there.
|
|
65
72
|
|
|
73
|
+
- **Do** — use the default `size` of component-owned text such as `Card.Heading`, `Hero.Heading`, and `FAQ.Heading`. Set `size` on standalone `Heading` and `Text`.
|
|
66
74
|
- **Do** — use a single hero heading, make secondary section headings a clear step smaller, and keep body copy regular weight. Left-align long-form copy; reserve centering for short hero or section intros.
|
|
75
|
+
- **Don't** — pass `size` to a component-owned heading, description, label, or other text unless the brief requires an override. Changing `as` for semantic heading order does not require changing `size`.
|
|
67
76
|
- **Don't** — size secondary headings close to the hero, set body text in heavy weights, or center long paragraphs.
|
|
68
77
|
|
|
69
78
|
Resolve exact sizes and weights with `primer_brand_tokens`.
|
|
@@ -126,14 +135,15 @@ Resolve exact sizes and weights with `primer_brand_tokens`.
|
|
|
126
135
|
|
|
127
136
|
**Do**
|
|
128
137
|
|
|
129
|
-
- Default to placing `Card
|
|
138
|
+
- Default to placing connected `Card` or `Pillar` groups in a page-width outer frame around a centered zero-gap `Grid`. Retrieve the current structure and companion CSS with `primer_brand_examples`.
|
|
130
139
|
- 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.
|
|
131
140
|
- Draw shared dividers on custom frame/cell wrappers and use `border-radius: 0` there.
|
|
132
141
|
|
|
133
142
|
**Don't**
|
|
134
143
|
|
|
135
144
|
- Put native-bordered, full-bleed Cards inside a shared gridline frame, or mix gridline and native-border treatments within one group.
|
|
136
|
-
-
|
|
145
|
+
- Apply the custom Card/Pillar frame pattern to components that already provide a gridline variant or prop.
|
|
146
|
+
- Box a repeated panel group inside the centered content width, render panels as separate rounded cards, double their shared borders, or override `Card` / `Pillar` internals.
|
|
137
147
|
- `Pillar` has no grid variant; don't invent one.
|
|
138
148
|
|
|
139
149
|
### CTABanner
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detect-asset-generator.js","sourceRoot":"","sources":["../../../src/brand/detect-asset-generator/detect-asset-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAA;AAClC,OAAO,EAAC,SAAS,EAAE,IAAI,EAAC,MAAM,WAAW,CAAA;AAEzC,MAAM,QAAQ,GAAG,qBAAqB,CAAA;AAEtC;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAyB,OAAO,CAAC,GAAG;IAGvE,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAA;IAC5C,IAAI,CAAC,SAAS;QAAE,OAAO,EAAC,SAAS,EAAE,KAAK,EAAC,CAAA;IAEzC,MAAM,iBAAiB,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACxE,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,QAAQ,GAAG,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAA;IAE7G,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,SAAS;YAAE,SAAQ;QACxB,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,EAAC,SAAS,EAAE,IAAI,EAAC,CAAA;IAC1F,CAAC;IACD,OAAO,EAAC,SAAS,EAAE,KAAK,EAAC,CAAA;AAC3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detect-framework.js","sourceRoot":"","sources":["../../../src/brand/detect-framework/detect-framework.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,SAAS,CAAA;AAChD,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAC,MAAM,WAAW,CAAA;AAY5C;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkB,OAAO,CAAC,GAAG,EAAE;IAC7D,wFAAwF;IACxF,IAAI,UAAU,GAAkB,IAAI,CAAA;IACpC,KAAK,IAAI,GAAG,GAAG,OAAO,IAAM,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;YACtF,UAAU,GAAG,GAAG,CAAA;YAChB,MAAK;QACP,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,MAAM,KAAK,GAAG;YAAE,MAAK;QACzB,GAAG,GAAG,MAAM,CAAA;IACd,CAAC;IACD,IAAI,CAAC,UAAU;QAAE,OAAO,EAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAC,CAAA;IAE/F,yFAAyF;IACzF,IAAI,IAAI,GAA2B,EAAE,CAAA;IACrC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAG/E,CAAA;QACD,IAAI,GAAG,EAAC,GAAG,MAAM,CAAC,YAAY,EAAE,GAAG,MAAM,CAAC,eAAe,EAAC,CAAA;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,4BAA4B;IAC9B,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;QACnG,OAAO,SAAS;YACd,CAAC,CAAC,EAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,sBAAsB,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAC;YACxE,CAAC,CAAC,EAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,wBAAwB,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAC,CAAA;IACjF,CAAC;IACD,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACxD,OAAO,EAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAC,CAAA;IAC9D,CAAC;IACD,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,EAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAC,CAAA;IAC5E,IAAI,IAAI,CAAC,IAAI;QAAE,OAAO,EAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAC,CAAA;IACjF,OAAO,EAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAC,CAAA;AAC1E,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Logger } from '
|
|
2
|
-
import type { BrandInstall } from '
|
|
1
|
+
import type { Logger } from '../../logger.js';
|
|
2
|
+
import type { BrandInstall } from '../resolve-install/resolve-install.js';
|
|
3
3
|
/**
|
|
4
4
|
* One entry in the documentation table of contents (parsed from `llms.txt`).
|
|
5
5
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs-source.js","sourceRoot":"","sources":["../../../src/brand/docs-source/docs-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-assets.js","sourceRoot":"","sources":["../../../src/brand/resolve-assets/resolve-assets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type BrandProjectResolution = {
|
|
2
|
+
projectDir: string | null;
|
|
3
|
+
candidates: string[];
|
|
4
|
+
reason?: 'no-workspace-root' | 'brand-package-not-found' | 'ambiguous-brand-project' | 'invalid-brand-project';
|
|
5
|
+
};
|
|
6
|
+
/** Resolve the package folder whose package.json directly declares @primer/react-brand. */
|
|
7
|
+
export declare function resolveBrandProject(workspaceDir: string | null, requestedProjectDir?: string): BrandProjectResolution;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { readdirSync, readFileSync, realpathSync } from 'node:fs';
|
|
2
|
+
import { isAbsolute, join, relative, resolve, sep } from 'node:path';
|
|
3
|
+
/** Resolve the package folder whose package.json directly declares @primer/react-brand. */
|
|
4
|
+
export function resolveBrandProject(workspaceDir, requestedProjectDir) {
|
|
5
|
+
const dependencyName = '@primer/react-brand';
|
|
6
|
+
const ignoredDirectories = new Set([
|
|
7
|
+
'.git',
|
|
8
|
+
'.next',
|
|
9
|
+
'build',
|
|
10
|
+
'coverage',
|
|
11
|
+
'dist',
|
|
12
|
+
'node_modules',
|
|
13
|
+
'out',
|
|
14
|
+
'storybook-static',
|
|
15
|
+
]);
|
|
16
|
+
const declaresBrand = (directory) => {
|
|
17
|
+
try {
|
|
18
|
+
const manifest = JSON.parse(readFileSync(join(directory, 'package.json'), 'utf8'));
|
|
19
|
+
return ['dependencies', 'devDependencies', 'peerDependencies', 'optionalDependencies'].some(group => Boolean(manifest[group]?.[dependencyName]));
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
if (!workspaceDir)
|
|
26
|
+
return { projectDir: null, candidates: [], reason: 'no-workspace-root' };
|
|
27
|
+
let canonicalWorkspaceDir;
|
|
28
|
+
try {
|
|
29
|
+
canonicalWorkspaceDir = realpathSync(workspaceDir);
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
return { projectDir: null, candidates: [], reason: 'no-workspace-root' };
|
|
33
|
+
}
|
|
34
|
+
const isWithinWorkspace = (candidate) => {
|
|
35
|
+
const relativeCandidate = relative(canonicalWorkspaceDir, candidate);
|
|
36
|
+
return relativeCandidate !== '..' && !relativeCandidate.startsWith(`..${sep}`) && !isAbsolute(relativeCandidate);
|
|
37
|
+
};
|
|
38
|
+
if (requestedProjectDir) {
|
|
39
|
+
if (isAbsolute(requestedProjectDir)) {
|
|
40
|
+
return { projectDir: null, candidates: [], reason: 'invalid-brand-project' };
|
|
41
|
+
}
|
|
42
|
+
let canonicalCandidate;
|
|
43
|
+
try {
|
|
44
|
+
canonicalCandidate = realpathSync(resolve(canonicalWorkspaceDir, requestedProjectDir));
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
return { projectDir: null, candidates: [], reason: 'invalid-brand-project' };
|
|
48
|
+
}
|
|
49
|
+
return isWithinWorkspace(canonicalCandidate) && declaresBrand(canonicalCandidate)
|
|
50
|
+
? { projectDir: canonicalCandidate, candidates: [canonicalCandidate] }
|
|
51
|
+
: { projectDir: null, candidates: [], reason: 'invalid-brand-project' };
|
|
52
|
+
}
|
|
53
|
+
const candidates = [];
|
|
54
|
+
const visit = (directory) => {
|
|
55
|
+
if (declaresBrand(directory))
|
|
56
|
+
candidates.push(directory);
|
|
57
|
+
let entries;
|
|
58
|
+
try {
|
|
59
|
+
entries = readdirSync(directory, { withFileTypes: true });
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
for (const entry of entries) {
|
|
65
|
+
if (!entry.isDirectory() || ignoredDirectories.has(entry.name))
|
|
66
|
+
continue;
|
|
67
|
+
visit(join(directory, entry.name));
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
visit(canonicalWorkspaceDir);
|
|
71
|
+
candidates.sort();
|
|
72
|
+
if (candidates.length === 1)
|
|
73
|
+
return { projectDir: candidates[0] ?? null, candidates };
|
|
74
|
+
if (candidates.length > 1)
|
|
75
|
+
return { projectDir: null, candidates, reason: 'ambiguous-brand-project' };
|
|
76
|
+
return { projectDir: null, candidates, reason: 'brand-package-not-found' };
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=resolve-brand-project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-brand-project.js","sourceRoot":"","sources":["../../../src/brand/resolve-brand-project/resolve-brand-project.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-install.js","sourceRoot":"","sources":["../../../src/brand/resolve-install/resolve-install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,SAAS,CAAA;AAChD,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,MAAM,WAAW,CAAA;AAevC,MAAM,QAAQ,GAAiB;IAC7B,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;CACf,CAAA;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB,OAAO,CAAC,GAAG,EAAE;IACjE,IAAI,GAAG,GAAG,OAAO,CAAA;IAEjB,MAAM,WAAW,GAAG,CAAC,eAAuB,EAAiB,EAAE;QAC7D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAuB,CAAA;YACtF,OAAO,MAAM,CAAC,OAAO,IAAI,IAAI,CAAA;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,qFAAqF;YACrF,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC,CAAA;IAED,SAAS,CAAC;QACR,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,CAAC,CAAA;QACtE,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;YACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;YAC7C,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;gBACtD,UAAU;gBACV,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;gBAC7C,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;aACjD,CAAA;QACH,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,QAAQ,CAAA;QACnC,GAAG,GAAG,MAAM,CAAA;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAAkB,OAAO,CAAC,GAAG,EAAE;IACrE,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC,KAAK;QAAE,OAAO,KAAK,CAAA;IACpD,IAAI,GAAG,GAAG,OAAO,CAAA;IACjB,SAAS,CAAC;QACR,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;QAC1F,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,KAAK,CAAA;QAChC,GAAG,GAAG,MAAM,CAAA;IACd,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type AgentsMdUpdateResult = {
|
|
2
|
+
action: 'created' | 'updated' | 'unchanged' | 'skipped';
|
|
3
|
+
path: string | null;
|
|
4
|
+
reason?: 'no-project-root' | 'incorrect-filename-case' | 'malformed-managed-block' | 'unsafe-agents-path';
|
|
5
|
+
};
|
|
6
|
+
/** Create or update the managed Primer Brand instructions in a project's root AGENTS.md. */
|
|
7
|
+
export declare function updateAgentsMd(projectDir: string | null): AgentsMdUpdateResult;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { lstatSync, readFileSync, readdirSync, realpathSync, writeFileSync } from 'node:fs';
|
|
2
|
+
import { isAbsolute, join, relative, sep } from 'node:path';
|
|
3
|
+
/** Create or update the managed Primer Brand instructions in a project's root AGENTS.md. */
|
|
4
|
+
export function updateAgentsMd(projectDir) {
|
|
5
|
+
const filename = 'AGENTS.md';
|
|
6
|
+
const startMarker = '<!-- BEGIN:primer-brand-mcp -->';
|
|
7
|
+
const endMarker = '<!-- END:primer-brand-mcp -->';
|
|
8
|
+
const block = `${startMarker}
|
|
9
|
+
## Primer Brand
|
|
10
|
+
|
|
11
|
+
When building brand-led marketing or landing pages with \`@primer/react-brand\`, use the available \`primer_brand_*\` MCP tools.
|
|
12
|
+
|
|
13
|
+
Prefer \`primer_brand_docs\` over fetching primer.style/brand directly. It reads version-matched documentation bundled with the installed package first and only falls back to the live site when necessary.
|
|
14
|
+
|
|
15
|
+
Start page work with \`primer_brand_page_design\` and \`primer_brand_examples\`. Use \`primer_brand_component\` for exact APIs and \`primer_brand_review\` before finishing.
|
|
16
|
+
${endMarker}`;
|
|
17
|
+
if (!projectDir)
|
|
18
|
+
return { action: 'skipped', path: null, reason: 'no-project-root' };
|
|
19
|
+
let canonicalProjectDir;
|
|
20
|
+
try {
|
|
21
|
+
canonicalProjectDir = realpathSync(projectDir);
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return { action: 'skipped', path: null, reason: 'no-project-root' };
|
|
25
|
+
}
|
|
26
|
+
const agentMdCustomSetupPath = join(canonicalProjectDir, filename);
|
|
27
|
+
const caseInsensitiveMatch = readdirSync(canonicalProjectDir).find(entry => entry.toLowerCase() === filename.toLowerCase());
|
|
28
|
+
if (caseInsensitiveMatch && caseInsensitiveMatch !== filename) {
|
|
29
|
+
return { action: 'skipped', path: agentMdCustomSetupPath, reason: 'incorrect-filename-case' };
|
|
30
|
+
}
|
|
31
|
+
const fileStats = lstatSync(agentMdCustomSetupPath, { throwIfNoEntry: false });
|
|
32
|
+
if (fileStats?.isSymbolicLink()) {
|
|
33
|
+
return { action: 'skipped', path: agentMdCustomSetupPath, reason: 'unsafe-agents-path' };
|
|
34
|
+
}
|
|
35
|
+
if (!fileStats) {
|
|
36
|
+
writeFileSync(agentMdCustomSetupPath, `${block}\n`, 'utf8');
|
|
37
|
+
return { action: 'created', path: agentMdCustomSetupPath };
|
|
38
|
+
}
|
|
39
|
+
let canonicalAgentsPath;
|
|
40
|
+
try {
|
|
41
|
+
canonicalAgentsPath = realpathSync(agentMdCustomSetupPath);
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return { action: 'skipped', path: agentMdCustomSetupPath, reason: 'unsafe-agents-path' };
|
|
45
|
+
}
|
|
46
|
+
const relativeAgentsPath = relative(canonicalProjectDir, canonicalAgentsPath);
|
|
47
|
+
if (relativeAgentsPath === '..' || relativeAgentsPath.startsWith(`..${sep}`) || isAbsolute(relativeAgentsPath)) {
|
|
48
|
+
return { action: 'skipped', path: agentMdCustomSetupPath, reason: 'unsafe-agents-path' };
|
|
49
|
+
}
|
|
50
|
+
const existing = readFileSync(agentMdCustomSetupPath, 'utf8');
|
|
51
|
+
const eol = existing.includes('\r\n') ? '\r\n' : '\n';
|
|
52
|
+
const normalizedBlock = block.replaceAll('\n', eol);
|
|
53
|
+
const startIndex = existing.indexOf(startMarker);
|
|
54
|
+
const endIndex = existing.indexOf(endMarker);
|
|
55
|
+
const hasStartMarker = startIndex !== -1;
|
|
56
|
+
const hasEndMarker = endIndex !== -1;
|
|
57
|
+
const hasDuplicateMarkers = startIndex !== existing.lastIndexOf(startMarker) || endIndex !== existing.lastIndexOf(endMarker);
|
|
58
|
+
if (hasStartMarker !== hasEndMarker || hasDuplicateMarkers || (hasStartMarker && endIndex < startIndex)) {
|
|
59
|
+
return { action: 'skipped', path: agentMdCustomSetupPath, reason: 'malformed-managed-block' };
|
|
60
|
+
}
|
|
61
|
+
let updated;
|
|
62
|
+
if (hasStartMarker) {
|
|
63
|
+
updated = `${existing.slice(0, startIndex)}${normalizedBlock}${existing.slice(endIndex + endMarker.length)}`;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
const separator = existing.length === 0 || /\r?\n$/.test(existing) ? eol : `${eol}${eol}`;
|
|
67
|
+
updated = `${existing}${separator}${normalizedBlock}${eol}`;
|
|
68
|
+
}
|
|
69
|
+
if (updated === existing)
|
|
70
|
+
return { action: 'unchanged', path: agentMdCustomSetupPath };
|
|
71
|
+
writeFileSync(agentMdCustomSetupPath, updated, 'utf8');
|
|
72
|
+
return { action: 'updated', path: agentMdCustomSetupPath };
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=update-agents-md.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-agents-md.js","sourceRoot":"","sources":["../../../src/brand/update-agents-md/update-agents-md.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAC,MAAM,SAAS,CAAA;AACzF,OAAO,EAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAC,MAAM,WAAW,CAAA;AAQzD,4FAA4F;AAC5F,MAAM,UAAU,cAAc,CAAC,UAAyB;IACtD,MAAM,QAAQ,GAAG,WAAW,CAAA;IAC5B,MAAM,WAAW,GAAG,iCAAiC,CAAA;IACrD,MAAM,SAAS,GAAG,+BAA+B,CAAA;IACjD,MAAM,KAAK,GAAG,GAAG,WAAW;;;;;;;;EAQ5B,SAAS,EAAE,CAAA;IAEX,IAAI,CAAC,UAAU;QAAE,OAAO,EAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAC,CAAA;IAElF,IAAI,mBAA2B,CAAA;IAC/B,IAAI,CAAC;QACH,mBAAmB,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAC,CAAA;IACnE,CAAC;IAED,MAAM,sBAAsB,GAAG,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAA;IAClE,MAAM,oBAAoB,GAAG,WAAW,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAChE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,CACxD,CAAA;IACD,IAAI,oBAAoB,IAAI,oBAAoB,KAAK,QAAQ,EAAE,CAAC;QAC9D,OAAO,EAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,yBAAyB,EAAC,CAAA;IAC7F,CAAC;IAED,MAAM,SAAS,GAAG,SAAS,CAAC,sBAAsB,EAAE,EAAC,cAAc,EAAE,KAAK,EAAC,CAAC,CAAA;IAC5E,IAAI,SAAS,EAAE,cAAc,EAAE,EAAE,CAAC;QAChC,OAAO,EAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,oBAAoB,EAAC,CAAA;IACxF,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,aAAa,CAAC,sBAAsB,EAAE,GAAG,KAAK,IAAI,EAAE,MAAM,CAAC,CAAA;QAC3D,OAAO,EAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,sBAAsB,EAAC,CAAA;IAC1D,CAAC;IAED,IAAI,mBAA2B,CAAA;IAC/B,IAAI,CAAC;QACH,mBAAmB,GAAG,YAAY,CAAC,sBAAsB,CAAC,CAAA;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,oBAAoB,EAAC,CAAA;IACxF,CAAC;IACD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAA;IAC7E,IAAI,kBAAkB,KAAK,IAAI,IAAI,kBAAkB,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC/G,OAAO,EAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,oBAAoB,EAAC,CAAA;IACxF,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAA;IAC7D,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IACrD,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IACnD,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IAChD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5C,MAAM,cAAc,GAAG,UAAU,KAAK,CAAC,CAAC,CAAA;IACxC,MAAM,YAAY,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAA;IACpC,MAAM,mBAAmB,GACvB,UAAU,KAAK,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,QAAQ,KAAK,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;IAElG,IAAI,cAAc,KAAK,YAAY,IAAI,mBAAmB,IAAI,CAAC,cAAc,IAAI,QAAQ,GAAG,UAAU,CAAC,EAAE,CAAC;QACxG,OAAO,EAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,yBAAyB,EAAC,CAAA;IAC7F,CAAC;IAED,IAAI,OAAe,CAAA;IACnB,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,CAAA;IAC9G,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,EAAE,CAAA;QACzF,OAAO,GAAG,GAAG,QAAQ,GAAG,SAAS,GAAG,eAAe,GAAG,GAAG,EAAE,CAAA;IAC7D,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ;QAAE,OAAO,EAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAsB,EAAC,CAAA;IACpF,aAAa,CAAC,sBAAsB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IACtD,OAAO,EAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,sBAAsB,EAAC,CAAA;AAC1D,CAAC"}
|
package/dist/catalog.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"brandPackage": "@primer/react-brand",
|
|
3
|
-
"generatedFromVersion": "0.
|
|
4
|
-
"generatedAt": "2026-08-
|
|
3
|
+
"generatedFromVersion": "0.74.0-rc.888ba09a",
|
|
4
|
+
"generatedAt": "2026-08-16T18:57:09.704Z",
|
|
5
5
|
"components": [
|
|
6
6
|
{
|
|
7
7
|
"name": "Hero",
|
|
@@ -427,7 +427,7 @@
|
|
|
427
427
|
"examples": [
|
|
428
428
|
{
|
|
429
429
|
"title": "RiverBreakout example",
|
|
430
|
-
"code": "<Section>\n <RiverBreakout>\n <RiverBreakout.A11yHeading>River breakout highlight</RiverBreakout.A11yHeading>\n <RiverBreakout.Visual>\n <img src={placeholderImage} alt=\"placeholder, blank area with a gray background color\" />\n </RiverBreakout.Visual>\n <RiverBreakout.Content\n trailingComponent={() => (\n <
|
|
430
|
+
"code": "<Section>\n <RiverBreakout variant=\"gridline\">\n <RiverBreakout.A11yHeading>River breakout highlight</RiverBreakout.A11yHeading>\n <RiverBreakout.Visual>\n <img src={placeholderImage} alt=\"placeholder, blank area with a gray background color\" />\n </RiverBreakout.Visual>\n <RiverBreakout.Content\n trailingComponent={() => (\n <Stack gap=\"normal\">\n <Text as=\"p\" variant=\"muted\">\n <Text variant=\"default\">Deals with your issues.</Text> When assigned issues, GitHub Copilot plans,\n writes, tests, and iterates.\n </Text>\n <Text as=\"p\" variant=\"muted\">\n <Text variant=\"default\">Codes like an insider.</Text> GitHub Copilot hooks into MCP servers to draw on\n data from your repositories and external resources.\n </Text>\n <Text as=\"p\" variant=\"muted\">\n <Text variant=\"default\">Human and agent in the loop.</Text>\n Comment to guide GitHub Copilot, polish your code for merge, or take over locally in your IDE.\n </Text>\n </Stack>\n )}\n trailingComponentDivider\n >\n <Text>\n <b>This first sentence is a river breakout headline.</b> And this is where the body copy starts. Remember to\n keep these nice and succinct.\n </Text>\n <Link href=\"#\">Call to action</Link>\n </RiverBreakout.Content>\n </RiverBreakout>\n</Section>",
|
|
431
431
|
"source": "story"
|
|
432
432
|
}
|
|
433
433
|
]
|
|
@@ -480,7 +480,7 @@
|
|
|
480
480
|
"examples": [
|
|
481
481
|
{
|
|
482
482
|
"title": "RiverBreakoutTabs example",
|
|
483
|
-
"code": "<Section>\n <RiverBreakoutTabs
|
|
483
|
+
"code": "<Section>\n <RiverBreakoutTabs\n backgroundVisual={process.env.NODE_ENV !== 'test' ? <SharedDitherBackdrop /> : null}\n imagePosition=\"block-end\"\n >\n <RiverBreakoutTabs.A11yHeading>{t('with_images_a11y_heading')}</RiverBreakoutTabs.A11yHeading>\n\n <RiverBreakoutTabs.Item>\n <RiverBreakoutTabs.Icon icon={AiModelIcon} color=\"green\" />\n <RiverBreakoutTabs.Heading>{t('with_images_item_plan_heading')}</RiverBreakoutTabs.Heading>\n <RiverBreakoutTabs.Content>\n <Text>{t('with_images_item_plan_body')}</Text>\n <Link href=\"https://github.com/features/copilot\">{t('with_images_item_plan_link')}</Link>\n </RiverBreakoutTabs.Content>\n <RiverBreakoutTabs.Visual>\n <Image src={renderUI1} alt={t('alt_ai_plan_editor')} />\n </RiverBreakoutTabs.Visual>\n </RiverBreakoutTabs.Item>\n\n <RiverBreakoutTabs.Item>\n <RiverBreakoutTabs.Icon icon={CopilotIcon} color=\"green\" />\n <RiverBreakoutTabs.Heading>{t('with_images_item_refine_heading')}</RiverBreakoutTabs.Heading>\n <RiverBreakoutTabs.Content>\n <Text>{t('with_images_item_refine_body')}</Text>\n <Link href=\"https://github.com/features/copilot/chat\">{t('with_images_item_refine_link')}</Link>\n </RiverBreakoutTabs.Content>\n <RiverBreakoutTabs.Visual>\n <Image src={renderUI2} alt={t('alt_chat_guiding_edits')} />\n </RiverBreakoutTabs.Visual>\n </RiverBreakoutTabs.Item>\n\n <RiverBreakoutTabs.Item>\n <RiverBreakoutTabs.Icon icon={ShieldCheckIcon} color=\"green\" />\n <RiverBreakoutTabs.Heading>{t('with_images_item_merge_heading')}</RiverBreakoutTabs.Heading>\n <RiverBreakoutTabs.Content>\n <Text>{t('with_images_item_merge_body')}</Text>\n <Link href=\"https://github.com/features/copilot/plans\">{t('with_images_item_merge_link')}</Link>\n </RiverBreakoutTabs.Content>\n <RiverBreakoutTabs.Visual>\n <Image src={renderUI3} alt={t('alt_checks_before_merge')} />\n </RiverBreakoutTabs.Visual>\n </RiverBreakoutTabs.Item>\n </RiverBreakoutTabs>\n</Section>",
|
|
484
484
|
"source": "story"
|
|
485
485
|
}
|
|
486
486
|
],
|
|
@@ -3050,7 +3050,8 @@
|
|
|
3050
3050
|
"examples": [
|
|
3051
3051
|
{
|
|
3052
3052
|
"title": "Statistic example",
|
|
3053
|
-
"code": "
|
|
3053
|
+
"code": "<Section fullWidth paddingBlockStart=\"condensed\" paddingBlockEnd=\"normal\">\n <Stack direction=\"vertical\" padding=\"none\" gap=\"spacious\">\n <SectionIntro align=\"center\" fullWidth>\n <SectionIntro.Heading as=\"h3\" size=\"3\">\n H3 Heading 100 Characters Max\n </SectionIntro.Heading>\n </SectionIntro>\n\n <Box className={styles.gridFrame}>\n <Box className={styles.gridContent}>\n <Grid columnGap=\"none\" rowGap=\"none\" enableGutters={false}>\n {gridlineStatistics.map(statistic => (\n <Grid.Column key={statistic.heading} span={{xsmall: 12, large: 4}} className={styles.gridColumn}>\n <Box className={styles.gridItem} padding={{narrow: 32, wide: 48}}>\n <Statistic>\n <Statistic.Heading\n font=\"monospace\"\n weight=\"normal\"\n size=\"700\"\n style={{color: 'var(--brand-color-accent-primary)'}}\n >\n {statistic.heading}\n </Statistic.Heading>\n <Statistic.Description font=\"monospace\" size=\"100\">\n {statistic.description}\n </Statistic.Description>\n </Statistic>\n </Box>\n </Grid.Column>\n ))}\n </Grid>\n </Box>\n </Box>\n </Stack>\n</Section>",
|
|
3054
|
+
"styles": "/* Statistic/Statistic.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.gridColumn {\n display: flex;\n}\n\n.gridItem {\n width: 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 display: flex;\n align-items: center;\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: 81rem;\n }\n\n .gridItem {\n border-block-start: 0;\n border-inline-end: 0;\n }\n\n .gridColumn:last-child .gridItem {\n border-inline-end: var(--brand-borderWidth-thin) solid var(--brand-color-border-subtle);\n }\n}",
|
|
3054
3055
|
"source": "story"
|
|
3055
3056
|
}
|
|
3056
3057
|
],
|
|
@@ -3252,7 +3253,7 @@
|
|
|
3252
3253
|
"examples": [
|
|
3253
3254
|
{
|
|
3254
3255
|
"title": "SectionIntroStacked example",
|
|
3255
|
-
"code": "<
|
|
3256
|
+
"code": "<SectionIntroStacked variant=\"gridline\">\n <SectionIntroStacked.Heading>{t('with_item_icons_heading')}</SectionIntroStacked.Heading>\n <SectionIntroStacked.Description>{t('playground_description')}</SectionIntroStacked.Description>\n <SectionIntroStacked.Link href=\"#\">{t('sign_up_now')}</SectionIntroStacked.Link>\n <SectionIntroStacked.Items>\n <SectionIntroStacked.Item>\n <SectionIntroStacked.ItemIcon icon={CpuIcon} />\n <SectionIntroStacked.ItemHeading>{t('item_one_heading')}</SectionIntroStacked.ItemHeading>\n <SectionIntroStacked.ItemDescription>{t('item_one_description')}</SectionIntroStacked.ItemDescription>\n </SectionIntroStacked.Item>\n <SectionIntroStacked.Item>\n <SectionIntroStacked.ItemIcon icon={LightBulbIcon} />\n <SectionIntroStacked.ItemHeading>{t('item_two_heading')}</SectionIntroStacked.ItemHeading>\n <SectionIntroStacked.ItemDescription>{t('item_two_description')}</SectionIntroStacked.ItemDescription>\n </SectionIntroStacked.Item>\n <SectionIntroStacked.Item>\n <SectionIntroStacked.ItemIcon icon={HeartIcon} />\n <SectionIntroStacked.ItemHeading>{t('item_three_heading')}</SectionIntroStacked.ItemHeading>\n <SectionIntroStacked.ItemDescription>{t('item_three_description')}</SectionIntroStacked.ItemDescription>\n </SectionIntroStacked.Item>\n </SectionIntroStacked.Items>\n</SectionIntroStacked>",
|
|
3256
3257
|
"source": "story"
|
|
3257
3258
|
}
|
|
3258
3259
|
],
|
package/dist/review/rules.js
CHANGED
|
@@ -389,6 +389,26 @@ const headingExplicitSize = {
|
|
|
389
389
|
return [];
|
|
390
390
|
},
|
|
391
391
|
};
|
|
392
|
+
/** Compound components provide context-appropriate text sizes; explicit overrides should be exceptional. */
|
|
393
|
+
const componentTextDefaultSize = {
|
|
394
|
+
id: 'component-text-default-size',
|
|
395
|
+
run(code, catalog) {
|
|
396
|
+
const knownSubcomponents = new Set(catalog.components.flatMap(component => component.subcomponents));
|
|
397
|
+
const findings = [];
|
|
398
|
+
for (const match of code.matchAll(/<([A-Z][A-Za-z0-9]*)\.(Heading|Subheading|Description|Label|Eyebrow|Text)\b[^>]*(?:^|\s)size\s*=/g)) {
|
|
399
|
+
const qualifiedName = `${match[1]}.${match[2]}`;
|
|
400
|
+
if (!knownSubcomponents.has(qualifiedName))
|
|
401
|
+
continue;
|
|
402
|
+
findings.push({
|
|
403
|
+
severity: 'warning',
|
|
404
|
+
rule: this.id,
|
|
405
|
+
message: `\`${qualifiedName}\` already has the right default \`size\` for its component. Remove \`size\` unless the brief requires an override.`,
|
|
406
|
+
evidence: evidence(match[0]),
|
|
407
|
+
});
|
|
408
|
+
}
|
|
409
|
+
return findings;
|
|
410
|
+
},
|
|
411
|
+
};
|
|
392
412
|
/** Credit for actually importing approved brand components — surfaced as guidance, not a failure. */
|
|
393
413
|
export function brandComponentsUsed(code, catalog) {
|
|
394
414
|
const imported = new Set();
|
|
@@ -416,5 +436,6 @@ export const allRules = [
|
|
|
416
436
|
hardcodedValues,
|
|
417
437
|
offBrandTells,
|
|
418
438
|
headingExplicitSize,
|
|
439
|
+
componentTextDefaultSize,
|
|
419
440
|
];
|
|
420
441
|
//# sourceMappingURL=rules.js.map
|
package/dist/review/rules.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/review/rules.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/review/rules.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { readFileSync } from 'node:fs';
|
|
2
2
|
import { fileURLToPath } from 'node:url';
|
|
3
3
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
4
|
-
import { detectAssetGenerator } from './brand/detect-asset-generator.js';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
4
|
+
import { detectAssetGenerator } from './brand/detect-asset-generator/detect-asset-generator.js';
|
|
5
|
+
import { detectFramework } from './brand/detect-framework/detect-framework.js';
|
|
6
|
+
import { createDocsSource } from './brand/docs-source/docs-source.js';
|
|
7
|
+
import { resolveInstalledAssets } from './brand/resolve-assets/resolve-assets.js';
|
|
8
|
+
import { looksLikeProductProject, resolveBrandInstall } from './brand/resolve-install/resolve-install.js';
|
|
8
9
|
import { loadCatalog } from './catalog/load.js';
|
|
9
10
|
import { createLogger } from './logger.js';
|
|
10
11
|
import { registerTools } from './tools/register.js';
|
|
@@ -40,6 +41,7 @@ export function createServer() {
|
|
|
40
41
|
const server = new McpServer({ name: 'Primer Brand', version }, { instructions: INSTRUCTIONS });
|
|
41
42
|
const catalog = loadCatalog(logger);
|
|
42
43
|
const brand = resolveBrandInstall();
|
|
44
|
+
const framework = detectFramework();
|
|
43
45
|
if (brand.found) {
|
|
44
46
|
logger.info(`using @primer/react-brand@${brand.version ?? 'unknown'} from ${brand.packageDir}`);
|
|
45
47
|
}
|
|
@@ -60,7 +62,17 @@ export function createServer() {
|
|
|
60
62
|
logger.info('GitHub Asset Generator MCP server detected; surfacing on-brand imagery guidance');
|
|
61
63
|
}
|
|
62
64
|
const docs = createDocsSource(brand, logger);
|
|
63
|
-
registerTools(server, {
|
|
65
|
+
registerTools(server, {
|
|
66
|
+
catalog,
|
|
67
|
+
brand,
|
|
68
|
+
workspaceDir: process.cwd(),
|
|
69
|
+
framework,
|
|
70
|
+
docs,
|
|
71
|
+
logger,
|
|
72
|
+
assets,
|
|
73
|
+
assetsOrigin,
|
|
74
|
+
assetGenerator: detectAssetGenerator(),
|
|
75
|
+
});
|
|
64
76
|
return server;
|
|
65
77
|
}
|
|
66
78
|
//# sourceMappingURL=server.js.map
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,SAAS,CAAA;AACpC,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAA;AAEtC,OAAO,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAA;AAEjE,OAAO,EAAC,oBAAoB,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,9 @@ const inputSchema = z.object({
|
|
|
8
8
|
.describe('Restrict to Octicons ("icon") or Octovisuals ("illustration").'),
|
|
9
9
|
limit: z.number().int().min(1).max(50).optional().default(12).describe('Max results.'),
|
|
10
10
|
});
|
|
11
|
-
const description = `Find approved Primer Brand visuals as code imports:
|
|
11
|
+
const description = `Find approved Primer Brand visuals as code imports:
|
|
12
|
+
Octicons (@primer/octicons-react) and Octovisuals (@primer/octovisuals-react).
|
|
13
|
+
Use these instead of emoji, clip art, or random icon sets - mismatched or emoji icons are off-brand.`;
|
|
12
14
|
export const primerBrandAssetTool = {
|
|
13
15
|
name: 'primer_brand_asset',
|
|
14
16
|
title: 'Primer Brand icons & illustrations',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primer-brand-asset.js","sourceRoot":"","sources":["../../../src/tools/primer-brand-asset/primer-brand-asset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAA;AAErB,OAAO,EAAC,IAAI,EAAC,MAAM,oBAAoB,CAAA;AAGvC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qEAAqE,CAAC;IACjG,IAAI,EAAE,CAAC;SACJ,IAAI,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;SAC9B,QAAQ,EAAE;SACV,QAAQ,CAAC,gEAAgE,CAAC;IAC7E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;CACvF,CAAC,CAAA;AAIF,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"primer-brand-asset.js","sourceRoot":"","sources":["../../../src/tools/primer-brand-asset/primer-brand-asset.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,13 @@ const inputSchema = z.object({
|
|
|
7
7
|
.optional()
|
|
8
8
|
.describe('Component name to look up (e.g. "Hero"). Omit to list every available component.'),
|
|
9
9
|
});
|
|
10
|
-
const description = `Primer Brand (@primer/react-brand) component reference for GitHub marketing and landing pages.
|
|
10
|
+
const description = `Primer Brand (@primer/react-brand) component reference for GitHub marketing and landing pages.
|
|
11
|
+
Omit \`name\` to list every approved component.
|
|
12
|
+
Pass a \`name\` for its import, sub-components, props with allowed values, and a canonical example.
|
|
13
|
+
The example is a real story snippet, so it may include Storybook \`{...args}\` spreads
|
|
14
|
+
or imported demo assets to adapt rather than copy verbatim.
|
|
15
|
+
Use this to avoid invented components or props.
|
|
16
|
+
This is Primer Brand, not @primer/react product UI.`;
|
|
11
17
|
function listComponents(ctx) {
|
|
12
18
|
const { components } = ctx.catalog;
|
|
13
19
|
if (components.length === 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primer-brand-component.js","sourceRoot":"","sources":["../../../src/tools/primer-brand-component/primer-brand-component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAA;AAGrB,OAAO,EAAC,IAAI,EAAC,MAAM,oBAAoB,CAAA;AACvC,OAAO,EAAC,qBAAqB,EAAE,UAAU,EAAE,WAAW,EAAC,MAAM,cAAc,CAAA;AAG3E,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kFAAkF,CAAC;CAChG,CAAC,CAAA;AAIF,MAAM,WAAW,GAAG,
|
|
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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"}
|
|
@@ -5,7 +5,10 @@ const inputSchema = z.object({
|
|
|
5
5
|
query: z.string().optional().describe('Search guidance, e.g. "accessibility", "color usage", "getting started".'),
|
|
6
6
|
path: z.string().optional().describe('Read a specific doc by its path (from a previous search result).'),
|
|
7
7
|
});
|
|
8
|
-
const description = `Search and read Primer Brand guidance — principles, accessibility, content, and getting started.
|
|
8
|
+
const description = `Search and read Primer Brand guidance — principles, accessibility, content, and getting started.
|
|
9
|
+
Prefers the version-pinned docs bundled with the installed @primer/react-brand,
|
|
10
|
+
falling back to the live site (https://primer.style/brand) for general guidance.
|
|
11
|
+
This is brand concepts and how-to, not component APIs (use primer_brand_component for those).`;
|
|
9
12
|
async function readPath(path, ctx) {
|
|
10
13
|
const doc = await ctx.docs.read(path);
|
|
11
14
|
if (!doc) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primer-brand-docs.js","sourceRoot":"","sources":["../../../src/tools/primer-brand-docs/primer-brand-docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAA;AAErB,OAAO,EAAC,IAAI,EAAC,MAAM,oBAAoB,CAAA;AACvC,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAA;AAGxC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0EAA0E,CAAC;IACjH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kEAAkE,CAAC;CACzG,CAAC,CAAA;AAIF,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"primer-brand-docs.js","sourceRoot":"","sources":["../../../src/tools/primer-brand-docs/primer-brand-docs.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,9 +7,9 @@ const inputSchema = z.object({
|
|
|
7
7
|
.optional()
|
|
8
8
|
.describe('What you are building, e.g. "education landing page" or "pricing section". Omit for a foundational starter set.'),
|
|
9
9
|
});
|
|
10
|
-
const description = `Get ranked,
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
const description = `Get ranked, tested Primer Brand examples for a component or page goal.
|
|
11
|
+
Use when you need a starting composition; page goals can include a current-brand full-page reference.
|
|
12
|
+
Use \`primer_brand_component\` for exact component APIs.`;
|
|
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) {
|
|
@@ -31,6 +31,8 @@ export const primerBrandExamplesTool = {
|
|
|
31
31
|
inputShape: inputSchema.shape,
|
|
32
32
|
annotations: { readOnlyHint: true },
|
|
33
33
|
run(input, ctx) {
|
|
34
|
+
const adaptationGuidance = `## How to use these examples
|
|
35
|
+
These are real source and may include demo scaffolding such as content objects, fixture imports, CSS-module class names, repo-relative imports, or Storybook argument spreads. Adapt the copy, assets, and imports while preserving component composition and gridline geometry. Use built-in gridline variants or props when available. When a grouped Card or Pillar example includes companion CSS, carry its page-width frame and cell rules with the JSX.`;
|
|
34
36
|
const goal = input.goal?.trim() || 'landing page';
|
|
35
37
|
const genericPageTerms = new Set([
|
|
36
38
|
'feature',
|
|
@@ -88,7 +90,7 @@ export const primerBrandExamplesTool = {
|
|
|
88
90
|
const useDefaultRecipe = isPageGoal && specificRecipes.length === 0 && Boolean(defaultRecipe);
|
|
89
91
|
const matchedRecipes = specificRecipes.length > 0 ? specificRecipes : useDefaultRecipe && defaultRecipe ? [defaultRecipe] : [];
|
|
90
92
|
const topRecipe = matchedRecipes[0];
|
|
91
|
-
const sections = [`# Examples for "${goal}"
|
|
93
|
+
const sections = [`# Examples for "${goal}"`, adaptationGuidance];
|
|
92
94
|
if (topRecipe) {
|
|
93
95
|
const otherRecipes = matchedRecipes.slice(1);
|
|
94
96
|
const also = otherRecipes.length
|
|
@@ -96,7 +98,7 @@ export const primerBrandExamplesTool = {
|
|
|
96
98
|
: '';
|
|
97
99
|
sections.push([
|
|
98
100
|
`## Full-page template — ${useDefaultRecipe ? 'default FlexSuite overview recipe source' : 'goal-matched recipe source'}: ${topRecipe.title}`,
|
|
99
|
-
`This is the **actual current-brand recipe source** from \`@primer/react-brand
|
|
101
|
+
`This is the **actual current-brand recipe source** from \`@primer/react-brand\`. Use it for overall page composition, then use the goal-specific component examples below for deeper context.${also}`,
|
|
100
102
|
`\`\`\`tsx\n${topRecipe.source}\n\`\`\``,
|
|
101
103
|
].join('\n\n'));
|
|
102
104
|
}
|
|
@@ -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":"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"}
|
|
@@ -3,7 +3,10 @@ import { fileURLToPath } from 'node:url';
|
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
import { versionNote } from '../format.js';
|
|
5
5
|
const inputSchema = z.object({});
|
|
6
|
-
const description = `
|
|
6
|
+
const description = `Read before building a Primer Brand marketing or landing page.
|
|
7
|
+
Returns page-level composition guidance and current-brand reference templates for combining components.
|
|
8
|
+
Use \`primer_brand_docs\` or \`primer_brand_component\` for individual component APIs.
|
|
9
|
+
These visual conventions are not fully enforced by \`primer_brand_review\`.`;
|
|
7
10
|
const guidancePath = fileURLToPath(new URL('../../../content/page-design.md', import.meta.url));
|
|
8
11
|
export const primerPageDesignTool = {
|
|
9
12
|
name: 'primer_brand_page_design',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primer-brand-page-design.js","sourceRoot":"","sources":["../../../src/tools/primer-brand-page-design/primer-brand-page-design.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,SAAS,CAAA;AACpC,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAA;AAEtC,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAA;AAErB,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAA;AAGxC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;AAIhC,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"primer-brand-page-design.js","sourceRoot":"","sources":["../../../src/tools/primer-brand-page-design/primer-brand-page-design.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,SAAS,CAAA;AACpC,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAA;AAEtC,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAA;AAErB,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAA;AAGxC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;AAIhC,MAAM,WAAW,GAAG;;;4EAGwD,CAAA;AAE5E,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,iCAAiC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAE/F,MAAM,CAAC,MAAM,oBAAoB,GAAsB;IACrD,IAAI,EAAE,0BAA0B;IAChC,KAAK,EAAE,sBAAsB;IAC7B,WAAW;IACX,UAAU,EAAE,WAAW,CAAC,KAAK;IAC7B,WAAW,EAAE,EAAC,YAAY,EAAE,IAAI,EAAC;IACjC,GAAG,CAAC,MAAM,EAAE,GAAgB;QAC1B,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;QAC1D,MAAM,kBAAkB,GAAG,GAAG,CAAC,cAAc,CAAC,SAAS;YACrD,CAAC,CAAC;;;;urBAI+qB;YACjrB,CAAC,CAAC,EAAE,CAAA;QACN,OAAO,EAAC,IAAI,EAAE,GAAG,QAAQ,GAAG,kBAAkB,OAAO,WAAW,CAAC,GAAG,CAAC,EAAE,EAAC,CAAA;IAC1E,CAAC;CACF,CAAA"}
|
|
@@ -7,12 +7,14 @@ const inputSchema = z.object({
|
|
|
7
7
|
.describe('Your COMPLETE output to check: the JSX/TSX AND all CSS/stylesheets together. Include App.css and any *.module.css — hardcoded px/hex usually live there.'),
|
|
8
8
|
filename: z.string().optional().describe('Optional filename, used only to label the report.'),
|
|
9
9
|
});
|
|
10
|
-
const description = `The final on-brand gate.
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
const description = `The final on-brand gate.
|
|
11
|
+
Before you finish, paste your COMPLETE output in one call — the JSX/TSX AND every stylesheet
|
|
12
|
+
(App.css, *.module.css, styled blocks) together — because hardcoded sizes/colors and raw HTML most often hide in CSS.
|
|
13
|
+
Flags non-compliant components or sub-components, invalid prop values,
|
|
14
|
+
headings left at their oversized default (a \`Heading\` with no explicit \`size\`),
|
|
15
|
+
raw HTML where a brand component exists, hardcoded colors/sizes that should be tokens,
|
|
16
|
+
and off-brand visual tells (purple gradients, pill buttons, glassmorphism, placeholder copy).
|
|
17
|
+
Run it on everything you wrote and fix what it reports rather than guessing.`;
|
|
16
18
|
export const primerBrandReviewTool = {
|
|
17
19
|
name: 'primer_brand_review',
|
|
18
20
|
title: 'Review code against Primer Brand',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primer-brand-review.js","sourceRoot":"","sources":["../../../src/tools/primer-brand-review/primer-brand-review.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAA;AAErB,OAAO,EAAC,QAAQ,EAAE,mBAAmB,EAAC,MAAM,uBAAuB,CAAA;AAEnE,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAA;AAGxC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,CACP,0JAA0J,CAC3J;IACH,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;CAC9F,CAAC,CAAA;AAIF,MAAM,WAAW,GAAG
|
|
1
|
+
{"version":3,"file":"primer-brand-review.js","sourceRoot":"","sources":["../../../src/tools/primer-brand-review/primer-brand-review.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,13 @@ import { z } from 'zod';
|
|
|
2
2
|
import type { ToolModule } from '../types.js';
|
|
3
3
|
declare const inputSchema: z.ZodObject<{
|
|
4
4
|
framework: z.ZodDefault<z.ZodOptional<z.ZodEnum<["auto", "next-app", "next-pages", "vite", "astro", "remix"]>>>;
|
|
5
|
+
projectDir: z.ZodOptional<z.ZodString>;
|
|
5
6
|
}, "strip", z.ZodTypeAny, {
|
|
6
7
|
framework: "next-app" | "next-pages" | "vite" | "astro" | "remix" | "auto";
|
|
8
|
+
projectDir?: string | undefined;
|
|
7
9
|
}, {
|
|
8
10
|
framework?: "next-app" | "next-pages" | "vite" | "astro" | "remix" | "auto" | undefined;
|
|
11
|
+
projectDir?: string | undefined;
|
|
9
12
|
}>;
|
|
10
13
|
type Input = z.infer<typeof inputSchema>;
|
|
11
14
|
export declare const primerBrandSetupTool: ToolModule<Input>;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
2
|
+
import { relative } from 'node:path';
|
|
3
|
+
import { detectFramework } from '../../brand/detect-framework/detect-framework.js';
|
|
4
|
+
import { resolveBrandProject, } from '../../brand/resolve-brand-project/resolve-brand-project.js';
|
|
5
|
+
import { updateAgentsMd } from '../../brand/update-agents-md/update-agents-md.js';
|
|
3
6
|
import { versionNote } from '../format.js';
|
|
4
7
|
const fence = '```';
|
|
5
8
|
const inputSchema = z.object({
|
|
@@ -8,8 +11,15 @@ const inputSchema = z.object({
|
|
|
8
11
|
.optional()
|
|
9
12
|
.default('auto')
|
|
10
13
|
.describe('Target framework. "auto" detects it from the project; override if detection is wrong.'),
|
|
14
|
+
projectDir: z
|
|
15
|
+
.string()
|
|
16
|
+
.min(1)
|
|
17
|
+
.optional()
|
|
18
|
+
.describe('Workspace-relative package folder whose package.json declares @primer/react-brand. Set this when several workspace packages declare it.'),
|
|
11
19
|
});
|
|
12
|
-
const description = `Set up
|
|
20
|
+
const description = `Set up Primer Brand in an existing React project.
|
|
21
|
+
Call once before building a page; detects or accepts the framework and returns tailored root setup.
|
|
22
|
+
Also updates \`AGENTS.md\` in the package that declares \`@primer/react-brand\` so future agents use Primer Brand tools and local docs.`;
|
|
13
23
|
const STATIC = {
|
|
14
24
|
'next-app': { label: 'Next.js (App Router)', rsc: true },
|
|
15
25
|
'next-pages': { label: 'Next.js (Pages Router)', rsc: false },
|
|
@@ -95,12 +105,48 @@ import {ThemeProvider} from '@primer/react-brand/esm'
|
|
|
95
105
|
<ThemeProvider>
|
|
96
106
|
<App />
|
|
97
107
|
</ThemeProvider>`;
|
|
98
|
-
function build(id, ctx) {
|
|
108
|
+
function build(id, ctx, agentsMd) {
|
|
99
109
|
const { label, rsc } = STATIC[id];
|
|
100
110
|
const snippet = id === 'unknown' ? GENERIC_SNIPPET : ROOT_SNIPPETS[id];
|
|
101
111
|
const rscNote = rsc
|
|
102
112
|
? `\n\n> **RSC boundary:** \`ThemeProvider\` uses React context, so it must live in a \`'use client'\` component (the \`Providers\` wrapper above). It cannot go directly in the server-rendered \`layout.tsx\`.`
|
|
103
113
|
: '';
|
|
114
|
+
const agentsMdResult = (() => {
|
|
115
|
+
switch (agentsMd.action) {
|
|
116
|
+
case 'created':
|
|
117
|
+
return 'Created `AGENTS.md` beside the selected package.json with local docs routing instructions.';
|
|
118
|
+
case 'updated':
|
|
119
|
+
return 'Updated the managed Primer Brand instructions beside the selected package.json; existing content was preserved.';
|
|
120
|
+
case 'unchanged':
|
|
121
|
+
return 'The selected package already has the current managed Primer Brand instructions in `AGENTS.md`.';
|
|
122
|
+
case 'skipped':
|
|
123
|
+
if (agentsMd.reason === 'ambiguous-brand-project') {
|
|
124
|
+
const candidates = agentsMd.candidates
|
|
125
|
+
?.map(candidate => {
|
|
126
|
+
const relativeCandidate = ctx.workspaceDir ? relative(ctx.workspaceDir, candidate) : candidate;
|
|
127
|
+
return relativeCandidate || '.';
|
|
128
|
+
})
|
|
129
|
+
.join(', ');
|
|
130
|
+
return `Skipped \`AGENTS.md\`: multiple package.json files declare \`@primer/react-brand\`${candidates ? ` (${candidates})` : ''}. Rerun \`primer_brand_setup\` with \`projectDir\` set to the intended package folder.`;
|
|
131
|
+
}
|
|
132
|
+
if (agentsMd.reason === 'invalid-brand-project') {
|
|
133
|
+
return 'Skipped `AGENTS.md`: `projectDir` must identify a folder inside the workspace whose package.json declares `@primer/react-brand`.';
|
|
134
|
+
}
|
|
135
|
+
if (agentsMd.reason === 'brand-package-not-found') {
|
|
136
|
+
return 'Skipped `AGENTS.md`: no package.json declaring `@primer/react-brand` was found in the workspace.';
|
|
137
|
+
}
|
|
138
|
+
if (agentsMd.reason === 'incorrect-filename-case') {
|
|
139
|
+
return 'Skipped `AGENTS.md`: rename the existing case-insensitive match to exactly `AGENTS.md`, then rerun setup.';
|
|
140
|
+
}
|
|
141
|
+
if (agentsMd.reason === 'malformed-managed-block') {
|
|
142
|
+
return 'Skipped `AGENTS.md`: the Primer Brand managed markers are malformed or duplicated; repair or remove that block, then rerun setup.';
|
|
143
|
+
}
|
|
144
|
+
if (agentsMd.reason === 'unsafe-agents-path') {
|
|
145
|
+
return 'Skipped `AGENTS.md`: the existing path is a symbolic link or resolves outside the selected package. Replace it with a regular file inside the package, then rerun setup.';
|
|
146
|
+
}
|
|
147
|
+
return 'Skipped `AGENTS.md`: no project root was detected.';
|
|
148
|
+
}
|
|
149
|
+
})();
|
|
104
150
|
return [
|
|
105
151
|
`# Set up Primer Brand — ${label}`,
|
|
106
152
|
`## 1. Install\n${fence}bash\nnpm install @primer/react-brand\n${fence}`,
|
|
@@ -109,6 +155,7 @@ function build(id, ctx) {
|
|
|
109
155
|
`## 4. Styles\nImporting components from \`@primer/react-brand/esm\` auto-includes each component's styles. **Do not also import \`@primer/react-brand/lib/css/main.css\`** — that is the non-ESM path, and mixing the two double-loads styles.`,
|
|
110
156
|
`## 5. Build the page\n- \`primer_brand_page_design\` first for page-design patterns and the current-brand reference templates to start from\n- \`primer_brand_examples\` for a correct starting composition, then \`primer_brand_component\` for exact props\n- \`primer_brand_tokens\` / \`primer_brand_asset\` for colors, spacing, and icons\n- \`primer_brand_review\` on your complete output — JSX and CSS together — before you finish`,
|
|
111
157
|
`## 6. Header & footer\nFor a global header use \`SubdomainNavBar\`; for the footer use \`MinimalFooter\`. Don't hand-roll a \`<header>\`, \`<nav>\`, or \`<footer>\` — call \`primer_brand_component\` with "SubdomainNavBar" or "MinimalFooter" for their APIs.`,
|
|
158
|
+
`## 7. Add/update AGENTS.md pointer\n${agentsMdResult}`,
|
|
112
159
|
versionNote(ctx),
|
|
113
160
|
].join('\n\n');
|
|
114
161
|
}
|
|
@@ -117,10 +164,23 @@ export const primerBrandSetupTool = {
|
|
|
117
164
|
title: 'Set up Primer Brand in a project',
|
|
118
165
|
description,
|
|
119
166
|
inputShape: inputSchema.shape,
|
|
120
|
-
annotations: { readOnlyHint: true },
|
|
167
|
+
annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: false },
|
|
121
168
|
run(input, ctx) {
|
|
122
|
-
const
|
|
123
|
-
|
|
169
|
+
const brandProject = resolveBrandProject(ctx.workspaceDir, input.projectDir);
|
|
170
|
+
const id = input.framework === 'auto'
|
|
171
|
+
? brandProject.projectDir
|
|
172
|
+
? detectFramework(brandProject.projectDir).id
|
|
173
|
+
: ctx.framework.id
|
|
174
|
+
: input.framework;
|
|
175
|
+
const agentsMd = brandProject.projectDir
|
|
176
|
+
? updateAgentsMd(brandProject.projectDir)
|
|
177
|
+
: {
|
|
178
|
+
action: 'skipped',
|
|
179
|
+
path: null,
|
|
180
|
+
reason: brandProject.reason,
|
|
181
|
+
candidates: brandProject.candidates,
|
|
182
|
+
};
|
|
183
|
+
return { text: build(id, ctx, agentsMd) };
|
|
124
184
|
},
|
|
125
185
|
};
|
|
126
186
|
//# sourceMappingURL=primer-brand-setup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primer-brand-setup.js","sourceRoot":"","sources":["../../../src/tools/primer-brand-setup/primer-brand-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"primer-brand-setup.js","sourceRoot":"","sources":["../../../src/tools/primer-brand-setup/primer-brand-setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,8 @@ const inputSchema = z.object({
|
|
|
13
13
|
.describe('Filter by token category, matched against token names: e.g. "color", "canvas", "size", "spacing", "border", "radius", "font". Combine with query to narrow.'),
|
|
14
14
|
limit: z.number().int().min(1).max(50).optional().default(15).describe('Max results.'),
|
|
15
15
|
});
|
|
16
|
-
const description = `Resolve Primer Brand design tokens to CSS variables and values, searching by intent.
|
|
16
|
+
const description = `Resolve Primer Brand design tokens to CSS variables and values, searching by intent.
|
|
17
|
+
Use these CSS variables instead of hardcoded hex/px so pages adapt across light and dark themes.`;
|
|
17
18
|
/**
|
|
18
19
|
* Maps colloquial words to the vocabulary that actually appears in Primer Brand token names, so
|
|
19
20
|
* intent-based queries and the `group` facet resolve to real tokens. Only genuine translations
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primer-brand-tokens.js","sourceRoot":"","sources":["../../../src/tools/primer-brand-tokens/primer-brand-tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAA;AAErB,OAAO,EAAC,IAAI,EAAC,MAAM,oBAAoB,CAAA;AACvC,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAA;AAGxC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CACP,mTAAmT,CACpT;IACH,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,6JAA6J,CAC9J;IACH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;CACvF,CAAC,CAAA;AAIF,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"primer-brand-tokens.js","sourceRoot":"","sources":["../../../src/tools/primer-brand-tokens/primer-brand-tokens.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/types.d.ts
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import type { ZodRawShape } from 'zod';
|
|
2
|
-
import type { BrandInstall } from '../brand/resolve-install.js';
|
|
3
|
-
import type {
|
|
2
|
+
import type { BrandInstall } from '../brand/resolve-install/resolve-install.js';
|
|
3
|
+
import type { FrameworkInfo } from '../brand/detect-framework/detect-framework.js';
|
|
4
|
+
import type { DocsSource } from '../brand/docs-source/docs-source.js';
|
|
4
5
|
import type { Catalog, CatalogAsset } from '../catalog/types.js';
|
|
5
6
|
import type { Logger } from '../logger.js';
|
|
6
7
|
/** Dependencies shared by every tool, assembled once when the server starts. */
|
|
7
8
|
export type ToolContext = {
|
|
8
9
|
catalog: Catalog;
|
|
9
10
|
brand: BrandInstall;
|
|
11
|
+
/** Directory where the MCP server was started; bounds workspace-scoped file discovery. */
|
|
12
|
+
workspaceDir: string | null;
|
|
13
|
+
framework: FrameworkInfo;
|
|
10
14
|
docs: DocsSource;
|
|
11
15
|
logger: Logger;
|
|
12
16
|
/** Icons + illustrations, preferring the consumer's installed packages over the baked snapshot. */
|
|
@@ -22,10 +26,19 @@ export type ToolResult = {
|
|
|
22
26
|
};
|
|
23
27
|
export type ToolAnnotations = {
|
|
24
28
|
readOnlyHint?: boolean;
|
|
29
|
+
destructiveHint?: boolean;
|
|
30
|
+
idempotentHint?: boolean;
|
|
31
|
+
openWorldHint?: boolean;
|
|
25
32
|
};
|
|
26
33
|
export type ToolModule<Input = unknown> = {
|
|
27
34
|
name: string;
|
|
28
35
|
title: string;
|
|
36
|
+
/**
|
|
37
|
+
* This is discovery metadata shown before tool invocation.
|
|
38
|
+
* Should describe when and why to call the tool, its scope,
|
|
39
|
+
* adjacent tools, and important limitations. Put the actual guidance,
|
|
40
|
+
* rules and implementation detail in the tool output, not here.
|
|
41
|
+
*/
|
|
29
42
|
description: string;
|
|
30
43
|
inputShape: ZodRawShape;
|
|
31
44
|
annotations: ToolAnnotations;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@primer/brand-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.74.0-rc.888ba09a",
|
|
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",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"detect-asset-generator.js","sourceRoot":"","sources":["../../src/brand/detect-asset-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAA;AAClC,OAAO,EAAC,SAAS,EAAE,IAAI,EAAC,MAAM,WAAW,CAAA;AAEzC,MAAM,QAAQ,GAAG,qBAAqB,CAAA;AAEtC;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAyB,OAAO,CAAC,GAAG;IAGvE,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAA;IAC5C,IAAI,CAAC,SAAS;QAAE,OAAO,EAAC,SAAS,EAAE,KAAK,EAAC,CAAA;IAEzC,MAAM,iBAAiB,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACxE,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,QAAQ,GAAG,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAA;IAE7G,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,SAAS;YAAE,SAAQ;QACxB,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,EAAC,SAAS,EAAE,IAAI,EAAC,CAAA;IAC1F,CAAC;IACD,OAAO,EAAC,SAAS,EAAE,KAAK,EAAC,CAAA;AAC3B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"detect-framework.js","sourceRoot":"","sources":["../../src/brand/detect-framework.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,SAAS,CAAA;AAChD,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAC,MAAM,WAAW,CAAA;AAY5C;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkB,OAAO,CAAC,GAAG,EAAE;IAC7D,wFAAwF;IACxF,IAAI,UAAU,GAAkB,IAAI,CAAA;IACpC,KAAK,IAAI,GAAG,GAAG,OAAO,IAAM,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;YACtF,UAAU,GAAG,GAAG,CAAA;YAChB,MAAK;QACP,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,MAAM,KAAK,GAAG;YAAE,MAAK;QACzB,GAAG,GAAG,MAAM,CAAA;IACd,CAAC;IACD,IAAI,CAAC,UAAU;QAAE,OAAO,EAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAC,CAAA;IAE/F,yFAAyF;IACzF,IAAI,IAAI,GAA2B,EAAE,CAAA;IACrC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAG/E,CAAA;QACD,IAAI,GAAG,EAAC,GAAG,MAAM,CAAC,YAAY,EAAE,GAAG,MAAM,CAAC,eAAe,EAAC,CAAA;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,4BAA4B;IAC9B,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;QACnG,OAAO,SAAS;YACd,CAAC,CAAC,EAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,sBAAsB,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAC;YACxE,CAAC,CAAC,EAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,wBAAwB,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAC,CAAA;IACjF,CAAC;IACD,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACxD,OAAO,EAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAC,CAAA;IAC9D,CAAC;IACD,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,EAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAC,CAAA;IAC5E,IAAI,IAAI,CAAC,IAAI;QAAE,OAAO,EAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAC,CAAA;IACjF,OAAO,EAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAC,CAAA;AAC1E,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"docs-source.js","sourceRoot":"","sources":["../../src/brand/docs-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-assets.js","sourceRoot":"","sources":["../../src/brand/resolve-assets.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-install.js","sourceRoot":"","sources":["../../src/brand/resolve-install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,SAAS,CAAA;AAChD,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,MAAM,WAAW,CAAA;AAevC,MAAM,QAAQ,GAAiB;IAC7B,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;CACf,CAAA;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB,OAAO,CAAC,GAAG,EAAE;IACjE,IAAI,GAAG,GAAG,OAAO,CAAA;IAEjB,MAAM,WAAW,GAAG,CAAC,eAAuB,EAAiB,EAAE;QAC7D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAuB,CAAA;YACtF,OAAO,MAAM,CAAC,OAAO,IAAI,IAAI,CAAA;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,qFAAqF;YACrF,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC,CAAA;IAED,SAAS,CAAC;QACR,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,CAAC,CAAA;QACtE,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;YACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;YAC7C,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;gBACtD,UAAU;gBACV,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;gBAC7C,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;aACjD,CAAA;QACH,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,QAAQ,CAAA;QACnC,GAAG,GAAG,MAAM,CAAA;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAAkB,OAAO,CAAC,GAAG,EAAE;IACrE,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC,KAAK;QAAE,OAAO,KAAK,CAAA;IACpD,IAAI,GAAG,GAAG,OAAO,CAAA;IACjB,SAAS,CAAC;QACR,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;QAC1F,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,KAAK,CAAA;QAChC,GAAG,GAAG,MAAM,CAAA;IACd,CAAC;AACH,CAAC"}
|
|
File without changes
|
/package/dist/brand/{detect-asset-generator.js → detect-asset-generator/detect-asset-generator.js}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|