sonance-brand-mcp 1.1.7 → 1.2.3
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/dist/assets/BRAND_GUIDELINES.md +0 -8
- package/dist/assets/logo-manifest.json +0 -18
- package/dist/index.js +470 -1
- package/package.json +1 -1
|
@@ -160,14 +160,6 @@ The clear space ensures the logo remains legible and impactful in all applicatio
|
|
|
160
160
|
- Never place our logo over busy backgrounds
|
|
161
161
|
- Never modify proportions or recreate the logo
|
|
162
162
|
|
|
163
|
-
### Tagline Lockups
|
|
164
|
-
|
|
165
|
-
When utilizing the Sonance tagline "BEYOND SOUND", use the appropriate lockup based on available space:
|
|
166
|
-
|
|
167
|
-
**Horizontal Lockup**: Use when the space allowed is horizontal. The cap height of the logo serves as a guide to ensure a consistent relationship between the Sonance logo and tagline.
|
|
168
|
-
|
|
169
|
-
**Vertical Lockup**: Use wherever vertical space allows for it. Use the height of the beam plus the cut as a guide to ensure a consistent relationship.
|
|
170
|
-
|
|
171
163
|
### Sonance Foundation
|
|
172
164
|
|
|
173
165
|
The Sonance Foundation logo is clean, lean and all caps. The 2 color version, with the arrow (the green accent) should be used for any and all Foundation brand communications.
|
|
@@ -2,24 +2,6 @@
|
|
|
2
2
|
"/logos/40th-anniversary/Sonance_40_Logo_CMYK_BEAM_BLUE_40_AND_BEAM_DARK.png",
|
|
3
3
|
"/logos/Sonance logo dark mode.png",
|
|
4
4
|
"/logos/Sonance logo light mode.png",
|
|
5
|
-
"/logos/beyond-sound/Sonance_Logo_Tagline_Horizontal_2C_Dark_RGB.png",
|
|
6
|
-
"/logos/beyond-sound/Sonance_Logo_Tagline_Horizontal_2C_Light_RGB.png",
|
|
7
|
-
"/logos/beyond-sound/Sonance_Logo_Tagline_Horizontal_2C_Reverse_RGB.png",
|
|
8
|
-
"/logos/beyond-sound/Sonance_Logo_Tagline_Horizontal_Black_RGB.png",
|
|
9
|
-
"/logos/beyond-sound/Sonance_Logo_Tagline_Horizontal_Grayscale_RGB.png",
|
|
10
|
-
"/logos/beyond-sound/Sonance_Logo_Tagline_Horizontal_Reverse_RGB.png",
|
|
11
|
-
"/logos/beyond-sound/Sonance_Logo_Tagline_Large_2C_Dark_RGB.png",
|
|
12
|
-
"/logos/beyond-sound/Sonance_Logo_Tagline_Large_2C_Light_RGB.png",
|
|
13
|
-
"/logos/beyond-sound/Sonance_Logo_Tagline_Large_2C_Reverse_RGB.png",
|
|
14
|
-
"/logos/beyond-sound/Sonance_Logo_Tagline_Large_Black_RGB.png",
|
|
15
|
-
"/logos/beyond-sound/Sonance_Logo_Tagline_Large_Grayscale_RGB.png",
|
|
16
|
-
"/logos/beyond-sound/Sonance_Logo_Tagline_Large_Reverse_RGB.png",
|
|
17
|
-
"/logos/beyond-sound/Sonance_Logo_Tagline_Small_2C_Dark_RGB.png",
|
|
18
|
-
"/logos/beyond-sound/Sonance_Logo_Tagline_Small_2C_Light_RGB.png",
|
|
19
|
-
"/logos/beyond-sound/Sonance_Logo_Tagline_Small_2C_Reverse_RGB.png",
|
|
20
|
-
"/logos/beyond-sound/Sonance_Logo_Tagline_Small_Black_RGB.png",
|
|
21
|
-
"/logos/beyond-sound/Sonance_Logo_Tagline_Small_Grayscale_RGB.png",
|
|
22
|
-
"/logos/beyond-sound/Sonance_Logo_Tagline_Small_Reverse_RGB.png",
|
|
23
5
|
"/logos/blaze/BlazeBySonance_Logo_Lockup_2C_Light_RGB_05162025.png",
|
|
24
6
|
"/logos/blaze/BlazeBySonance_Logo_Lockup_3C_Dark_RGB_05162025.png",
|
|
25
7
|
"/logos/blaze/BlazeBySonance_Logo_Lockup_White_RGB_05162025.png",
|
package/dist/index.js
CHANGED
|
@@ -641,7 +641,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
641
641
|
},
|
|
642
642
|
{
|
|
643
643
|
name: "get_full_library",
|
|
644
|
-
description: "Returns the complete component library including brand guidelines, CSS theme, utilities, and all component source code.
|
|
644
|
+
description: "RECOMMENDED FOR APP REDESIGNS & FULL APPLICATIONS: Returns the complete component library including brand guidelines, CSS theme, utilities, and all component source code. USE THIS TOOL when the user asks to: redesign an application, rebrand an app, build a full application, update an entire codebase to use Sonance/IPORT/Blaze brand, or any multi-file/multi-component project. This is the go-to tool for comprehensive brand implementation across an entire project.",
|
|
645
645
|
inputSchema: {
|
|
646
646
|
type: "object",
|
|
647
647
|
properties: {},
|
|
@@ -2604,6 +2604,91 @@ server.setRequestHandler(ListPromptsRequestSchema, async () => ({
|
|
|
2604
2604
|
},
|
|
2605
2605
|
],
|
|
2606
2606
|
},
|
|
2607
|
+
// ========== EXCELLENCE WORKFLOW PROMPTS ==========
|
|
2608
|
+
{
|
|
2609
|
+
name: "design-with-excellence",
|
|
2610
|
+
description: "FULL WORKFLOW: Design any branded output (UI, document, email, etc.) with MANDATORY quality gates. Automatically iterates until Tier 4+ (score ≥85) is achieved.",
|
|
2611
|
+
arguments: [
|
|
2612
|
+
{
|
|
2613
|
+
name: "request",
|
|
2614
|
+
description: "What to create (e.g., 'hero section', 'proposal PDF', 'email template', 'Excel report')",
|
|
2615
|
+
required: true,
|
|
2616
|
+
},
|
|
2617
|
+
{
|
|
2618
|
+
name: "brand",
|
|
2619
|
+
description: "Which brand: sonance, iport, or blaze (defaults to sonance)",
|
|
2620
|
+
required: false,
|
|
2621
|
+
},
|
|
2622
|
+
{
|
|
2623
|
+
name: "theme",
|
|
2624
|
+
description: "Color scheme: light or dark (defaults based on brand)",
|
|
2625
|
+
required: false,
|
|
2626
|
+
},
|
|
2627
|
+
],
|
|
2628
|
+
},
|
|
2629
|
+
{
|
|
2630
|
+
name: "rebrand-with-excellence",
|
|
2631
|
+
description: "FULL WORKFLOW: Rebrand an existing document/asset to a target brand with MANDATORY quality verification. Iterates until Tier 4+ is achieved.",
|
|
2632
|
+
arguments: [
|
|
2633
|
+
{
|
|
2634
|
+
name: "source_format",
|
|
2635
|
+
description: "Format of document to rebrand: word, pdf, excel, powerpoint, html, or generic",
|
|
2636
|
+
required: true,
|
|
2637
|
+
},
|
|
2638
|
+
{
|
|
2639
|
+
name: "target_brand",
|
|
2640
|
+
description: "Target brand: sonance, iport, or blaze",
|
|
2641
|
+
required: true,
|
|
2642
|
+
},
|
|
2643
|
+
{
|
|
2644
|
+
name: "description",
|
|
2645
|
+
description: "Brief description of the document being rebranded",
|
|
2646
|
+
required: false,
|
|
2647
|
+
},
|
|
2648
|
+
],
|
|
2649
|
+
},
|
|
2650
|
+
{
|
|
2651
|
+
name: "document-with-excellence",
|
|
2652
|
+
description: "FULL WORKFLOW: Generate a branded document (Word/PDF/Excel) with code templates and MANDATORY quality verification.",
|
|
2653
|
+
arguments: [
|
|
2654
|
+
{
|
|
2655
|
+
name: "format",
|
|
2656
|
+
description: "Document format: word-python, pdf-python, or excel-python",
|
|
2657
|
+
required: true,
|
|
2658
|
+
},
|
|
2659
|
+
{
|
|
2660
|
+
name: "template_type",
|
|
2661
|
+
description: "Type of document: proposal, spec-sheet, report, invoice, or presentation",
|
|
2662
|
+
required: true,
|
|
2663
|
+
},
|
|
2664
|
+
{
|
|
2665
|
+
name: "brand",
|
|
2666
|
+
description: "Which brand: sonance, iport, or blaze (defaults to sonance)",
|
|
2667
|
+
required: false,
|
|
2668
|
+
},
|
|
2669
|
+
],
|
|
2670
|
+
},
|
|
2671
|
+
{
|
|
2672
|
+
name: "app-redesign-with-excellence",
|
|
2673
|
+
description: "FULL WORKFLOW: Redesign an entire application (Next.js, React, etc.) to use Sonance/IPORT/Blaze brand with MANDATORY quality gates on each major section. Use this for full app rebrands.",
|
|
2674
|
+
arguments: [
|
|
2675
|
+
{
|
|
2676
|
+
name: "app_description",
|
|
2677
|
+
description: "Describe the app to redesign (e.g., 'dashboard app', 'e-commerce site', 'admin panel')",
|
|
2678
|
+
required: true,
|
|
2679
|
+
},
|
|
2680
|
+
{
|
|
2681
|
+
name: "brand",
|
|
2682
|
+
description: "Which brand to apply: sonance, iport, or blaze (defaults to sonance)",
|
|
2683
|
+
required: false,
|
|
2684
|
+
},
|
|
2685
|
+
{
|
|
2686
|
+
name: "theme",
|
|
2687
|
+
description: "Color scheme: light or dark (defaults based on brand)",
|
|
2688
|
+
required: false,
|
|
2689
|
+
},
|
|
2690
|
+
],
|
|
2691
|
+
},
|
|
2607
2692
|
],
|
|
2608
2693
|
}));
|
|
2609
2694
|
server.setRequestHandler(GetPromptRequestSchema, async (request) => {
|
|
@@ -2707,6 +2792,390 @@ Provide the score, tier, and a clear improvement plan to reach Tier 4+ if needed
|
|
|
2707
2792
|
],
|
|
2708
2793
|
};
|
|
2709
2794
|
}
|
|
2795
|
+
// ========== EXCELLENCE WORKFLOW PROMPT HANDLERS ==========
|
|
2796
|
+
if (name === "design-with-excellence") {
|
|
2797
|
+
const request = promptArgs?.request || "component";
|
|
2798
|
+
const brand = promptArgs?.brand || "sonance";
|
|
2799
|
+
const theme = promptArgs?.theme || (brand === "sonance" ? "light" : "dark");
|
|
2800
|
+
return {
|
|
2801
|
+
messages: [
|
|
2802
|
+
{
|
|
2803
|
+
role: "user",
|
|
2804
|
+
content: {
|
|
2805
|
+
type: "text",
|
|
2806
|
+
text: `# Design with Excellence Workflow
|
|
2807
|
+
|
|
2808
|
+
## Request
|
|
2809
|
+
Create: **${request}**
|
|
2810
|
+
Brand: **${brand.toUpperCase()}**
|
|
2811
|
+
Theme: **${theme}**
|
|
2812
|
+
|
|
2813
|
+
---
|
|
2814
|
+
|
|
2815
|
+
## MANDATORY WORKFLOW - You MUST follow these steps:
|
|
2816
|
+
|
|
2817
|
+
### Step 1: Get Design Tokens
|
|
2818
|
+
Call \`design_component\` with:
|
|
2819
|
+
- component_description: "${request}"
|
|
2820
|
+
- brand: "${brand}"
|
|
2821
|
+
- theme: "${theme}"
|
|
2822
|
+
|
|
2823
|
+
### Step 2: Generate the Design
|
|
2824
|
+
Using the design tokens from Step 1, create the ${request}.
|
|
2825
|
+
- Follow all brand guidelines exactly
|
|
2826
|
+
- Use semantic color variables (not hardcoded hex)
|
|
2827
|
+
- Apply correct typography (Montserrat, light/medium weights)
|
|
2828
|
+
- Include dark mode support if UI component
|
|
2829
|
+
|
|
2830
|
+
### Step 3: Evaluate (MANDATORY)
|
|
2831
|
+
You **MUST** call \`evaluate_design\` with your generated code.
|
|
2832
|
+
- Pass the complete code
|
|
2833
|
+
- Include a brief description
|
|
2834
|
+
|
|
2835
|
+
### Step 4: Check Score
|
|
2836
|
+
- If score **≥ 85** (Tier 4+): Proceed to Step 5
|
|
2837
|
+
- If score **< 85**: You **MUST** iterate:
|
|
2838
|
+
1. Review the gaps identified in the evaluation
|
|
2839
|
+
2. Fix each issue listed
|
|
2840
|
+
3. Re-run \`evaluate_design\`
|
|
2841
|
+
4. Repeat until score ≥ 85
|
|
2842
|
+
|
|
2843
|
+
### Step 5: Final Verification
|
|
2844
|
+
Call \`get_excellence_checklist\` and verify all items pass.
|
|
2845
|
+
|
|
2846
|
+
### Step 6: Deliver
|
|
2847
|
+
Only after achieving Tier 4+ (score ≥ 85), present the final output to the user.
|
|
2848
|
+
|
|
2849
|
+
---
|
|
2850
|
+
|
|
2851
|
+
## CRITICAL RULES
|
|
2852
|
+
- You **MUST NOT** skip the evaluate_design step
|
|
2853
|
+
- You **MUST NOT** deliver with score < 85
|
|
2854
|
+
- You **MUST** iterate if score < 85
|
|
2855
|
+
- The evaluate → iterate loop continues until Tier 4+ is achieved
|
|
2856
|
+
|
|
2857
|
+
## Tier Reference
|
|
2858
|
+
- Tier 5 (95-100): Portfolio-worthy - exceed expectations
|
|
2859
|
+
- Tier 4 (85-94): Professional - **MINIMUM for delivery**
|
|
2860
|
+
- Tier 3 (70-84): Needs iteration - do not deliver
|
|
2861
|
+
- Tier 2 (50-69): Major issues - do not deliver
|
|
2862
|
+
- Tier 1 (0-49): Rebuild required - do not deliver
|
|
2863
|
+
|
|
2864
|
+
Begin the workflow now.`,
|
|
2865
|
+
},
|
|
2866
|
+
},
|
|
2867
|
+
],
|
|
2868
|
+
};
|
|
2869
|
+
}
|
|
2870
|
+
if (name === "rebrand-with-excellence") {
|
|
2871
|
+
const sourceFormat = promptArgs?.source_format || "generic";
|
|
2872
|
+
const targetBrand = promptArgs?.target_brand || "sonance";
|
|
2873
|
+
const description = promptArgs?.description || "document";
|
|
2874
|
+
return {
|
|
2875
|
+
messages: [
|
|
2876
|
+
{
|
|
2877
|
+
role: "user",
|
|
2878
|
+
content: {
|
|
2879
|
+
type: "text",
|
|
2880
|
+
text: `# Rebrand with Excellence Workflow
|
|
2881
|
+
|
|
2882
|
+
## Request
|
|
2883
|
+
Rebrand: **${description}**
|
|
2884
|
+
Source Format: **${sourceFormat}**
|
|
2885
|
+
Target Brand: **${targetBrand.toUpperCase()}**
|
|
2886
|
+
|
|
2887
|
+
---
|
|
2888
|
+
|
|
2889
|
+
## MANDATORY WORKFLOW - You MUST follow these steps:
|
|
2890
|
+
|
|
2891
|
+
### Step 1: Get Rebranding Guide
|
|
2892
|
+
Call \`rebrand_document\` with:
|
|
2893
|
+
- source_format: "${sourceFormat}"
|
|
2894
|
+
- target_brand: "${targetBrand}"
|
|
2895
|
+
|
|
2896
|
+
This will provide:
|
|
2897
|
+
- Color replacement mappings
|
|
2898
|
+
- Font substitutions
|
|
2899
|
+
- Logo placement rules
|
|
2900
|
+
- Spacing guidelines
|
|
2901
|
+
|
|
2902
|
+
### Step 2: Apply the Rebrand
|
|
2903
|
+
Using the guide from Step 1:
|
|
2904
|
+
- Replace all colors with brand colors
|
|
2905
|
+
- Update fonts to Montserrat (or Arial for Excel)
|
|
2906
|
+
- Apply correct logo placement
|
|
2907
|
+
- Adjust spacing per guidelines
|
|
2908
|
+
|
|
2909
|
+
### Step 3: Evaluate (MANDATORY)
|
|
2910
|
+
You **MUST** call \`evaluate_design\` with:
|
|
2911
|
+
- code: The rebranded output/code
|
|
2912
|
+
- description: "${description}"
|
|
2913
|
+
- brand: "${targetBrand}"
|
|
2914
|
+
- output_type: "doc" (for documents) or appropriate type
|
|
2915
|
+
|
|
2916
|
+
### Step 4: Check Score
|
|
2917
|
+
- If score **≥ 85** (Tier 4+): Proceed to Step 5
|
|
2918
|
+
- If score **< 85**: You **MUST** iterate:
|
|
2919
|
+
1. Review gaps from evaluation
|
|
2920
|
+
2. Fix each issue
|
|
2921
|
+
3. Re-run \`evaluate_design\`
|
|
2922
|
+
4. Repeat until score ≥ 85
|
|
2923
|
+
|
|
2924
|
+
### Step 5: Deliver
|
|
2925
|
+
Only after achieving Tier 4+ (score ≥ 85), present the rebranded output.
|
|
2926
|
+
|
|
2927
|
+
---
|
|
2928
|
+
|
|
2929
|
+
## CRITICAL RULES
|
|
2930
|
+
- You **MUST NOT** skip the evaluate_design step
|
|
2931
|
+
- You **MUST NOT** deliver with score < 85
|
|
2932
|
+
- You **MUST** iterate if score < 85
|
|
2933
|
+
- Every color must match the brand palette exactly
|
|
2934
|
+
- The document must be unmistakably ${targetBrand.toUpperCase()}
|
|
2935
|
+
|
|
2936
|
+
Begin the workflow now.`,
|
|
2937
|
+
},
|
|
2938
|
+
},
|
|
2939
|
+
],
|
|
2940
|
+
};
|
|
2941
|
+
}
|
|
2942
|
+
if (name === "document-with-excellence") {
|
|
2943
|
+
const format = promptArgs?.format || "word-python";
|
|
2944
|
+
const templateType = promptArgs?.template_type || "report";
|
|
2945
|
+
const brand = promptArgs?.brand || "sonance";
|
|
2946
|
+
return {
|
|
2947
|
+
messages: [
|
|
2948
|
+
{
|
|
2949
|
+
role: "user",
|
|
2950
|
+
content: {
|
|
2951
|
+
type: "text",
|
|
2952
|
+
text: `# Document Generation with Excellence Workflow
|
|
2953
|
+
|
|
2954
|
+
## Request
|
|
2955
|
+
Generate: **${templateType}** document
|
|
2956
|
+
Format: **${format}**
|
|
2957
|
+
Brand: **${brand.toUpperCase()}**
|
|
2958
|
+
|
|
2959
|
+
---
|
|
2960
|
+
|
|
2961
|
+
## MANDATORY WORKFLOW - You MUST follow these steps:
|
|
2962
|
+
|
|
2963
|
+
### Step 1: Get Document Template
|
|
2964
|
+
Call \`get_document_template\` with:
|
|
2965
|
+
- format: "${format}"
|
|
2966
|
+
- brand: "${brand}"
|
|
2967
|
+
- template_type: "${templateType}"
|
|
2968
|
+
|
|
2969
|
+
This provides the base code template with correct brand constants.
|
|
2970
|
+
|
|
2971
|
+
### Step 2: Get Design Tokens
|
|
2972
|
+
Call \`design_component\` with:
|
|
2973
|
+
- component_description: "${templateType} document"
|
|
2974
|
+
- brand: "${brand}"
|
|
2975
|
+
- output_type: "doc"
|
|
2976
|
+
|
|
2977
|
+
This provides additional styling guidance.
|
|
2978
|
+
|
|
2979
|
+
### Step 3: Generate the Document Code
|
|
2980
|
+
Using templates from Steps 1 & 2:
|
|
2981
|
+
- Customize for the specific ${templateType}
|
|
2982
|
+
- Ensure all brand colors are correct
|
|
2983
|
+
- Apply proper fonts and sizing
|
|
2984
|
+
- Include headers, footers, and logo placement
|
|
2985
|
+
|
|
2986
|
+
### Step 4: Evaluate (MANDATORY)
|
|
2987
|
+
You **MUST** call \`evaluate_design\` with:
|
|
2988
|
+
- code: Your generated document code
|
|
2989
|
+
- description: "${templateType} document for ${brand}"
|
|
2990
|
+
- brand: "${brand}"
|
|
2991
|
+
- output_type: "doc"
|
|
2992
|
+
|
|
2993
|
+
### Step 5: Check Score
|
|
2994
|
+
- If score **≥ 85** (Tier 4+): Proceed to Step 6
|
|
2995
|
+
- If score **< 85**: You **MUST** iterate:
|
|
2996
|
+
1. Review gaps from evaluation
|
|
2997
|
+
2. Fix each issue
|
|
2998
|
+
3. Re-run \`evaluate_design\`
|
|
2999
|
+
4. Repeat until score ≥ 85
|
|
3000
|
+
|
|
3001
|
+
### Step 6: Deliver
|
|
3002
|
+
Only after achieving Tier 4+ (score ≥ 85), present the final document code.
|
|
3003
|
+
|
|
3004
|
+
---
|
|
3005
|
+
|
|
3006
|
+
## CRITICAL RULES
|
|
3007
|
+
- You **MUST NOT** skip the evaluate_design step
|
|
3008
|
+
- You **MUST NOT** deliver with score < 85
|
|
3009
|
+
- You **MUST** iterate if score < 85
|
|
3010
|
+
- Document must be production-ready
|
|
3011
|
+
- All brand constants must be exact
|
|
3012
|
+
|
|
3013
|
+
## Format Reference
|
|
3014
|
+
- word-python: Uses python-docx library
|
|
3015
|
+
- pdf-python: Uses ReportLab library
|
|
3016
|
+
- excel-python: Uses openpyxl library
|
|
3017
|
+
|
|
3018
|
+
Begin the workflow now.`,
|
|
3019
|
+
},
|
|
3020
|
+
},
|
|
3021
|
+
],
|
|
3022
|
+
};
|
|
3023
|
+
}
|
|
3024
|
+
if (name === "app-redesign-with-excellence") {
|
|
3025
|
+
const appDescription = promptArgs?.app_description || "application";
|
|
3026
|
+
const brand = promptArgs?.brand || "sonance";
|
|
3027
|
+
const theme = promptArgs?.theme || (brand === "sonance" ? "light" : "dark");
|
|
3028
|
+
return {
|
|
3029
|
+
messages: [
|
|
3030
|
+
{
|
|
3031
|
+
role: "user",
|
|
3032
|
+
content: {
|
|
3033
|
+
type: "text",
|
|
3034
|
+
text: `# App Redesign with Excellence Workflow
|
|
3035
|
+
|
|
3036
|
+
## Request
|
|
3037
|
+
Redesign: **${appDescription}**
|
|
3038
|
+
Target brand: **${brand.toUpperCase()}**
|
|
3039
|
+
Theme: **${theme}**
|
|
3040
|
+
|
|
3041
|
+
---
|
|
3042
|
+
|
|
3043
|
+
## MANDATORY WORKFLOW - You MUST follow these steps exactly:
|
|
3044
|
+
|
|
3045
|
+
### Step 1: Get Complete Component Library (REQUIRED FIRST STEP)
|
|
3046
|
+
You **MUST** call \`get_full_library\` as your FIRST action.
|
|
3047
|
+
|
|
3048
|
+
This gives you the complete ${brand.toUpperCase()} component library including:
|
|
3049
|
+
- Brand guidelines and color system
|
|
3050
|
+
- Complete CSS theme with all variables
|
|
3051
|
+
- Utility functions (cn for className merging)
|
|
3052
|
+
- All component source code (Button, Card, Input, etc.)
|
|
3053
|
+
|
|
3054
|
+
**DO NOT proceed without calling get_full_library first.**
|
|
3055
|
+
|
|
3056
|
+
### Step 2: Audit the Existing Application (MANDATORY)
|
|
3057
|
+
You **MUST** thoroughly scan the existing codebase to understand what needs changing.
|
|
3058
|
+
|
|
3059
|
+
**2a. Scan for Components**
|
|
3060
|
+
Search for and list all UI components:
|
|
3061
|
+
- Buttons, Cards, Inputs, Forms, Modals, Tables
|
|
3062
|
+
- Navigation components (headers, sidebars, menus)
|
|
3063
|
+
- Custom components in /components directory
|
|
3064
|
+
- Note: Which can be replaced with ${brand.toUpperCase()} library equivalents?
|
|
3065
|
+
|
|
3066
|
+
**2b. Find Hardcoded Colors**
|
|
3067
|
+
Search for and list all color values:
|
|
3068
|
+
- Hex codes (#fff, #000, #3b82f6, etc.)
|
|
3069
|
+
- RGB/RGBA values (rgb(59, 130, 246))
|
|
3070
|
+
- HSL values
|
|
3071
|
+
- Tailwind color classes (bg-blue-500, text-gray-900)
|
|
3072
|
+
- Note: These ALL need to be replaced with semantic variables
|
|
3073
|
+
|
|
3074
|
+
**2c. Locate Logo Files**
|
|
3075
|
+
Find all logo/brand assets:
|
|
3076
|
+
- Search /public, /assets, /images directories
|
|
3077
|
+
- Check for SVG, PNG, JPG logo files
|
|
3078
|
+
- Find where logos are imported/used in code
|
|
3079
|
+
- Note: These need to be replaced with ${brand.toUpperCase()} logos
|
|
3080
|
+
|
|
3081
|
+
**2d. Check Theme/CSS Setup**
|
|
3082
|
+
Examine existing styling infrastructure:
|
|
3083
|
+
- globals.css or global styles
|
|
3084
|
+
- tailwind.config.js/ts (custom colors, fonts)
|
|
3085
|
+
- Theme providers or context
|
|
3086
|
+
- CSS variables already in use
|
|
3087
|
+
- Note: This is where ${brand.toUpperCase()} theme will be integrated
|
|
3088
|
+
|
|
3089
|
+
**2e. Font Configuration**
|
|
3090
|
+
Check current font setup:
|
|
3091
|
+
- Font imports (Google Fonts, local fonts)
|
|
3092
|
+
- Font family declarations
|
|
3093
|
+
- Note: Replace with Montserrat
|
|
3094
|
+
|
|
3095
|
+
**2f. Additional Findings**
|
|
3096
|
+
Note any other brand-related items discovered:
|
|
3097
|
+
- Third-party UI libraries (shadcn, MUI, Chakra, etc.)
|
|
3098
|
+
- Animation libraries with hardcoded color values
|
|
3099
|
+
- Icon sets that may need updating
|
|
3100
|
+
- Environment-specific styles or themes
|
|
3101
|
+
- Any other brand-inconsistent patterns
|
|
3102
|
+
|
|
3103
|
+
**After auditing, create a change manifest:**
|
|
3104
|
+
| Category | Files Found | Changes Needed |
|
|
3105
|
+
|----------|-------------|----------------|
|
|
3106
|
+
| Components | list files... | Replace with ${brand.toUpperCase()} equivalents |
|
|
3107
|
+
| Colors | list files... | Convert to CSS variables |
|
|
3108
|
+
| Logos | list files... | Replace with ${brand.toUpperCase()} logos |
|
|
3109
|
+
| Theme | list files... | Integrate ${brand.toUpperCase()} theme |
|
|
3110
|
+
| Fonts | list files... | Switch to Montserrat |
|
|
3111
|
+
| Other | list files... | Address findings |
|
|
3112
|
+
|
|
3113
|
+
### Step 3: Redesign Systematically
|
|
3114
|
+
Work through the app in this order:
|
|
3115
|
+
|
|
3116
|
+
**3a. Root Layout / Theme Provider**
|
|
3117
|
+
- Set up CSS variables from the library
|
|
3118
|
+
- Configure Montserrat font
|
|
3119
|
+
- Set up theme provider for light/dark mode
|
|
3120
|
+
|
|
3121
|
+
**3b. Navigation / Header**
|
|
3122
|
+
- Apply ${brand.toUpperCase()} navigation patterns
|
|
3123
|
+
- Use correct logo variant for theme
|
|
3124
|
+
- Apply brand colors and spacing
|
|
3125
|
+
|
|
3126
|
+
**3c. Main Pages**
|
|
3127
|
+
- Update each page to use brand components
|
|
3128
|
+
- Apply semantic color variables
|
|
3129
|
+
- Ensure proper typography hierarchy
|
|
3130
|
+
|
|
3131
|
+
**3d. Shared Components**
|
|
3132
|
+
- Replace existing components with ${brand.toUpperCase()} library equivalents
|
|
3133
|
+
- Ensure consistent styling
|
|
3134
|
+
|
|
3135
|
+
### Step 4: Evaluate Each Section (MANDATORY)
|
|
3136
|
+
After updating each major file/section, you **MUST**:
|
|
3137
|
+
|
|
3138
|
+
1. Call \`evaluate_design\` with:
|
|
3139
|
+
- code: The updated code for that section
|
|
3140
|
+
- description: Brief description of what was updated
|
|
3141
|
+
- brand: "${brand}"
|
|
3142
|
+
- output_type: "ui"
|
|
3143
|
+
|
|
3144
|
+
2. Check the score:
|
|
3145
|
+
- Score **≥ 85** (Tier 4+): Move to next section
|
|
3146
|
+
- Score **< 85**: You **MUST** fix the identified gaps and re-evaluate
|
|
3147
|
+
|
|
3148
|
+
**DO NOT move to the next section until the current one scores ≥ 85.**
|
|
3149
|
+
|
|
3150
|
+
### Step 5: Final Delivery
|
|
3151
|
+
Only after ALL sections have achieved Tier 4+ (score ≥ 85):
|
|
3152
|
+
- Provide summary of all changes made
|
|
3153
|
+
- List files modified
|
|
3154
|
+
- Confirm all evaluations passed
|
|
3155
|
+
|
|
3156
|
+
---
|
|
3157
|
+
|
|
3158
|
+
## CRITICAL RULES
|
|
3159
|
+
- You **MUST** call \`get_full_library\` as your FIRST action
|
|
3160
|
+
- You **MUST** evaluate each major section before moving on
|
|
3161
|
+
- You **MUST NOT** skip evaluation steps
|
|
3162
|
+
- You **MUST NOT** deliver until all sections score ≥ 85
|
|
3163
|
+
- If any section scores < 85, iterate until it passes
|
|
3164
|
+
- Use semantic CSS variables (--background, --foreground, etc.)
|
|
3165
|
+
- Keep corners sharp (0-4px border radius)
|
|
3166
|
+
- Apply generous whitespace ("Designed to Disappear" philosophy)
|
|
3167
|
+
|
|
3168
|
+
## Brand Quick Reference
|
|
3169
|
+
- Primary color: ${brand === "sonance" ? "Charcoal (#343d46)" : brand === "iport" ? "Black (#000000)" : "Orange (#f26522)"}
|
|
3170
|
+
- Font: Montserrat (weights 300-700)
|
|
3171
|
+
- Style: Minimalist, sophisticated, corporate-modern
|
|
3172
|
+
|
|
3173
|
+
Begin the workflow now by calling \`get_full_library\`.`,
|
|
3174
|
+
},
|
|
3175
|
+
},
|
|
3176
|
+
],
|
|
3177
|
+
};
|
|
3178
|
+
}
|
|
2710
3179
|
throw new Error(`Unknown prompt: ${name}`);
|
|
2711
3180
|
});
|
|
2712
3181
|
// ============================================
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sonance-brand-mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.3",
|
|
4
4
|
"description": "MCP Server for Sonance Brand Guidelines and Component Library - gives Claude instant access to brand colors, typography, and UI components.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|