Real Estate Listing Generator
Run ID: 69cc1eaf04066a6c4a1698782026-03-31Real Estate
PantheraHive BOS
BOS Dashboard

Create professional real estate listings with compelling descriptions, feature highlights, neighborhood analysis, pricing comparisons, and marketing copy.

Step 1: Property Analysis Framework & Data Collection (analyze_property)

Welcome to the first step of your "Real Estate Listing Generator" workflow! This crucial analyze_property step is designed to gather, synthesize, and interpret all relevant data about your property. The goal is to build a robust foundation that will inform every aspect of your professional real estate listing, from compelling descriptions and feature highlights to strategic pricing and targeted marketing copy.

Since no specific property details were provided in your initial request, this output outlines the comprehensive framework and data points required for a thorough analysis. Once this information is supplied, we can proceed with a detailed, data-driven analysis to maximize your listing's impact.


1. Purpose of Property Analysis

The analyze_property step serves to:

  • Identify Key Selling Points (USPs): Pinpoint unique features, upgrades, and intangible benefits that differentiate the property.
  • Understand Market Position: Evaluate the property within its local market context, including competitive landscape and pricing trends.
  • Inform Pricing Strategy: Provide data-backed insights for optimal listing price determination.
  • Tailor Marketing Angles: Determine the most effective messaging and target audience for the listing.
  • Highlight Neighborhood Benefits: Integrate relevant community amenities, schools, and lifestyle aspects.
  • Structure Listing Content: Organize information logically for maximum reader engagement and clarity.

2. Required Data for Comprehensive Property Analysis

To perform a complete analysis, please provide the following detailed information about your property. The more comprehensive your input, the more accurate and compelling the resulting listing will be.

2.1. Basic Property Information

  • Property Type: (e.g., Single-Family Home, Condo, Townhouse, Multi-Family, Land)
  • Full Property Address: (Street, City, State, Zip Code)
  • Year Built:
  • Lot Size (Acres/SqFt):
  • Total Living Area (SqFt):
  • Number of Bedrooms:
  • Number of Bathrooms: (e.g., 2 full, 1 half)
  • Garage/Parking: (e.g., 2-car attached, carport, street parking)
  • Zoning Information: (Residential, Commercial, Mixed-Use, etc. - if known)
  • Current Occupancy Status: (Vacant, Owner-occupied, Tenant-occupied)

2.2. Interior Features & Upgrades

  • Key Rooms: (e.g., living room, dining room, family room, home office, bonus room)
  • Flooring Materials: (e.g., hardwood throughout, new carpet, tile, laminate)
  • Kitchen Details:

* Appliance brands/types (e.g., stainless steel, gas range, double oven)

* Countertop materials (e.g., granite, quartz, marble)

* Cabinetry (e.g., custom, shaker, updated)

* Pantry status (walk-in, butler's)

  • Bathroom Details:

* Fixtures (e.g., dual vanity, soaking tub, walk-in shower)

* Finishes (e.g., tile work, vanity materials)

  • Lighting: (e.g., recessed lighting, smart lighting system, designer fixtures)
  • Windows: (e.g., double-pane, energy-efficient, large picture windows)
  • Heating/Cooling Systems: (e.g., Central AC, forced air, new HVAC, smart thermostat)
  • Smart Home Technology: (e.g., smart thermostat, security system, smart locks, integrated sound system)
  • Fireplace(s): (Number, type - wood-burning, gas)
  • Storage: (e.g., ample closets, attic, basement, built-ins)
  • Recent Renovations/Upgrades (with dates and cost, if possible): (e.g., new roof, kitchen remodel, bathroom update, fresh paint, new flooring, finished basement)

2.3. Exterior Features & Property Amenities

  • Architectural Style: (e.g., Colonial, Ranch, Modern, Craftsman)
  • Roof Material & Age:
  • Exterior Material: (e.g., brick, siding, stucco)
  • Landscaping: (e.g., mature trees, professional landscaping, low-maintenance, irrigation system)
  • Outdoor Living Spaces: (e.g., deck, patio, balcony, porch, outdoor kitchen)
  • Pool/Spa: (Type, features, heating)
  • Fencing: (Type, material)
  • Views: (e.g., city views, mountain views, water views, garden views)
  • Accessibility Features: (if applicable)
  • Additional Structures: (e.g., shed, detached garage, guest house, ADU potential)

2.4. Community & Neighborhood Information

  • Neighborhood Name:
  • School District Information: (Ratings, proximity)
  • Proximity to Amenities: (e.g., parks, shopping centers, restaurants, hospitals, major highways, public transit)
  • Neighborhood Vibe/Demographics: (e.g., family-friendly, vibrant, quiet, walkable, historic)
  • Local Attractions/Points of Interest:
  • HOA Information: (Dues, what they cover, amenities - if applicable)

2.5. Financial & Market Data (if available)

  • Desired Listing Price:
  • Recent Appraisal Value: (if available)
  • Property Taxes (Annual):
  • Any Liens or Encumbrances: (if applicable)
  • Comparable Sales Data: (Addresses, sale prices, dates of recently sold similar properties in the area - if you have access to this, otherwise we can research)
  • Local Market Trends: (e.g., seller's market, buyer's market, average days on market for similar properties - we can research this)

2.6. Unique Selling Propositions (USPs) & Seller's Notes

  • What makes this property stand out? (e.g., unique history, exceptional natural light, rare lot size, specific architectural details)
  • Any "story" behind the home? (e.g., lovingly maintained by original owners, custom-built)
  • Ideal Buyer Profile: (Who do you envision living here? e.g., young family, empty nesters, remote worker, investor)
  • Any known issues or disclosures? (Important for transparency)

3. Data Insights & Analysis (Once Data is Provided)

Once the above data is collected, the analyze_property step will generate the following insights:

  • Feature Prioritization: Identify and rank the most compelling features for the listing description.
  • Value Proposition Development: Articulate the unique benefits and lifestyle offered by the property.
  • Neighborhood Integration: Weave in attractive neighborhood details to enhance the property's appeal.
  • Competitive Analysis: Compare the property's features and potential value against recent comparable sales to inform pricing.
  • Target Audience Alignment: Refine messaging to resonate with the identified ideal buyer.
  • SWOT Analysis (Strengths, Weaknesses, Opportunities, Threats): A brief internal assessment to strategize positioning.
  • Pricing Recommendation Range: Based on market data and property specifics, suggest an optimal listing price range.
  • Marketing Angle Suggestions: Propose themes and hooks for advertising and open house messaging.

Example of a hypothetical insight (if data were provided):

  • Based on recent sales of 3-bedroom homes with updated kitchens in the "Maplewood Estates" neighborhood (average sale price $550,000 - $580,000 within 60 days), and considering your property's brand-new HVAC system and desirable corner lot, a competitive listing price between $575,000 - $595,000 would be recommended to attract strong offers quickly.

4. Recommendations & Next Steps

Recommendation: Provide as much detailed information as possible for each category above. The depth of your input directly correlates with the quality and effectiveness of the generated listing. High-quality photos and floor plans, while not directly part of this data collection, will be crucial for later steps.

Next Steps:

  1. Please compile and provide the requested property details in a clear, organized format. You can use bullet points or a structured document.
  2. Once we receive your detailed property information, we will proceed to Step 2: Generate Listing Draft (generate_listing_draft). This step will leverage the comprehensive analysis from analyze_property to create a compelling, professional real estate listing draft for your review.
gemini Output

Here is the detailed, professional real estate listing content, ready for publishing. This output serves as a comprehensive example demonstrating the capabilities of the "Real Estate Listing Generator," incorporating compelling descriptions, feature highlights, neighborhood analysis, market insights, and strong marketing copy.


Exquisite Modern Family Oasis in Vibrant Willow Creek Estates

Address: 1234 Serenity Lane, Willow Creek Estates, Anytown, State 12345


Property Overview: Your Dream Home Awaits

Discover unparalleled elegance and contemporary comfort in this stunning 4-bedroom, 3.5-bathroom single-family home, perfectly situated in the highly sought-after Willow Creek Estates. Built with meticulous attention to detail and boasting over 3,200 sq ft of luxurious living space, this residence offers an exceptional blend of sophisticated design, cutting-edge amenities, and a warm, inviting atmosphere. From the moment you step through the grand entrance, you'll be captivated by the open-concept layout, soaring ceilings, and an abundance of natural light that floods every corner. This is more than a house; it's a lifestyle upgrade designed for modern family living and entertaining.


Key Features & Amenities: Elevate Your Living Experience

  • Gourmet Chef's Kitchen: A culinary masterpiece featuring professional-grade stainless steel appliances (Sub-Zero refrigerator, Wolf range), custom slow-close cabinetry, a massive quartz island with waterfall edges, and a spacious walk-in pantry. Perfect for both everyday meals and grand entertaining.
  • Luxurious Primary Suite: A private sanctuary on the main level offering a spa-like ensuite bathroom with a freestanding soaking tub, oversized walk-in shower with dual rain heads, double vanity, and a custom-designed walk-in closet.
  • Expansive Open-Concept Living: Seamless flow between the living room with a modern gas fireplace, formal dining area, and a bright breakfast nook, all overlooking the beautifully landscaped backyard.
  • Dedicated Home Office/Den: A quiet, sun-drenched space ideal for remote work, study, or a serene reading room, complete with custom built-ins.
  • Three Generous Guest Bedrooms: Located on the upper level, each offering ample closet space, large windows, and easy access to beautifully appointed full bathrooms.
  • Outdoor Entertainment Paradise: Step outside to a meticulously manicured backyard featuring a large covered patio, built-in outdoor kitchen with BBQ, and ample space for a future pool or garden. Fully fenced for privacy and perfect for al fresco dining and gatherings.
  • Smart Home Technology: Integrated smart thermostat (Nest), smart lighting system (Lutron), and pre-wired for home security and entertainment systems.
  • Energy Efficiency: Equipped with energy-efficient windows, a high-efficiency HVAC system, and solar panel readiness, ensuring lower utility costs and a reduced carbon footprint.
  • Premium Finishes Throughout: Hardwood flooring, designer light fixtures, custom millwork, and high-end materials elevate every space.
  • Attached Three-Car Garage: Spacious and insulated, providing ample storage and secure parking.

Neighborhood Spotlight: Willow Creek Estates - A Community Like No Other

Willow Creek Estates is renowned for its picturesque tree-lined streets, friendly atmosphere, and exceptional quality of life. This vibrant community offers the perfect blend of suburban tranquility and convenient access to urban amenities.

  • Top-Rated Schools: Zoned for the highly acclaimed Willow Creek Elementary, Evergreen Middle School, and Summit High School, all known for their academic excellence and extracurricular programs.
  • Parks & Recreation: Enjoy immediate access to Willow Creek Park, featuring walking trails, playgrounds, sports fields, and community events. The nearby Serenity Lake offers kayaking and fishing opportunities.
  • Shopping & Dining: Just minutes away from the upscale Willow Creek Plaza, offering a variety of boutique shops, gourmet restaurants, and essential services. Downtown Anytown's vibrant culinary scene is a short drive.
  • Commuter Friendly: Excellent access to major highways (I-5, Highway 101) and public transportation options, making commutes to the city center and surrounding areas effortless.
  • Community Events: A strong sense of community with regular farmer's markets, holiday festivals, and neighborhood gatherings fostering a welcoming environment for all residents.

Local Market Insight & Value Proposition

The Willow Creek Estates market continues to demonstrate robust growth and strong demand, driven by its desirable location, excellent schools, and high quality of life. Properties in this area consistently command premium values due to their enduring appeal and limited inventory.

  • Comparative Pricing: Similar 4-bedroom luxury homes in Willow Creek Estates have recently sold within the range of \$1,250,000 to \$1,400,000, depending on upgrades and lot size. Our expert analysis indicates this property is competitively priced, offering exceptional value for its superior finishes, extensive features, and prime location.
  • Investment Potential: With ongoing community development and a strong local economy, properties in Willow Creek Estates are not just homes but sound investments, promising appreciation and long-term equity growth.
  • High Demand: The market for move-in ready, modern luxury homes in this specific enclave remains highly competitive, often seeing multiple offers and quick sales. This property represents a rare opportunity to secure a premium residence without compromise.

Marketing Call to Action: Seize This Opportunity!

This exceptional property is more than just a house; it's the backdrop for your future memories. Experience the pinnacle of modern living in one of Anytown's most coveted neighborhoods.

Don't miss the chance to make 1234 Serenity Lane your forever home.


Contact Information

For a private showing and to receive a detailed property brochure, please contact:

[Your Name/Agency Name]

[Your Title/Role]

[Your Phone Number]

[Your Email Address]

[Your Website/Agency Website]


Disclaimer

All information deemed reliable but not guaranteed. Buyer to verify all details. Square footage is approximate and may vary. Pricing subject to change. Equal Housing Opportunity.

gemini Output

Real Estate Listing Marketing Strategy Package

This comprehensive marketing strategy is designed to maximize the exposure and appeal of your real estate listing, attracting qualified buyers and facilitating a swift, successful sale.


1. Target Audience Analysis

Understanding the ideal buyer is crucial for tailoring effective marketing efforts. We will focus on creating detailed buyer personas to guide our strategy.

  • Primary Target Persona: "The Professional Family"

* Demographics: Couples or young families (30-45 years old) with 1-2 children. Dual-income professionals, combined household income typically $150,000 - $300,000+. Likely first-time homeowners or upgrading from a smaller starter home.

* Psychographics: Value safety, good school districts, community amenities (parks, recreation centers), convenience to work/commute, modern living spaces, and a sense of belonging. They appreciate move-in readiness and functional layouts.

* Needs & Motivations: Seeking more space for a growing family, dedicated home office space, a safe backyard for children, proximity to quality schools and family-friendly activities, and a strong sense of community.

* Online Behavior: Active on social media (Facebook, Instagram), uses real estate portals (Zillow, Realtor.com), reads community blogs, and seeks recommendations from friends/family.

  • Secondary Target Persona: "The Established Professional/Couple"

* Demographics: Couples or individuals (40-55 years old), possibly empty-nesters, or those seeking a refined lifestyle. Income typically $180,000 - $400,000+.

* Psychographics: Appreciate quality finishes, low-maintenance living, entertaining spaces, proximity to upscale dining and cultural attractions, and a quiet, secure environment. Value comfort, style, and convenience.

* Needs & Motivations: Looking for a sophisticated home that reflects their success, perhaps a smaller yard for easier upkeep, excellent entertaining capabilities, and a prime location with access to amenities.

* Online Behavior: Less active on broad social media, but may use LinkedIn or targeted luxury real estate sites. More likely to respond to direct, professional outreach or agent recommendations.

  • Tertiary Target Persona: "The Astute Investor"

* Demographics: Individuals or groups (35-65 years old) looking for rental income or property appreciation.

* Psychographics: Driven by ROI, market trends, rental yield, and potential for future value growth. Less concerned with personal aesthetic preferences, more with numbers and location fundamentals.

* Needs & Motivations: Seeks properties in desirable rental markets, good school districts (increases rental value), low vacancy rates, and potential for capital appreciation.

* Online Behavior: Uses specific investment property platforms, financial news sites, and may have direct relationships with real estate agents specializing in investments.


2. Channel Recommendations

A multi-channel approach ensures maximum reach and engagement across various buyer segments.

  • Digital Channels (High Priority)

* Multiple Listing Service (MLS): The foundational channel. Ensures syndication to thousands of agent websites and major portals.

* Major Real Estate Portals:

* Zillow, Realtor.com, Trulia: Essential for broad exposure. Utilize premium listings for enhanced visibility, high-resolution photos, and virtual tours.

* Redfin, Homes.com: Additional broad reach.

* Social Media Marketing:

* Facebook & Instagram: Targeted ad campaigns (geo-targeting, demographic targeting based on personas), engaging posts with high-quality photos/videos, virtual tours, and lifestyle content. Utilize Facebook/Instagram Stories for quick, engaging snippets.

* Pinterest: Create visually appealing boards showcasing interior design, neighborhood highlights, and lifestyle.

* LinkedIn: For reaching professional networks, especially for higher-end properties or investor interest.

* TikTok: Short, engaging video walkthroughs highlighting key features, trending sounds, and quick tips (e.g., "3 Reasons You'll Love This Kitchen").

* Email Marketing:

* Agent Database: Send "Just Listed" announcements to existing client lists and agent networks.

* Lead Nurturing: Automated email sequences for website visitors who express interest, offering more details, neighborhood guides, or financing information.

* Dedicated Property Website/Landing Page: A professional, single-property website with extensive photos, videos, virtual tours, floor plans, neighborhood info, and contact forms. Optimised for mobile.

* Virtual Tours & 3D Walkthroughs (Matterport/Similar): Essential for remote buyers and pre-qualifying leads, significantly reducing unnecessary showings.

* Professional Photography & Videography: High-resolution photos (day and twilight shots), aerial drone footage (if applicable), and a cinematic property video tour.

* Paid Search (Google Ads): Targeted keywords (e.g., "homes for sale [Neighborhood Name]," "[Property Feature] homes [City]") driving traffic to the property website.

  • Traditional Channels (Strategic Priority)

* Professional "For Sale" Signage: High-quality, well-maintained sign with clear contact information and property website QR code.

* Open Houses: Strategically scheduled open houses (weekends, twilight tours) to generate excitement and direct interaction. Advertise widely on portals and social media.

* Broker Open Houses/Tours: Expose the property to other local agents, encouraging co-brokerage and increasing buzz within the professional network.

* Direct Mail: "Just Listed" postcards to the immediate neighborhood (farming) to generate local interest and potential referrals.

* Print Media (Targeted): For luxury properties, consider ads in local upscale lifestyle magazines or real estate publications.

* Agent Network & Referrals: Leverage existing professional relationships to spread the word and identify potential buyers.


3. Messaging Framework

Our messaging will emphasize the unique selling propositions (USPs) of the property, tailored to resonate with our target audiences and across different channels.

  • Core Value Proposition:

Example:* "Experience unparalleled [Lifestyle/Benefit, e.g., 'luxury living', 'family comfort', 'urban convenience'] in this exquisite [Property Type, e.g., 'modern oasis', 'spacious family home', 'turnkey condo'] located in the highly sought-after [Neighborhood Name]."

  • Key Selling Points (Examples - customize based on actual property features):

* For "The Professional Family": "Top-rated school district," "Spacious backyard for play," "Dedicated home office," "Modern open-concept kitchen," "Family-friendly community."

* For "The Established Professional/Couple": "Gourmet chef's kitchen," "Luxurious primary suite," "Seamless indoor-outdoor entertaining," "Prime location near fine dining," "Low-maintenance elegance."

* For "The Astute Investor": "Strong rental potential," "Desirable growth neighborhood," "Turnkey condition," "Excellent ROI opportunity," "Proximity to amenities enhancing rental appeal."

  • Tone & Style:

* Professional & Polished: Reflecting the quality of the listing and service.

* Inviting & Aspirational: Evoking a sense of desire and imagining life in the home.

* Informative & Transparent: Providing all necessary details clearly and accurately.

* Enthusiastic & Confident: Conveying excitement about the property's potential.

  • Call to Action (CTA):

* "Schedule your private showing today!"

* "Explore the immersive 3D virtual tour."

* "Download the comprehensive property brochure."

* "Contact [Agent Name] for more information."

* "Visit [Property Website URL] for full details."

  • Messaging Examples by Channel:

* MLS/Portal Headline: "STUNNING [Beds/Baths] [Property Type] in [Neighborhood] - Top Schools & Modern Living!"

* Instagram Post: "✨ Dream home alert! ✨ This [Property Type] in [Neighborhood] perfectly blends elegance with family-friendly comfort. Swipe to see the chef's kitchen & lush backyard! #DreamHome #LuxuryRealEstate #[Neighborhood]Homes #[YourCity]RealEstate"

* Facebook Ad (Targeted to Parents): "Tired of cramped spaces? This [Beds/Baths] home in [Neighborhood] offers ample room for your family to grow, plus it's zoned for [Top School Name]! Click to tour."

* Email Subject Line: "Just Listed: Your Perfect Family Retreat in [Neighborhood] Awaits!" or "Exclusive Preview: A Rare Opportunity in [Neighborhood]"

* Property Brochure Intro: "Welcome to [Property Address], where sophisticated design meets unparalleled comfort. This meticulously crafted residence offers an exceptional lifestyle opportunity in the heart of [Neighborhood]."


4. Key Performance Indicators (KPIs)

Measuring the effectiveness of our marketing efforts is crucial for optimization and demonstrating value.

  • Online Presence & Engagement:

* Listing Views/Impressions: Total number of times the listing appears or is viewed on portals and social media.

* Unique Visitors: Number of distinct individuals visiting the dedicated property website or listing pages.

* Time on Page/Site: Average duration visitors spend on the listing details page or property website.

* Bounce Rate: Percentage of visitors who leave the property website after viewing only one page.

* Virtual Tour/Video Completions: Percentage of users who complete the virtual tour or watch the entire property video.

* Social Media Engagement Rate: Likes, comments, shares, and click-through rates (CTR) on social media posts and ads.

  • Lead Generation & Conversion:

* Inquiry Volume: Total number of leads generated (emails, calls, form submissions) directly related to the listing.

* Showing Requests: Number of qualified requests for in-person property viewings.

* Open House Attendance: Number of prospective buyers who attend open house events.

* Leads to Showing Conversion Rate: Percentage of inquiries that result in a scheduled showing.

* Showings to Offer Conversion Rate: Percentage of showings that result in a written offer.

* Offers Received: Total number of offers submitted.

  • Market Performance:

* Days on Market (DOM): The number of days the property is actively listed before going under contract. Lower DOM indicates strong market demand and effective marketing.

* List Price vs. Sale Price Ratio: The final sale price as a percentage of the original asking price. A ratio close to or above 100% indicates strong pricing and marketing.

* Offer Terms & Conditions: Quality of offers received (e.g., all-cash, waived contingencies, quick close).

* Feedback from Showings: Qualitative data gathered from buyer and agent feedback.

Regular reporting on these KPIs will allow for continuous evaluation and adjustment of the marketing strategy to ensure optimal results.

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