@forgespace/branding-mcp 0.10.0 → 0.14.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 (44) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +9 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/branding-core/generators/brand-email.d.ts +3 -0
  6. package/dist/lib/branding-core/generators/brand-email.d.ts.map +1 -0
  7. package/dist/lib/branding-core/generators/brand-email.js +350 -0
  8. package/dist/lib/branding-core/generators/brand-email.js.map +1 -0
  9. package/dist/lib/branding-core/generators/brand-photography.d.ts +4 -0
  10. package/dist/lib/branding-core/generators/brand-photography.d.ts.map +1 -0
  11. package/dist/lib/branding-core/generators/brand-photography.js +377 -0
  12. package/dist/lib/branding-core/generators/brand-photography.js.map +1 -0
  13. package/dist/lib/branding-core/generators/brand-pitch.d.ts +30 -0
  14. package/dist/lib/branding-core/generators/brand-pitch.d.ts.map +1 -0
  15. package/dist/lib/branding-core/generators/brand-pitch.js +208 -0
  16. package/dist/lib/branding-core/generators/brand-pitch.js.map +1 -0
  17. package/dist/lib/branding-core/generators/brand-social.d.ts +4 -0
  18. package/dist/lib/branding-core/generators/brand-social.d.ts.map +1 -0
  19. package/dist/lib/branding-core/generators/brand-social.js +517 -0
  20. package/dist/lib/branding-core/generators/brand-social.js.map +1 -0
  21. package/dist/lib/branding-core/index.d.ts +4 -0
  22. package/dist/lib/branding-core/index.d.ts.map +1 -1
  23. package/dist/lib/branding-core/index.js +4 -0
  24. package/dist/lib/branding-core/index.js.map +1 -1
  25. package/dist/lib/types.d.ts +127 -0
  26. package/dist/lib/types.d.ts.map +1 -1
  27. package/dist/tools/generate-brand-email.d.ts +3 -0
  28. package/dist/tools/generate-brand-email.d.ts.map +1 -0
  29. package/dist/tools/generate-brand-email.js +21 -0
  30. package/dist/tools/generate-brand-email.js.map +1 -0
  31. package/dist/tools/generate-brand-photography.d.ts +3 -0
  32. package/dist/tools/generate-brand-photography.d.ts.map +1 -0
  33. package/dist/tools/generate-brand-photography.js +19 -0
  34. package/dist/tools/generate-brand-photography.js.map +1 -0
  35. package/dist/tools/generate-brand-pitch.d.ts +3 -0
  36. package/dist/tools/generate-brand-pitch.d.ts.map +1 -0
  37. package/dist/tools/generate-brand-pitch.js +19 -0
  38. package/dist/tools/generate-brand-pitch.js.map +1 -0
  39. package/dist/tools/generate-brand-social.d.ts +3 -0
  40. package/dist/tools/generate-brand-social.d.ts.map +1 -0
  41. package/dist/tools/generate-brand-social.js +25 -0
  42. package/dist/tools/generate-brand-social.js.map +1 -0
  43. package/package.json +1 -1
  44. package/server.json +3 -3
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, BrandVoiceGuidelines, BrandVoiceTone, BrandVoiceAudience, BrandNamingOutput, NameIdea, DomainSuggestion, BrandMotionOutput, BrandMotionPrinciple, } 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, BrandMotionOutput, BrandMotionPrinciple, BrandSocialOutput, SocialPlatformConfig, ContentPillar, BrandPitchOutput, ElevatorPitch, PitchDeckSlide, InvestorHighlight, BrandEmailOutput, EmailTemplate, EmailCampaign, BrandPhotographyOutput, PhotoStyleGuide, PhotoCompositionRule, PhotoColorTreatment, } 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,EACZ,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,GACrB,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,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -17,6 +17,10 @@ import { registerGenerateDesignSystem } from './tools/generate-design-system.js'
17
17
  import { registerGenerateBrandVoice } from './tools/generate-brand-voice.js';
18
18
  import { registerGenerateBrandNaming } from './tools/generate-brand-naming.js';
19
19
  import { registerGenerateBrandMotion } from './tools/generate-brand-motion.js';
20
+ import { registerGenerateBrandSocial } from './tools/generate-brand-social.js';
21
+ import { registerGenerateBrandPitch } from './tools/generate-brand-pitch.js';
22
+ import { registerGenerateBrandEmail } from './tools/generate-brand-email.js';
23
+ import { registerGenerateBrandPhotography } from './tools/generate-brand-photography.js';
20
24
  import { registerBrandTemplates } from './resources/brand-templates.js';
21
25
  import { registerBrandKnowledge } from './resources/brand-knowledge.js';
22
26
  async function main() {
@@ -32,7 +36,7 @@ async function main() {
32
36
  logger.info({ env: config.nodeEnv }, 'Starting branding-mcp server');
33
37
  const server = new McpServer({
34
38
  name: '@forgespace/branding-mcp',
35
- version: '0.10.0',
39
+ version: '0.14.0',
36
40
  });
37
41
  registerGenerateBrandIdentity(server);
38
42
  registerGenerateColorPalette(server);
@@ -46,6 +50,10 @@ async function main() {
46
50
  registerGenerateBrandVoice(server);
47
51
  registerGenerateBrandNaming(server);
48
52
  registerGenerateBrandMotion(server);
53
+ registerGenerateBrandSocial(server);
54
+ registerGenerateBrandPitch(server);
55
+ registerGenerateBrandEmail(server);
56
+ registerGenerateBrandPhotography(server);
49
57
  registerBrandTemplates(server);
50
58
  registerBrandKnowledge(server);
51
59
  if (config.transport === 'http') {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { BrandIdentity, BrandEmailOutput } from '../../types.js';
2
+ export declare function generateBrandEmail(brand: BrandIdentity): BrandEmailOutput;
3
+ //# sourceMappingURL=brand-email.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand-email.d.ts","sourceRoot":"","sources":["../../../../src/lib/branding-core/generators/brand-email.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAIb,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AA4TxB,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,gBAAgB,CA4CzE"}
@@ -0,0 +1,350 @@
1
+ const STYLE_COPY_TONE = {
2
+ minimal: 'Clear, concise, and direct. No fluff. Every word earns its place.',
3
+ bold: 'Energetic, confident, and punchy. Short sentences. Big impact.',
4
+ elegant: 'Refined, graceful, and aspirational. Evokes emotion through careful language.',
5
+ playful: 'Fun, warm, and conversational. Use contractions, humor, and personality.',
6
+ corporate: 'Professional, trustworthy, and informative. Formal yet approachable.',
7
+ tech: 'Smart, precise, and solution-focused. Speak to outcomes and efficiency.',
8
+ organic: 'Warm, authentic, and community-driven. Natural language, human connection.',
9
+ retro: 'Nostalgic, character-rich, and distinctive. Classic references, timeless feel.',
10
+ };
11
+ const STYLE_SUBJECT_FORMULAS = {
12
+ minimal: [
13
+ 'Introducing [Feature/Offer]',
14
+ 'One thing you should know about [Topic]',
15
+ '[Number] words: [Key message]',
16
+ ],
17
+ bold: [
18
+ 'This changes everything.',
19
+ "Ready to [Achievement]? Here's how.",
20
+ 'We just dropped [Product/News] 🔥',
21
+ ],
22
+ elegant: [
23
+ 'A new chapter begins — [Brand Name]',
24
+ 'Curated for you: [Content/Offer]',
25
+ 'The art of [Topic]',
26
+ ],
27
+ playful: [
28
+ 'Psst… [Secret/Offer] inside! 🎉',
29
+ 'You asked, we delivered (sort of) 😄',
30
+ 'This email is 100% fun-free (just kidding)',
31
+ ],
32
+ corporate: [
33
+ 'Important update: [Topic]',
34
+ 'Your [Period] report is ready',
35
+ 'Action required: [Topic]',
36
+ ],
37
+ tech: [
38
+ "[Feature] is live — here's what you can do",
39
+ "We fixed [Problem]. Here's how.",
40
+ 'Performance update: [Metric] improved by [X]%',
41
+ ],
42
+ organic: [
43
+ 'From our community to yours 🌿',
44
+ 'A note from [Founder/Team]',
45
+ "What's growing this [Season/Month]",
46
+ ],
47
+ retro: [
48
+ 'Flash back to [Year/Era]',
49
+ 'Old school cool: [Topic]',
50
+ 'Remember when [Nostalgic reference]? We do.',
51
+ ],
52
+ };
53
+ const STYLE_CTA = {
54
+ minimal: 'Get started',
55
+ bold: 'Take action now',
56
+ elegant: 'Discover more',
57
+ playful: "Let's go! 🚀",
58
+ corporate: 'Learn more',
59
+ tech: 'See how it works',
60
+ organic: 'Join us',
61
+ retro: 'Step back in time',
62
+ };
63
+ const STYLE_CAMPAIGNS = {
64
+ minimal: [
65
+ {
66
+ type: 'Onboarding',
67
+ goal: 'Help new users get value quickly',
68
+ frequency: '3-email sequence over 7 days',
69
+ keyMessages: ['Welcome to [Brand]', 'Your first step', "You're set up"],
70
+ callToAction: 'Start now',
71
+ },
72
+ {
73
+ type: 'Product Update',
74
+ goal: 'Inform users of new features or improvements',
75
+ frequency: 'As-needed, max 2x/month',
76
+ keyMessages: ['What changed', 'Why it matters', 'What to do next'],
77
+ callToAction: 'See the update',
78
+ },
79
+ ],
80
+ bold: [
81
+ {
82
+ type: 'Launch Campaign',
83
+ goal: 'Drive excitement and conversions for a new product',
84
+ frequency: 'Countdown: 7 days before, day-of, 3 days after',
85
+ keyMessages: ['The wait is over', 'Introducing [Product]', 'Last chance to get [Offer]'],
86
+ callToAction: 'Get it now',
87
+ },
88
+ {
89
+ type: 'Re-engagement',
90
+ goal: 'Win back inactive subscribers',
91
+ frequency: 'Single email + 1 follow-up',
92
+ keyMessages: ['We miss you', "Here's what you've missed", 'Come back offer'],
93
+ callToAction: 'Claim your offer',
94
+ },
95
+ ],
96
+ elegant: [
97
+ {
98
+ type: 'Curated Content',
99
+ goal: 'Build brand authority and reader loyalty',
100
+ frequency: 'Weekly or bi-weekly',
101
+ keyMessages: ['Handpicked for you', 'This week in [Industry]', "Editor's note"],
102
+ callToAction: 'Read the full story',
103
+ },
104
+ {
105
+ type: 'Seasonal Campaign',
106
+ goal: 'Drive seasonal purchases or engagement',
107
+ frequency: 'Holiday and seasonal moments',
108
+ keyMessages: ['A gift for you', 'Limited-time elegance', "This season's collection"],
109
+ callToAction: 'Shop the collection',
110
+ },
111
+ ],
112
+ playful: [
113
+ {
114
+ type: 'Nurture Series',
115
+ goal: 'Build relationship and move subscribers toward purchase',
116
+ frequency: 'Weekly, 4-email series',
117
+ keyMessages: [
118
+ 'Get to know us',
119
+ "Here's something fun",
120
+ 'A little gift for you',
121
+ 'Ready to [action]?',
122
+ ],
123
+ callToAction: "Let's do this",
124
+ },
125
+ {
126
+ type: 'Birthday / Anniversary',
127
+ goal: 'Celebrate the subscriber and drive loyalty',
128
+ frequency: 'Triggered by date',
129
+ keyMessages: ['Happy [occasion]!', 'A special gift just for you', "Because you're awesome"],
130
+ callToAction: 'Claim your gift',
131
+ },
132
+ ],
133
+ corporate: [
134
+ {
135
+ type: 'Newsletter',
136
+ goal: 'Keep stakeholders informed of company news',
137
+ frequency: 'Monthly',
138
+ keyMessages: ['Company update', 'Industry insights', 'Upcoming events'],
139
+ callToAction: 'Read the full report',
140
+ },
141
+ {
142
+ type: 'Transactional',
143
+ goal: 'Confirm actions and provide essential information',
144
+ frequency: 'Triggered by action',
145
+ keyMessages: ['Your request was received', 'Action required', 'Confirmation details'],
146
+ callToAction: 'View details',
147
+ },
148
+ ],
149
+ tech: [
150
+ {
151
+ type: 'Product Release Notes',
152
+ goal: 'Keep users informed of platform changes',
153
+ frequency: 'Per release cycle',
154
+ keyMessages: ["What's new", 'Bug fixes', 'What to try first'],
155
+ callToAction: 'See the changelog',
156
+ },
157
+ {
158
+ type: 'Technical Tutorial',
159
+ goal: 'Help users get more value from the product',
160
+ frequency: 'Bi-weekly',
161
+ keyMessages: ["Today's tip", 'Step-by-step guide', 'Advanced technique unlocked'],
162
+ callToAction: 'Try it now',
163
+ },
164
+ ],
165
+ organic: [
166
+ {
167
+ type: 'Community Update',
168
+ goal: 'Keep community members engaged and connected',
169
+ frequency: 'Weekly',
170
+ keyMessages: ["What's happening", 'Community spotlight', 'How you can help'],
171
+ callToAction: 'Join the conversation',
172
+ },
173
+ {
174
+ type: 'Seasonal / Impact Report',
175
+ goal: 'Share brand values and environmental / social impact',
176
+ frequency: 'Quarterly',
177
+ keyMessages: [
178
+ 'Our impact this season',
179
+ "What we've grown",
180
+ 'Thank you for being part of this',
181
+ ],
182
+ callToAction: 'Read our story',
183
+ },
184
+ ],
185
+ retro: [
186
+ {
187
+ type: 'Throwback Series',
188
+ goal: 'Build nostalgia and community through shared memories',
189
+ frequency: 'Monthly',
190
+ keyMessages: ['Remember when...', 'A classic revisited', 'Then vs. now'],
191
+ callToAction: 'Take a trip down memory lane',
192
+ },
193
+ {
194
+ type: 'Exclusive Members',
195
+ goal: 'Reward loyal subscribers with exclusive offers or content',
196
+ frequency: 'Monthly',
197
+ keyMessages: ['For our most loyal fans', 'A special edition just for you', 'Collectors only'],
198
+ callToAction: 'Claim your exclusive',
199
+ },
200
+ ],
201
+ };
202
+ function buildTemplates(brand) {
203
+ const cta = STYLE_CTA[brand.style] ?? 'Learn more';
204
+ const subjectFormulas = STYLE_SUBJECT_FORMULAS[brand.style] ?? STYLE_SUBJECT_FORMULAS.minimal;
205
+ return [
206
+ {
207
+ name: 'Welcome Email',
208
+ purpose: 'Greet new subscribers and set expectations',
209
+ subjectLineFormulas: [
210
+ `Welcome to ${brand.name}`,
211
+ `You're in! Here's what's next`,
212
+ ...subjectFormulas.slice(0, 1),
213
+ ],
214
+ preheaderText: `Thanks for joining ${brand.name}. Here's everything you need to get started.`,
215
+ structure: [
216
+ 'Header: Logo + brand hero image',
217
+ 'Headline: Welcome message personalized with name',
218
+ 'Body: What the brand does and what to expect',
219
+ 'Key benefit: 1-3 bullet points',
220
+ `CTA button: "${cta}"`,
221
+ 'Footer: Unsubscribe | Privacy Policy | Social links',
222
+ ],
223
+ designNotes: `Use primary brand color for CTA button. Keep layout single-column. Max width 600px.`,
224
+ },
225
+ {
226
+ name: 'Product / Offer Announcement',
227
+ purpose: 'Announce a new product, feature, or promotion',
228
+ subjectLineFormulas: subjectFormulas,
229
+ preheaderText: `Something exciting just launched. Don't miss it.`,
230
+ structure: [
231
+ 'Header: Logo',
232
+ 'Hero: Product image or lifestyle photo',
233
+ 'Headline: Bold announcement',
234
+ 'Body: Key details — what it is, why it matters',
235
+ `CTA button: "${cta}"`,
236
+ 'Optional: Secondary offer or related content',
237
+ 'Footer: Unsubscribe | Privacy Policy',
238
+ ],
239
+ designNotes: `Hero image should use brand color palette. Limit to 1-2 CTAs.`,
240
+ },
241
+ {
242
+ name: 'Newsletter',
243
+ purpose: 'Share valuable content, updates, and curated insights',
244
+ subjectLineFormulas: [
245
+ `${brand.name} | [Month] Edition`,
246
+ `This week in ${brand.industry ?? 'our world'}`,
247
+ ...subjectFormulas.slice(0, 1),
248
+ ],
249
+ preheaderText: `Your curated update from ${brand.name}.`,
250
+ structure: [
251
+ 'Header: Logo + newsletter name/date',
252
+ 'Section 1: Top story or featured article',
253
+ 'Section 2: Secondary content pieces (2-3 items)',
254
+ 'Section 3: Quick tips or community highlights',
255
+ 'Footer: Unsubscribe | View in browser | Social links',
256
+ ],
257
+ designNotes: `Use consistent section headers. Alternate background colors for sections. Keep images small and relevant.`,
258
+ },
259
+ {
260
+ name: 'Re-engagement / Win-back',
261
+ purpose: 'Re-activate subscribers who have gone inactive',
262
+ subjectLineFormulas: [
263
+ `We miss you, [Name]`,
264
+ `It's been a while — here's a gift`,
265
+ `Are you still there? 👋`,
266
+ ],
267
+ preheaderText: `We saved something special for you.`,
268
+ structure: [
269
+ 'Header: Logo',
270
+ 'Headline: Acknowledge the absence warmly',
271
+ "Body: Reminder of brand value + what's new",
272
+ 'Offer: Special discount or exclusive content',
273
+ `CTA button: "${cta}"`,
274
+ 'Secondary CTA: Update preferences or unsubscribe',
275
+ 'Footer: Standard footer',
276
+ ],
277
+ designNotes: `Tone should be warm, not guilt-tripping. One strong offer. Clear secondary option to unsubscribe or adjust frequency.`,
278
+ },
279
+ ];
280
+ }
281
+ function buildSubjectLineExamples(brand) {
282
+ const formulas = STYLE_SUBJECT_FORMULAS[brand.style] ?? STYLE_SUBJECT_FORMULAS.minimal;
283
+ return [
284
+ ...formulas,
285
+ `${brand.name}: [Your personal update]`,
286
+ `Don't miss this from ${brand.name}`,
287
+ `[First name], this is for you`,
288
+ ];
289
+ }
290
+ function buildColorUsage(brand) {
291
+ return {
292
+ background: brand.colors.neutral[0]?.hex ?? '#ffffff',
293
+ text: brand.colors.neutral[brand.colors.neutral.length - 1]?.hex ?? '#1a1a1a',
294
+ accent: brand.colors.primary.hex,
295
+ button: brand.colors.primary.hex,
296
+ };
297
+ }
298
+ function buildTypographyGuidelines(brand) {
299
+ return {
300
+ headingFont: `${brand.typography.headingFont}, sans-serif`,
301
+ bodyFont: `${brand.typography.bodyFont}, sans-serif`,
302
+ fontSize: '16px base, 24-32px headings',
303
+ lineHeight: '1.6 for body text, 1.2 for headings',
304
+ };
305
+ }
306
+ export function generateBrandEmail(brand) {
307
+ const style = brand.style ?? 'minimal';
308
+ const campaigns = STYLE_CAMPAIGNS[style] ?? STYLE_CAMPAIGNS.minimal;
309
+ const copyTone = STYLE_COPY_TONE[style] ?? STYLE_COPY_TONE.minimal;
310
+ return {
311
+ templates: buildTemplates(brand),
312
+ campaigns,
313
+ subjectLineExamples: buildSubjectLineExamples(brand),
314
+ preheaderExamples: [
315
+ `Everything you need to know from ${brand.name}.`,
316
+ `Curated just for you — don't miss it.`,
317
+ `New from ${brand.name}: [Topic]. Open to find out more.`,
318
+ `Your exclusive update is inside.`,
319
+ ],
320
+ colorUsage: buildColorUsage(brand),
321
+ typographyGuidelines: buildTypographyGuidelines(brand),
322
+ copyTone,
323
+ bestPractices: [
324
+ 'Keep subject lines under 50 characters for mobile',
325
+ 'Use a single, clear CTA per email',
326
+ 'Personalize with first name in subject or opening line',
327
+ 'Test at 600px max width for consistent rendering',
328
+ 'Include plain-text version for accessibility and deliverability',
329
+ 'Maintain 60:40 image-to-text ratio for inbox placement',
330
+ 'Send at optimal times: Tuesday–Thursday, 10am–2pm recipient timezone',
331
+ 'A/B test subject lines before full send',
332
+ ],
333
+ footerElements: [
334
+ `© ${new Date().getFullYear()} ${brand.name}. All rights reserved.`,
335
+ 'Unsubscribe | Manage Preferences',
336
+ 'Privacy Policy | Terms of Service',
337
+ `[Company Address]`,
338
+ 'View this email in your browser',
339
+ ],
340
+ accessibilityNotes: [
341
+ 'Use alt text on all images',
342
+ 'Ensure color contrast meets WCAG AA (4.5:1 for body text)',
343
+ `Brand primary ${brand.colors.primary.hex} — check contrast on white backgrounds`,
344
+ 'Use semantic HTML headings (h1, h2, h3)',
345
+ 'Make CTA buttons at least 44px tall for touch targets',
346
+ 'Avoid using color alone to convey meaning',
347
+ ],
348
+ };
349
+ }
350
+ //# sourceMappingURL=brand-email.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand-email.js","sourceRoot":"","sources":["../../../../src/lib/branding-core/generators/brand-email.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { BrandIdentity } from '../../types.js';
2
+ import type { BrandPhotographyOutput } from '../../types.js';
3
+ export declare function generateBrandPhotography(brand: BrandIdentity): BrandPhotographyOutput;
4
+ //# sourceMappingURL=brand-photography.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand-photography.d.ts","sourceRoot":"","sources":["../../../../src/lib/branding-core/generators/brand-photography.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EACV,sBAAsB,EAIvB,MAAM,gBAAgB,CAAC;AA+XxB,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,aAAa,GAAG,sBAAsB,CAQrF"}