@forgespace/branding-mcp 0.7.0 → 0.8.0
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 +41 -5
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -4
- package/dist/index.js.map +1 -1
- package/dist/lib/branding-core/ai/claude-interpreter.d.ts.map +1 -1
- package/dist/lib/branding-core/ai/claude-interpreter.js +8 -19
- package/dist/lib/branding-core/ai/claude-interpreter.js.map +1 -1
- package/dist/lib/branding-core/exporters/style-dictionary.d.ts +19 -0
- package/dist/lib/branding-core/exporters/style-dictionary.d.ts.map +1 -0
- package/dist/lib/branding-core/exporters/style-dictionary.js +85 -0
- package/dist/lib/branding-core/exporters/style-dictionary.js.map +1 -0
- package/dist/lib/branding-core/generators/brand-voice.d.ts +3 -0
- package/dist/lib/branding-core/generators/brand-voice.d.ts.map +1 -0
- package/dist/lib/branding-core/generators/brand-voice.js +338 -0
- package/dist/lib/branding-core/generators/brand-voice.js.map +1 -0
- package/dist/lib/branding-core/index.d.ts +2 -0
- package/dist/lib/branding-core/index.d.ts.map +1 -1
- package/dist/lib/branding-core/index.js +2 -0
- package/dist/lib/branding-core/index.js.map +1 -1
- package/dist/lib/branding-core/validators/token-schema.d.ts +1 -1
- package/dist/lib/branding-core/validators/token-schema.d.ts.map +1 -1
- package/dist/lib/branding-core/validators/token-schema.js +9 -1
- package/dist/lib/branding-core/validators/token-schema.js.map +1 -1
- package/dist/lib/config.d.ts +3 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +5 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/http-server.d.ts +3 -0
- package/dist/lib/http-server.d.ts.map +1 -0
- package/dist/lib/http-server.js +93 -0
- package/dist/lib/http-server.js.map +1 -0
- package/dist/lib/types.d.ts +27 -1
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/tools/export-design-tokens.d.ts.map +1 -1
- package/dist/tools/export-design-tokens.js +2 -1
- package/dist/tools/export-design-tokens.js.map +1 -1
- package/dist/tools/generate-brand-voice.d.ts +3 -0
- package/dist/tools/generate-brand-voice.d.ts.map +1 -0
- package/dist/tools/generate-brand-voice.js +51 -0
- package/dist/tools/generate-brand-voice.js.map +1 -0
- package/dist/tools/generate-design-system.d.ts.map +1 -1
- package/dist/tools/generate-design-system.js +2 -1
- package/dist/tools/generate-design-system.js.map +1 -1
- package/package.json +21 -3
- package/server.json +41 -0
- package/.env.example +0 -3
- package/.github/CODEOWNERS +0 -1
- package/.github/ISSUE_TEMPLATE/config.yml +0 -8
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -22
- package/.github/PULL_REQUEST_TEMPLATE.md +0 -22
- package/.github/dependabot.yml +0 -17
- package/.github/workflows/ci.yml +0 -55
- package/.github/workflows/codeql.yml +0 -47
- package/.github/workflows/release-automation.yml +0 -56
- package/.github/workflows/secret-scan.yml +0 -13
- package/.github/workflows/security-scan.yml +0 -37
- package/.github/workflows/semgrep.yml +0 -12
- package/.github/workflows/trivy.yml +0 -17
- package/.gitleaks.toml +0 -14
- package/.husky/commit-msg +0 -1
- package/.nvmrc +0 -1
- package/.prettierrc.json +0 -10
- package/CHANGELOG.md +0 -114
- package/CONTRIBUTING.md +0 -203
- package/catalog-info.yaml +0 -16
- package/commitlint.config.cjs +0 -24
- package/data/README.md +0 -13
- package/docs/API.md +0 -110
- package/docs/DATA_SOURCES.md +0 -69
- package/docs/INTEGRATION.md +0 -58
- package/eslint.config.js +0 -52
- package/jest.config.js +0 -40
- package/knip.json +0 -10
- package/src/__tests__/integration/brand-generation.test.ts +0 -84
- package/src/__tests__/integration/mcp-server.test.ts +0 -18
- package/src/__tests__/unit/ai-interpreter.test.ts +0 -172
- package/src/__tests__/unit/border-system.test.ts +0 -77
- package/src/__tests__/unit/color-palette.test.ts +0 -161
- package/src/__tests__/unit/contrast-checker.test.ts +0 -124
- package/src/__tests__/unit/design-system-tool.test.ts +0 -176
- package/src/__tests__/unit/design-tokens.test.ts +0 -184
- package/src/__tests__/unit/favicon-generator.test.ts +0 -80
- package/src/__tests__/unit/gradient-system.test.ts +0 -122
- package/src/__tests__/unit/logo-generator.test.ts +0 -146
- package/src/__tests__/unit/motion-system.test.ts +0 -91
- package/src/__tests__/unit/og-image-generator.test.ts +0 -115
- package/src/__tests__/unit/shadow-system.test.ts +0 -63
- package/src/__tests__/unit/spacing-scale.test.ts +0 -60
- package/src/__tests__/unit/typography-system.test.ts +0 -71
- package/src/index.ts +0 -76
- package/src/lib/branding-core/ai/brand-interpreter.ts +0 -30
- package/src/lib/branding-core/ai/claude-interpreter.ts +0 -76
- package/src/lib/branding-core/ai/intent-applier.ts +0 -59
- package/src/lib/branding-core/ai/keyword-interpreter.ts +0 -95
- package/src/lib/branding-core/ai/prompts.ts +0 -93
- package/src/lib/branding-core/ai/types.ts +0 -36
- package/src/lib/branding-core/documents/html-generator.ts +0 -32
- package/src/lib/branding-core/documents/pdf-generator.ts +0 -21
- package/src/lib/branding-core/exporters/css-variables.ts +0 -71
- package/src/lib/branding-core/exporters/design-tokens.ts +0 -86
- package/src/lib/branding-core/exporters/figma-tokens.ts +0 -87
- package/src/lib/branding-core/exporters/react-theme.ts +0 -69
- package/src/lib/branding-core/exporters/sass-variables.ts +0 -74
- package/src/lib/branding-core/exporters/tailwind-preset.ts +0 -67
- package/src/lib/branding-core/generators/border-system.ts +0 -41
- package/src/lib/branding-core/generators/color-palette.ts +0 -147
- package/src/lib/branding-core/generators/favicon-generator.ts +0 -33
- package/src/lib/branding-core/generators/gradient-system.ts +0 -120
- package/src/lib/branding-core/generators/logo-generator.ts +0 -152
- package/src/lib/branding-core/generators/motion-system.ts +0 -98
- package/src/lib/branding-core/generators/og-image-generator.ts +0 -97
- package/src/lib/branding-core/generators/shadow-system.ts +0 -66
- package/src/lib/branding-core/generators/spacing-scale.ts +0 -29
- package/src/lib/branding-core/generators/typography-system.ts +0 -128
- package/src/lib/branding-core/index.ts +0 -28
- package/src/lib/branding-core/validators/brand-consistency.ts +0 -79
- package/src/lib/branding-core/validators/contrast-checker.ts +0 -37
- package/src/lib/branding-core/validators/token-schema.ts +0 -50
- package/src/lib/config.ts +0 -13
- package/src/lib/logger.ts +0 -12
- package/src/lib/types.ts +0 -236
- package/src/resources/brand-knowledge.ts +0 -60
- package/src/resources/brand-templates.ts +0 -385
- package/src/tools/create-brand-guidelines.ts +0 -94
- package/src/tools/export-design-tokens.ts +0 -52
- package/src/tools/generate-brand-assets.ts +0 -48
- package/src/tools/generate-brand-identity.ts +0 -115
- package/src/tools/generate-color-palette.ts +0 -43
- package/src/tools/generate-design-system.ts +0 -163
- package/src/tools/generate-typography-system.ts +0 -42
- package/src/tools/refine-brand-element.ts +0 -65
- package/src/tools/validate-brand-consistency.ts +0 -32
- package/tsconfig.json +0 -21
package/README.md
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
</div>
|
|
8
8
|
|
|
9
9
|
[](https://github.com/Forge-Space/branding-mcp/actions/workflows/ci.yml)
|
|
10
|
+
[](https://www.npmjs.com/package/@forgespace/branding-mcp)
|
|
10
11
|
[](https://opensource.org/licenses/MIT)
|
|
11
12
|
|
|
12
13
|
Generate complete design systems — colors, typography, spacing, shadows, borders, motion tokens, gradients, multi-variant logos, favicons, and OG images with multi-format export. 9 MCP tools, zero API dependencies, algorithmic-first generation.
|
|
@@ -34,19 +35,35 @@ npm install
|
|
|
34
35
|
npm run build
|
|
35
36
|
```
|
|
36
37
|
|
|
37
|
-
###
|
|
38
|
+
### Run from npm (stdio)
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
npx -y @forgespace/branding-mcp@latest
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Install globally
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npm install -g @forgespace/branding-mcp
|
|
48
|
+
forgespace-branding-mcp
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### IDE / client config
|
|
38
52
|
|
|
39
53
|
```json
|
|
40
54
|
{
|
|
41
55
|
"mcpServers": {
|
|
42
|
-
"branding": {
|
|
43
|
-
"command": "
|
|
44
|
-
"args": ["
|
|
56
|
+
"forgespace-branding": {
|
|
57
|
+
"command": "npx",
|
|
58
|
+
"args": ["-y", "@forgespace/branding-mcp@latest"]
|
|
45
59
|
}
|
|
46
60
|
}
|
|
47
61
|
}
|
|
48
62
|
```
|
|
49
63
|
|
|
64
|
+
Set `ANTHROPIC_API_KEY` when you want AI-assisted refinement. The server also
|
|
65
|
+
works in algorithmic-only mode without external APIs.
|
|
66
|
+
|
|
50
67
|
### MCP Tools
|
|
51
68
|
|
|
52
69
|
| Tool | Description |
|
|
@@ -78,6 +95,19 @@ npm run test:coverage # Coverage report
|
|
|
78
95
|
npm run build # Build TypeScript
|
|
79
96
|
```
|
|
80
97
|
|
|
98
|
+
## Distribution
|
|
99
|
+
|
|
100
|
+
- **npm** — installable as
|
|
101
|
+
[`@forgespace/branding-mcp`](https://www.npmjs.com/package/@forgespace/branding-mcp)
|
|
102
|
+
- **MCP Registry metadata** — `server.json` and `mcpName` are included for
|
|
103
|
+
registry submission
|
|
104
|
+
- **Tag release automation** — pushing `v*` runs npm publish with provenance,
|
|
105
|
+
then publishes the same version to the MCP Registry via GitHub OIDC
|
|
106
|
+
- **Weekly registry ops** — `.github/workflows/mcp-registry-status.yml` refreshes
|
|
107
|
+
one issue with npm and MCP Registry drift, visibility, and next actions
|
|
108
|
+
- **GitHub** —
|
|
109
|
+
[Forge-Space/branding-mcp](https://github.com/Forge-Space/branding-mcp)
|
|
110
|
+
|
|
81
111
|
## Architecture
|
|
82
112
|
|
|
83
113
|
```
|
|
@@ -101,10 +131,16 @@ src/
|
|
|
101
131
|
Part of the [Forge Space](https://github.com/Forge-Space) ecosystem:
|
|
102
132
|
|
|
103
133
|
- **mcp-gateway** — Register as MCP server (port 8033)
|
|
104
|
-
- **
|
|
134
|
+
- **ui-mcp** — Consumes brand tokens via `brandId` parameter
|
|
105
135
|
- **uiforge-webapp** — Brand management UI at `/branding/*`
|
|
106
136
|
- **forge-patterns** — Shared configs and conventions
|
|
107
137
|
|
|
138
|
+
## Community
|
|
139
|
+
|
|
140
|
+
- [Documentation](https://docs.forgespace.co/docs)
|
|
141
|
+
- [GitHub Discussions](https://github.com/orgs/Forge-Space/discussions)
|
|
142
|
+
- [Issue tracker](https://github.com/Forge-Space/branding-mcp/issues)
|
|
143
|
+
|
|
108
144
|
## License
|
|
109
145
|
|
|
110
146
|
MIT
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
export type { BrandIdentity, ColorPalette, TypographySystem, SpacingScale, ShadowSystem, BorderSystem, MotionSystem, GradientSystem, LogoOutput, BrandStyle, ColorHarmony, ExportFormat, } from './lib/types.js';
|
|
2
|
+
export type { BrandIdentity, ColorPalette, TypographySystem, SpacingScale, ShadowSystem, BorderSystem, MotionSystem, GradientSystem, LogoOutput, BrandStyle, ColorHarmony, ExportFormat, BrandVoiceGuidelines, BrandVoiceTone, BrandVoiceAudience, } from './lib/types.js';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,YAAY,EACV,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,UAAU,EACV,UAAU,EACV,YAAY,EACZ,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,YAAY,EACV,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,UAAU,EACV,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,kBAAkB,GACnB,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3,6 +3,7 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
|
3
3
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
4
4
|
import { loadConfig } from './lib/config.js';
|
|
5
5
|
import { logger } from './lib/logger.js';
|
|
6
|
+
import { startHttpServer } from './lib/http-server.js';
|
|
6
7
|
import { registerGenerateBrandIdentity } from './tools/generate-brand-identity.js';
|
|
7
8
|
import { registerGenerateColorPalette } from './tools/generate-color-palette.js';
|
|
8
9
|
import { registerGenerateTypographySystem } from './tools/generate-typography-system.js';
|
|
@@ -12,6 +13,7 @@ import { registerValidateBrandConsistency } from './tools/validate-brand-consist
|
|
|
12
13
|
import { registerRefineBrandElement } from './tools/refine-brand-element.js';
|
|
13
14
|
import { registerGenerateBrandAssets } from './tools/generate-brand-assets.js';
|
|
14
15
|
import { registerGenerateDesignSystem } from './tools/generate-design-system.js';
|
|
16
|
+
import { registerGenerateBrandVoice } from './tools/generate-brand-voice.js';
|
|
15
17
|
import { registerBrandTemplates } from './resources/brand-templates.js';
|
|
16
18
|
import { registerBrandKnowledge } from './resources/brand-knowledge.js';
|
|
17
19
|
async function main() {
|
|
@@ -19,7 +21,7 @@ async function main() {
|
|
|
19
21
|
logger.info({ env: config.nodeEnv }, 'Starting branding-mcp server');
|
|
20
22
|
const server = new McpServer({
|
|
21
23
|
name: '@forgespace/branding-mcp',
|
|
22
|
-
version: '0.
|
|
24
|
+
version: '0.8.0',
|
|
23
25
|
});
|
|
24
26
|
registerGenerateBrandIdentity(server);
|
|
25
27
|
registerGenerateColorPalette(server);
|
|
@@ -30,11 +32,17 @@ async function main() {
|
|
|
30
32
|
registerRefineBrandElement(server);
|
|
31
33
|
registerGenerateBrandAssets(server);
|
|
32
34
|
registerGenerateDesignSystem(server);
|
|
35
|
+
registerGenerateBrandVoice(server);
|
|
33
36
|
registerBrandTemplates(server);
|
|
34
37
|
registerBrandKnowledge(server);
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
+
if (config.transport === 'http') {
|
|
39
|
+
await startHttpServer(server, config.port);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
const transport = new StdioServerTransport();
|
|
43
|
+
await server.connect(transport);
|
|
44
|
+
logger.info('Branding MCP server connected via stdio');
|
|
45
|
+
}
|
|
38
46
|
}
|
|
39
47
|
main().catch((error) => {
|
|
40
48
|
logger.fatal(error, 'Failed to start branding-mcp server');
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-interpreter.d.ts","sourceRoot":"","sources":["../../../../src/lib/branding-core/ai/claude-interpreter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"claude-interpreter.d.ts","sourceRoot":"","sources":["../../../../src/lib/branding-core/ai/claude-interpreter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAuBlE,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,QAAQ,GAAG,YAAY,GAAG,SAAS,EAC5C,YAAY,EAAE,aAAa,EAC3B,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,WAAW,CAAC,CAYtB;AAED,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,WAAW,CAAC,CAYtB"}
|
|
@@ -1,26 +1,15 @@
|
|
|
1
|
+
import Anthropic from '@anthropic-ai/sdk';
|
|
1
2
|
import { buildRefinementPrompt, buildGenerationPrompt } from './prompts.js';
|
|
2
3
|
import { logger } from '../../logger.js';
|
|
3
4
|
async function callClaude(prompt, options) {
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
'anthropic-version': '2023-06-01',
|
|
10
|
-
},
|
|
11
|
-
body: JSON.stringify({
|
|
12
|
-
model: options.model,
|
|
13
|
-
max_tokens: options.maxTokens,
|
|
14
|
-
messages: [{ role: 'user', content: prompt }],
|
|
15
|
-
}),
|
|
5
|
+
const client = new Anthropic({ apiKey: options.anthropicApiKey });
|
|
6
|
+
const message = await client.messages.create({
|
|
7
|
+
model: options.model,
|
|
8
|
+
max_tokens: options.maxTokens,
|
|
9
|
+
messages: [{ role: 'user', content: prompt }],
|
|
16
10
|
});
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
throw new Error(`Anthropic API error ${response.status}: ${body}`);
|
|
20
|
-
}
|
|
21
|
-
const data = (await response.json());
|
|
22
|
-
const textBlock = data.content.find((b) => b.type === 'text');
|
|
23
|
-
if (!textBlock)
|
|
11
|
+
const textBlock = message.content.find((b) => b.type === 'text');
|
|
12
|
+
if (!textBlock || textBlock.type !== 'text')
|
|
24
13
|
throw new Error('No text content in Anthropic response');
|
|
25
14
|
return textBlock.text;
|
|
26
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-interpreter.js","sourceRoot":"","sources":["../../../../src/lib/branding-core/ai/claude-interpreter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"claude-interpreter.js","sourceRoot":"","sources":["../../../../src/lib/branding-core/ai/claude-interpreter.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAG1C,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,KAAK,UAAU,UAAU,CAAC,MAAc,EAAE,OAAqC;IAC7E,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC3C,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,UAAU,EAAE,OAAO,CAAC,SAAS;QAC7B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;KAC9C,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IACjE,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM;QACzC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,OAAO,SAAS,CAAC,IAAI,CAAC;AACxB,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC3C,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACvE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAgB,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAgB,EAChB,OAA4C,EAC5C,YAA2B,EAC3B,OAA2B;IAE3B,MAAM,IAAI,GAAiC;QACzC,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,EAAE;QAC9C,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,0BAA0B;QAClD,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,GAAG;KACpC,CAAC;IAEF,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IACtE,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,mCAAmC,CAAC,CAAC;IAEjF,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3C,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,SAAiB,EACjB,QAAgB,EAChB,WAAmB,EACnB,OAA2B;IAE3B,MAAM,IAAI,GAAiC;QACzC,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,EAAE;QAC9C,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,0BAA0B;QAClD,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,GAAG;KACpC,CAAC;IAEF,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACvE,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,0CAA0C,CAAC,CAAC;IAE1F,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3C,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { BrandIdentity } from '../../types.js';
|
|
2
|
+
interface StyleDictionaryValue {
|
|
3
|
+
value: string | number;
|
|
4
|
+
type?: string;
|
|
5
|
+
comment?: string;
|
|
6
|
+
}
|
|
7
|
+
type StyleDictionaryGroup = Record<string, StyleDictionaryValue | Record<string, StyleDictionaryValue>>;
|
|
8
|
+
interface StyleDictionaryOutput {
|
|
9
|
+
color: Record<string, StyleDictionaryGroup | StyleDictionaryValue>;
|
|
10
|
+
typography: Record<string, StyleDictionaryGroup | StyleDictionaryValue>;
|
|
11
|
+
spacing: Record<string, StyleDictionaryValue>;
|
|
12
|
+
shadow?: Record<string, StyleDictionaryValue>;
|
|
13
|
+
border?: Record<string, StyleDictionaryValue>;
|
|
14
|
+
motion?: Record<string, StyleDictionaryValue>;
|
|
15
|
+
gradient?: Record<string, StyleDictionaryValue>;
|
|
16
|
+
}
|
|
17
|
+
export declare function exportStyleDictionary(brand: BrandIdentity): StyleDictionaryOutput;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=style-dictionary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style-dictionary.d.ts","sourceRoot":"","sources":["../../../../src/lib/branding-core/exporters/style-dictionary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,UAAU,oBAAoB;IAC5B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,KAAK,oBAAoB,GAAG,MAAM,CAChC,MAAM,EACN,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAC5D,CAAC;AAEF,UAAU,qBAAqB;IAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,oBAAoB,CAAC,CAAC;IACnE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,oBAAoB,CAAC,CAAC;IACxE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CACjD;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,aAAa,GAAG,qBAAqB,CA8FjF"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
export function exportStyleDictionary(brand) {
|
|
2
|
+
const { colors, typography, spacing } = brand;
|
|
3
|
+
const color = {
|
|
4
|
+
primary: { value: colors.primary.hex, type: 'color', comment: colors.primary.usage },
|
|
5
|
+
secondary: { value: colors.secondary.hex, type: 'color', comment: colors.secondary.usage },
|
|
6
|
+
accent: { value: colors.accent.hex, type: 'color', comment: colors.accent.usage },
|
|
7
|
+
semantic: {
|
|
8
|
+
success: {
|
|
9
|
+
value: colors.semantic.success.hex,
|
|
10
|
+
type: 'color',
|
|
11
|
+
comment: colors.semantic.success.usage,
|
|
12
|
+
},
|
|
13
|
+
warning: {
|
|
14
|
+
value: colors.semantic.warning.hex,
|
|
15
|
+
type: 'color',
|
|
16
|
+
comment: colors.semantic.warning.usage,
|
|
17
|
+
},
|
|
18
|
+
error: {
|
|
19
|
+
value: colors.semantic.error.hex,
|
|
20
|
+
type: 'color',
|
|
21
|
+
comment: colors.semantic.error.usage,
|
|
22
|
+
},
|
|
23
|
+
info: { value: colors.semantic.info.hex, type: 'color', comment: colors.semantic.info.usage },
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
for (const neutral of colors.neutral) {
|
|
27
|
+
color[neutral.name] = { value: neutral.hex, type: 'color', comment: neutral.usage };
|
|
28
|
+
}
|
|
29
|
+
const typo = {
|
|
30
|
+
fontFamily: {
|
|
31
|
+
heading: { value: typography.headingFont, type: 'fontFamily' },
|
|
32
|
+
body: { value: typography.bodyFont, type: 'fontFamily' },
|
|
33
|
+
mono: { value: typography.monoFont, type: 'fontFamily' },
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
for (const step of typography.steps) {
|
|
37
|
+
typo[step.name] = {
|
|
38
|
+
fontSize: { value: step.size, type: 'dimension' },
|
|
39
|
+
lineHeight: { value: step.lineHeight, type: 'number' },
|
|
40
|
+
letterSpacing: { value: step.letterSpacing, type: 'dimension' },
|
|
41
|
+
fontWeight: { value: step.weight, type: 'fontWeight' },
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
const spacingTokens = {};
|
|
45
|
+
for (const [key, value] of Object.entries(spacing.values)) {
|
|
46
|
+
spacingTokens[key] = { value, type: 'dimension' };
|
|
47
|
+
}
|
|
48
|
+
const result = {
|
|
49
|
+
color,
|
|
50
|
+
typography: typo,
|
|
51
|
+
spacing: spacingTokens,
|
|
52
|
+
};
|
|
53
|
+
if (brand.shadows) {
|
|
54
|
+
result.shadow = {};
|
|
55
|
+
for (const [name, level] of Object.entries(brand.shadows.levels)) {
|
|
56
|
+
result.shadow[name] = { value: level.cssValue, type: 'shadow' };
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (brand.borders) {
|
|
60
|
+
result.border = {};
|
|
61
|
+
for (const [name, value] of Object.entries(brand.borders.radii)) {
|
|
62
|
+
result.border[`radius-${name}`] = { value, type: 'borderRadius' };
|
|
63
|
+
}
|
|
64
|
+
for (const [name, value] of Object.entries(brand.borders.widths)) {
|
|
65
|
+
result.border[`width-${name}`] = { value, type: 'borderWidth' };
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
if (brand.motion) {
|
|
69
|
+
result.motion = {};
|
|
70
|
+
for (const [name, value] of Object.entries(brand.motion.durations)) {
|
|
71
|
+
result.motion[`duration-${name}`] = { value, type: 'duration' };
|
|
72
|
+
}
|
|
73
|
+
for (const [name, value] of Object.entries(brand.motion.easings)) {
|
|
74
|
+
result.motion[`easing-${name}`] = { value, type: 'cubicBezier' };
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
if (brand.gradients) {
|
|
78
|
+
result.gradient = {};
|
|
79
|
+
for (const [name, gradient] of Object.entries(brand.gradients.presets)) {
|
|
80
|
+
result.gradient[name] = { value: gradient.cssValue, type: 'gradient' };
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return result;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=style-dictionary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style-dictionary.js","sourceRoot":"","sources":["../../../../src/lib/branding-core/exporters/style-dictionary.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { BrandIdentity, BrandVoiceGuidelines, BrandVoiceTone, BrandVoiceAudience } from '../../types.js';
|
|
2
|
+
export declare function generateBrandVoice(brand: BrandIdentity, overrideTone?: BrandVoiceTone, overrideAudience?: BrandVoiceAudience): BrandVoiceGuidelines;
|
|
3
|
+
//# sourceMappingURL=brand-voice.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brand-voice.d.ts","sourceRoot":"","sources":["../../../../src/lib/branding-core/generators/brand-voice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AAuVxB,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,EACpB,YAAY,CAAC,EAAE,cAAc,EAC7B,gBAAgB,CAAC,EAAE,kBAAkB,GACpC,oBAAoB,CAkBtB"}
|