4.6 KiB
4.6 KiB
CLI简历生成工具
CLI 简历 PDF Bun 模板
resumy
English README / 中文文档
resumy 是一个以 Bun 为核心的 CLI 工具,可通过结构化参数和内置模板生成精美简历。设计目标是保持可脚本化、确定性,并对偏好显式命令输入而非交互式流程的 Agent 或高级用户友好。
安装
使用 Bun 全局安装 resumy:
bun add -g resumy
bun install -g resumy
安装后,全局命令为:
resumy --help
发布到 npm
将包公开发布到 npm:
npm login
npm publish
发布后,其他用户可以用 Bun 全局安装并直接调用 resumy。
安装 Agent Skill
本仓库还为 skills 安装器提供了 agent-resume skill。
从 GitHub 安装:
bunx skills add https://github.com/ahpxex/resume-cli --skill agent-resume
开发时本地调试:
bunx skills add . --list
bunx skills add . --skill agent-resume
快速开始
列出内置模板:
resumy templates
生成 PDF 简历:
resumy generate pdf \
--theme professional \
--name "Jordan Lee" \
--title "产品工程师" \
--email "jordan@example.com" \
--phone "+1 (555) 123-4567" \
--location "旧金山,加利福尼亚" \
--website "https://jordanlee.dev" \
--link "GitHub|https://github.com/jordanlee" \
--link "LinkedIn|https://linkedin.com/in/jordanlee" \
--summary "具有产品思维的工程师,有丰富的精美用户体验交付经验。" \
--experience "role=高级产品工程师;company=Northstar Labs;start=2022;end=至今;location=远程;summary=主导面向客户工作流的前端架构。" \
--experience-bullet "0|跨三个产品团队构建了基于设计系统的 UI 平台。" \
--experience-bullet "0|通过引导式设置流程将新用户引导完成率提升了 18%。" \
--experience-tech "0|TypeScript, React, Bun, 设计系统" \
--project "name=Resume Studio;role=创建者;url=https://github.com/jordanlee/resume-studio;summary=一个面向结构化内容的模板驱动简历渲染器。" \
--project-bullet "0|设计了支持多种布局的标准化简历数据结构。" \
--project-tech "0|TypeScript, Bun, HTML, CSS" \
--education "institution=华盛顿大学;degree=计算机科学学士;start=2015;end=2019;location=西雅图,华盛顿州" \
--education-highlight "0|专注于人机交互与分布式系统。" \
--skill-group "编程语言|TypeScript, JavaScript, SQL, HTML, CSS" \
--skill-group "框架|React, Next.js, Bun, Node.js" \
--extra "认证|AWS 认证云从业者" \
--output ./dist/resume.pdf
同时输出中间 HTML 文件:
resumy generate pdf ... --html-output ./dist/resume.html
命令
resumy templates:列出内置布局resumy generate pdf:通过显式参数生成 PDF 简历
PDF 导出原理
resumy 先将结构化简历数据渲染为 HTML,然后通过 Playwright 启动无头浏览器,让浏览器将该 HTML 打印为 PDF。这样既保持了模板开发的简洁性,又保留了浏览器级别的布局、字体、颜色和打印样式。
Playwright 与 Chromium
resumy依赖 Playwright JavaScript 包进行浏览器自动化。- 发布的
resumy包本身不在包内捆绑 Chromium 二进制文件。 - 运行时,
resumy优先使用 Playwright 的 Chromium;如果不可用,则回退到本地安装的 Google Chrome。 - 如果两者都不可用,请通过
bunx playwright install chromium安装 Chromium。
输入模型
CLI 设计上是显式的,重复条目通过重复参数传入:
--experience "role=...;company=...;start=...;end=...;location=...;summary=..."--experience-bullet "0|构建了某项功能"--experience-tech "0|TypeScript, React, Bun"--project "name=...;role=...;url=...;summary=..."--project-bullet "0|交付了某项功能"--project-tech "0|TypeScript, Bun, HTML, CSS"--education "institution=...;degree=...;start=...;end=...;location=..."--education-highlight "0|专注于..."--skill-group "编程语言|TypeScript, JavaScript, SQL"--extra "认证|AWS 认证云从业者"
使用从零开始的索引将要点和技术栈附加到对应条目。
排版选项
--density:standard(标准)或compact(紧凑)--theme-color:链接、标题及视觉细节的强调色--font-family:正文字体栈--heading-font-family:标题字体栈--font-face:嵌入本地.ttf、.otf、.woff或.woff2字体文件
开发
bun install
bun run check
bun test
bun run build
npm publish --dry-run