@forgespace/branding-mcp 0.7.1 → 0.9.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.
Files changed (53) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +23 -4
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/branding-core/ai/claude-interpreter.d.ts.map +1 -1
  6. package/dist/lib/branding-core/ai/claude-interpreter.js +8 -19
  7. package/dist/lib/branding-core/ai/claude-interpreter.js.map +1 -1
  8. package/dist/lib/branding-core/exporters/style-dictionary.d.ts +19 -0
  9. package/dist/lib/branding-core/exporters/style-dictionary.d.ts.map +1 -0
  10. package/dist/lib/branding-core/exporters/style-dictionary.js +85 -0
  11. package/dist/lib/branding-core/exporters/style-dictionary.js.map +1 -0
  12. package/dist/lib/branding-core/generators/brand-naming.d.ts +20 -0
  13. package/dist/lib/branding-core/generators/brand-naming.d.ts.map +1 -0
  14. package/dist/lib/branding-core/generators/brand-naming.js +164 -0
  15. package/dist/lib/branding-core/generators/brand-naming.js.map +1 -0
  16. package/dist/lib/branding-core/generators/brand-voice.d.ts +3 -0
  17. package/dist/lib/branding-core/generators/brand-voice.d.ts.map +1 -0
  18. package/dist/lib/branding-core/generators/brand-voice.js +338 -0
  19. package/dist/lib/branding-core/generators/brand-voice.js.map +1 -0
  20. package/dist/lib/branding-core/index.d.ts +3 -0
  21. package/dist/lib/branding-core/index.d.ts.map +1 -1
  22. package/dist/lib/branding-core/index.js +3 -0
  23. package/dist/lib/branding-core/index.js.map +1 -1
  24. package/dist/lib/branding-core/validators/token-schema.d.ts +1 -1
  25. package/dist/lib/branding-core/validators/token-schema.d.ts.map +1 -1
  26. package/dist/lib/branding-core/validators/token-schema.js +9 -1
  27. package/dist/lib/branding-core/validators/token-schema.js.map +1 -1
  28. package/dist/lib/config.d.ts +3 -0
  29. package/dist/lib/config.d.ts.map +1 -1
  30. package/dist/lib/config.js +5 -0
  31. package/dist/lib/config.js.map +1 -1
  32. package/dist/lib/http-server.d.ts +3 -0
  33. package/dist/lib/http-server.d.ts.map +1 -0
  34. package/dist/lib/http-server.js +98 -0
  35. package/dist/lib/http-server.js.map +1 -0
  36. package/dist/lib/types.d.ts +44 -1
  37. package/dist/lib/types.d.ts.map +1 -1
  38. package/dist/tools/export-design-tokens.d.ts.map +1 -1
  39. package/dist/tools/export-design-tokens.js +2 -1
  40. package/dist/tools/export-design-tokens.js.map +1 -1
  41. package/dist/tools/generate-brand-naming.d.ts +3 -0
  42. package/dist/tools/generate-brand-naming.d.ts.map +1 -0
  43. package/dist/tools/generate-brand-naming.js +25 -0
  44. package/dist/tools/generate-brand-naming.js.map +1 -0
  45. package/dist/tools/generate-brand-voice.d.ts +3 -0
  46. package/dist/tools/generate-brand-voice.d.ts.map +1 -0
  47. package/dist/tools/generate-brand-voice.js +51 -0
  48. package/dist/tools/generate-brand-voice.js.map +1 -0
  49. package/dist/tools/generate-design-system.d.ts.map +1 -1
  50. package/dist/tools/generate-design-system.js +2 -1
  51. package/dist/tools/generate-design-system.js.map +1 -1
  52. package/package.json +2 -1
  53. package/server.json +14 -2
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, BrandNamingOutput, NameIdea, DomainSuggestion, } from './lib/types.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -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,GACb,MAAM,gBAAgB,CAAC"}
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,EAClB,iBAAiB,EACjB,QAAQ,EACR,gBAAgB,GACjB,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -1,8 +1,10 @@
1
1
  #!/usr/bin/env node
2
+ import { parseArgs } from 'node:util';
2
3
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
4
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
5
  import { loadConfig } from './lib/config.js';
5
6
  import { logger } from './lib/logger.js';
7
+ import { startHttpServer } from './lib/http-server.js';
6
8
  import { registerGenerateBrandIdentity } from './tools/generate-brand-identity.js';
7
9
  import { registerGenerateColorPalette } from './tools/generate-color-palette.js';
8
10
  import { registerGenerateTypographySystem } from './tools/generate-typography-system.js';
@@ -12,14 +14,24 @@ import { registerValidateBrandConsistency } from './tools/validate-brand-consist
12
14
  import { registerRefineBrandElement } from './tools/refine-brand-element.js';
13
15
  import { registerGenerateBrandAssets } from './tools/generate-brand-assets.js';
14
16
  import { registerGenerateDesignSystem } from './tools/generate-design-system.js';
17
+ import { registerGenerateBrandVoice } from './tools/generate-brand-voice.js';
18
+ import { registerGenerateBrandNaming } from './tools/generate-brand-naming.js';
15
19
  import { registerBrandTemplates } from './resources/brand-templates.js';
16
20
  import { registerBrandKnowledge } from './resources/brand-knowledge.js';
17
21
  async function main() {
22
+ const { values: cliArgs } = parseArgs({
23
+ args: process.argv.slice(2),
24
+ options: { transport: { type: 'string' } },
25
+ strict: false,
26
+ });
27
+ if (cliArgs.transport) {
28
+ process.env.MCP_TRANSPORT = cliArgs.transport;
29
+ }
18
30
  const config = loadConfig();
19
31
  logger.info({ env: config.nodeEnv }, 'Starting branding-mcp server');
20
32
  const server = new McpServer({
21
33
  name: '@forgespace/branding-mcp',
22
- version: '0.7.1',
34
+ version: '0.9.0',
23
35
  });
24
36
  registerGenerateBrandIdentity(server);
25
37
  registerGenerateColorPalette(server);
@@ -30,11 +42,18 @@ async function main() {
30
42
  registerRefineBrandElement(server);
31
43
  registerGenerateBrandAssets(server);
32
44
  registerGenerateDesignSystem(server);
45
+ registerGenerateBrandVoice(server);
46
+ registerGenerateBrandNaming(server);
33
47
  registerBrandTemplates(server);
34
48
  registerBrandKnowledge(server);
35
- const transport = new StdioServerTransport();
36
- await server.connect(transport);
37
- logger.info('Branding MCP server connected via stdio');
49
+ if (config.transport === 'http') {
50
+ await startHttpServer(server, config.port);
51
+ }
52
+ else {
53
+ const transport = new StdioServerTransport();
54
+ await server.connect(transport);
55
+ logger.info('Branding MCP server connected via stdio');
56
+ }
38
57
  }
39
58
  main().catch((error) => {
40
59
  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":";AAiBA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAEjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,8BAA8B,CAAC,CAAC;IAErE,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACtC,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACrC,gCAAgC,CAAC,MAAM,CAAC,CAAC;IACzC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACtC,gCAAgC,CAAC,MAAM,CAAC,CAAC;IACzC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACpC,4BAA4B,CAAC,MAAM,CAAC,CAAC;IAErC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/B,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAE/B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;AACzD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,qCAAqC,CAAC,CAAC;IAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;IACzB,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;IACxB,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
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":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAsClE,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
+ {"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 response = await fetch('https://api.anthropic.com/v1/messages', {
5
- method: 'POST',
6
- headers: {
7
- 'Content-Type': 'application/json',
8
- 'x-api-key': options.anthropicApiKey,
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
- if (!response.ok) {
18
- const body = await response.text();
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":"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"}
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,20 @@
1
+ import type { BrandIdentity } from '../../types.js';
2
+ export interface BrandNamingOutput {
3
+ nameIdeas: NameIdea[];
4
+ taglineVariations: string[];
5
+ domainSuggestions: DomainSuggestion[];
6
+ hashtags: string[];
7
+ namingRationale: string;
8
+ }
9
+ export interface NameIdea {
10
+ name: string;
11
+ type: 'descriptive' | 'evocative' | 'abstract' | 'acronym' | 'portmanteau';
12
+ rationale: string;
13
+ }
14
+ export interface DomainSuggestion {
15
+ format: string;
16
+ example: string;
17
+ notes: string;
18
+ }
19
+ export declare function generateBrandNaming(brand: BrandIdentity): BrandNamingOutput;
20
+ //# sourceMappingURL=brand-naming.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand-naming.d.ts","sourceRoot":"","sources":["../../../../src/lib/branding-core/generators/brand-naming.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,gBAAgB,CAAC;AAEhE,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,CAAC;IAC3E,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAuKD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,iBAAiB,CAW3E"}
@@ -0,0 +1,164 @@
1
+ const STYLE_NAME_PATTERNS = {
2
+ minimal: {
3
+ prefixes: ['One', 'Pure', 'Clear', 'Simple', 'Clean'],
4
+ suffixes: ['io', 'ly', 'al', 'est', ''],
5
+ modifiers: ['simple', 'clean', 'pure', 'focused'],
6
+ },
7
+ bold: {
8
+ prefixes: ['Peak', 'Apex', 'Ultra', 'Max', 'Prime'],
9
+ suffixes: ['ify', 'surge', 'force', 'edge', 'X'],
10
+ modifiers: ['bold', 'strong', 'powerful', 'intense'],
11
+ },
12
+ elegant: {
13
+ prefixes: ['Lux', 'Vela', 'Aura', 'Noir', 'Belle'],
14
+ suffixes: ['ux', 'ique', 'elle', 'ara', 'oir'],
15
+ modifiers: ['refined', 'elegant', 'sophisticated', 'premium'],
16
+ },
17
+ playful: {
18
+ prefixes: ['Zap', 'Hop', 'Fizz', 'Pop', 'Zip'],
19
+ suffixes: ['ify', 'ster', 'o', 'oo', 'ish'],
20
+ modifiers: ['fun', 'bright', 'bouncy', 'whimsical'],
21
+ },
22
+ corporate: {
23
+ prefixes: ['Global', 'Core', 'Capital', 'Prime', 'Nexus'],
24
+ suffixes: ['Corp', 'Group', 'Solutions', 'Partners', 'Associates'],
25
+ modifiers: ['trusted', 'established', 'professional', 'reliable'],
26
+ },
27
+ tech: {
28
+ prefixes: ['Syn', 'Hex', 'Algo', 'Dev', 'Bit'],
29
+ suffixes: ['.ai', 'Stack', 'Labs', 'Hub', 'OS'],
30
+ modifiers: ['smart', 'automated', 'intelligent', 'connected'],
31
+ },
32
+ organic: {
33
+ prefixes: ['Root', 'Bloom', 'Grove', 'Terra', 'Sage'],
34
+ suffixes: ['Craft', 'Grown', 'Wild', 'Earth', 'Seed'],
35
+ modifiers: ['natural', 'sustainable', 'organic', 'earthy'],
36
+ },
37
+ retro: {
38
+ prefixes: ['Ace', 'Rad', 'Neon', 'Volt', 'Dash'],
39
+ suffixes: ['Works', 'Co', 'Studio', 'Shop', 'House'],
40
+ modifiers: ['classic', 'vintage', 'retro', 'timeless'],
41
+ },
42
+ };
43
+ const INDUSTRY_KEYWORDS = {
44
+ tech: ['data', 'cloud', 'digital', 'smart', 'auto', 'net', 'code'],
45
+ finance: ['capital', 'wealth', 'trust', 'asset', 'fund', 'invest'],
46
+ health: ['care', 'life', 'vital', 'well', 'health', 'pulse'],
47
+ education: ['learn', 'skill', 'grow', 'mentor', 'knowledge', 'academy'],
48
+ food: ['bite', 'taste', 'farm', 'harvest', 'fresh', 'plate'],
49
+ retail: ['shop', 'market', 'store', 'find', 'pick', 'cart'],
50
+ creative: ['studio', 'craft', 'make', 'design', 'art', 'create'],
51
+ travel: ['go', 'roam', 'path', 'journey', 'venture', 'wander'],
52
+ real_estate: ['place', 'home', 'space', 'build', 'dwell', 'abode'],
53
+ };
54
+ function extractIndustryKey(industry) {
55
+ const lower = industry.toLowerCase();
56
+ for (const key of Object.keys(INDUSTRY_KEYWORDS)) {
57
+ if (lower.includes(key))
58
+ return key;
59
+ }
60
+ return 'tech';
61
+ }
62
+ function buildNameIdeas(industry, style) {
63
+ const patterns = STYLE_NAME_PATTERNS[style] ?? STYLE_NAME_PATTERNS.minimal;
64
+ const industryKey = extractIndustryKey(industry);
65
+ const industryWords = INDUSTRY_KEYWORDS[industryKey] ?? INDUSTRY_KEYWORDS.tech;
66
+ return [
67
+ {
68
+ name: `${patterns.prefixes[0]}${industryWords[0].charAt(0).toUpperCase() + industryWords[0].slice(1)}`,
69
+ type: 'portmanteau',
70
+ rationale: `Blends a ${style} style prefix with an industry-specific root for instant recognition.`,
71
+ },
72
+ {
73
+ name: `${industryWords[1].charAt(0).toUpperCase() + industryWords[1].slice(1)}${patterns.suffixes[0]}`,
74
+ type: 'descriptive',
75
+ rationale: `Anchors the name in the ${industry} domain with a ${style}-style ending.`,
76
+ },
77
+ {
78
+ name: `${patterns.prefixes[2]}${patterns.suffixes[2]}`,
79
+ type: 'abstract',
80
+ rationale: `A brandable, vowel-rich name that feels ${patterns.modifiers[0]} and memorable.`,
81
+ },
82
+ {
83
+ name: `${industryWords[0].charAt(0).toUpperCase() + industryWords[0].slice(1)} ${patterns.suffixes[3] || 'Co'}`,
84
+ type: 'evocative',
85
+ rationale: `Evokes the ${industry} space with a ${patterns.modifiers[1]} modifier that differentiates.`,
86
+ },
87
+ {
88
+ name: patterns.prefixes[4] ?? patterns.prefixes[0],
89
+ type: 'abstract',
90
+ rationale: `Short, punchy, easy to spell — ideal for a ${style} brand targeting digital channels.`,
91
+ },
92
+ ];
93
+ }
94
+ function buildTaglineVariations(brand) {
95
+ const { industry, style } = brand;
96
+ const patterns = STYLE_NAME_PATTERNS[style] ?? STYLE_NAME_PATTERNS.minimal;
97
+ const mod = patterns.modifiers;
98
+ return [
99
+ `${mod[0].charAt(0).toUpperCase() + mod[0].slice(1)} ${industry}. Redefined.`,
100
+ `Where ${industry} meets ${mod[1]} design.`,
101
+ `The ${mod[2]} way to ${industry}.`,
102
+ `Built for the ${mod[3]} era.`,
103
+ `${industry.charAt(0).toUpperCase() + industry.slice(1)}, made ${mod[0]}.`,
104
+ ];
105
+ }
106
+ function buildDomainSuggestions(brand) {
107
+ const { industry, style } = brand;
108
+ const industryKey = extractIndustryKey(industry);
109
+ return [
110
+ {
111
+ format: '[brandname].com',
112
+ example: `get${industryKey}.com`,
113
+ notes: 'Primary .com remains the most trusted TLD for any audience.',
114
+ },
115
+ {
116
+ format: '[brandname].io',
117
+ example: `${industryKey}hub.io`,
118
+ notes: 'Strong for tech and SaaS brands; developer-community positive.',
119
+ },
120
+ {
121
+ format: 'get[brandname].com',
122
+ example: `get${industryKey}now.com`,
123
+ notes: 'Action-oriented prefix when exact .com is taken.',
124
+ },
125
+ {
126
+ format: '[brandname].co',
127
+ example: `${style}${industryKey}.co`,
128
+ notes: 'Modern startup feel; shorter than .com alternatives.',
129
+ },
130
+ {
131
+ format: 'try[brandname].com',
132
+ example: `try${industryKey}.com`,
133
+ notes: 'Conversion-friendly for product-led growth.',
134
+ },
135
+ ];
136
+ }
137
+ function buildHashtags(brand) {
138
+ const { industry, style } = brand;
139
+ const industryKey = extractIndustryKey(industry);
140
+ const patterns = STYLE_NAME_PATTERNS[style] ?? STYLE_NAME_PATTERNS.minimal;
141
+ const mod = patterns.modifiers;
142
+ return [
143
+ `#${industryKey}design`,
144
+ `#${mod[0]}${industryKey}`,
145
+ `#${style}brand`,
146
+ `#${industryKey}innovation`,
147
+ `#${mod[2]}${industryKey.charAt(0).toUpperCase() + industryKey.slice(1)}`,
148
+ `#modernbranding`,
149
+ `#${industryKey}community`,
150
+ `#brandidentity`,
151
+ ];
152
+ }
153
+ export function generateBrandNaming(brand) {
154
+ const { industry, style } = brand;
155
+ const patterns = STYLE_NAME_PATTERNS[style] ?? STYLE_NAME_PATTERNS.minimal;
156
+ return {
157
+ nameIdeas: buildNameIdeas(industry, style),
158
+ taglineVariations: buildTaglineVariations(brand),
159
+ domainSuggestions: buildDomainSuggestions(brand),
160
+ hashtags: buildHashtags(brand),
161
+ namingRationale: `Names generated for a ${style} brand in the ${industry} space. Patterns emphasise ${patterns.modifiers.join(', ')} qualities that align with the chosen visual style. Prioritise short (≤12 chars), pronounceable names with available .com or .io domains.`,
162
+ };
163
+ }
164
+ //# sourceMappingURL=brand-naming.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand-naming.js","sourceRoot":"","sources":["../../../../src/lib/branding-core/generators/brand-naming.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"}