Social Media Campaign
Run ID: 69cb635a61b1021a29a888752026-03-31Marketing
PantheraHive BOS
BOS Dashboard

Plan and create content for a complete social media campaign

This output represents the completed Step 1 of 2: "generate_content_calendar" for your "Social Media Campaign" workflow. We have meticulously planned a comprehensive social media content calendar designed to launch the PantheraTech Eco-Smart Hub, a fictional eco-friendly smart home device. This calendar spans two weeks, covering a teaser phase, the official launch, and subsequent feature deep-dives, ensuring sustained engagement and interest.


Social Media Campaign: Content Calendar - PantheraTech Eco-Smart Hub Launch

Campaign Overview

  • Campaign Name: Eco-Smart Hub: Smarter Living, Greener Planet
  • Campaign Goal: To successfully launch the PantheraTech Eco-Smart Hub, drive brand awareness, generate pre-orders/initial sales, and educate the target audience about its innovative eco-friendly features and benefits.
  • Target Audience:

* Environmentally conscious homeowners (25-55) seeking sustainable living solutions.

* Tech enthusiasts and early adopters interested in smart home innovation.

* Families looking for convenience, energy efficiency, and a modern lifestyle.

* Individuals prioritizing reducing their carbon footprint without compromising comfort.

  • Key Message: The PantheraTech Eco-Smart Hub seamlessly integrates cutting-edge smart technology with sustainable design, making your home smarter, more efficient, and kinder to the planet.

Platform Strategy

Our strategy leverages the unique strengths of each platform to maximize reach and engagement:

  • Instagram (IG): Visual storytelling, lifestyle integration, short-form video (Reels, Stories), product aesthetics, influencer collaborations.
  • Facebook (FB): Community engagement, detailed explanations, live Q&A, event promotion, wider reach for diverse content types.
  • X (formerly Twitter): Real-time updates, quick tips, trending topic engagement, concise news, driving traffic to longer content.
  • LinkedIn (LI): Professional insights, thought leadership, company values, showcasing innovation and sustainability credentials, B2B potential.

Content Pillars

Our content will be structured around four core pillars to ensure a diverse and engaging narrative:

  1. Innovation & Technology: Highlighting the cutting-edge smart features, AI integration, seamless connectivity, and user experience.
  2. Sustainability & Eco-Friendliness: Emphasizing energy saving, reduced carbon footprint, use of recycled/sustainable materials, and environmental impact.
  3. Convenience & Lifestyle: Showcasing how the Eco-Smart Hub simplifies daily routines, enhances comfort, and integrates effortlessly into a modern, busy life.
  4. Community & Impact: Fostering a sense of shared values, showcasing brand commitment, and (post-launch) featuring user stories and testimonials.

Two-Week Content Calendar: PantheraTech Eco-Smart Hub Launch

This detailed calendar outlines daily content for a two-week period, from pre-launch teasers to the official product launch and subsequent feature deep-dives.


Week 1: Teaser & Build-Up

| Day | Date (Example) | Platform | Content Type | Headline/Caption | Body Text | Call to Action | Visual/Creative Idea | Hashtags |

| :-- | :------------- | :------- | :----------- | :--------------- | :-------- | :------------- | :------------------- | :-------- |

| Day 1 | Mon, Oct 23 | IG, FB, X | Teaser Video/Image | Headline: Something Smart, Something Green, Is Coming. | Body: Get ready to redefine your home. A revolutionary device that blends intelligent living with sustainable choices is on its way. Stay tuned for a smarter, greener future. | CTA: Follow us to be the first to know! | Short, enigmatic video clip of a sleek, green-tinged device silhouette, with nature sounds or subtle tech hum. Minimal text overlay. | #EcoSmartHub #PantheraTech #SmartHomeFuture #GreenTech #Innovation |

| Day 2 | Tue, Oct 24 | IG (Reel), FB | Behind-the-Scenes Video | Headline: Crafting the Future: A Glimpse Behind the Eco-Smart Hub. | Body: Innovation doesn't happen overnight. Join us for an exclusive peek into the meticulous design and sustainable engineering that brings the Eco-Smart Hub to life. See how every detail is crafted with purpose. | CTA: What eco-friendly features are you hoping for? Tell us below! | Fast-paced Reel showing designers sketching, engineers testing, close-ups of sustainable materials. | #MadeWithPurpose #SustainableDesign #TechInnovation #EcoFriendlyTech #BehindTheScenes |

| Day 3 | Wed, Oct 25 | FB, X, LI | Problem/Solution Post | Headline: Tired of High Energy Bills? Ready for a Smarter Home? | Body: Imagine a home that anticipates your needs while actively reducing its carbon footprint. We're addressing common smart home frustrations with an intuitive solution that prioritizes both your comfort and the planet. | CTA: Visit our link in bio (FB) / Learn more (X, LI) for early insights! | Infographic or carousel showing "Problem" (e.g., high bills, complex controls) vs. "Solution" (Eco-Smart Hub). | #EnergyEfficiency #SmartLiving #HomeAutomation #FutureIsNow #PantheraTech |

| Day 4 | Thu, Oct 26 | IG (Story), FB, X | Countdown Graphic | Headline: X Days Until the Future Arrives. | Body: The countdown begins! In just X days, we're unveiling the PantheraTech Eco-Smart Hub, poised to transform the way you live. Don't miss the reveal! | CTA: Tap to set a reminder for our launch event! | Dynamic countdown graphic with a subtle animation, featuring the product silhouette again. | #LaunchDay #Countdown #SmartHomeTech #EcoInnovation #GetReady |

| Day 5 | Fri, Oct 27 | IG, FB, LI | Feature Spotlight (AI) | Headline: Meet the Brains: AI-Powered Energy Optimization. | Body: The Eco-Smart Hub isn't just smart; it's intuitive. Our advanced AI learns your habits, optimizing energy use without you lifting a finger. Save power, save money, effortlessly. | CTA: Swipe up (IG Story) / Click the link (FB, LI) to explore more about its intelligent features. | Short video demonstrating AI learning (e.g., lights dimming automatically, thermostat adjusting), or a clean infographic. | #AIPowered #EnergySaving #SmartTech #Innovation #FutureHome |

| Day 6 | Sat, Oct 28 | IG (Poll), FB | Interactive Poll/Question | Headline: What's Your Biggest Smart Home Challenge? | Body: We believe smart homes should simplify, not complicate. Tell us: what's the one thing you wish your smart home could do better? Your feedback helps us innovate! | CTA: Vote in our poll! Share your thoughts in the comments. | Engaging graphic with a question and multiple-choice answers for a poll (e.g., "Complexity," "Cost," "Privacy," "Energy Use"). | #SmartHomeProblems #UserFeedback #InnovationLab #PantheraTech #CommunityInput |

| Day 7 | Sun, Oct 29 | IG, FB, X | Weekend Recap / Anticipation | Headline: One Week to Go! The Countdown Intensifies. | Body: We're just one week away from unveiling the PantheraTech Eco-Smart Hub! Recap our journey so far and get ready for a game-changing reveal. The future of sustainable smart living is almost here. | CTA: Tag a friend who needs a smarter, greener home! | Carousel post summarizing previous teasers, or a short montage video. | #EcoSmartHubLaunch #OneWeekToGo #SmartLiving #GreenFuture #TechReveal |


Week 2: Launch & Deep Dive

| Day | Date (Example) | Platform | Content Type | Headline/Caption | Body Text | Call to Action | Visual/Creative Idea | Hashtags |

| :-- | :------------- | :------- | :----------- | :--------------- | :-------- | :------------- | :------------------- | :-------- |

| Day 8 | Mon, Oct 30 | ALL PLATFORMS | OFFICIAL LAUNCH VIDEO/POST | Headline: Introducing the PantheraTech Eco-Smart Hub: Smarter Living, Greener Planet. | Body: The wait is over! Experience the revolutionary Eco-Smart Hub – a single device that seamlessly connects your home, optimizes energy, and champions sustainability. Transform your home, effortlessly. | CTA: Pre-Order Yours Today! Link in Bio! | High-quality launch video showcasing product design, key features in action, and lifestyle integration. Accompanying stunning product photography. | #EcoSmartHubLaunched #PantheraTech #SmartHomeRevolution #SustainableLiving #FutureIsHere #NewProduct |

| Day 9 | Tue, Oct 31 | FB, LI | Blog Post Link/Article | Headline: The Making of Eco-Smart Hub: Our Journey to Sustainable Innovation. | Body: Dive deeper into the philosophy and engineering behind the Eco-Smart Hub. Read our latest blog post to discover the passion, challenges, and breakthroughs that led to its creation. | CTA: Read the full story on our blog! | Engaging image from the blog post, perhaps a close-up of a sustainable material or a team photo. | #InnovationStory #SustainableTech #PantheraTechBlog #EcoFriendlyInnovation #BehindTheProduct |

| Day 10 | Wed, Nov 1 | IG (Reel), TikTok | "Day in the Life" Demo | Headline: Your Day, Elevated: Experience the Eco-Smart Hub. | Body: See how the Eco-Smart Hub effortlessly integrates into your daily routine, from morning coffee to winding down. Smart, seamless, and perfectly in sync with your life. | CTA: How would the Eco-Smart Hub enhance your day? Let us know! | Fast-cut, engaging Reel/TikTok showing a user interacting with the Hub throughout a typical day. | #DailyRoutine #SmartHomeLife #EffortlessLiving #PantheraTech #HomeTech |

| Day 11 | Thu, Nov 2 | FB (Live), IG (Q&A) | Live Q&A Session | Headline: Ask Us Anything! Eco-Smart Hub Live Q&A. | Body: Got questions about the Eco-Smart Hub? Join our live session with PantheraTech experts to get real-time answers about features, installation, sustainability, and more! | CTA: Join our Live session at [Time]! Submit your questions in advance! | Promotional graphic for the live session with photos of the experts. | #LiveQandA #SmartHomeHelp #AskTheExperts #PantheraTechLive #EcoSmartHub |

| Day 12 | Fri, Nov 3 | IG, FB, X | Feature Deep-Dive (Connectivity) | Headline: Seamlessly Connected: The Eco-Smart Hub Ecosystem. | Body: Your home, smarter than ever. The Eco-Smart Hub connects with your favorite devices (lights, thermostats, security) to create a truly integrated and responsive environment. Simple setup, powerful control. | CTA: Explore compatible devices on our website! | Infographic or short animation demonstrating device connectivity and ecosystem integration. | #SmartHomeEcosystem #Connectivity #IntegratedLiving #PantheraTech #HomeAutomation |

| Day 13 | Sat, Nov 4 | IG (Story), FB | User-Generated Content Prompt | Headline: Show Us Your Smart Home Setup! | Body: We're inspired by your innovation! Share a photo or video of your current smart home setup, and tell us how you envision the Eco-Smart Hub fitting in. We might feature your post! | CTA: Tag us @PantheraTech and use #MyEcoSmartHome! | Engaging graphic with an example user setup (stock photo) and the prompt. | #MyEcoSmartHome #SmartHomeInspo #CommunityLove #PantheraTech #HomeGoals |

| Day 14 | Sun, Nov 5 | ALL PLATFORMS | Weekend Recap / Next Steps | Headline: Your Journey to a Smarter, Greener Home Starts Here. | Body: What an incredible week! Thank you for embracing the Eco-Smart Hub. If you haven't yet, now's the perfect time to experience the future of sustainable smart living. Pre-orders are flying! | CTA: Pre-order your Eco-Smart Hub today and join the movement! | Carousel post featuring highlights from the launch week, testimonials (if any early ones), and a

sharper4k Output

Social Media Campaign: Image Generation Briefs

This document outlines the detailed image generation briefs for your upcoming social media campaign. These briefs are designed to provide clear, actionable instructions for an AI image generation tool or a graphic designer, ensuring all visual assets align perfectly with your brand identity and campaign objectives.


1. Campaign Overview & Visual Objectives

Campaign Name: Breathe Easy with AuraFlow: Your Smart Air Solution

Campaign Goal: To launch the new AuraFlow Smart Air Purifier, driving awareness, engagement, and pre-orders/sales by highlighting its elegant design, advanced technology, and the tangible benefit of cleaner, healthier indoor air.

Core Message: Experience the future of clean air. AuraFlow: Smart, Silent, Serene.

Target Audience:

  • Health-conscious individuals and families.
  • Homeowners and renters seeking modern home improvements.
  • Tech enthusiasts interested in smart home integration.
  • Individuals living in urban environments or with allergies/respiratory sensitivities.

Visual Objectives:

  • Sophistication: Convey modern elegance, premium quality, and seamless integration into contemporary home aesthetics.
  • Cleanliness & Purity: Visually represent fresh air, well-being, and a serene environment.
  • Technology & Simplicity: Showcase advanced features in an accessible, user-friendly manner.
  • Aspiration: Inspire a feeling of comfort, health, and modern living.

2. Visual Strategy & Brand Guidelines

To ensure consistency and impact across all platforms, the following guidelines should be adhered to for all image generation:

  • Overall Aesthetic: Clean, minimalist, modern, and aspirational. Focus on natural light, soft textures, and a sense of calm. Avoid clutter or overly busy compositions.
  • Color Palette:

* Primary: Muted blues (representing air/purity), soft greys, and crisp whites (for cleanliness and modernism).

* Accent: Subtle hints of warm wood tones or muted greens (representing nature/eco-friendliness) to add warmth and a touch of organic feel.

* AuraFlow Device: Predominantly matte white or charcoal grey with minimalist LED indicators.

  • Photography Style: High-key lighting, soft focus where appropriate, clean lines, and architectural elements. Lifestyle shots should feel authentic and natural, not overly staged.
  • Subject Focus: The AuraFlow device should be the hero, often placed within a beautifully designed interior setting. Human elements (hands, partial figures) can be included to demonstrate interaction or benefit, but the focus remains on the product and its environment.
  • Composition: Utilize the rule of thirds, leading lines, and negative space to create visually appealing and balanced images.
  • Text Overlays (Optional): If text overlays are included in the generated image (e.g., for ad creatives), use a clean, modern sans-serif typeface (e.g., Montserrat, Lato, Open Sans) in white, light grey, or a soft blue, ensuring high contrast and readability.

3. Image Generation Briefs

Below are detailed briefs for key image concepts, categorized by their primary focus or message. Each brief includes a description, mood, key elements, and suggested aspect ratios.

3.1. Hero Product Shots: Elegance & Integration

Concept 1.1: The Seamless Integration

  • Description: A wide shot of a beautifully designed, modern living room or bedroom. The AuraFlow device is subtly yet prominently placed, blending harmoniously with the decor (e.g., next to a minimalist sofa, on a sleek bedside table, or near a large window). Natural light streams in.
  • Mood: Serene, sophisticated, aspirational, peaceful.
  • Key Elements: AuraFlow device (matte white or charcoal), minimalist furniture (light wood, grey fabric), indoor plant (e.g., Monstera, Fiddle Leaf Fig), soft textures (throw blanket), large window with soft outdoor light.
  • Focus: How AuraFlow enhances and fits into a modern, healthy home.
  • Aspect Ratios: 1:1 (Instagram), 4:5 (Instagram Portrait), 16:9 (Facebook/Website Banner).

Concept 1.2: The Architectural Statement

  • Description: A close-up to mid-shot of the AuraFlow device positioned against a clean, architectural background (e.g., a textured concrete wall, a large glass pane with a blurred city view, or a simple, elegant shelf). Emphasize its sleek lines and premium finish.
  • Mood: Modern, premium, cutting-edge, minimalist.
  • Key Elements: AuraFlow device (dominant), clean lines, subtle shadow play, high-quality material textures (concrete, glass, wood grain).
  • Focus: The device's design as a piece of functional art.
  • Aspect Ratios: 1:1 (Instagram), 9:16 (Instagram Story/Reel cover), 4:5 (Instagram Portrait).

3.2. Benefit-Oriented Shots: Clean Air & Well-being

Concept 2.1: The Breath of Fresh Air

  • Description: A lifestyle shot featuring a person (diverse representation, gentle smile, perhaps eyes closed in comfort) taking a deep, relaxed breath in a room where the AuraFlow device is visible in the background, subtly emitting a soft, ethereal glow (representing clean air). Soft, diffused lighting.
  • Mood: Relaxed, healthy, refreshing, calm, pure.
  • Key Elements: Person (focus on facial expression of contentment), soft lighting, subtle visual cue of "clean air" (e.g., very faint, almost invisible, shimmering particles around the device, or a gentle light effect), AuraFlow device.
  • Focus: The tangible feeling of clean, healthy air provided by AuraFlow.
  • Aspect Ratios: 1:1, 4:5, 9:16 (for Stories/Reels).

Concept 2.2: Serenity in the Nursery/Bedroom

  • Description: A tranquil scene in a baby's nursery or a peaceful bedroom. The AuraFlow device is placed discreetly in the corner. The shot might feature a sleeping baby (from a distance, or just a crib) or a person reading peacefully. The emphasis is on a quiet, healthy environment.
  • Mood: Peaceful, protective, caring, quiet, safe.
  • Key Elements: AuraFlow device, crib/bed, soft lighting, muted colors, cozy textures (blanket, rug), subtle elements of comfort.
  • Focus: AuraFlow providing a healthy, quiet environment for sleep and sensitive individuals.
  • Aspect Ratios: 1:1, 4:5.

3.3. Technology & Smart Features

Concept 3.1: Smart Control at Your Fingertips

  • Description: A close-up shot of a hand (modern, clean aesthetic) interacting with a smartphone displaying the AuraFlow app interface. The AuraFlow device is slightly out of focus in the background, hinting at seamless control.
  • Mood: Convenient, smart, modern, effortless.
  • Key Elements: Hand holding a smartphone with a clean, intuitive app interface (mockup of AuraFlow app), AuraFlow device (blurred background), subtle indication of smart home environment.
  • Focus: The ease of controlling AuraFlow through its smart app.
  • Aspect Ratios: 1:1, 9:16 (for Stories/Reels).

Concept 3.2: The "Invisible" Power

  • Description: An abstract or conceptual shot depicting invisible air particles being drawn into the AuraFlow device, with a visual representation of purification happening inside (e.g., subtle blue light "cleaning" wisps of smoke or dust). This should be artistic and not literal.
  • Mood: Innovative, powerful, clean, scientific (approachable).
  • Key Elements: AuraFlow device, abstract visual effects representing air intake and purification (e.g., stylized light trails, subtle gradients of color), clean background.
  • Focus: Visualizing the unseen work of the purifier.
  • Aspect Ratios: 1:1, 16:9.

3.4. Lifestyle & Aspiration

Concept 4.1: The Productive Home Office

  • Description: A modern home office setup with the AuraFlow device placed on a desk or nearby. The scene conveys focus and productivity in a clean, organized space. A laptop, minimalist stationery, and perhaps a cup of coffee are visible.
  • Mood: Productive, focused, healthy workspace, modern.
  • Key Elements: AuraFlow device, laptop/monitor, ergonomic chair (optional), minimalist desk, natural light, subtle tech accessories.
  • Focus: AuraFlow creating an optimal environment for work and concentration.
  • Aspect Ratios: 1:1, 4:5.

Concept 4.2: Weekend Relaxation

  • Description: A cozy, inviting living space on a sunny weekend morning. The AuraFlow device is present. A person is reading a book, enjoying coffee, or simply relaxing. The overall impression is one of comfort and well-being.
  • Mood: Relaxed, comfortable, cozy, aspirational lifestyle.
  • Key Elements: AuraFlow device, comfortable seating (armchair, sofa), book, coffee mug, soft natural light, cozy textures.
  • Focus: AuraFlow enhancing moments of relaxation and leisure at home.
  • Aspect Ratios: 1:1, 4:5.

4. Call to Action (CTA) & Integration Notes

These images will be paired with compelling captions and clear calls to action (CTAs). When generating, consider how these visuals can naturally lead to:

  • "Learn More" (link to product page)
  • "Pre-order Now" / "Shop Now"
  • "Discover the Difference"
  • "Experience AuraFlow"

Ensure there is sufficient visual space for potential text overlays or branding if required by specific ad platforms, without obscuring the main subject.


5. Next Steps

Upon generation, all images will be reviewed for brand alignment, visual appeal, and effectiveness in conveying the campaign message. We are excited to see these concepts brought to life and utilized to make a significant impact on your social media campaign!

social_media_campaign.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);}});}