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

Social Media Campaign: Image Generation Deliverable

This document outlines the detailed specifications and a proposed AI generation prompt for a high-quality visual asset crucial for your social media campaign. This image is designed to be versatile, engaging, and aligned with common campaign goals such as brand awareness, community building, and inspiring action.


1. Campaign Context & Image Purpose

This image serves as a foundational visual element for a broad social media campaign. Its primary goal is to capture attention, evoke positive emotions, and visually communicate themes of connection, innovation, and progress. It is designed to be adaptable across various campaign messages, whether promoting a new service, highlighting community engagement, or celebrating achievements.

Key Objectives:


2. Image Concept & Strategic Vision

The proposed image concept focuses on "Dynamic Collaboration & Growth". It will depict a vibrant, optimistic scene that symbolizes collective achievement and the power of connection in a modern, professional context.

Concept Breakdown:


3. Detailed Visual Description

The image will feature a diverse group of individuals in a bright, contemporary setting, subtly interacting with technology or innovative ideas.


4. Target Audience & Emotional Impact

This image is designed to resonate with:

Desired Emotional Impact:


5. Technical Specifications & Best Practices


6. AI Image Generation Prompt (sharper4k)

This detailed prompt is optimized for high-quality, photorealistic AI image generation, specifically targeting the "sharper4k" output quality.

text • 2,520 chars
/imagine prompt: A vibrant, ultra-sharp 4K photorealistic image of a diverse group of 4-5 professionals collaborating in a modern, sunlit innovation hub. The scene features individuals of various ethnicities, genders, and ages (25-50), dressed in smart casual to business casual attire. They are actively engaged in a dynamic discussion, brainstorming ideas, and interacting with a large, sleek interactive digital display or a clean whiteboard.

**Key Elements:**
*   **Subjects:** A mix of smiling, engaged faces, making eye contact and gesturing naturally. One person points thoughtfully at the screen, another takes notes on a tablet, and others lean in, listening attentively.
*   **Setting:** A bright, open-plan, minimalist co-working space or an architectural innovation lab. Large windows in the background let in soft, natural sunlight, creating a warm and inviting atmosphere. Subtle, blurred abstract digital graphics or network patterns might be visible on background screens, hinting at technology without being distracting.
*   **Color Palette:** Dominant professional blues and greens, accented with warm yellows and oranges to convey energy and optimism. The overall mood is positive and inspiring.
*   **Lighting:** Soft, diffused natural light, with subtle highlights on faces and surfaces. No harsh shadows.
*   **Composition:** Dynamic, eye-level shot. Subjects are arranged in a natural, organic cluster, creating a sense of depth and interaction. Focus is sharp on the faces and immediate foreground elements.
*   **Style:** High-detail, professional photography. Emphasize realism, crisp textures, and natural skin tones.
*   **Mood:** Collaborative, innovative, forward-thinking, optimistic, inclusive, and professional.

**Technical Directives:**
*   **Resolution:** 4K, ultra-high definition.
*   **Sharpness:** Extremely sharp focus on all primary subjects and foreground details.
*   **Depth of Field:** Moderate to shallow depth of field, with a pleasing bokeh effect in the background to emphasize subjects.
*   **Aspect Ratio:** Aim for a versatile aspect ratio (e.g., 16:9 or 3:2) that can be cropped to 1:1 or 9:16.
*   **Camera Angle:** Slightly wide-angle lens to capture the group and setting, but not distorting.

**Negative Prompts (to avoid):** Blurry, low-resolution, cartoon, illustration, distorted faces, unrealistic proportions, outdated technology, dark lighting, sterile environment, excessive branding, text overlays, visible logos, aggressive expressions, single person.
Sandboxed live preview

This document outlines a comprehensive content calendar for your social media campaign, designed to engage your target audience, build brand awareness, and drive desired actions. This output is ready for direct implementation and provides detailed content drafts for various platforms.


Social Media Campaign: Content Calendar - Step 1 of 2

Campaign Focus: Launch and promote the TerraGlow Smart Garden – an innovative indoor smart garden system that allows users to grow fresh herbs and vegetables year-round with minimal effort.

Campaign Goal:

  • Generate excitement and awareness for the TerraGlow Smart Garden.
  • Drive traffic to the product landing page for pre-orders and sign-ups.
  • Foster a community around sustainable living, healthy eating, and smart home technology.
  • Position TerraGlow as the leading solution for convenient, fresh, and sustainable home gardening.

Target Audience:

  • Eco-conscious individuals (25-45) interested in sustainability, healthy eating, and reducing their carbon footprint.
  • Urban dwellers with limited outdoor space who desire fresh produce.
  • Tech-savvy individuals seeking innovative smart home solutions.
  • Aspiring home cooks and food enthusiasts looking to elevate their culinary experience.

Key Platforms: Instagram, Facebook, TikTok, Pinterest

Content Pillars:

  1. Innovation & Ease: Highlighting the smart technology, app control, and effortless growing process.
  2. Sustainability & Freshness: Emphasizing organic growth, farm-to-table benefits, and environmental impact.
  3. Lifestyle & Wellness: Showcasing the benefits for health, home aesthetics, and stress reduction.
  4. Community & Education: Tips, user-generated content (UGC) encouragement, Q&A, recipe ideas.
  5. Behind the Scenes/Brand Story: Authenticity, values, and the passion behind TerraGlow.

Detailed Content Calendar: Weeks 1 & 2

This calendar provides a two-week sample of content, demonstrating a mix of content types, pillars, and platform-specific strategies.

Week 1: Introduction & Excitement Build-Up

Theme: Unveiling TerraGlow – The Future of Home Gardening is Here!


Day 1: Monday - Campaign Kick-off!

  • Platform: Instagram (Feed Post & Story), Facebook
  • Content Type: High-quality image/short video reveal
  • Content Pillar: Innovation & Ease, Lifestyle & Wellness
  • Headline/Caption:

* Instagram: 🌱✨ Introducing TerraGlow: Grow Your Own. Effortlessly.

* Facebook: Say goodbye to wilting herbs and hello to a year-round harvest! We're thrilled to unveil TerraGlow, your personal indoor smart garden.

  • Body Text:

* Instagram: Imagine fresh basil for your pasta, vibrant cherry tomatoes for your salad, all grown from the comfort of your home. TerraGlow makes it real – with smart tech, automated watering, and custom light cycles. No green thumb required!

* Facebook: TerraGlow brings the farm to your kitchen, literally. Our innovative system takes the guesswork out of gardening, using smart technology to ensure your plants thrive. From seed to harvest, experience the joy of fresh, organic produce at your fingertips.

  • Call to Action (CTA):

* Instagram: Tap the link in bio to learn more and sign up for early access! #TerraGlow #SmartGarden #HomeGrown #FutureOfFood

* Facebook: Discover TerraGlow today! Visit [Your Website Link] to explore features and join our pre-order list for exclusive offers.

  • Suggested Visual/Creative: Stunning hero shot of TerraGlow with lush herbs/veggies, sleek design. Short, engaging video showcasing the garden's glow and a hand picking fresh produce.
  • Hashtags: #TerraGlow #SmartGarden #IndoorGarden #HomeGrown #SustainableLiving #HealthyEating #TechForHome #NewProductLaunch

Day 2: Tuesday - Deep Dive into Smart Features

  • Platform: Instagram (Carousel), Facebook (Video Post)
  • Content Type: Carousel (Instagram), Explainer Video (Facebook)
  • Content Pillar: Innovation & Ease
  • Headline/Caption:

* Instagram: ✨ TerraGlow's Smart Features: Gardening Made Genius!

* Facebook: How Smart is TerraGlow? Let's Take a Look!

  • Body Text:

* Instagram: Swipe to discover how TerraGlow takes the guesswork out of gardening! From automated watering to custom light schedules and nutrient reminders, our app-controlled system does it all. Your plants will thank you!

* Facebook: Ever wished your garden could water itself? Or tell you when it needs nutrients? TerraGlow does that and more! Our intuitive app puts you in control, while the system handles the details. Watch this video to see how effortless fresh produce can be.

  • Call to Action (CTA):

* Instagram: Ready for smarter gardening? Learn more via the link in bio! #TerraGlowFeatures #SmartTech #AutomatedGarden #EasyGardening

* Facebook: Explore all the smart features at [Your Website Link]. What's your favorite feature? Let us know in the comments!

  • Suggested Visual/Creative:

* Instagram: Carousel of graphics/short clips showing app interface, water reservoir, LED lights, seed pods.

* Facebook: 30-60 second animated explainer video or live demo showing app interaction and system functions.

  • Hashtags: #SmartHome #GardenTech #Innovation #AppControl #EffortlessGrowing #TechGadget

Day 3: Wednesday - Sustainability Story

  • Platform: Instagram (Reel/Story), Facebook, Pinterest
  • Content Type: Short Video (Reel/Story), Image with text overlay (Facebook/Pinterest)
  • Content Pillar: Sustainability & Freshness
  • Headline/Caption:

* Instagram/TikTok: πŸŒπŸ’š Grow Greener with TerraGlow!

* Facebook: Your Plate, Our Planet: TerraGlow's Sustainable Impact.

  • Body Text:

* Instagram/TikTok: Reduce your carbon footprint, one delicious harvest at a time! TerraGlow uses less water than traditional gardening and brings food miles down to zero. Taste the difference, make a difference!

* Facebook: Did you know growing your own food with TerraGlow can significantly reduce your environmental impact? No pesticides, no long-distance transport, just pure, fresh goodness grown right in your home. Join us in cultivating a more sustainable future.

  • Call to Action (CTA):

* Instagram/TikTok: Make a sustainable choice! Pre-order your TerraGlow today – link in bio! #EcoFriendly #SustainableLiving #FarmToTable #ZeroWaste

* Facebook: Learn more about TerraGlow's commitment to sustainability: [Your Website Link]/sustainability

  • Suggested Visual/Creative:

* Instagram/TikTok: Time-lapse of a plant growing in TerraGlow. Shots of fresh produce being harvested. Graphics illustrating reduced water usage/carbon footprint.

* Facebook/Pinterest: Beautiful image of TerraGlow with healthy plants, overlaid with key sustainability facts.

  • Hashtags: #GoGreen #EatLocal #OrganicGardening #ReduceWaste #HealthyPlanet #TerraGlowImpact

Day 4: Thursday - Lifestyle & Wellness Focus

  • Platform: Instagram (Feed Post), Facebook (Image Post)
  • Content Type: Lifestyle Photo
  • Content Pillar: Lifestyle & Wellness
  • Headline/Caption:

* Instagram: ✨ Elevate Your Everyday with TerraGlow.

* Facebook: Beyond Fresh Food: How TerraGlow Enhances Your Life.

  • Body Text:

* Instagram: Imagine the aroma of fresh herbs filling your kitchen, the joy of harvesting your own greens, and the peace of mind knowing exactly where your food comes from. TerraGlow isn't just a garden, it's a lifestyle upgrade.

* Facebook: TerraGlow seamlessly integrates into your home, adding a touch of natural beauty and a constant source of fresh, healthy ingredients. It's not just about gardening; it's about nurturing your well-being, enhancing your culinary skills, and bringing a piece of nature indoors.

  • Call to Action (CTA):

* Instagram: Ready to transform your home and diet? Discover TerraGlow today – link in bio! #HomeDecor #WellnessJourney #HealthyLifestyle #KitchenGoals

* Facebook: How would TerraGlow brighten your home? Share your thoughts! Find out more: [Your Website Link]

  • Suggested Visual/Creative: TerraGlow beautifully integrated into a modern kitchen or living space, a person happily harvesting herbs for a meal.
  • Hashtags: #MindfulLiving #HealthyEating #HomeInspiration #KitchenGarden #FreshIsBest #IndoorPlants

Day 5: Friday - Q&A Teaser / Community Engagement

  • Platform: Instagram (Story Poll/Question Sticker), Facebook (Text Post)
  • Content Type: Interactive Story, Text Post
  • Content Pillar: Community & Education
  • Headline/Caption:

* Instagram: πŸ€” Got Questions About TerraGlow? Ask Us Anything!

* Facebook: Your Questions Answered: What Do You Want to Know About TerraGlow?

  • Body Text:

* Instagram: We're loving all the excitement around TerraGlow! What's on your mind? Drop your questions below – we'll answer the most common ones in an upcoming post/live session!

Facebook: We're seeing so much enthusiasm for TerraGlow! We want to hear from you*. What are you most curious about? How does it work? What can you grow? Drop your questions in the comments, and we'll compile an FAQ!

  • Call to Action (CTA):

* Instagram: Use the "Ask Me A Question" sticker! #AskTerraGlow #CommunityLove

* Facebook: Comment below with your TerraGlow questions!

  • Suggested Visual/Creative:

* Instagram: Simple graphic with "Q&A" and TerraGlow logo, using story features.

* Facebook: Engaging text post with an emoji.

  • Hashtags: #CommunityQandA #TerraGlowFamily #YourQuestions #GetToKnowUs

Day 6: Saturday - Weekend Recipe Inspiration

  • Platform: Pinterest, Instagram (Reel/Carousel), Facebook
  • Content Type: Recipe Card/Short Video
  • Content Pillar: Lifestyle & Wellness, Community & Education
  • Headline/Caption:

* Instagram/Facebook: 🌿🍽️ Weekend Recipe: Fresh Pesto Perfection!

* Pinterest: Grow Your Own Pesto: Easy Recipe with TerraGlow Herbs!

  • Body Text:

* Instagram/Facebook: What better way to enjoy your TerraGlow harvest than with a delicious homemade meal? This weekend, whip up some fresh pesto using basil grown right in your smart garden! Recipe below.

* Pinterest: Elevate your pasta, sandwiches, and salads with homemade pesto! Our easy recipe uses fresh basil from your TerraGlow Smart Garden. Pin this for later!

  • Call to Action (CTA):

* Instagram/Facebook: Full recipe on our blog: [Your Website Link]/blog/pesto-recipe. Don't have a TerraGlow yet? Pre-order now!

* Pinterest: Get the full recipe and discover TerraGlow: [Your Website Link]/blog/pesto-recipe

  • Suggested Visual/Creative: Aesthetic photos of fresh basil from TerraGlow, step-by-step recipe photos/video, final dish presentation.
  • Hashtags: #RecipeIdeas #HomeCooking #FreshHerbs #PestoRecipe #WeekendVibes #EatHealthy #TerraGlowRecipes

Day 7: Sunday - Behind the Scenes / Brand Values

  • Platform: Instagram (Story/Feed), Facebook
  • Content Type: Authentic Photo/Video
  • Content Pillar: Behind the Scenes/Brand Story
  • Headline/Caption:

* Instagram: ❀️ Meet the Passion Behind TerraGlow.

* Facebook: Our Story, Our Mission: Why We Created TerraGlow.

  • Body Text:

* Instagram: From a simple idea to a thriving reality, TerraGlow was born from a passion for sustainable living, healthy eating, and making gardening accessible to everyone. We believe fresh food should be a right, not a luxury.

* Facebook: At TerraGlow, we're more than just a smart garden company. We're a team of innovators, environmentalists, and food lovers dedicated to empowering you to grow your own. Our mission is to connect people with their food source and foster a greener, healthier future.

  • Call to Action (CTA):

* Instagram: Learn more about our journey – link in bio! #BrandStory #OurMission #SustainableValues #MeetTheTeam

* Facebook: Read our full story at [Your Website Link]/about-us. What values resonate most with you?

  • Suggested Visual/Creative: Photos/short video of the TerraGlow team, designers, engineers, or a founder speaking directly to the camera.
  • Hashtags: #StartupLife #InnovationDriven #EcoConscious #FoundersStory #MadeWithLove #TerraGlowTeam

Week 2: Deepening Engagement & Driving Conversions

Theme: Experience TerraGlow – Your Garden, Your Way!


Day 8: Monday - Customer Testimonial / Early Adopter Spotlight

  • Platform: Instagram (Feed Post/Reel), Facebook
  • Content Type: Quote Graphic / Short Video Testimonial
  • Content Pillar: Community & Education, Innovation & Ease
  • Headline/Caption:

* Instagram: ⭐


7. Usage & Placement Recommendations

This versatile image can be effectively deployed across numerous social media channels and campaign phases:

  • Facebook & LinkedIn: Ideal for standard posts, campaign announcements, "About Us" sections, and event promotions. Pair with text discussing teamwork, innovation, or community impact.
  • Instagram: Use as a carousel slide, a standalone grid post, or as a background for Stories/Reels with overlaid text or stickers. Its vibrant nature will perform well.
  • Twitter: Attach to tweets announcing new initiatives, celebrating milestones, or sharing thought leadership on collaboration.
  • Website/Blog: Feature on landing pages, blog headers, or "Our Team" sections to convey a modern and collaborative brand identity.
  • Email Marketing: Incorporate into newsletters or promotional emails to visually enhance your message.

By leveraging this high-quality, strategically designed image, your social media campaign will project a professional, engaging, and forward-thinking brand image.

social_media_campaign.txt
Download source file
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);}});}