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

Plan and create content for a complete social media campaign

Social Media Campaign: Content Calendar - Step 1 of 2

This document outlines a comprehensive 4-week content calendar designed to elevate your brand's presence, engage your target audience, and drive measurable results across key social media platforms. This is the foundational step in planning your complete social media campaign.


Campaign Overview

Campaign Title: Elevate & Engage: Building Brand Authority

Objective: To increase brand awareness, establish thought leadership, drive website traffic, and foster community engagement.

Duration: 4 Weeks (Starting [MM/DD/YYYY])

Target Audience: Professionals, decision-makers, industry peers, potential clients/customers, and brand enthusiasts.

Target Audience Profile (Assumed)

  • Demographics: Ages 25-55, professionals, business owners, team leads, or individuals seeking high-value solutions/products.
  • Psychographics: Value innovation, efficiency, expertise, problem-solving, community, and quality. They are often active on professional networks and seek valuable insights.
  • Pain Points: Looking for solutions to business challenges, seeking career growth, wanting reliable information, or interested in industry trends.

Key Platforms

  • LinkedIn: Professional networking, thought leadership, B2B engagement, industry news, company culture.
  • Instagram: Visual storytelling, behind-the-scenes, lighter brand moments, community building, product/service showcases.
  • Facebook: Broader community engagement, event promotion, customer support, diverse content sharing.
  • Twitter: Real-time updates, industry conversations, quick tips, news commentary.

Content Pillars & Themes

To ensure a diverse and engaging content mix, our campaign will revolve around the following pillars:

  1. Thought Leadership & Expertise: Demonstrating industry knowledge, insights, and unique perspectives.
  2. Value-Driven Education: Providing actionable tips, guides, and explanations to solve audience pain points.
  3. Behind-the-Scenes & Culture: Showcasing the human element, team values, and company environment.
  4. Client Success & Testimonials: Highlighting positive impact and building trust through social proof.
  5. Product/Service Spotlight: Clearly articulating the benefits and unique selling propositions of your offerings.
  6. Community Engagement: Fostering interaction, asking questions, and responding to comments.

Comprehensive 4-Week Content Calendar

Week 1: Launch & Establish Authority

  • Theme: Introducing the Vision & Setting the Stage
  • Focus: Brand introduction, core values, and initial insights to establish credibility.
  • Key Platforms: LinkedIn, Instagram, Facebook
  • Content Types: Welcome posts, introductory articles/blogs, industry trend analysis, team spotlight.

Example Posts:

  1. LinkedIn - Thought Leadership Post

* Headline: The Future is [Your Industry Area]: Why Adaptability is Your Greatest Asset

* Body: "In today's rapidly evolving landscape, staying ahead means more than just keeping up – it means anticipating. We believe the key to sustainable success lies in embracing change and leveraging innovation. This week, we're diving into the critical shifts defining [Your Industry Area] and how your business can thrive. What challenges are you currently navigating? Share your thoughts below! #IndustryTrends #Innovation #ThoughtLeadership"

* Call to Action: "Read our latest blog post on [Link to Blog] for deeper insights."

* Visual Idea: Professional graphic with a futuristic or insightful design, or a relevant chart/infographic snippet.

  1. Instagram - Welcome & Culture Post

* Headline: Meet the Visionaries Behind [Your Company Name]! ✨

* Body: "Welcome to our official Instagram journey! At [Your Company Name], we're more than just a team; we're a community driven by passion, innovation, and a shared commitment to [Your Mission/Value]. Get ready for exclusive insights, behind-the-scenes glimpses, and a fresh perspective on [Your Industry]. We're so excited to connect with you! #Welcome #TeamCulture #BehindTheScenes #YourCompanyName"

* Call to Action: "Follow us to stay updated!"

* Visual Idea: A high-quality photo of your team (smiling, collaborative), or a short, engaging welcome video.

Week 2: Value & Education

  • Theme: Solving Problems & Empowering Your Audience
  • Focus: Providing actionable tips, guides, and answers to common audience pain points.
  • Key Platforms: LinkedIn, Facebook, Twitter
  • Content Types: How-to guides, tip carousels, FAQ answers, expert interviews (short video/quote).

Example Posts:

  1. Facebook/LinkedIn - Educational Carousel Post

* Headline: 5 Essential Tips for [Audience Pain Point/Goal] in [Year]

* Body: "Struggling with [common problem]? We've got you covered! This week, we're sharing our top 5 actionable strategies to help you navigate [specific challenge] and achieve [desired outcome]. Swipe through for quick wins you can implement today! #TipsAndTricks #ProblemSolving #ExpertAdvice #[YourIndustry]"

* Call to Action: "Which tip resonated most with you? Let us know in the comments! For a deeper dive, download our free guide: [Link to Lead Magnet]"

* Visual Idea: A multi-slide carousel post with each slide featuring one tip, clear text, and engaging icons/graphics.

  1. Twitter - Quick Tip/Fact

* Headline: Quick Tip Tuesday!

* Body: "Boost your [area] by focusing on [specific action]. Did you know [interesting fact related to tip]? Small changes, big impact! #QuickTips #Productivity #Innovation #[YourCompany]"

* Call to Action: "What's your go-to [area] hack? Share below!"

* Visual Idea: A simple, branded graphic with the tip text.

Week 3: Impact & Community

  • Theme: Showcasing Success & Fostering Connection
  • Focus: Highlighting client achievements, testimonials, and encouraging audience interaction.
  • Key Platforms: Instagram, LinkedIn, Facebook
  • Content Types: Client spotlight, testimonial graphics, Q&A sessions, interactive polls.

Example Posts:

  1. LinkedIn/Facebook - Client Success Story

* Headline: Transforming Challenges into Triumphs: A [Client Name] Success Story

* Body: "We're incredibly proud to share how our partnership with [Client Name] led to [specific, quantifiable result - e.g., 'a 30% increase in efficiency']. Their dedication combined with our [Your Service/Product] proved to be a powerful formula for success. We love seeing our clients thrive! #ClientSuccess #CaseStudy #Partnership #MakingAnImpact"

* Call to Action: "Want to achieve similar results? Discover how we can help: [Link to Services Page]"

* Visual Idea: A compelling image of the client (with permission), a quote graphic from the client, or a professional graphic summarizing results.

  1. Instagram - Interactive Story/Post

* Headline: We Want to Hear From YOU! 🤔

* Body: "Your insights matter! This week, we're focused on building a stronger community. What's the biggest challenge you're facing in [Your Industry Area] right now? Let us know in the comments or vote in our story poll! #CommunityFirst #AskUsAnything #IndustryChallenges #Engagement"

* Call to Action: "Leave a comment or vote in our story poll!"

* Visual Idea: An inviting photo of a team member, or a graphic with a question mark and engaging text. For stories, use poll or question stickers.

Week 4: Action & Future Forward

  • Theme: Driving Conversions & Looking Ahead
  • Focus: Clear calls to action, service/product deep dives, and a look at upcoming initiatives.
  • Key Platforms: LinkedIn, Instagram, Facebook
  • Content Types: Product/service features, limited-time offers, upcoming event announcements, final campaign summary.

Example Posts:

  1. LinkedIn/Facebook - Product/Service Deep Dive

* Headline: Unlock Your Potential with [Specific Product/Service Name]

* Body: "Ready to transform your [area of impact]? Our [Specific Product/Service Name] is engineered to [key benefit 1] and [key benefit 2], helping you overcome [pain point] with ease. Discover the features that make it stand out: [Feature 1], [Feature 2], [Feature 3]. See how it can revolutionize your approach. #Productivity #Solutions #[YourProduct]"

* Call to Action: "Schedule a free demo today and see the difference for yourself! [Link to Demo/Contact Page]"

* Visual Idea: High-quality product image/video, infographic highlighting features, or a short explainer video.

  1. Instagram - Testimonial Graphic

* Headline: Real Results, Real People.

* Body: "We're incredibly grateful for the trust our clients place in us. Here's what [Client Name/Company] had to say about their experience: '[Powerful Quote from Testimonial]'. Your success is our success! #ClientLove #Testimonial #HappyClients #[YourCompany]"

* Call to Action: "Ready to write your own success story? Link in bio!"

* Visual Idea: A visually appealing graphic featuring a professional headshot of the client (if available) and their quote, branded with your company's colors.


General Content Guidelines

  • Visuals: High-quality images, custom graphics, short videos (reels, stories), infographics, and GIFs are essential.
  • Tone: Professional, informative, approachable, and authentic.
  • Hashtags: Use a mix of broad, niche, and branded hashtags (e.g., #YourCompany, #YourIndustry, #Innovation, #SmallBusinessTips).
  • Engagement: Actively respond to comments, messages, and mentions. Encourage discussion.
  • Consistency: Maintain a consistent posting schedule and brand voice across all platforms.

Key Performance Indicators (KPIs)

To measure the success of this campaign, we will track:

  • Reach & Impressions: How many unique users saw our content and how many times it was displayed.
  • Engagement Rate: Likes, comments, shares, saves per post.
  • Website Traffic: Referrals from social media to your website.
  • Lead Generation: Inquiries, form submissions, demo requests originating from social.
  • Follower Growth: Increase in audience size across platforms.
  • Brand Mentions: Organic mentions of your brand.

Next Steps

  1. Review & Feedback: Please review this content calendar and provide any feedback or adjustments.
  2. Content Creation: Upon approval, our team will begin developing the specific assets (graphics, videos, blog posts, etc.) for each scheduled post.
  3. Scheduling & Execution: Once content is created and approved, it will be scheduled for publishing according to this calendar.
  4. Performance Monitoring: We will continuously monitor performance and provide regular reports.

This detailed content calendar provides a robust framework for your social media campaign, ensuring strategic content delivery and measurable impact. We look forward to bringing this vision to life!

sharper4k Output

Social Media Campaign: Image Generation Plan (Step 2 of 2)

This document outlines the detailed plan for generating visual content for your social media campaign. Our goal is to create compelling, high-quality images that resonate with your target audience, enhance brand identity, and drive engagement for your "Luminous Brew: Elevate Your Clarity" campaign.


1. Overall Image Strategy

The visual strategy for the "Luminous Brew" campaign focuses on sophistication, clarity, and the elevated daily experience. We aim to visually communicate the premium quality, refreshing nature, and the mindful boost that Luminous Brew provides. Images will be designed to capture attention, evoke desire, and seamlessly integrate with various social media platforms, ensuring brand consistency and strong recall.

Key Objectives:

  • Showcase "Luminous Brew" product prominently and appealingly.
  • Illustrate the product's benefits (clarity, focus, refreshment) through relatable lifestyle scenarios.
  • Convey a premium, modern, and natural brand aesthetic.
  • Generate diverse content suitable for feed posts, stories, reels, and ad creatives.

2. Core Visual Themes & Concepts

Our visual content will revolve around the following themes:

  • Modern Minimalism: Clean lines, uncluttered compositions, ample negative space.
  • Natural Vibrancy: Earthy tones complemented by subtle pops of natural color (e.g., green plants, warm sunlight).
  • Mindful Moments: Images depicting quiet reflection, focused work, or serene relaxation.
  • Sensory Appeal: Highlighting textures, condensation, and the rich color of the cold brew to evoke taste and refreshment.
  • Urban Sophistication: Settings that reflect a chic, contemporary urban lifestyle.

3. Detailed Image Scenarios & Specifications

Below are detailed descriptions for various image types, acting as briefs for AI generation or professional photography. Each scenario is crafted to serve specific campaign needs.


3.1. Hero Product Shots

These images will focus on the "Luminous Brew" bottle itself, highlighting its design and premium appeal.

  • Scenario 1: Elegant Studio Product Shot

* Description: A single bottle of "Luminous Brew" standing prominently on a clean, light-colored concrete or marble surface. Soft, diffused natural light from the side, creating gentle shadows and highlighting the bottle's contours and label design. A few condensation droplets visible on the bottle. Background is minimalist, slightly out of focus, perhaps a hint of a light neutral wall or subtle texture.

* Mood: Premium, clean, sophisticated, inviting.

* Color Palette: Neutrals (greys, whites, creams) with the rich brown of the cold brew and subtle label colors.

* Composition: Rule of thirds, ample negative space, focus on product detail.

* Usage: Website banners, premium ad creatives, hero social posts.

  • Scenario 2: Product with Natural Elements

* Description: The "Luminous Brew" bottle placed alongside carefully arranged natural elements: a sprig of fresh green mint or rosemary, a few coffee beans scattered artfully, and maybe a small, elegant wooden coaster. Shot from a slightly overhead angle on a textured natural wood table or light stone surface. Warm, soft sunlight streaming in from a window, creating gentle highlights.

* Mood: Natural, fresh, artisanal, inviting.

* Color Palette: Warm browns, forest greens, natural wood tones, crisp whites.

* Composition: Flat lay or slight angle, balanced arrangement, leading lines.

* Usage: Instagram feed, Pinterest, lifestyle blog features.


3.2. Lifestyle & Usage Shots

These images show individuals interacting with and enjoying "Luminous Brew" in relevant settings.

  • Scenario 1: Focused Work Session

* Description: A close-up shot of hands (diverse, professional-looking) holding a sleek glass containing "Luminous Brew" with ice, resting beside an open laptop (minimalist design) or a neat notebook and pen. The setting is a bright, modern co-working space or home office. Background is blurred, showing a hint of greenery or a contemporary window view. The individual appears focused and calm.

* Mood: Productive, clear-headed, sophisticated, modern.

* Color Palette: Cool blues, greys, whites, natural wood, with the rich contrast of the cold brew.

* Composition: Shallow depth of field, focus on hands, drink, and a subtle hint of the work environment.

* Usage: LinkedIn, Instagram feed (productivity focus), Facebook ads.

  • Scenario 2: Relaxed Morning Ritual

* Description: A person (from the chest up, or just hands) comfortably seated on a minimalist armchair or sofa, bathed in soft morning light. They are holding a chilled "Luminous Brew" bottle, perhaps taking a sip or simply holding it contemplatively. A cozy, high-quality blanket might be draped nearby. The background is a blurred, serene living space with natural textures and light.

* Mood: Calm, serene, mindful, refreshing start to the day.

* Color Palette: Soft pastels, warm whites, gentle blues, natural fabric textures.

* Composition: Candid, warm, inviting, emphasizing comfort and personal space.

* Usage: Instagram stories, Facebook feed (relaxation focus), Pinterest.

  • Scenario 3: Social Connection (Subtle)

* Description: Two individuals (diverse, 25-45 age range) casually conversing at an outdoor cafe patio or a bright, airy communal space. One has a "Luminous Brew" bottle or a glass of it on the table between them. The focus is on natural interaction and connection, with the drink being an integrated part of the scene rather than the sole focus. Soft, bright daylight.

* Mood: Social, connected, natural, enjoyable.

* Color Palette: Bright, natural light, contemporary urban tones with touches of greenery.

* Composition: Wider shot, capturing interaction, "Luminous Brew" subtly placed.

* Usage: Facebook, Instagram (community building, lifestyle appeal).


3.3. Evocative & Thematic Shots

These images aim to capture the feeling and essence of "Luminous Brew" without necessarily showing the product directly.

  • Scenario 1: Abstract Light & Liquid

* Description: Close-up, abstract shot of clear liquid (representing clarity) with subtle ripples and reflections, perhaps with a soft golden or amber light filtering through it, reminiscent of coffee's color or morning light. No product visible. Focus on light play, texture, and movement.

* Mood: Ethereal, clear, refreshing, awakening.

* Color Palette: Transparent, golden, amber, subtle blues.

* Composition: Macro, abstract, emphasizing light and liquid dynamics.

* Usage: Instagram stories (mood-setting), reels intros, background for text overlays.

  • Scenario 2: Urban Nature Escape

* Description: A wide shot of a serene urban rooftop garden or a minimalist balcony with lush green plants and a clear view of a distant city skyline (blurred). The scene conveys a sense of peace and escape within an urban environment. A single, empty, elegant glass or a subtle hint of a "Luminous Brew" bottle could be positioned on a low table, but the primary focus is the atmosphere.

* Mood: Serene, escape, balance, modern urban living.

* Color Palette: Greens, blues, soft greys, natural light.

* Composition: Landscape or portrait, emphasizing depth and tranquility.

* Usage: Brand storytelling, aspirational posts, header images.


4. Technical Specifications & Best Practices

To ensure optimal performance across all platforms, the following technical specifications and best practices will be applied during image generation:

  • Resolution: Minimum 2000px on the shortest side, aiming for 3000px+ for versatility and future use.
  • Aspect Ratios:

* 1:1 (Square): Ideal for Instagram feed, Facebook.

* 4:5 (Portrait): Maximizes vertical space on Instagram feed.

* 9:16 (Vertical): For Instagram Stories, Reels, TikTok.

* 16:9 (Landscape): For Facebook cover photos, YouTube thumbnails, blog headers.

  • File Format: High-quality JPG or PNG (for images with transparency, if applicable).
  • Color Profile: sRGB for web compatibility.
  • Branding: Subtle integration of "Luminous Brew" branding. Logos will be tastefully placed, if at all, or the bottle design will be recognizable.
  • Accessibility: Consider adding descriptive alt text for all generated images to improve accessibility for visually impaired users.

5. Next Steps & Input Required

This plan serves as a blueprint for the visual content generation. To proceed with the actual image creation, we require your feedback and approval on these proposed scenarios and themes.

Please provide the following:

  1. Approval of Visual Themes: Confirm if the "Modern Minimalism, Natural Vibrancy, Mindful Moments, Sensory Appeal, Urban Sophistication" themes align with your brand vision.
  2. Scenario Prioritization: Indicate which 3-5 scenarios are most critical for immediate generation, or if there are specific platforms you'd like to prioritize content for.
  3. Specific Brand Assets (if any): If you have specific label designs, font styles, or color codes you'd like to integrate into the generated images, please provide them.
  4. Any Additional Scenarios/Ideas: If you have any other specific image concepts in mind, please share them for inclusion.

Once we receive your input, we will proceed with generating a first round of images based on these detailed specifications for your review.

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