Contribute

Help others print better resumes.

Verbose Resume is a community tool. We welcome fixes, ideas, and especially new resume templates so everyone has more layouts to choose from. The repository is fork-only—we do not grant direct write access; every change arrives through a pull request from your fork.

Source and issues live on GitHub: https://github.com/Jmainguy/verboseresume

Open a pull request

  1. Fork Jmainguy/verboseresume on GitHub into your own account (this is the only way to contribute—we do not add collaborators with push access).
  2. Clone your fork locally and create a branch, for example feat/my-template or fix/docs-typo.
  3. Make your changes. Run go test ./... and, if you can, smoke-test with go run . and visit http://localhost:8080.
  4. Push your branch and open a pull request against main on GitHub. Describe what changed and how you tested it.
  5. We will review, ask questions if needed, and merge when it looks good. Small, focused PRs are easier to ship than huge ones.

Bug reports and feature ideas are also welcome via GitHub Issues if you are not ready to code yet.

New resume templates (most wanted)

We would love more built-in templates in the upload picker—creative, conservative, two-column, academic, international, or industry-specific layouts. If you design one you are proud of, please PR it for the whole community.

Built-in templates are HTML fragments wrapped by resume-page.html. They receive the same Resume data as today’s layouts (see Docs and README.md in the repo).

How to add a template

  1. Create templates/your-template.html with a top-level {{ define "your-template.html" }} block and an <article class="resume-template-…"> body.
  2. Register it in the templateOptions slice in main.go (file name, display name, short description).
  3. Test with the generator using static/sample-upload.json or your own sample JSON—no real personal resumes in git.
  4. In your PR, mention the template’s intent (e.g. “dense academic CV”, “design-forward”) and include a screenshot of the HTML preview if possible.

Templates shipped today

  • Classic (classic.html) A more traditional serif layout with a lighter visual style.
  • Clean (clean.html) The default layout with skill pills and careful page-break rules.
  • Compact (compact.html) A tighter layout for fitting more content on fewer pages.

Users can also upload a one-off custom HTML template on the form; built-ins are what most people see first, so new defaults have outsized impact.

Other ways to help

  • Docs & examples
  • MCP tools
  • Mobile & a11y
  • Print CSS
  • Brand assets
  • Bug fixes
  • Tests
  • Documentation — clearer guides on /docs, sample JSON, or the fictional verbose-resume examples under docs/.
  • MCP — improvements to /mcp tools, prompts, or agent ergonomics (POST JSON-RPC).
  • UX — mobile layout, accessibility, toolbar flows on the resume preview page.
  • Quality — Go tests, CI fixes, dependency updates that keep the binary easy to build and ship.

Please do not commit personal resume files, job-specific JSON, or verboseResume.md copies—see .gitignore. Use static/sample-upload.json and docs/example-verbose-resume.md for public examples.

License

Verbose Resume is licensed under the GNU General Public License, version 2 (GPLv2). By contributing, you agree that your contributions will be licensed under the same terms.

Read the full license in the repository: LICENSE. If you bundle or deploy a modified version, GPLv2 requires you to provide corresponding source to recipients of the binary.