Professional Resume Builder
Run ID: 69cc596fb4d97b76514758bc2026-03-31Career
PantheraHive BOS
BOS Dashboard

Create a tailored resume for your target job

Professional Resume Builder - Step 1 of 2: Tailored Resume Generation Guide

Welcome to the first step of your Professional Resume Builder workflow! The goal of this step is to prepare for and ultimately generate a highly tailored resume that effectively showcases your qualifications for your target job.

Since generating a truly tailored resume requires specific details about your background and the job you're applying for, this output will serve as a comprehensive guide. It outlines the essential components of a professional resume, details the critical information we need from you, and provides best practices to ensure your resume stands out.


1. Understanding the Goal: Why Tailoring Matters

A successful resume is not a generic document. It is a strategically crafted marketing tool designed to:

  • Pass Applicant Tracking Systems (ATS): Many companies use ATS to filter resumes based on keywords and relevance. Tailoring ensures your resume contains the necessary keywords from the job description.
  • Grab Recruiter Attention: Recruiters spend mere seconds reviewing a resume. A tailored resume immediately highlights your most relevant skills and experiences.
  • Showcase Fit: It demonstrates that you understand the specific needs of the role and the company, and that you possess the exact qualifications they are seeking.

2. Essential Components of a Professional Resume Framework

Below is the standard framework for a professional resume. We will populate these sections with your specific information to create your tailored document.

2.1. Contact Information

  • Name: Your full professional name.
  • Phone Number: A professional contact number.
  • Email Address: A professional email address (e.g., firstname.lastname@email.com).
  • LinkedIn Profile URL: A link to your updated and professional LinkedIn profile.
  • Portfolio/Website (Optional): If applicable to your profession (e.g., designers, developers, writers).
  • Location (Optional/Recommended): City, State (e.g., "New York, NY" or "Remote"). Avoid full address for privacy.

2.2. Professional Summary or Objective (2-4 sentences)

  • Professional Summary: (Recommended for experienced professionals) A concise paragraph or bullet points highlighting your key qualifications, years of experience, core skills, and career achievements relevant to the target role.
  • Career Objective: (Recommended for entry-level, career changers, or recent graduates) A brief statement outlining your career goals and how your skills align with the specific job you're applying for.

2.3. Work Experience

List your professional experience in reverse chronological order (most recent first). For each role, include:

  • Job Title: Your official title.
  • Company Name: Name of the organization.
  • Location: City, State.
  • Dates of Employment: Month, Year (Start Date) – Month, Year (End Date).
  • Key Responsibilities & Achievements: 3-5 bullet points per role, focusing on accomplishments, quantifiable results, and skills relevant to the target job. Use strong action verbs.

2.4. Education

List your educational background in reverse chronological order. For each entry, include:

  • Degree/Certification: Full name of degree (e.g., Master of Business Administration, Bachelor of Science in Computer Science).
  • Major/Field of Study: Your specific major or area of focus.
  • Institution Name: Name of the university, college, or certification body.
  • Location: City, State.
  • Graduation Date (or Expected Date): Month, Year.
  • GPA (Optional): Only include if 3.5 or higher (on a 4.0 scale) and if you are a recent graduate.
  • Relevant Coursework/Honors (Optional): If highly relevant to the target role or if you have significant academic achievements.

2.5. Skills

Categorize your skills for clarity and ATS optimization.

  • Technical Skills: Specific software, programming languages, tools, platforms (e.g., Python, SQL, Salesforce, Adobe Creative Suite, AWS, Jira).
  • Soft Skills: Interpersonal skills, leadership, communication, problem-solving, teamwork, adaptability.
  • Languages: List languages and your proficiency level (e.g., Spanish - Fluent, French - Conversational).

2.6. Optional Sections (Include if relevant and space allows)

  • Projects: Personal or professional projects demonstrating relevant skills.
  • Certifications & Licenses: Industry-specific certifications (e.g., PMP, AWS Certified Solutions Architect, CPA).
  • Awards & Honors: Any significant recognition.
  • Publications/Presentations: If applicable to your field.
  • Volunteer Experience: Demonstrates character, leadership, and transferable skills.

3. Key Information Required for Your Tailored Resume

To generate your personalized and highly effective resume, we need the following detailed information from you. Please prepare this for the next step.

3.1. Target Job Details

  • Target Job Title: The specific job title you are applying for.
  • Company Name (Optional but Recommended): The name of the company.
  • Job Description (Crucial): The full job description for the role you are targeting. This is essential for keyword optimization and tailoring.

3.2. Your Contact Information

  • Full Name:
  • Phone Number:
  • Email Address:
  • LinkedIn Profile URL:
  • Personal Portfolio/Website URL (if applicable):
  • Preferred Location (e.g., City, State, or "Remote"):

3.3. Professional Summary/Objective Details

  • Your main career highlights, key skills, and what you aim to achieve in your career or in this specific role.

3.4. Work Experience Details (for ALL relevant roles, most recent first)

For each position, please provide:

  • Job Title:
  • Company Name:
  • Company Location (City, State):
  • Start Date (Month Year):
  • End Date (Month Year): (Or "Present" if current)
  • Key Responsibilities & Achievements: List 3-5 bullet points. For each, describe:

Action Verb: What you did*.

Task/Project: What you did it for/on*.

Result/Impact: What was the outcome*? (Quantify whenever possible using numbers, percentages, dollar amounts, time saved, etc.)

Example:* "Led a cross-functional team of 5 to redesign the customer onboarding process, resulting in a 20% reduction in churn rate within 6 months."

3.5. Education Details (for ALL relevant degrees/certifications)

For each entry, please provide:

  • Degree/Certification Name:
  • Major/Field of Study:
  • Institution Name:
  • Institution Location (City, State):
  • Graduation Date (Month Year) or Expected Date:
  • GPA (if >3.5):
  • Relevant Coursework/Honors (if applicable):

3.6. Skills

  • Technical Skills: (e.g., specific software, programming languages, databases, tools, platforms)
  • Soft Skills: (e.g., communication, leadership, problem-solving, teamwork, critical thinking)
  • Languages: (e.g., Spanish - Fluent, French - Conversational)

3.7. Optional Sections Details

  • Projects: (Name, brief description, your role, technologies used, impact)
  • Certifications/Licenses: (Name, Issuing Body, Date Issued)
  • Awards/Honors: (Name of Award, Issuing Body, Date)
  • Volunteer Experience: (Organization, Role, Dates, Key Contributions)

4. Best Practices for Resume Optimization

As you gather your information, keep these best practices in mind:

  • Keywords are King: Always refer to the job description and incorporate relevant keywords naturally throughout your resume, especially in your summary and experience sections.
  • Action Verbs: Start each bullet point under work experience with a strong action verb (e.g., "Managed," "Developed," "Implemented," "Analyzed," "Led," "Created").
  • Quantify Achievements: Whenever possible, use numbers, percentages, and metrics to demonstrate the impact of your work. This makes your accomplishments tangible and impressive.
  • Conciseness & Readability: Aim for a one-page resume for early to mid-career professionals. Two pages are acceptable for senior-level roles with extensive experience. Use clear headings, bullet points, and ample white space.
  • Consistency: Maintain consistent formatting, font styles, and date formats throughout the document.
  • Proofread Meticulously: Errors undermine your professionalism. Carefully review for any typos, grammatical mistakes, or formatting inconsistencies.

5. Next Steps

Your next action is to compile all the information requested in Section 3: Key Information Required for Your Tailored Resume.

Once you have this detailed information ready, you will provide it in the next interaction, and we will proceed with generating your highly customized and professional resume.

We look forward to helping you build a compelling resume that opens doors to your next career opportunity!

resume Output

Professional Cover Letter Generation: Tailored for Your Target Job

This deliverable provides a comprehensive framework and template for generating a professional, tailored cover letter designed to complement your resume and maximize your chances of securing an interview. A strong cover letter articulates your interest, highlights key qualifications, and demonstrates how your skills and experience align perfectly with the target job and company culture.


Understanding the Purpose of Your Cover Letter

Your cover letter is more than just a formality; it's a critical marketing tool that serves several key purposes:

  • Introduces You: It's your personal introduction to the hiring manager, setting the tone for your application.
  • Expresses Interest: It clearly states the specific position you're applying for and why you're enthusiastic about it.
  • Highlights Key Qualifications: It allows you to elaborate on 2-3 most relevant skills and achievements from your resume, directly linking them to the job description.
  • Demonstrates Fit: It's an opportunity to show you've researched the company and understand its mission, values, or current projects, explaining how you can contribute.
  • Tells Your Story: It provides context and personality that a resume alone cannot, making your application more memorable.
  • Call to Action: It reiterates your eagerness for an interview and directs the reader to your attached resume for more details.

Key Principles for an Effective Cover Letter

Before diving into the template, keep these principles in mind for maximum impact:

  1. Tailor Every Letter: Never send a generic cover letter. Each one must be customized for the specific job and company.
  2. Research Thoroughly: Understand the company's mission, values, recent news, and the specific requirements of the role.
  3. Focus on Value: Instead of just listing what you've done, explain how your skills and experiences will benefit the employer.
  4. Be Concise and Clear: Aim for one page, three to four paragraphs. Use professional language and avoid jargon where possible.
  5. Proofread Meticulously: Errors undermine your professionalism. Have someone else review it if possible.
  6. Match Tone to Company: While always professional, adjust the formality slightly based on the company's culture (e.g., a startup vs. a traditional corporation).

Professional Cover Letter Template

Below is a detailed template for your cover letter. Fill in the bracketed placeholders [ ] with your specific information, tailoring each section to the target job and company.


[Your Full Name]

[Your Street Address] • [Your City, State, Zip Code]

[Your Phone Number] • [Your Email Address]

[Your LinkedIn Profile URL (Optional, but recommended)]

[Date]

[Hiring Manager Name (if known, otherwise use title)]

[Hiring Manager Title (if known)]

[Company Name]

[Company Address]

Dear [Mr./Ms./Mx. Last Name of Hiring Manager, or "Hiring Team," or "Hiring Manager"],

Paragraph 1: Introduction – State Your Purpose and Enthusiasm

I am writing with great enthusiasm to express my strong interest in the [Job Title] position at [Company Name], as advertised on [Platform where you saw the job posting, e.g., LinkedIn, company website, referral from X]. With my [Number] years of experience in/strong background in] [mention 1-2 key skills or areas directly relevant to the job], I am confident that my qualifications align perfectly with the requirements outlined in your job description and that I can make an immediate and significant contribution to your team.

Paragraph 2: Highlighting Key Qualifications & Achievements (Focus on Skill 1)

In my previous role as [Your Previous Job Title] at [Previous Company], I was responsible for [briefly mention a key responsibility]. A significant achievement involved [describe a specific achievement that directly relates to a key requirement of the target job]. For example, I [action verb] [quantifiable result] by [method/skill used], which directly contributed to [positive outcome for previous company]. This experience has equipped me with a robust understanding of [mention a specific skill or industry knowledge relevant to the target job], which I believe will be invaluable to [Company Name]'s efforts in [mention a specific company project, goal, or challenge from your research].

Paragraph 3: Highlighting Additional Qualifications & Company Fit (Focus on Skill 2 & Culture)

Beyond my [Skill 1 from P2] expertise, my proficiency in [mention a second key skill or area, e.g., project management, data analysis, client relations] has allowed me to [describe another relevant achievement or responsibility]. For instance, I successfully [action verb] [specific project or initiative], resulting in [quantifiable positive outcome]. I am particularly drawn to [Company Name]'s commitment to [mention a specific company value, mission, or recent achievement you admire] and your innovative approach to [mention a specific industry trend or company project]. My collaborative work style and dedication to [mention a personal quality, e.g., continuous improvement, problem-solving, customer satisfaction] resonate deeply with what I understand of your team's culture and goals.

Paragraph 4: Call to Action & Closing

My resume, attached for your review, provides further detail on my professional background and achievements. I am eager to discuss how my skills and experience can benefit [Company Name] and contribute to the success of the [Job Title] role. Thank you for your time and consideration. I look forward to the opportunity to speak with you soon.

Sincerely,

[Your Typed Full Name]


How to Tailor Your Cover Letter: Step-by-Step Guide

  1. Analyze the Job Description (JD):

* Identify 3-5 keywords, required skills, and responsibilities that appear most frequently or seem most critical.

* Look for specific projects, team structures, or company values mentioned.

* Note the company's mission statement or "About Us" section on their website.

  1. Research the Company:

* Visit their website: "About Us," "Careers," "News/Blog."

* Check their LinkedIn profile: Look for recent posts, employee testimonials, company culture.

* Search for recent news articles or press releases.

* Try to find the hiring manager's name on LinkedIn or the company website.

  1. Match Your Experience to the JD:

* For each key requirement from the JD, think of a specific example from your past roles where you demonstrated that skill or achieved a relevant result.

* Use action verbs and quantify your achievements whenever possible (e.g., "increased sales by 15%", "managed a budget of $50,000", "reduced errors by 20%").

  1. Customize Each Paragraph:

* Salutation: Always try to find the hiring manager's name. If not possible, use "Dear Hiring Team" or "Dear [Department Name] Hiring Manager." Avoid "To Whom It May Concern."

* Paragraph 1: Clearly state the job title and company name. Mention how you heard about the role if it's a referral or specific platform.

* Paragraph 2 & 3: These are your "proof" paragraphs. Use the most relevant 2-3 skills/achievements from your resume that directly address the JD's requirements. Weave in company-specific details demonstrating your research.

Paragraph 4: Reiterate your interest in this specific role at this specific company*.

  1. Review and Refine:

* Read it aloud to catch awkward phrasing.

* Check for grammar, spelling, and punctuation errors.

* Ensure it flows logically and tells a compelling story.

* Verify that it complements, but does not simply repeat, your resume.


Tips for Success

  • Keep it Concise: One page is ideal. Hiring managers have limited time.
  • Use Professional Formatting: Maintain a clean, readable layout consistent with your resume.
  • Save as PDF: Always send your cover letter as a PDF unless otherwise specified, to preserve formatting.
  • File Naming: Use a professional file name (e.g., "YourName_CoverLetter_CompanyName_JobTitle.pdf").

Next Steps

  1. Populate the Template: Carefully fill in all the bracketed placeholders [ ] with your specific, tailored information.
  2. Integrate Your Resume: Ensure the skills and achievements highlighted in your cover letter align with and are supported by details in your resume.
  3. Proofread: Thoroughly review for any errors or typos.
  4. Save and Submit: Convert your letter to PDF and submit it with your resume as instructed by the job application.

By following this detailed guide, you will be able to generate a highly professional and effective cover letter that significantly strengthens your application.

professional_resume_builder.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
"); 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' import ReactDOM from 'react-dom/client' import App from './App' import './index.css' ReactDOM.createRoot(document.getElementById('root')!).render( ) "); 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' import './App.css' function App(){ return(

"+slugTitle(pn)+"

Built with PantheraHive BOS

) } export default App "); zip.file(folder+"src/index.css","*{margin:0;padding:0;box-sizing:border-box} body{font-family:system-ui,-apple-system,sans-serif;background:#f0f2f5;color:#1a1a2e} .app{min-height:100vh;display:flex;flex-direction:column} .app-header{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px} h1{font-size:2.5rem;font-weight:700} "); 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)+" Generated by PantheraHive BOS. ## Setup ```bash npm install npm run dev ``` ## Build ```bash npm run build ``` ## Open in IDE Open the project folder in VS Code or WebStorm. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local "); } /* --- 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",'{ "name": "'+pn+'", "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "vue-tsc -b && vite build", "preview": "vite preview" }, "dependencies": { "vue": "^3.5.13", "vue-router": "^4.4.5", "pinia": "^2.3.0", "axios": "^1.7.9" }, "devDependencies": { "@vitejs/plugin-vue": "^5.2.1", "typescript": "~5.7.3", "vite": "^6.0.5", "vue-tsc": "^2.2.0" } } '); zip.file(folder+"vite.config.ts","import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import { resolve } from 'path' export default defineConfig({ plugins: [vue()], resolve: { alias: { '@': resolve(__dirname,'src') } } }) "); zip.file(folder+"tsconfig.json",'{"files":[],"references":[{"path":"./tsconfig.app.json"},{"path":"./tsconfig.node.json"}]} '); zip.file(folder+"tsconfig.app.json",'{ "compilerOptions":{ "target":"ES2020","useDefineForClassFields":true,"module":"ESNext","lib":["ES2020","DOM","DOM.Iterable"], "skipLibCheck":true,"moduleResolution":"bundler","allowImportingTsExtensions":true, "isolatedModules":true,"moduleDetection":"force","noEmit":true,"jsxImportSource":"vue", "strict":true,"paths":{"@/*":["./src/*"]} }, "include":["src/**/*.ts","src/**/*.d.ts","src/**/*.tsx","src/**/*.vue"] } '); zip.file(folder+"env.d.ts","/// "); zip.file(folder+"index.html"," "+slugTitle(pn)+"
"); 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' import { createPinia } from 'pinia' import App from './App.vue' import './assets/main.css' const app = createApp(App) app.use(createPinia()) app.mount('#app') "); var hasApp=Object.keys(extracted).some(function(k){return k.indexOf("App.vue")>=0;}); if(!hasApp) zip.file(folder+"src/App.vue"," "); 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} "); 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)+" Generated by PantheraHive BOS. ## Setup ```bash npm install npm run dev ``` ## Build ```bash npm run build ``` Open in VS Code or WebStorm. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local "); } /* --- 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",'{ "name": "'+pn+'", "version": "0.0.0", "scripts": { "ng": "ng", "start": "ng serve", "build": "ng build", "test": "ng test" }, "dependencies": { "@angular/animations": "^19.0.0", "@angular/common": "^19.0.0", "@angular/compiler": "^19.0.0", "@angular/core": "^19.0.0", "@angular/forms": "^19.0.0", "@angular/platform-browser": "^19.0.0", "@angular/platform-browser-dynamic": "^19.0.0", "@angular/router": "^19.0.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.15.0" }, "devDependencies": { "@angular-devkit/build-angular": "^19.0.0", "@angular/cli": "^19.0.0", "@angular/compiler-cli": "^19.0.0", "typescript": "~5.6.0" } } '); zip.file(folder+"angular.json",'{ "$schema": "./node_modules/@angular/cli/lib/config/schema.json", "version": 1, "newProjectRoot": "projects", "projects": { "'+pn+'": { "projectType": "application", "root": "", "sourceRoot": "src", "prefix": "app", "architect": { "build": { "builder": "@angular-devkit/build-angular:application", "options": { "outputPath": "dist/'+pn+'", "index": "src/index.html", "browser": "src/main.ts", "tsConfig": "tsconfig.app.json", "styles": ["src/styles.css"], "scripts": [] } }, "serve": {"builder":"@angular-devkit/build-angular:dev-server","configurations":{"production":{"buildTarget":"'+pn+':build:production"},"development":{"buildTarget":"'+pn+':build:development"}},"defaultConfiguration":"development"} } } } } '); zip.file(folder+"tsconfig.json",'{ "compileOnSave": false, "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"]}, "references":[{"path":"./tsconfig.app.json"}] } '); zip.file(folder+"tsconfig.app.json",'{ "extends":"./tsconfig.json", "compilerOptions":{"outDir":"./dist/out-tsc","types":[]}, "files":["src/main.ts"], "include":["src/**/*.d.ts"] } '); zip.file(folder+"src/index.html"," "+slugTitle(pn)+" "); zip.file(folder+"src/main.ts","import { bootstrapApplication } from '@angular/platform-browser'; import { appConfig } from './app/app.config'; import { AppComponent } from './app/app.component'; bootstrapApplication(AppComponent, appConfig) .catch(err => console.error(err)); "); zip.file(folder+"src/styles.css","* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: system-ui, -apple-system, sans-serif; background: #f9fafb; color: #111827; } "); 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'; import { RouterOutlet } from '@angular/router'; @Component({ selector: 'app-root', standalone: true, imports: [RouterOutlet], templateUrl: './app.component.html', styleUrl: './app.component.css' }) export class AppComponent { title = '"+pn+"'; } "); zip.file(folder+"src/app/app.component.html","

"+slugTitle(pn)+"

Built with PantheraHive BOS

"); 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} "); } zip.file(folder+"src/app/app.config.ts","import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core'; import { provideRouter } from '@angular/router'; import { routes } from './app.routes'; export const appConfig: ApplicationConfig = { providers: [ provideZoneChangeDetection({ eventCoalescing: true }), provideRouter(routes) ] }; "); zip.file(folder+"src/app/app.routes.ts","import { Routes } from '@angular/router'; export const routes: Routes = []; "); 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)+" Generated by PantheraHive BOS. ## Setup ```bash npm install ng serve # or: npm start ``` ## Build ```bash ng build ``` Open in VS Code with Angular Language Service extension. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local .angular/ "); } /* --- Python --- */ function buildPython(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^```[w]* ?/m,"").replace(/ ?```$/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(" "):"# add dependencies here "; zip.file(folder+"main.py",src||"# "+title+" # Generated by PantheraHive BOS print(title+" loaded") "); zip.file(folder+"requirements.txt",reqsTxt); zip.file(folder+".env.example","# Environment variables "); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Setup ```bash python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt ``` ## Run ```bash python main.py ``` "); zip.file(folder+".gitignore",".venv/ __pycache__/ *.pyc .env .DS_Store "); } /* --- Node.js --- */ function buildNode(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^```[w]* ?/m,"").replace(/ ?```$/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)+" "; zip.file(folder+"package.json",pkgJson); var fallback="const express=require("express"); const app=express(); app.use(express.json()); app.get("/",(req,res)=>{ res.json({message:""+title+" API"}); }); const PORT=process.env.PORT||3000; app.listen(PORT,()=>console.log("Server on port "+PORT)); "; zip.file(folder+"src/index.js",src||fallback); zip.file(folder+".env.example","PORT=3000 "); zip.file(folder+".gitignore","node_modules/ .env .DS_Store "); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Setup ```bash npm install ``` ## Run ```bash npm run dev ``` "); } /* --- 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:" "+title+" "+code+" "; zip.file(folder+"index.html",indexHtml); zip.file(folder+"style.css","/* "+title+" — styles */ *{margin:0;padding:0;box-sizing:border-box} body{font-family:system-ui,-apple-system,sans-serif;background:#fff;color:#1a1a2e} "); zip.file(folder+"script.js","/* "+title+" — scripts */ "); zip.file(folder+"assets/.gitkeep",""); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Open Double-click `index.html` in your browser. Or serve locally: ```bash npx serve . # or python3 -m http.server 3000 ``` "); zip.file(folder+".gitignore",".DS_Store node_modules/ .env "); } /* ===== 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(/ {2,}/g,"

"); h+="

"+hc+"

Generated by PantheraHive BOS
"; zip.file(folder+app+".html",h); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. Files: - "+app+".md (Markdown) - "+app+".html (styled HTML) "); } 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);}});}