็ฎไฝไธญๆ | English
This project implements a "Resume as Code" philosophy, leveraging LLMs (Large Language Models) and structured data to automate the creation of highly tailored, professional resumes.
It solves the common pain points of resume maintenance:
- Fragmentation: Keeping multiple versions of Word/PDF files for different job applications.
- Inconsistency: Difficulty in maintaining consistent formatting and content across versions.
- Time-Consuming: Manually tailoring resumes for each Job Description (JD) is tedious.
By maintaining a single "Master Timeline" of your career and using AI agents to dynamically assemble resumes, you can generate a perfect match for any job opportunity in minutes.
- Single Source of Truth: All career data (work, projects, education, certificates) is stored in modular YAML files.
- AI-Powered Agents:
- Resume Generation Agent: Analyzes JDs and assembles targeted resumes.
- Timeline Polishing Agent: Polishes raw experience descriptions using STAR/3W methodologies.
- Interview Preparation Agent: Generates comprehensive interview guides based on your resume and target JD.
- Standardized Format: Built on the YAMLResume standard, ensuring compatibility with a rich ecosystem of themes and export tools.
- Automated Validation: Integrated validation ensures generated resumes are syntactically correct and ready for compilation.
- Multi-Format Export: Supports exporting to PDF (LaTeX), HTML, and Markdown via the YAMLResume compiler.
- Multi-Language Support: Automatically detects the target language from the Job Description or user input. Supports generation in English, Simplified Chinese, Traditional Chinese (HK/TW), Spanish, French, and Norwegian.
Explore the Gallery to see real-world examples of artifacts generated by this workflow, including:
- Tailored Resumes: PDF and HTML versions generated for specific JDs.
- Interview Guides: Comprehensive preparation guides with Q&A and strategies.
- Analysis Reports: Deep dives into JDs and company business contexts.
๐ View the Gallery
The system operates through three primary AI agents:
Input: Raw text description of a job or project.
Output: Structured, polished YAML file in timelines/gem/.
- Input Analysis: Identifies if the input is Work Experience or a Project.
- Polishing: Applies STAR (Situation, Task, Action, Result) for work or 3W (What, Why, How) for projects.
- Enrichment: Infers relevant technical keywords and industry context.
- Storage: Saves the polished artifact to the timeline library.
Input: Target Job Description (JD).
Output: A complete, tailored resume YAML file in resumes/gem/.
- Job Analysis: Extracts key skills, requirements, and role context from the JD.
- Matching: Selects the most relevant experiences from the Timeline library based on the analysis.
- Section Generation: Generates tailored Summary, Skills, Work, and Project sections.
- Assembly: Combines all sections with static profile data (Education, Certificates) into a final YAMLResume-compliant file.
- Validation: Validates the output against the schema.
Input: Resume, JD Analysis, Company Business Analysis.
Output: A comprehensive Interview Preparation Guide in interviews/gem/.
- Input Verification: Ensures all necessary context files are present.
- Strategy Generation: Creates a personal introduction strategy tailored to the role.
- Deep Dive: Generates STAR-based deep dive questions for every project.
- Q&A Bank: Creates an extensive technical Q&A bank covering specific tech, architecture, and domain knowledge.
- Behavioral & Reverse: Prepares behavioral questions and high-quality reverse interview questions.
.
โโโ profiles/ # Personal basic information (static)
โโโ resumes/ # Resume generation artifacts
โ โโโ gem/ # Final generated resume files
โ โโโ temp/ # Intermediate generation artifacts
โ โโโ job-analysis-prompt.md # Prompt for analyzing JDs
โ โโโ resume-prompt.md # Prompt for resume assembly
โ โโโ section-*-prompt.md # Prompts for specific sections
โโโ timelines/ # Master Timeline Library
โ โโโ gem/ # Polished timeline event files (YAML)
โ โโโ timeline-project-prompt.md # Prompt for polishing projects
โ โโโ timeline-work-experience-prompt.md # Prompt for polishing work exp
โโโ interviews/ # Interview preparation artifacts
โ โโโ gem/ # Generated interview guides
โ โโโ interview-prompt.md # Prompt for generating interview guides
โโโ ...
This project leverages AI agents to automate the resume generation process. While it can work with various LLMs, it is optimized for the following tools:
- Status: Supported (Recommended)
- Configuration: No specific configuration is required. You can directly interact with Copilot Chat in VS Code.
- Status: Supported
- Configuration:
- Create Agent: Create a new Custom Agent in Trae.
- Configure Rules: Copy the content of .trae/rules/project_rules.md and paste it into the agent's instructions.
- Save: Name the agent
resume-as-code.
- Usage: Select the
resume-as-codeagent when working on this project to ensure strict adherence to the workflow.
- Node.js & pnpm installed.
- YAMLResume CLI installed. This project relies on
yamlresumeto compile and build resumes in various formats (PDF, HTML, Markdown).- Please refer to the official Installation Guide for setup instructions.
- An LLM interface (e.g., GitHub Copilot Chat in VS Code).
Don't write a resume yet. First, build your database of experiences.
- Open Copilot Chat.
- Paste a raw description of a past job or project.
- The Timeline Polishing Agent will format it into a structured YAML file in
timelines/gem/. - Review and save the file.
Fill in your static information in the profiles/ directory:
profiles/basics.yml: Contact info, social links.profiles/education.yml: Academic history.profiles/certificates.yml: Certifications.
When you find a job you want to apply for:
- Copy the Job Description (JD).
- Paste it into Copilot Chat.
- The Resume Generation Agent will:
- Analyze the JD.
- Select relevant timeline events.
- Generate tailored content.
- Assemble a final YAML file in
resumes/gem/(e.g.,Name_JobTitle_Company.yml).
Use the YAMLResume CLI to compile your resume into PDF or HTML.
pnpm yamlresume build "resumes/gem/Your_Resume.yml"Once your resume is ready:
- Provide the generated Resume, JD Analysis, and Company Business Analysis to Copilot Chat.
- The Interview Preparation Agent will generate a detailed guide in
interviews/gem/. - Use this guide to practice your introduction, project deep dives, and technical Q&A.
# Install dependencies
pnpm install
# Format code
pnpm format
# Type check
pnpm checkMIT