猫步简历 (resume-design): a Vue 3 resume builder you can self-host
猫步简历 – 一款开源免费的简历制作神器,支持导出超高清PDF、图片、源码级JSON数据、Markdown格式等,AI简历生成、AI润色、AI语种翻译等。提供海量在线制作模版、主题任意切换、高度定制化的简历模块。使用猫步简历,您可以制作出一份独特、优美、专业的求职简历。
At a glance
- What is it?
- 猫步简历 is an MIT-licensed Vue 3 and TypeScript front end for building resumes in the browser, with two drag-and-drop designers, theme switching and PDF, JSON and Markdown export. It is a real codebase to run and extend, not a hosted template gallery, and the last push to the repository was on 2026-04-20.
- Who is it for?
- Adopt 猫步简历 if you want a self-hosted resume builder whose layout model you can inspect and extend, or if you are studying how a Vue 3 designer is put together. Do not adopt it if you need a fully offline, backend-free deployment, since the README's own configuration step points the front end at maobucv.com or a server you run yourself, and the repository does not document the backend's deployment.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 164 days ago.
- What is it written in?
- Mainly Vue, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What 猫步简历 solves, and who it is actually for
Most resume tools are hosted products: you get an editor, a set of templates, and an export button, and you accept whatever the vendor does with your data and your layout. 猫步简历 (the repository is Hacker233/resume-design, the package name in package.json is maobucv) takes the opposite position. It is a front-end application, MIT-licensed, that you clone and run. The README describes it as an open source and free resume design and template download site, with the front end fully open source.
The distinction matters because of what you get at the end. The feature list includes export to ultra-high-definition PDF with copyable text and icons, JSON data export at the source level, and Markdown export. Source-level JSON means the resume is not a flattened document; it is structured data you can keep, diff, or feed into another tool. For an engineer who wants their resume to live in version control alongside their projects, that is the whole point.
Who it is for: developers and technical users who are comfortable running a Node project, and who either want a resume builder they control or want to study a two-designer Vue 3 application. Who it is not for: someone who wants to open a website and be done in ten minutes. The README's setup path assumes a terminal, a package manager and a working knowledge of environment configuration.
Two designers, one schema: how the layout mechanism works
The README describes two separate designers. The first is the online production designer, described as focused on resume layout. The second is the building-block designer, described as supporting arbitrary layout. They are not two skins on one editor; the feature list treats them as distinct capabilities, and the repository structure backs that up with dedicated directories.
Under src you find material, options, schema and template. The naming tells you the data flow. schema holds the JSON model definitions for the online production module. material holds the public material components that render inside a resume. options holds the property panels that edit those components. template holds the rendering templates. So a resume is a JSON document, the material components are the vocabulary of that document, and the options panels are the editor surface for each vocabulary item. Theme changes (font, color, background, spacing, per the feature list) are applied on top of that model rather than baked into a template.
This is the same shape as most modern low-code editors, and it is the reason export works in several formats: once the document is JSON, PDF, Markdown and JSON export are different serializers over one source of truth. It also explains the template development story. Adding a template is a rendering concern, and adding a material component is a schema plus component plus options-panel concern. The repository's docs directory (doc) and the README's own template development subsections are where that contract is described; the README does not spell out the full schema in the excerpt available.
Installing 猫步简历 and running it for the first time
The README gives a straightforward path. Clone the repository, install dependencies with pnpm (recommended, with yarn and npm also named as options), and make sure Node is version 16 or above. The global pnpm install command is given as npm i -g pnpm.
git clone https://github.com/huajian-pro/resume-design.git
cd resume-design
pnpm installBefore running the dev server, there is a configuration step. The README notes that if you pulled a pure front-end release you can skip it. If you are running the current front end, it needs a backend, and the README offers two choices: connect to the official 猫步简历 backend, or obtain the backend source from the official site and run your own. The file to edit is src/config/index.ts.
// src/config/index.ts
const serverAddress = 'https://maobucv.com';
const CONFIG = {
serverAddress: serverAddress,
smallpigAddress: 'https://maobucv.com'
};
export default CONFIG;The README's before-and-after example shows the default using import.meta.env.MODE to pick http://localhost:3399 in development and https://maobucv.com otherwise, and the edited version pinning serverAddress to https://maobucv.com. The second key, smallpigAddress, is described as the backend address for the resource-sharing menu and can be left alone.
Then start the dev server and, when you are ready to ship, build.
pnpm dev
pnpm buildThe README says to upload the generated dist directory to a server and deploy it with nginx. The repository also ships a Dockerfile that does exactly that: it uses nginx:latest, copies ./dist into /usr/share/nginx/html, exposes 80 and 443, and starts nginx in the foreground. A docker-compose.yml builds that image, maps ports 80 and 443, and mounts ./certs and ./nginx.conf. Note the ordering: the Dockerfile copies dist, so the build has to happen before the image is built.
Where 猫步简历 gets awkward
The configuration step is the honest limitation. The README is explicit that the current front end is not standalone: to run it you need a corresponding backend, and if you do not have your own you can connect to the official one. That means account registration, email verification codes, login, the points system and the comments feature all depend on a server. The README points to the official site to obtain the backend source, but the repository itself is the front end, and the backend stack (nest.js, MongoDB, minio) is listed under the technology stack rather than shipped here.
The practical consequence: if you want a resume builder that works with no network dependency and no account, this is the wrong tool as documented. The README does mention two pure front-end releases, hosted at a separate repository (huajian-pro/resume-design/releases), which it recommends for people who only want to study the front end. That is the closest thing to an offline path, and it is a release download rather than the current main branch.
A second constraint is the build. The postinstall script runs husky install and then attempts to install a Chrome browser for Puppeteer, with the command falling back to an echo message if the network fails. The README's own troubleshooting note for install failures is to switch networks or clear the npm cache. There is also a fix-memory-limit script using cross-env LIMIT=4096 increase-memory-limit, which suggests builds have run into memory ceilings. None of this is unusual for a Vite application of this size, but it means the first install is not a one-command, guaranteed-success affair.
How 猫步简历 differs from Canva and Word templates
The obvious alternatives people search for are Canva resume templates and Word resume templates. The difference is not the visual output; it is where the document lives and what it is made of.
In Canva, the resume is a design document inside a hosted editor. You get a large template gallery, drag-and-drop editing, and export, and you accept Canva's account, Canva's rendering, and Canva's file formats. The template is the unit of reuse. In Word, the resume is a text document with manual formatting; templates are .docx files, and layout control means fighting styles, tables and section breaks. The document is portable but the structure is not machine-readable.
猫步简历 sits between them. It has a template gallery and a designer, like Canva, but the document is JSON with a defined schema, and export includes JSON and Markdown alongside PDF. That makes the resume diffable and scriptable in a way neither Canva nor a .docx is. The cost is that you run the software. Canva needs a browser; 猫步简历 needs a build, a server address, and, as the README states, a backend for the account features. If you only want a good-looking PDF and have no interest in owning the pipeline, Canva or a Word template is genuinely less work, and that is a fair reason to choose them.
Maintenance, licence and upgrade cost
The repository is not archived. Its last push was on 2026-04-20. The release history shows release-v6.0.0 (tagged v5.0.0) on 2025-05-19, release-v5.0.0 labelled as a year-end package on 2024-12-30, and release-v4.0.0 on 2023-04-13. The gap between the 2024 and 2025 releases was about five months, and the most recent release is roughly a year before the last push, so the release cadence is not fast. Treat upgrades as occasional events to plan for rather than a stream of patches.
The licence is MIT, and the README links to the MIT licence text. MIT is permissive: it allows use, modification and redistribution, with the copyright notice and licence text retained. That is a reasonable fit for a project you might fork and adapt internally. It says nothing about the backend, which is not in this repository; if you obtain the backend source from the official site, its licence is a separate question the README does not answer here. This is a description of the licence terms, not legal advice.
The upgrade cost is tied to the stack: Vue 3, Vite 3, TypeScript 4, Element Plus and Pinia, with element-plus pinned at 2.10.3 in package.json. Because the resume is a schema-backed JSON document, the risk in an upgrade is not usually your content but the schema and the material components: if the schema definitions in src/schema change between releases, templates and saved JSON may need migration. The repository does not document a migration path for saved resumes, and the README does not document rollback. If you keep resumes in the app's storage, export the JSON before upgrading.
Editorial conclusion
Adopt 猫步简历 if you want a self-hosted resume builder whose layout model you can inspect and extend, or if you are studying how a Vue 3 designer is put together. Do not adopt it if you need a fully offline, backend-free deployment, since the README's own configuration step points the front end at maobucv.com or a server you run yourself, and the repository does not document the backend's deployment. Before committing, verify that the login and account flows you need work against whatever server address you set in src/config/index.ts, and confirm the Node version on your build machine is 16 or above.
Frequently asked questions
What is 猫步简历 (resume-design)?
It is an open source, MIT-licensed resume design and template site, with the front end fully open source. The README describes it as a Vue 3, TypeScript, Vite, Element Plus and Pinia application with two built-in designers and export to PDF, JSON and Markdown.
How do I install and run 猫步简历 locally?
Clone the repository, run pnpm install with Node 16 or above, adjust src/config/index.ts if you are not using a pure front-end release, then run pnpm dev. The README recommends pnpm and gives npm i -g pnpm for the global install.
Does 猫步简历 need a backend to work?
Yes, as documented. The README states that to run the project you need a corresponding backend, and that if you do not have one you can connect to the official 猫步简历 backend by setting serverAddress in src/config/index.ts. It also points to two pure front-end releases for people who only want to study the front end.
How do I deploy a resume built with 猫步简历?
Run pnpm build, then upload the generated dist directory to a server and serve it with nginx, per the README. The repository's Dockerfile takes the same approach, copying ./dist into /usr/share/nginx/html and exposing ports 80 and 443.
What can I export from 猫步简历?
The feature list names ultra-high-definition PDF export with support for copying and icons, online and exported JSON data, and Markdown export. Word and PPT template downloads are also listed.
Is 猫步简历 actively maintained?
The repository is not archived, and the last push was on 2026-04-20. The most recent release, release-v6.0.0, is dated 2025-05-19, so releases are spaced out rather than continuous.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/hacker233-resume-design)