Performance Review Writer
Run ID: 69cb92b061b1021a29a8a5192026-03-31HR
PantheraHive BOS
BOS Dashboard

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

Step 1 of 3: Research Topic - Performance Review Writer

Objective

To conduct comprehensive research on the essential components, best practices, and underlying frameworks required to generate detailed and effective professional performance reviews. This foundational research will inform the subsequent steps of the "Performance Review Writer" workflow, ensuring the final output is robust, actionable, and aligned with modern HR principles.

1. Core Purpose and Strategic Value of Performance Reviews

Performance reviews are more than just a formality; they are critical tools for:

  • Employee Development: Identifying strengths, areas for improvement, and career growth opportunities.
  • Performance Management: Aligning individual contributions with organizational goals and standards.
  • Feedback and Communication: Establishing a formal channel for managers to provide structured feedback and for employees to voice concerns or aspirations.
  • Recognition and Motivation: Acknowledging achievements and motivating employees.
  • Compensation and Promotion Decisions: Providing data-driven insights for salary adjustments, bonuses, and career progression.
  • Legal Documentation: Creating a formal record of performance for compliance and potential legal defense.

2. Key Components of a Comprehensive Performance Review

A robust performance review typically includes the following sections, each requiring specific data and insights:

2.1. Goal Assessments (Objectives & Key Results - OKRs/SMART Goals)

  • Purpose: Evaluate an employee's progress and achievement against pre-defined individual, team, and organizational goals set for the review period.
  • Content:

* List of Goals: Clearly state each goal, objective, or Key Result (KR) set at the beginning of the review period.

* Achieved/Not Achieved: Indicate the status of each goal (e.g., Exceeded, Met, Partially Met, Not Met).

* Quantitative & Qualitative Evidence: Provide specific examples, metrics, data points, and context to support the assessment.

* Impact Analysis: Describe the outcome and impact of the employee's efforts on team or company objectives.

* Reasons for Variance: Explain why a goal was not met or was exceeded, including internal/external factors, resource constraints, or exceptional performance.

2.2. Competency Ratings (Skills & Behaviors)

  • Purpose: Assess an employee's demonstrated skills, knowledge, and behaviors against a predefined set of organizational competencies relevant to their role and level.
  • Content:

* List of Core Competencies: Include competencies such as communication, teamwork, problem-solving, leadership, innovation, adaptability, customer focus, technical proficiency, etc.

* Rating Scale: Use a consistent scale (e.g., 1-5, Needs Development to Exceeds Expectations) for each competency.

Behavioral Examples: Provide specific instances and observations that illustrate how* the employee demonstrated (or failed to demonstrate) the competency. Avoid generic statements.

* Impact on Performance: Connect the competency level to its effect on team dynamics, project outcomes, or organizational culture.

2.3. Development Plans (Growth & Improvement)

  • Purpose: Outline specific, actionable steps for an employee's professional growth and skill enhancement, addressing both areas for improvement and opportunities for advancement.
  • Content:

* Identified Strengths: Acknowledge key strengths that can be further leveraged.

* Areas for Development: Clearly state 1-3 specific areas where improvement is needed or where new skills can be acquired. These should often link back to competency ratings or future career aspirations.

* Specific Actions/Activities: Detail concrete steps the employee will take (e.g., specific training courses, mentorship, stretch assignments, shadowing, reading materials, certifications).

* Timeline: Assign realistic deadlines or target dates for completing development activities.

* Resources/Support: Identify resources available (e.g., L&D budget, mentor, online platforms, manager support).

* Expected Outcomes: Describe what success looks like upon completion of the development plan.

2.4. Constructive Feedback Framework (Overall Summary & Future Focus)

  • Purpose: Provide an overarching summary of the employee's performance, synthesizing goal assessments and competency ratings, while offering balanced, forward-looking feedback.
  • Content:

* Overall Performance Summary: A concise narrative summarizing the employee's performance during the review period, highlighting key achievements and significant areas for growth.

* Strengths & Contributions: Emphasize the employee's positive attributes and most valuable contributions.

* Areas for Improvement (Reinforced): Reiterate the most critical areas where the employee needs to focus on development.

* Future Outlook & Expectations: Set clear expectations for the upcoming period, linking back to organizational goals and the development plan.

* Action-Oriented Recommendations: Offer specific, practical advice for improvement.

* Employee Input/Self-Assessment (Optional but Recommended): Include a section for the employee to provide their perspective, self-rate, and comment on their goals and development. This fosters a two-way dialogue.

* Manager Comments & Employee Comments: Dedicated sections for formal sign-off and additional remarks.

3. Best Practices for Writing Effective Performance Reviews

  • Be Specific and Objective: Use concrete examples and data rather than vague generalizations. Focus on observable behaviors and measurable results.
  • Balance Feedback: Provide both positive recognition and constructive criticism. The "sandwich method" (positive-negative-positive) can be effective but should not dilute critical feedback.
  • Focus on Impact: Explain the consequences of an employee's actions or performance on the team, projects, or organization.
  • Be Forward-Looking: While reviewing the past, the primary goal is to guide future performance and development.
  • Align with Organizational Values: Ensure feedback and assessments reflect the company's core values and strategic objectives.
  • Maintain Consistency: Use consistent language, rating scales, and criteria across different reviews within the organization.
  • Timeliness: Conduct reviews regularly and on schedule to ensure feedback is relevant and actionable.
  • Reviewer Bias Mitigation: Be aware of common biases (e.g., recency bias, halo/horn effect, leniency/severity bias) and strive for fairness.
  • Actionable Feedback: Ensure that every piece of constructive feedback comes with a clear path for improvement.

4. Data Sources and Inputs for Performance Review Generation

To generate a comprehensive performance review, the following inputs are typically required:

  • Employee Self-Assessment: Employee's own evaluation of their performance against goals and competencies.
  • Manager Observations & Notes: Ongoing records of employee performance, achievements, challenges, and interactions throughout the review period.
  • Goal Tracking Data: Records of assigned goals (OKRs, SMART goals) and their current status/progress.
  • Competency Framework: Defined organizational competencies with behavioral indicators for different performance levels.
  • 360-Degree Feedback (Optional but Valuable): Feedback from peers, direct reports, and cross-functional colleagues.
  • Project Performance Metrics: Data related to project completion, quality, efficiency, and impact.
  • Key Performance Indicators (KPIs): Role-specific metrics used to measure success.
  • Previous Performance Reviews: Context from past reviews and development plans.
  • Job Description: To ensure alignment between performance and role expectations.
  • Company Values/Culture Statement: To assess alignment with organizational ethos.

5. Output Structure for a Generated Performance Review (Template Outline)

The final output for a performance review should follow a clear, logical structure:

  1. Employee Information: Name, Title, Department, Review Period, Manager Name.
  2. Overall Performance Summary: A concise narrative (paragraph form) of the employee's performance.
  3. Goal Achievement:

* Goal 1: Description, Status, Evidence, Impact.

* Goal 2: Description, Status, Evidence, Impact.

* ... (Repeat for all goals)

* Summary of Goal Achievement.

  1. Competency Assessment:

* Competency 1: Rating, Behavioral Examples, Impact.

* Competency 2: Rating, Behavioral Examples, Impact.

* ... (Repeat for all relevant competencies)

* Summary of Competency Strengths and Development Areas.

  1. Strengths and Key Contributions: Detailed description of positive attributes and major achievements.
  2. Areas for Development and Improvement: Specific areas needing attention with supporting examples.
  3. Development Plan:

* Development Area 1: Specific Actions, Timeline, Resources, Expected Outcome.

* Development Area 2: Specific Actions, Timeline, Resources, Expected Outcome.

  1. Future Expectations and Outlook: Manager's perspective on the upcoming period and strategic alignment.
  2. Employee Comments (Placeholder): Section for employee's self-assessment and response to the review.
  3. Signatures: Manager, Employee, (Optional: HR/Reviewer).

This detailed research provides the foundational knowledge required to build an effective "Performance Review Writer" tool, ensuring all critical aspects of performance evaluation are addressed systematically and professionally.

gemini Output

Revolutionize Your Performance Reviews: Efficient, Equitable, and Empowering

Writing comprehensive, insightful, and fair performance reviews is one of the most critical, yet often time-consuming, tasks for managers and HR professionals. It's an opportunity to acknowledge achievements, identify areas for growth, and align individual contributions with organizational goals. However, manual processes can lead to inconsistencies, bias, and a lack of actionable development plans.

Imagine a world where every performance review is not just a formality, but a powerful tool for employee development and organizational success. Our AI-Powered Performance Review Writer is designed to make that vision a reality, transforming your review process into a streamlined, strategic advantage.


Key Features & Benefits: Elevate Every Review

Our advanced AI solution goes beyond simple templates, generating detailed and personalized performance reviews that empower both employees and managers.

1. Precise Goal Achievement Assessments

  • Data-Driven Evaluation: Our system analyzes predefined goals, KPIs, and project outcomes to provide an objective assessment of an employee's performance against their objectives.
  • Contextual Insights: It highlights specific achievements, identifies missed targets, and offers explanations for variances, providing a clear picture of goal attainment.
  • Strategic Alignment: Ensures that individual contributions are clearly linked to broader team and company objectives, reinforcing organizational priorities.

2. Standardized Competency & Skill Ratings

  • Objective Frameworks: Utilize customizable competency frameworks (e.g., communication, leadership, problem-solving, teamwork) to rate employees consistently across the organization.
  • Behavioral Examples: Generates specific behavioral examples that support each rating, providing concrete evidence and reducing subjective interpretations.
  • Skill Gap Identification: Pinpoints areas where an employee excels and where further development is needed, offering a granular view of their professional profile.

3. Actionable Development Plans

  • Personalized Growth Paths: Based on competency ratings and goal assessments, the AI crafts individualized development plans tailored to each employee's unique needs and career aspirations.
  • Specific Recommendations: Provides clear, actionable steps, including suggested training courses, mentorship opportunities, project assignments, and resources to foster skill enhancement.
  • Progress Tracking Foundation: Lays the groundwork for ongoing development conversations and easy tracking of progress towards professional goals.

4. Constructive Feedback Frameworks

  • Balanced & Empathetic Language: Our AI is trained to deliver feedback that is both direct and supportive, focusing on growth opportunities rather than solely on shortcomings.
  • Specific & Impactful Examples: Generates feedback points with concrete examples to illustrate performance, making it easier for employees to understand and act upon.
  • Future-Oriented Guidance: Frames feedback around future improvement and positive change, ensuring that reviews motivate and inspire, rather than discourage.
  • Bias Reduction: Designed to minimize unconscious bias often present in human-written reviews, promoting fairness and equity across your workforce.

Why Choose Our AI-Powered Performance Review Writer?

  • Save Time & Resources: Drastically cut down the time spent drafting reviews, allowing managers to focus more on coaching and strategic initiatives.
  • Ensure Consistency & Fairness: Standardize your review process across all departments, ensuring every employee receives an equitable and objective evaluation.
  • Boost Employee Engagement: Provide employees with clear, actionable feedback and personalized development paths that demonstrate your investment in their growth.
  • Enhance Data-Driven Decision Making: Gain deeper insights into workforce performance, identifying trends, and informing talent management strategies.
  • Promote a Culture of Continuous Improvement: Foster an environment where feedback is clear, development is prioritized, and high performance is consistently recognized and rewarded.

Ready to Transform Your Performance Management?

Stop dreading performance review season and start leveraging it as a powerful driver for growth and success. Our AI-Powered Performance Review Writer is the tool you need to elevate your talent management strategy.

Experience the future of performance reviews today.

[Request a Demo & See It in Action!](https://www.example.com/demo)

[Learn More About Our HR Solutions](https://www.example.com/solutions)

gemini Output

Comprehensive Performance Review: Polished & Formatted Deliverable

This document presents a comprehensive, professionally formatted performance review, incorporating goal assessments, competency ratings, a detailed development plan, and a constructive feedback framework. This output is designed to be directly actionable and easily integrated into your HR processes.


Performance Review for [Employee Name]

Review Period: [Start Date] – [End Date]

Date of Review: [Date]

1. Employee Information

  • Employee Name: Alex Johnson
  • Job Title: Senior Marketing Specialist
  • Department: Marketing
  • Employee ID: EMP-00123
  • Start Date with Company: January 15, 2021

2. Reviewer Information

  • Reviewer Name: Sarah Chen
  • Reviewer Title: Marketing Manager
  • Department: Marketing

3. Overall Performance Summary

Alex Johnson has demonstrated consistent growth and strong performance throughout the review period. Alex consistently meets project deadlines, often exceeding expectations in areas requiring creative problem-solving and strategic thinking. Their ability to manage multiple campaigns simultaneously while maintaining high quality has been particularly commendable. There are opportunities for further development in proactive cross-functional collaboration and leadership within specific project initiatives. Overall, Alex is a highly valued member of the marketing team, contributing significantly to key departmental objectives.

4. Goal Achievement & Assessment

This section assesses Alex's performance against pre-defined goals for the review period.

  • Goal 1: Increase website traffic by 15% through SEO optimization.

* Status: Exceeded Expectations

* Assessment: Alex successfully implemented a comprehensive SEO strategy, including keyword research, content optimization, and backlink acquisition. This resulted in a 22% increase in organic website traffic, significantly surpassing the target. The new content strategy developed by Alex also led to a 10% reduction in bounce rate for key landing pages.

  • Goal 2: Launch two new product marketing campaigns for Q4 product releases.

* Status: Met Expectations

* Assessment: Alex successfully spearheaded the launch of two major product campaigns ("Innovate Pro" and "Connect Hub"). Both campaigns were launched on time and within budget, generating positive initial engagement metrics. The "Innovate Pro" campaign notably achieved a 5% higher conversion rate than previous product launches.

  • Goal 3: Develop and deliver one internal workshop on digital marketing best practices.

* Status: Partially Met Expectations

* Assessment: Alex prepared an excellent workshop module on "Advanced Social Media Strategies" and shared the materials with the team. However, due to competing project deadlines, the live delivery of the workshop was postponed. The materials themselves were highly praised for their thoroughness and practical application.

5. Competency & Skill Assessment

This section evaluates key professional competencies critical for success in Alex's role.

| Competency | Rating (1-5) | Description of Performance |

| Collaboration | 4 | Alex effectively collaborates with immediate team members, sharing insights and offering support. Opportunities exist to proactively extend this collaboration to cross-functional teams earlier in project lifecycles to ensure smoother handoffs and integrated strategies.

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