Brand Identity Kit
Run ID: 69cb588a61b1021a29a882bf2026-03-31Design
PantheraHive BOS
BOS Dashboard

Complete brand identity package including logo concepts, color palette, typography guide, brand voice guidelines, and social media style guide.

Brand Identity Kit: Design Specifications & Creative Brief

This document outlines the detailed design specifications, creative direction, and strategic recommendations for developing a comprehensive Brand Identity Kit. This serves as the foundational blueprint for all subsequent design and content creation, ensuring a cohesive, impactful, and memorable brand presence.


1. Project Overview & Design Specifications

Project Goal: To create a distinctive, versatile, and enduring brand identity that effectively communicates the brand's core values, personality, and offerings to its target audience. The identity will be designed for seamless application across all digital and print touchpoints.

Core Brand Attributes (Example - to be finalized with client):

  • Modern & Innovative: Reflecting forward-thinking and cutting-edge solutions.
  • Reliable & Trustworthy: Instilling confidence and credibility.
  • Approachable & Engaging: Fostering connection and ease of interaction.
  • Professional & Sophisticated: Upholding high standards and quality.
  • Dynamic & Adaptable: Capable of evolving and expanding.

Target Audience (Example - to be finalized with client):

  • Professionals aged 25-55, interested in [specific industry/service].
  • Value quality, efficiency, and a clear, consistent brand experience.
  • Are digitally native or proficient, expecting engaging online interactions.

Key Deliverables for the Brand Identity Kit:

  1. Logo Suite:

* Primary Logo (full lockup)

* Secondary Logo(s) / Horizontal Lockup

* Submark / Icon / Monogram

* Favicon

* Logo variations for dark/light backgrounds (reversed, monochrome)

* Clear space and minimum size guidelines

* Incorrect usage examples

  1. Color Palette:

* Primary, Secondary, and Accent Colors

* Detailed specifications (Hex, RGB, CMYK, Pantone where applicable)

* Color usage guidelines

  1. Typography Guide:

* Primary Headings Font

* Secondary Headings Font

* Body Copy Font

* Accent Font (optional)

* Font weights, sizes, and hierarchies for various applications (e.g., H1, H2, H3, paragraph, captions)

* Web font implementation recommendations

  1. Brand Voice & Messaging Guidelines:

* Core messaging pillars

* Tone of voice (e.g., authoritative, friendly, inspiring, witty)

* Key phrases and terminology

* Guidelines for written communication across different channels

  1. Imagery & Iconography Style Guide:

* Photography style (e.g., authentic, aspirational, minimalist, vibrant)

* Illustrative style (if applicable)

* Iconography style (e.g., line art, filled, geometric)

* Guidelines for image selection and application

  1. Social Media Style Guide:

* Optimized logo versions for profile pictures

* Cover/banner image guidelines

* Content pillars and post categories

* Visual templates for common post types (e.g., quotes, announcements)

* Hashtag strategy recommendations

* Platform-specific considerations

  1. Brand Style Guide Document (Comprehensive Manual):

* A consolidated digital document detailing all elements above, serving as the definitive resource for brand application.


2. Key Visual & Layout Descriptions (Interpreted as Brand Style Guide Structure)

Given that a Brand Identity Kit is a set of assets and guidelines rather than a user interface, traditional "wireframes" for user flow are not directly applicable. Instead, this section outlines the structural and layout descriptions for the Brand Style Guide Document itself, and how key brand elements will be presented within it to ensure clarity, usability, and comprehension.

2.1. Brand Style Guide Document Structure (Table of Contents & Layout Principles):

  • Introduction:

* Welcome and Brand Story/Mission

* Purpose of the Brand Style Guide

* Brand Values and Personality Overview

  • Logo Suite:

* Dedicated page for each logo variation (Primary, Secondary, Submark).

* Clear presentation of each logo in its various approved forms (full color, monochrome, reversed).

* Layout: Large, clear display of the logo, accompanied by concise textual descriptions and usage rules.

* Wireframe Equivalent: A structured grid for displaying logo variations, clear space measurements (using "x" unit), and examples of correct/incorrect usage.

  • Color Palette:

* Visual display of all colors (primary, secondary, accent).

* Layout: Color swatches prominently displayed, each accompanied by its Hex, RGB, CMYK, and Pantone values. Textual descriptions of ideal application.

* Wireframe Equivalent: A modular layout with distinct color blocks, each containing its numerical specifications.

  • Typography Guide:

* Presentation of primary, secondary, and body fonts.

* Examples of heading styles (H1, H2, H3), paragraph text, and captions.

* Layout: Large examples of each typeface in various weights and sizes, demonstrating hierarchy. Text blocks showing real-world application.

* Wireframe Equivalent: Stacked text blocks demonstrating font hierarchy and scale, with clear annotations for font family, weight, and size.

  • Brand Voice & Tone:

* Description of the brand's personality through written examples.

* "Do's and Don'ts" for messaging.

* Layout: Engaging examples of brand copy, highlighting tone and voice.

* Wireframe Equivalent: Side-by-side comparisons of appropriate vs. inappropriate messaging, or example snippets with callouts for tone.

  • Imagery & Iconography:

* Collages or examples of approved photography and illustration styles.

* Examples of custom icons (if applicable) with usage guidelines.

* Layout: Grid-based presentation of images, showcasing style, composition, and subject matter.

* Wireframe Equivalent: Image placeholders with descriptive captions, demonstrating desired visual aesthetic.

  • Social Media Applications:

* Mockups of social media profiles (e.g., Facebook cover, Instagram profile).

* Examples of post templates and visual styles.

* Layout: Visual representations of brand elements applied to social media platforms.

* Wireframe Equivalent: Simplified mockups of social media interfaces, showing where and how brand assets are applied.

  • Application Mockups (Optional but Recommended):

* Brief examples of the brand identity applied to key assets (e.g., business card, letterhead, simple website hero section, merchandise).

* Layout: Clean, minimalist presentation of mockups to demonstrate real-world impact.

* Wireframe Equivalent: Simple product/interface outlines with brand elements overlaid.

2.2. General Layout Principles for the Brand Style Guide:

  • Clarity & Readability: Clean layouts, ample white space, and clear hierarchical typography.
  • Visual Appeal: Professional, aesthetically pleasing design that reflects the brand's new identity.
  • Accessibility: Use of high-contrast colors for text, clear distinctions between sections.
  • Consistency: Uniform presentation style throughout the document.
  • Actionability: Each section should provide clear, actionable guidance.

3. Color Palettes

The color palette is crucial for evoking emotion, creating recognition, and establishing the brand's personality. This proposed palette aims for [e.g., 'sophistication and trust' or 'vibrancy and innovation' - to be tailored].

3.1. Primary Palette (Dominant Brand Colors):

These colors will be the most frequently used and represent the core visual identity.

  • [Primary Color 1 Name - e.g., "Deep Ocean Blue"]

* Hex: #1A4E78

* RGB: (26, 78, 120)

* CMYK: (78, 35, 0, 53)

* Pantone: 288 C

* Usage: Ideal for logos, primary headings, key UI elements, and backgrounds requiring a sense of authority and stability.

  • [Primary Color 2 Name - e.g., "Warm Grey"]

* Hex: #6C7A89

* RGB: (108, 122, 137)

* CMYK: (21, 11, 0, 46)

* Pantone: Cool Gray 8 C

* Usage: For body text, secondary backgrounds, borders, and elements requiring subtlety and professionalism. Provides a neutral balance.

3.2. Secondary Palette (Complementary Colors):

These colors support the primary palette, adding depth and versatility without overpowering the main brand colors.

  • [Secondary Color 1 Name - e.g., "Sky Blue"]

* Hex: #4A90E2

* RGB: (74, 144, 226)

* CMYK: (67, 36, 0, 11)

* Pantone: 292 C

* Usage: For subheadings, infographics, call-to-action buttons, or to introduce a lighter, more approachable feel.

  • [Secondary Color 2 Name - e.g., "Soft Teal"]

* Hex: #36A7A7

* RGB: (54, 167, 167)

* CMYK: (68, 0, 0, 35)

* Pantone: 328 C

* Usage: For highlighting specific information, decorative elements, or creating visual interest in charts and graphs.

3.3. Accent Palette (Highlight & Call-to-Action Colors):

These vibrant colors are used sparingly to draw attention to important elements, calls-to-action, or to add a burst of energy.

  • [Accent Color 1 Name - e.g., "Sunrise Orange"]

* Hex: #F5A623

* RGB: (245, 166, 35)

* CMYK: (0, 32, 86, 4)

* Pantone: 137 C

* Usage: Exclusively for primary calls-to-action, alerts, or elements requiring high visibility and urgency.

  • [Accent Color 2 Name - e.g., "Deep Green"]

* Hex: #50E3C2

* RGB: (80, 227, 194)

* CMYK: (65, 0, 15, 0)

* Pantone: 3255 C

* Usage: For positive feedback, success indicators, or to add a fresh, natural touch in specific contexts.

3.4. Neutral Palette (Backgrounds & Text):

A range of near-white, light grey, and near-black colors for flexibility in backgrounds and text.

  • Black: #222222 (for primary body text)
  • Dark Grey: #4A4A4A (for secondary text, subtle shadows)
  • Light Grey: #EEEEEE (for light backgrounds, dividers)
  • White: #FFFFFF (for clean backgrounds, reversed text)

4. Brand Experience (BX) & Application Recommendations (Interpreted as UX Recommendations)

While "UX recommendations" typically refer to user interface design, for a Brand Identity Kit, this translates into Brand Experience (BX) recommendations. These guidelines focus on how the brand identity translates into practical application, ensuring a consistent, intuitive, and positive experience for anyone interacting with the brand.

4.1. Consistency Across All Touchpoints:

  • Unified Visuals: Ensure the logo, colors, typography, and imagery are applied consistently across all platforms (website, social media, print materials, presentations, email signatures).
  • Harmonized Messaging: Maintain a consistent brand voice, tone, and key messages in all written and verbal communications.
  • Seamless Transitions: Design brand elements to transition smoothly between different mediums, maintaining recognition and familiarity.

4.2. Usability & Accessibility:

  • Legibility: Prioritize font choices and color combinations that ensure optimal readability for all users, including those with visual impairments. Adhere to WCAG (Web Content Accessibility Guidelines) standards for color contrast ratios.
  • Clarity: Ensure all brand elements, especially icons and infographics, communicate their intended message clearly and unambiguously.
  • Intuitiveness: Design for immediate recognition and understanding. The brand should feel natural and easy to engage with.

4.3. Scalability & Adaptability:

  • Responsive Design: Logo and visual elements must be designed to scale gracefully across various screen sizes and resolutions, from mobile devices to large displays.
  • Versatile Applications: The identity should be robust enough to be applied to a wide range of future applications, including new digital platforms, physical products, or marketing campaigns, without losing its core essence.
  • Future-Proofing: Design with an eye towards longevity and evolution, allowing for minor updates without necessitating a complete rebrand.

4.4. Emotional Resonance & Engagement:

  • Evoke Desired Emotions: Leverage the chosen color palette, typography, and imagery to consistently evoke the core brand attributes (e.g., trust, innovation, friendliness).
  • Storytelling: Utilize the brand voice and visual elements to tell a compelling brand story that resonates with the target audience and fosters connection.
gemini Output

This Brand Identity Kit serves as a comprehensive guide for "AuraFlow Wellness," outlining all essential elements to ensure consistent and impactful brand communication across all touchpoints. This kit is designed to empower your team to maintain a cohesive brand presence, fostering recognition, trust, and a strong connection with your audience.


Brand Overview: AuraFlow Wellness

Mission: To empower individuals to achieve holistic well-being through mindful practices, balanced living, and personalized support, fostering a deeper connection to self and nature.

Vision: To be the leading global platform for accessible and transformative wellness experiences, inspiring a world where serenity, clarity, and growth are integral to daily life.

Core Values:

  • Serenity: Promoting peace, calm, and mental tranquility.
  • Clarity: Encouraging focus, understanding, and clear decision-making.
  • Growth: Supporting personal development, learning, and continuous improvement.
  • Authenticity: Upholding genuine connections and honest self-expression.
  • Connection: Fostering community, empathy, and harmony with the environment.

Brand Persona: AuraFlow Wellness is calm, inspiring, knowledgeable, and empathetic. We are a trusted guide on the journey to holistic well-being, offering gentle encouragement and expert insights.


1. Logo Suite

The AuraFlow Wellness logo suite is designed to convey serenity, growth, and fluidity, embodying the brand's core values. It is versatile and adaptable for various applications while maintaining strong recognition.

1.1. Primary Logo

The primary logo combines a custom wordmark with a unique, flowing emblem that symbolizes the harmonious integration of mind, body, and spirit, reminiscent of a gentle wave or a budding leaf.

  • Description: A custom-designed sans-serif wordmark "AuraFlow Wellness" paired with an abstract, organic symbol. The symbol features two interconnected, flowing shapes that suggest movement, balance, and natural growth, enclosed within a soft, circular boundary.
  • Preferred Usage: This is the most complete and preferred version for most applications, including website headers, primary marketing materials, and large-scale print.

1.2. Secondary Logos & Variants

To ensure flexibility, the brand identity includes several logo variants:

  • Stacked Logo: The primary logo elements arranged vertically for applications with limited horizontal space.

Usage:* Social media banners, smaller print items, specific digital layouts.

  • Icon/Emblem: The standalone abstract symbol (without the wordmark).

Usage:* Favicons, app icons, social media profile pictures, merchandise details, or as a subtle branding element.

  • Wordmark Only: The "AuraFlow Wellness" text without the symbol.

Usage:* When the symbol is already present elsewhere, or for textual emphasis where the brand name needs to be prominent.

1.3. Logo Clear Space

A minimum clear space equal to the height of the 'A' in AuraFlow must be maintained around all sides of the logo to ensure its legibility and prominence. No other graphic elements should infringe upon this area.

1.4. Minimum Size

  • Digital: Primary Logo: 150px width; Icon: 32px width.
  • Print: Primary Logo: 1 inch width; Icon: 0.5 inch width.

Note:* Ensure legibility at all sizes. If the wordmark becomes unreadable, use the icon variant.

1.5. Color Variations

  • Full Color: Preferred version (AuraFlow Teal, Sage Green, and Off-White background).
  • Monochromatic:

* White: For use on dark backgrounds.

* Black/Dark Grey: For use on light backgrounds where color is not possible.

  • Single Color: For embroidery, engraving, or specific print needs (e.g., 1-color print). Use AuraFlow Teal or Sage Green.

1.6. Incorrect Usage

  • Do not stretch or distort the logo.
  • Do not alter the colors of the logo components.
  • Do not add effects (shadows, gradients, outlines) to the logo.
  • Do not place the logo on busy or conflicting backgrounds that compromise legibility.
  • Do not rearrange the elements of the logo.

2. Color Palette

The AuraFlow Wellness color palette is inspired by nature, tranquility, and growth. It evokes feelings of calm, clarity, and sophistication.

2.1. Primary Colors

These are the foundational colors for the brand, used prominently across all materials.

  • AuraFlow Teal

* HEX: #4A8C8C

* RGB: 74, 140, 140

* CMYK: 60, 0, 30, 45

Usage:* Primary call-to-action buttons, key headlines, brand accents, and graphic elements. Represents clarity, serenity, and depth.

  • Muted Sage Green

* HEX: #7D9B8E

* RGB: 125, 155, 142

* CMYK: 35, 0, 20, 40

Usage:* Secondary headlines, background elements, supporting graphics. Represents growth, nature, and well-being.

2.2. Secondary & Neutral Colors

These colors complement the primary palette, providing balance, warmth, and versatility.

  • Serene Off-White

* HEX: #F8F5EE

* RGB: 248, 245, 238

* CMYK: 0, 1, 4, 3

Usage:* Dominant background color, body text background, ample white space. Represents purity, calm, and openness.

  • Soft Taupe Grey

* HEX: #B6B2AB

* RGB: 182, 178, 171

* CMYK: 0, 2, 6, 29

Usage:* Subtle background textures, divider lines, secondary text, footer elements. Provides balance and sophistication.

2.3. Accent Color

Used sparingly to draw attention to specific elements or add a touch of warmth.

  • Blush Peach

* HEX: #E0C7BE

* RGB: 224, 199, 190

* CMYK: 0, 11, 15, 12

Usage:* Highlights, subtle decorative elements, interactive states (hover/active). Represents warmth, human touch, and gentle encouragement.

2.4. Color Usage Guidelines

  • Contrast: Ensure sufficient contrast between text and background colors for readability, especially for accessibility standards (WCAG 2.1 AA level minimum).
  • Hierarchy: Use primary colors for key elements, secondary colors for supporting information, and neutrals for backgrounds and body text.
  • Balance: Aim for a balanced distribution, generally leaning towards Serene Off-White for backgrounds, with accents of AuraFlow Teal and Muted Sage Green. Blush Peach should be used sparingly.

3. Typography Guide

The chosen typefaces for AuraFlow Wellness prioritize legibility, a modern aesthetic, and a sense of calm sophistication.

3.1. Primary Font: Montserrat (Sans-Serif)

  • Usage: Headlines, subheadings, call-to-action buttons, and prominent display text.
  • Description: A geometric sans-serif typeface known for its clean lines, excellent readability, and contemporary feel. It conveys professionalism and clarity.
  • Weights:

* Bold (700): For main headlines (H1, H2).

* Semi-Bold (600): For subheadings (H3, H4) and emphasis.

* Medium (500): For smaller headings, button text.

* Regular (400): For short descriptive text that needs emphasis.

3.2. Secondary Font: Lato (Sans-Serif)

  • Usage: Body text, paragraphs, captions, navigation links, and all general copy.
  • Description: A semi-rounded sans-serif typeface that offers high legibility on screen and in print. Its friendly and warm character complements Montserrat's geometric precision.
  • Weights:

* Regular (400): For all standard body text.

* Light (300): For subtle emphasis, small print, or less critical information.

* Bold (700): For strong emphasis within body text.

3.3. Typography Hierarchy & Sizing (Example for Web)

  • H1 (Page Title): Montserrat Bold, 48px – 64px (responsive)
  • H2 (Section Title): Montserrat Bold, 32px – 40px (responsive)
  • H3 (Sub-Section Title): Montserrat Semi-Bold, 24px – 28px (responsive)
  • H4 (Card Title/Minor Heading): Montserrat Medium, 18px – 20px
  • Body Text (Paragraphs): Lato Regular, 16px – 18px (with 1.5x line height for readability)
  • Lead Paragraphs: Lato Regular, 18px – 20px
  • Captions/Small Text: Lato Light, 12px – 14px
  • Button Text: Montserrat Medium, 16px

3.4. Typography Guidelines

  • Line Height: Maintain optimal line height (1.4x to 1.6x font size) for comfortable reading.
  • Letter Spacing: Use default letter spacing for both fonts; adjust only slightly for large headlines if needed.
  • Capitalization: Use sentence case for most body text and headings. All caps can be used sparingly for specific, short calls to action or navigation links.
  • Color: Body text should primarily be a dark grey (#333333 or similar) for optimal contrast on light backgrounds. Headings can utilize AuraFlow Teal or Muted Sage Green, or dark grey.
  • Readability: Always prioritize readability across all devices and print formats.

4. Brand Voice Guidelines

The AuraFlow Wellness brand voice is designed to resonate with our audience's desire for peace, clarity, and personal growth. It reflects our core values and brand persona.

4.1. Core Personality Traits

  • Calm & Serene: Our voice is soothing, non-rushed, and reassuring. We create a sense of peace.
  • Empathetic & Supportive: We understand our audience's challenges and offer compassionate guidance. We listen and respond with care.
  • Knowledgeable & Credible: We provide well-researched, accurate information, establishing ourselves as a trusted authority in wellness.
  • Inspiring & Encouraging: We motivate individuals towards positive change, celebrating progress and fostering a belief in their potential.
  • Authentic & Genuine: We speak with honesty and transparency, avoiding jargon or overly clinical language.

4.2. Tone of Voice

  • Mindful: Every word is chosen with intention and purpose.
  • Gentle: Our communication is soft, approachable, and never demanding.
  • Clear: We communicate complex ideas simply and directly.
  • Optimistic: We focus on solutions, growth, and positive outcomes.
  • Respectful: We address our audience with dignity and acknowledge their individual journeys.

4.3. Key Messaging Principles

  • Focus on Benefits, Not Just Features: Emphasize how AuraFlow Wellness improves lives (e.g., "Find your inner calm" vs. "We offer meditation classes").
  • Use Inclusive Language: Ensure all language is welcoming and respectful of diverse backgrounds and experiences.
  • Tell Stories: Share authentic testimonials and narratives that illustrate the transformative power of wellness.
  • Call to Action (CTA): Guide users gently towards the next step, using encouraging language (e.g., "Explore our programs," "Begin your journey").
  • Consistency: Maintain the same voice across all platforms – website, social media, emails, customer service.

4.4. Do's and Don'ts

  • DO: Use words like: Serene, mindful, balance, holistic, empower, journey, clarity, growth, gentle, explore, nourish, connect.
  • **
brand_identity_kit.md
Download as Markdown
Copy all content
Full output as text
Download ZIP
IDE-ready project ZIP
Copy share link
Permanent URL for this run
Get Embed Code
Embed this result on any website
Print / Save PDF
Use browser print dialog
\n\n\n"); var hasSrcMain=Object.keys(extracted).some(function(k){return k.indexOf("src/main")>=0;}); if(!hasSrcMain) zip.file(folder+"src/main."+ext,"import React from 'react'\nimport ReactDOM from 'react-dom/client'\nimport App from './App'\nimport './index.css'\n\nReactDOM.createRoot(document.getElementById('root')!).render(\n \n \n \n)\n"); var hasSrcApp=Object.keys(extracted).some(function(k){return k==="src/App."+ext||k==="App."+ext;}); if(!hasSrcApp) zip.file(folder+"src/App."+ext,"import React from 'react'\nimport './App.css'\n\nfunction App(){\n return(\n
\n
\n

"+slugTitle(pn)+"

\n

Built with PantheraHive BOS

\n
\n
\n )\n}\nexport default App\n"); zip.file(folder+"src/index.css","*{margin:0;padding:0;box-sizing:border-box}\nbody{font-family:system-ui,-apple-system,sans-serif;background:#f0f2f5;color:#1a1a2e}\n.app{min-height:100vh;display:flex;flex-direction:column}\n.app-header{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px}\nh1{font-size:2.5rem;font-weight:700}\n"); zip.file(folder+"src/App.css",""); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/pages/.gitkeep",""); zip.file(folder+"src/hooks/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nnpm run dev\n\`\`\`\n\n## Build\n\`\`\`bash\nnpm run build\n\`\`\`\n\n## Open in IDE\nOpen the project folder in VS Code or WebStorm.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n"); } /* --- Vue (Vite + Composition API + TypeScript) --- */ function buildVue(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{\n "name": "'+pn+'",\n "version": "0.0.0",\n "type": "module",\n "scripts": {\n "dev": "vite",\n "build": "vue-tsc -b && vite build",\n "preview": "vite preview"\n },\n "dependencies": {\n "vue": "^3.5.13",\n "vue-router": "^4.4.5",\n "pinia": "^2.3.0",\n "axios": "^1.7.9"\n },\n "devDependencies": {\n "@vitejs/plugin-vue": "^5.2.1",\n "typescript": "~5.7.3",\n "vite": "^6.0.5",\n "vue-tsc": "^2.2.0"\n }\n}\n'); zip.file(folder+"vite.config.ts","import { defineConfig } from 'vite'\nimport vue from '@vitejs/plugin-vue'\nimport { resolve } from 'path'\n\nexport default defineConfig({\n plugins: [vue()],\n resolve: { alias: { '@': resolve(__dirname,'src') } }\n})\n"); zip.file(folder+"tsconfig.json",'{"files":[],"references":[{"path":"./tsconfig.app.json"},{"path":"./tsconfig.node.json"}]}\n'); zip.file(folder+"tsconfig.app.json",'{\n "compilerOptions":{\n "target":"ES2020","useDefineForClassFields":true,"module":"ESNext","lib":["ES2020","DOM","DOM.Iterable"],\n "skipLibCheck":true,"moduleResolution":"bundler","allowImportingTsExtensions":true,\n "isolatedModules":true,"moduleDetection":"force","noEmit":true,"jsxImportSource":"vue",\n "strict":true,"paths":{"@/*":["./src/*"]}\n },\n "include":["src/**/*.ts","src/**/*.d.ts","src/**/*.tsx","src/**/*.vue"]\n}\n'); zip.file(folder+"env.d.ts","/// \n"); zip.file(folder+"index.html","\n\n\n \n \n "+slugTitle(pn)+"\n\n\n
\n \n\n\n"); var hasMain=Object.keys(extracted).some(function(k){return k==="src/main.ts"||k==="main.ts";}); if(!hasMain) zip.file(folder+"src/main.ts","import { createApp } from 'vue'\nimport { createPinia } from 'pinia'\nimport App from './App.vue'\nimport './assets/main.css'\n\nconst app = createApp(App)\napp.use(createPinia())\napp.mount('#app')\n"); var hasApp=Object.keys(extracted).some(function(k){return k.indexOf("App.vue")>=0;}); if(!hasApp) zip.file(folder+"src/App.vue","\n\n\n\n\n"); zip.file(folder+"src/assets/main.css","*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,sans-serif;background:#fff;color:#213547}\n"); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/views/.gitkeep",""); zip.file(folder+"src/stores/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nnpm run dev\n\`\`\`\n\n## Build\n\`\`\`bash\nnpm run build\n\`\`\`\n\nOpen in VS Code or WebStorm.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n"); } /* --- Angular (v19 standalone) --- */ function buildAngular(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var sel=pn.replace(/_/g,"-"); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{\n "name": "'+pn+'",\n "version": "0.0.0",\n "scripts": {\n "ng": "ng",\n "start": "ng serve",\n "build": "ng build",\n "test": "ng test"\n },\n "dependencies": {\n "@angular/animations": "^19.0.0",\n "@angular/common": "^19.0.0",\n "@angular/compiler": "^19.0.0",\n "@angular/core": "^19.0.0",\n "@angular/forms": "^19.0.0",\n "@angular/platform-browser": "^19.0.0",\n "@angular/platform-browser-dynamic": "^19.0.0",\n "@angular/router": "^19.0.0",\n "rxjs": "~7.8.0",\n "tslib": "^2.3.0",\n "zone.js": "~0.15.0"\n },\n "devDependencies": {\n "@angular-devkit/build-angular": "^19.0.0",\n "@angular/cli": "^19.0.0",\n "@angular/compiler-cli": "^19.0.0",\n "typescript": "~5.6.0"\n }\n}\n'); zip.file(folder+"angular.json",'{\n "$schema": "./node_modules/@angular/cli/lib/config/schema.json",\n "version": 1,\n "newProjectRoot": "projects",\n "projects": {\n "'+pn+'": {\n "projectType": "application",\n "root": "",\n "sourceRoot": "src",\n "prefix": "app",\n "architect": {\n "build": {\n "builder": "@angular-devkit/build-angular:application",\n "options": {\n "outputPath": "dist/'+pn+'",\n "index": "src/index.html",\n "browser": "src/main.ts",\n "tsConfig": "tsconfig.app.json",\n "styles": ["src/styles.css"],\n "scripts": []\n }\n },\n "serve": {"builder":"@angular-devkit/build-angular:dev-server","configurations":{"production":{"buildTarget":"'+pn+':build:production"},"development":{"buildTarget":"'+pn+':build:development"}},"defaultConfiguration":"development"}\n }\n }\n }\n}\n'); zip.file(folder+"tsconfig.json",'{\n "compileOnSave": false,\n "compilerOptions": {"baseUrl":"./","outDir":"./dist/out-tsc","forceConsistentCasingInFileNames":true,"strict":true,"noImplicitOverride":true,"noPropertyAccessFromIndexSignature":true,"noImplicitReturns":true,"noFallthroughCasesInSwitch":true,"paths":{"@/*":["src/*"]},"skipLibCheck":true,"esModuleInterop":true,"sourceMap":true,"declaration":false,"experimentalDecorators":true,"moduleResolution":"bundler","importHelpers":true,"target":"ES2022","module":"ES2022","useDefineForClassFields":false,"lib":["ES2022","dom"]},\n "references":[{"path":"./tsconfig.app.json"}]\n}\n'); zip.file(folder+"tsconfig.app.json",'{\n "extends":"./tsconfig.json",\n "compilerOptions":{"outDir":"./dist/out-tsc","types":[]},\n "files":["src/main.ts"],\n "include":["src/**/*.d.ts"]\n}\n'); zip.file(folder+"src/index.html","\n\n\n \n "+slugTitle(pn)+"\n \n \n \n\n\n \n\n\n"); zip.file(folder+"src/main.ts","import { bootstrapApplication } from '@angular/platform-browser';\nimport { appConfig } from './app/app.config';\nimport { AppComponent } from './app/app.component';\n\nbootstrapApplication(AppComponent, appConfig)\n .catch(err => console.error(err));\n"); zip.file(folder+"src/styles.css","* { margin: 0; padding: 0; box-sizing: border-box; }\nbody { font-family: system-ui, -apple-system, sans-serif; background: #f9fafb; color: #111827; }\n"); var hasComp=Object.keys(extracted).some(function(k){return k.indexOf("app.component")>=0;}); if(!hasComp){ zip.file(folder+"src/app/app.component.ts","import { Component } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\n\n@Component({\n selector: 'app-root',\n standalone: true,\n imports: [RouterOutlet],\n templateUrl: './app.component.html',\n styleUrl: './app.component.css'\n})\nexport class AppComponent {\n title = '"+pn+"';\n}\n"); zip.file(folder+"src/app/app.component.html","
\n
\n

"+slugTitle(pn)+"

\n

Built with PantheraHive BOS

\n
\n \n
\n"); zip.file(folder+"src/app/app.component.css",".app-header{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}h1{font-size:2.5rem;font-weight:700;color:#6366f1}\n"); } zip.file(folder+"src/app/app.config.ts","import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core';\nimport { provideRouter } from '@angular/router';\nimport { routes } from './app.routes';\n\nexport const appConfig: ApplicationConfig = {\n providers: [\n provideZoneChangeDetection({ eventCoalescing: true }),\n provideRouter(routes)\n ]\n};\n"); zip.file(folder+"src/app/app.routes.ts","import { Routes } from '@angular/router';\n\nexport const routes: Routes = [];\n"); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nng serve\n# or: npm start\n\`\`\`\n\n## Build\n\`\`\`bash\nng build\n\`\`\`\n\nOpen in VS Code with Angular Language Service extension.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n.angular/\n"); } /* --- Python --- */ function buildPython(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^\`\`\`[\w]*\n?/m,"").replace(/\n?\`\`\`$/m,"").trim(); var reqMap={"numpy":"numpy","pandas":"pandas","sklearn":"scikit-learn","tensorflow":"tensorflow","torch":"torch","flask":"flask","fastapi":"fastapi","uvicorn":"uvicorn","requests":"requests","sqlalchemy":"sqlalchemy","pydantic":"pydantic","dotenv":"python-dotenv","PIL":"Pillow","cv2":"opencv-python","matplotlib":"matplotlib","seaborn":"seaborn","scipy":"scipy"}; var reqs=[]; Object.keys(reqMap).forEach(function(k){if(src.indexOf("import "+k)>=0||src.indexOf("from "+k)>=0)reqs.push(reqMap[k]);}); var reqsTxt=reqs.length?reqs.join("\n"):"# add dependencies here\n"; zip.file(folder+"main.py",src||"# "+title+"\n# Generated by PantheraHive BOS\n\nprint(title+\" loaded\")\n"); zip.file(folder+"requirements.txt",reqsTxt); zip.file(folder+".env.example","# Environment variables\n"); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\npython3 -m venv .venv\nsource .venv/bin/activate\npip install -r requirements.txt\n\`\`\`\n\n## Run\n\`\`\`bash\npython main.py\n\`\`\`\n"); zip.file(folder+".gitignore",".venv/\n__pycache__/\n*.pyc\n.env\n.DS_Store\n"); } /* --- Node.js --- */ function buildNode(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^\`\`\`[\w]*\n?/m,"").replace(/\n?\`\`\`$/m,"").trim(); var depMap={"mongoose":"^8.0.0","dotenv":"^16.4.5","axios":"^1.7.9","cors":"^2.8.5","bcryptjs":"^2.4.3","jsonwebtoken":"^9.0.2","socket.io":"^4.7.4","uuid":"^9.0.1","zod":"^3.22.4","express":"^4.18.2"}; var deps={}; Object.keys(depMap).forEach(function(k){if(src.indexOf(k)>=0)deps[k]=depMap[k];}); if(!deps["express"])deps["express"]="^4.18.2"; var pkgJson=JSON.stringify({"name":pn,"version":"1.0.0","main":"src/index.js","scripts":{"start":"node src/index.js","dev":"nodemon src/index.js"},"dependencies":deps,"devDependencies":{"nodemon":"^3.0.3"}},null,2)+"\n"; zip.file(folder+"package.json",pkgJson); var fallback="const express=require(\"express\");\nconst app=express();\napp.use(express.json());\n\napp.get(\"/\",(req,res)=>{\n res.json({message:\""+title+" API\"});\n});\n\nconst PORT=process.env.PORT||3000;\napp.listen(PORT,()=>console.log(\"Server on port \"+PORT));\n"; zip.file(folder+"src/index.js",src||fallback); zip.file(folder+".env.example","PORT=3000\n"); zip.file(folder+".gitignore","node_modules/\n.env\n.DS_Store\n"); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\n\`\`\`\n\n## Run\n\`\`\`bash\nnpm run dev\n\`\`\`\n"); } /* --- Vanilla HTML --- */ function buildVanillaHtml(zip,folder,app,code){ var title=slugTitle(app); var isFullDoc=code.trim().toLowerCase().indexOf("=0||code.trim().toLowerCase().indexOf("=0; var indexHtml=isFullDoc?code:"\n\n\n\n\n"+title+"\n\n\n\n"+code+"\n\n\n\n"; zip.file(folder+"index.html",indexHtml); zip.file(folder+"style.css","/* "+title+" — styles */\n*{margin:0;padding:0;box-sizing:border-box}\nbody{font-family:system-ui,-apple-system,sans-serif;background:#fff;color:#1a1a2e}\n"); zip.file(folder+"script.js","/* "+title+" — scripts */\n"); zip.file(folder+"assets/.gitkeep",""); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Open\nDouble-click \`index.html\` in your browser.\n\nOr serve locally:\n\`\`\`bash\nnpx serve .\n# or\npython3 -m http.server 3000\n\`\`\`\n"); zip.file(folder+".gitignore",".DS_Store\nnode_modules/\n.env\n"); } /* ===== MAIN ===== */ var sc=document.createElement("script"); sc.src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"; sc.onerror=function(){ if(lbl)lbl.textContent="Download ZIP"; alert("JSZip load failed — check connection."); }; sc.onload=function(){ var zip=new JSZip(); var base=(_phFname||"output").replace(/\.[^.]+$/,""); var app=base.toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")||"my_app"; var folder=app+"/"; var vc=document.getElementById("panel-content"); var panelTxt=vc?(vc.innerText||vc.textContent||""):""; var lang=detectLang(_phCode,panelTxt); if(_phIsHtml){ buildVanillaHtml(zip,folder,app,_phCode); } else if(lang==="flutter"){ buildFlutter(zip,folder,app,_phCode,panelTxt); } else if(lang==="react-native"){ buildReactNative(zip,folder,app,_phCode,panelTxt); } else if(lang==="swift"){ buildSwift(zip,folder,app,_phCode,panelTxt); } else if(lang==="kotlin"){ buildKotlin(zip,folder,app,_phCode,panelTxt); } else if(lang==="react"){ buildReact(zip,folder,app,_phCode,panelTxt); } else if(lang==="vue"){ buildVue(zip,folder,app,_phCode,panelTxt); } else if(lang==="angular"){ buildAngular(zip,folder,app,_phCode,panelTxt); } else if(lang==="python"){ buildPython(zip,folder,app,_phCode); } else if(lang==="node"){ buildNode(zip,folder,app,_phCode); } else { /* Document/content workflow */ var title=app.replace(/_/g," "); var md=_phAll||_phCode||panelTxt||"No content"; zip.file(folder+app+".md",md); var h=""+title+""; h+="

"+title+"

"; var hc=md.replace(/&/g,"&").replace(//g,">"); hc=hc.replace(/^### (.+)$/gm,"

$1

"); hc=hc.replace(/^## (.+)$/gm,"

$1

"); hc=hc.replace(/^# (.+)$/gm,"

$1

"); hc=hc.replace(/\*\*(.+?)\*\*/g,"$1"); hc=hc.replace(/\n{2,}/g,"

"); h+="

"+hc+"

Generated by PantheraHive BOS
"; zip.file(folder+app+".html",h); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\nFiles:\n- "+app+".md (Markdown)\n- "+app+".html (styled HTML)\n"); } zip.generateAsync({type:"blob"}).then(function(blob){ var a=document.createElement("a"); a.href=URL.createObjectURL(blob); a.download=app+".zip"; a.click(); URL.revokeObjectURL(a.href); if(lbl)lbl.textContent="Download ZIP"; }); }; document.head.appendChild(sc); } function phShare(){navigator.clipboard.writeText(window.location.href).then(function(){var el=document.getElementById("ph-share-lbl");if(el){el.textContent="Link copied!";setTimeout(function(){el.textContent="Copy share link";},2500);}});}function phEmbed(){var runId=window.location.pathname.split("/").pop().replace(".html","");var embedUrl="https://pantherahive.com/embed/"+runId;var code='';navigator.clipboard.writeText(code).then(function(){var el=document.getElementById("ph-embed-lbl");if(el){el.textContent="Embed code copied!";setTimeout(function(){el.textContent="Get Embed Code";},2500);}});}