Performance Review Writer
Run ID: 69cc96b03e7fb09ff16a348e2026-04-01HR
PantheraHive BOS
BOS Dashboard

Generate comprehensive performance reviews with goal assessments, competency ratings, development plans, and constructive feedback frameworks.

Research Topic: Generating Comprehensive Performance Reviews

This document outlines the foundational research for developing a robust "Performance Review Writer" tool. The objective is to identify the core components, best practices, and strategic frameworks required to generate detailed, professional, and actionable performance reviews. This research will inform the subsequent steps in the workflow, ensuring the generated reviews are effective, fair, and contribute positively to employee development and organizational goals.


1. Introduction to Effective Performance Reviews

Performance reviews are critical tools for employee development, talent management, and organizational success. They provide a structured opportunity to assess an employee's contributions, identify strengths, address areas for improvement, and set future goals. An effective performance review is objective, evidence-based, forward-looking, and constructive, fostering open communication and professional growth.

2. Core Components of a Comprehensive Performance Review

A well-structured performance review typically includes several key sections, each serving a distinct purpose:

  • Employee Information & Review Period:

* Employee Name, Title, Department

* Manager Name, Title

* Review Period (e.g., January 1 - December 31)

* Date of Review

  • Summary of Key Responsibilities/Job Description:

* Brief overview of the employee's primary duties and expectations, aligned with their job description.

  • Goal Achievement/Performance Against Objectives:

* Assessment: Evaluate progress and outcomes against pre-defined individual and team goals (e.g., SMART goals: Specific, Measurable, Achievable, Relevant, Time-bound).

* Examples: Provide specific instances where goals were met, exceeded, or missed.

* Impact: Describe the positive or negative impact of goal achievement/non-achievement on the team or organization.

* Rating: (Optional, but common) A rating scale for each goal (e.g., Exceeded Expectations, Met Expectations, Partially Met Expectations, Did Not Meet Expectations).

  • Competency/Skill Ratings & Assessment:

* Definition: Evaluation of an employee's performance against core competencies relevant to their role and the organization's values (e.g., Communication, Teamwork, Problem-Solving, Leadership, Adaptability, Technical Skills, Innovation, Customer Focus).

* Behavioral Examples: For each competency, provide specific behavioral examples that demonstrate proficiency or areas needing development.

* Rating: A standardized rating scale (e.g., 5-point scale: Role Model, Exceeds Expectations, Meets Expectations, Needs Development, Not Meeting Expectations).

  • Strengths & Key Contributions:

* Identification: Highlight specific areas where the employee consistently excels and adds significant value.

* Impact: Describe how these strengths positively impact team performance, projects, or organizational goals.

* Examples: Provide concrete examples of strong performance or successful initiatives.

  • Areas for Development & Improvement Opportunities:

* Identification: Clearly identify specific areas where the employee can improve or grow.

* Impact: Explain the potential negative impact if these areas are not addressed or the positive impact if they are developed.

* Focus: Frame these as opportunities for growth rather than solely as weaknesses.

  • Development Plan & Action Items:

* Specific Goals: Outline 2-3 actionable goals for improvement or skill enhancement.

* Activities: Suggest concrete steps, resources, or training (e.g., courses, mentorship, projects, shadowing, readings) to support development.

* Timeline: Assign realistic deadlines for development activities.

* Support: Indicate how the manager will support the employee's development.

  • Constructive Feedback Framework:

* Methodology: A structured approach for delivering feedback, ensuring it is specific, actionable, and balanced. (See Section 4).

  • Overall Performance Summary/Rating:

* A concise summary of the employee's overall performance during the review period, synthesizing all previous sections.

* An overall performance rating (if applicable, e.g., using the same 5-point scale as competencies).

  • Future Goals & Expectations (Optional, but Recommended):

* Discuss and collaboratively set new goals for the upcoming review period.

* Align these goals with individual career aspirations and organizational objectives.

  • Employee Comments Section:

Space for the employee to provide their perspective, comments, or disagreements with the review. (While not generated* by the writer, it's a crucial part of the overall review process).

  • Signatures:

* Employee, Manager, and HR (if required) signatures to acknowledge receipt and discussion.

3. Key Principles and Best Practices for Writing Performance Reviews

To ensure reviews are effective and fair, the following principles should be adhered to:

  • Be Specific and Provide Evidence: Avoid vague statements. Use concrete examples, data, and observations to support all assessments (e.g., "Instead of 'Poor communication skills,' write 'During the Q3 project update meeting, you frequently interrupted colleagues and did not allow others to finish their points, leading to a breakdown in information sharing.'").
  • Focus on Behavior, Not Personality: Critique actions and outcomes, not personal traits.
  • Be Objective and Fair: Base assessments on established standards, job requirements, and observable performance, not personal biases or feelings.
  • Balance Positive and Constructive Feedback: Start with strengths, deliver constructive feedback clearly, and end with a positive outlook and development plan.
  • Align with Company Values and Job Description: Ensure feedback and assessments are consistent with organizational culture and the specific requirements of the role.
  • Be Forward-Looking: Emphasize growth, development, and future contributions. The review should be a springboard for improvement, not just a historical report.
  • Be Timely and Relevant: Feedback should relate to the review period and current responsibilities.
  • Be Actionable: Every area for improvement should be accompanied by clear, achievable steps for development.
  • Use Clear, Professional Language: Avoid jargon, slang, or overly complex sentences. Maintain a respectful and professional tone.
  • Avoid Recency Bias: Consider the employee's performance throughout the entire review period, not just recent events.
  • Ensure Consistency: Apply similar standards and evaluation criteria across all employees in similar roles.
  • Quantify When Possible: Use metrics and data to support claims of achievement or areas needing improvement (e.g., "Increased sales by 15%," "Reduced project delays by 2 days").

4. Framework for Constructive Feedback

Delivering constructive feedback effectively is crucial for development. A recommended framework is the Situation-Behavior-Impact-Next Steps (SBIN) model:

  • Situation: Describe the specific context or situation when the behavior occurred.

Example:* "During the client presentation last Tuesday..."

  • Behavior: Clearly describe the observable behavior.

Example:* "...you presented the data without referencing the updated Q4 projections..."

  • Impact: Explain the consequence or impact of that behavior.

Example:* "...which led to the client questioning the accuracy of our overall forecast and created confusion."

  • Next Steps/Desired Outcome: Propose a specific action or suggest a desired future behavior.

Example:* "In future presentations, please ensure you cross-reference all data points with the latest available information to maintain client confidence and accuracy."

This framework helps ensure feedback is specific, non-judgmental, and actionable.

5. Common Pitfalls to Avoid in Performance Reviews

  • Vagueness: Lack of specific examples or data.
  • Recency Bias: Focusing only on recent events.
  • Leniency/Strictness Bias: Being consistently too generous or too harsh across reviews.
  • Halo/Horn Effect: Allowing one positive (halo) or negative (horn) trait to influence the entire review.
  • Personal Bias: Allowing personal feelings or relationships to cloud judgment.
  • Surprise Feedback: Presenting issues the employee was unaware of. Feedback should be ongoing.
  • Focusing Only on Weaknesses: Neglecting to acknowledge strengths and contributions.
  • Lack of Development Plan: Identifying problems without offering solutions or support.
  • "Sandwich Feedback" Misuse: Burying critical feedback between two positives, making it unclear.
  • Copy-Pasting: Using generic statements or copying from previous reviews without customization.

6. Actionable Recommendations for a "Performance Review Writer" Tool

Based on this research, a "Performance Review Writer" tool should aim to:

  • Prompt for Specific Inputs: Guide users to provide concrete examples, metrics, and behavioral observations for each section (goals, competencies, strengths, development areas).
  • Incorporate SBIN Framework: Offer templates or prompts that help managers structure constructive feedback using the Situation-Behavior-Impact-Next Steps model.
  • Suggest Development Activities: Provide a library of potential development actions and resources based on identified areas for improvement.
  • Ensure Balanced Feedback: Analyze generated text to ensure a balance between positive recognition and constructive criticism.
  • Flag Vague Language: Identify and prompt for more specific, evidence-based language.
  • Align with Competency Frameworks: Allow for customization of core competencies to match organizational standards.
  • Structure Review Sections: Automatically generate a comprehensive review structure with all the identified core components.
  • Offer Tone Analysis: Provide suggestions to maintain a professional, objective, and supportive tone.
  • Support Goal Integration: Facilitate the input and assessment of pre-existing employee goals.

This research provides a solid foundation for designing and implementing the "Performance Review Writer" tool, ensuring it generates high-quality, impactful, and professional performance reviews.

gemini Output

Elevate Your Team's Performance with Expertly Crafted Reviews

Unlock the full potential of your workforce with our advanced Performance Review Writer. Designed to transform the often-daunting task of performance evaluations into a strategic driver for growth, our service delivers comprehensive, insightful, and actionable reviews that foster development, clarity, and engagement across your organization.

The Core of Effective Performance Management

Our Performance Review Writer goes beyond generic templates, providing a tailored approach to evaluate, inspire, and guide your employees. Each review is meticulously structured to offer a holistic view of an individual's contributions and growth trajectory.

1. Precision Goal Assessments

We provide clear, data-driven assessments of individual and team goal achievement. Our reviews evaluate:

  • Goal Attainment: A direct comparison of set objectives against actual results, highlighting successes and areas needing attention.
  • Impact Analysis: An evaluation of how achieved goals contributed to broader organizational objectives and team success.
  • Root Cause Identification: For unmet goals, we offer frameworks to identify underlying factors and prevent recurrence.
  • Future Goal Alignment: Recommendations for setting SMART (Specific, Measurable, Achievable, Relevant, Time-bound) goals that align with strategic business priorities.

2. Insightful Competency Ratings

Gain a deeper understanding of your team's capabilities with our structured competency evaluations. We assess key professional attributes through:

  • Behavioral Indicators: Specific examples and observations tied to core competencies (e.g., leadership, collaboration, problem-solving, communication).
  • Scalable Ratings: A clear and consistent rating scale applied across all competencies, ensuring fairness and comparability.
  • Strengths Identification: Highlighting areas where employees excel, providing a foundation for leveraging their talents.
  • Developmental Gaps: Pinpointing areas where further growth is needed, supported by concrete examples.

3. Personalized Development Plans

Turn feedback into forward momentum with actionable development plans. Each review includes:

  • Targeted Skill Enhancement: Recommendations for specific skills to develop, directly linked to performance feedback and career aspirations.
  • Actionable Steps & Resources: Concrete steps, learning resources (e.g., courses, mentorship, projects), and tools to support skill acquisition.
  • Measurable Milestones: Defined checkpoints and timelines to track progress and ensure accountability.
  • Career Path Integration: Aligning individual development with potential career advancement opportunities within the organization.

4. Constructive Feedback Frameworks

Deliver feedback that truly resonates and drives improvement. Our reviews employ proven frameworks designed for maximum impact:

  • STAR Method Application: Structuring feedback using Situation, Task, Action, and Result to provide context and clarity for both positive and constructive comments.
  • Balanced Perspective: Ensuring a fair mix of recognition for achievements and constructive criticism for areas of improvement.
  • Forward-Looking Guidance: Shifting the focus from past mistakes to future improvements and growth opportunities.
  • Empathetic Language: Crafting feedback in a supportive and professional tone to encourage receptivity and engagement.

Why Choose Our Performance Review Writer?

Our service is designed to empower HR professionals and managers, transforming performance reviews from an administrative burden into a strategic asset.

  • Save Valuable Time: Automate the laborious writing process, freeing up your team for strategic initiatives.
  • Ensure Consistency & Fairness: Standardized yet personalized reviews reduce bias and promote equitable evaluations across the organization.
  • Drive Employee Engagement & Growth: Clear feedback and actionable development plans motivate employees and foster a culture of continuous improvement.
  • Enhance Organizational Alignment: Link individual performance directly to business objectives, ensuring everyone is working towards common goals.
  • Professional & Polished Output: Receive high-quality, articulate reviews that reflect positively on your organization's commitment to employee development.

Ready to Transform Your Performance Management?

Revolutionize your performance review process and unlock a new era of employee development and organizational success.

Get Started Today!

Contact us to learn how our Performance Review Writer can streamline your evaluations, foster employee growth, and drive unparalleled success for your team.

gemini Output

As a professional AI assistant within PantheraHive, I have executed Step 3 of 3: "polish_and_format" for the "Performance Review Writer" workflow. The goal of this step is to transform raw performance data and feedback into a comprehensive, detailed, and professionally formatted performance review document.

Below is a sample output demonstrating the polished and formatted deliverable, encompassing goal assessments, competency ratings, development plans, and a constructive feedback framework. This output is designed to be directly usable and actionable by managers and employees.


Comprehensive Performance Review: Alex Chen

Employee Name: Alex Chen

Job Title: Senior Software Engineer

Department: Engineering - Core Development

Review Period: January 1, 2023 – December 31, 2023

Review Date: January 15, 2024

Reviewer: Sarah Jenkins, Engineering Lead


1. Overall Performance Summary

Alex Chen has demonstrated a consistently strong performance as a Senior Software Engineer throughout the 2023 review period. Alex consistently meets and often exceeds expectations in technical delivery, problem-solving, and collaboration. His contributions to the "Project Phoenix" initiative were pivotal, showcasing his leadership in complex system design and his ability to mentor junior team members effectively. Alex is a highly valued member of the team, known for his proactive approach, technical expertise, and commitment to quality. Areas for continued growth include further developing strategic architectural thinking for long-term product roadmaps and enhancing cross-functional communication with non-technical stakeholders.


2. Goal Assessment

This section evaluates Alex's performance against the key objectives established for the review period.

| Goal ID | Goal Description | Target/Metric | Actual Achievement | Status | Comments

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