Skip to content

urmzd/incipit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

295 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Incipit

Here begins the new career.
A CLI tool that converts structured resume data (JSON/Markdown) into polished PDFs, HTML, LaTeX, DOCX, and Markdown — with AI-powered review, optimization, and creation.

Download · Report Bug · Examples

CI   License


CLI Demo

Output Examples

Modern HTML   Modern LaTeX   Modern CV

Modern HTML  ·  Modern LaTeX  ·  Modern CV

Features

  • Multiple Output Formats — generate PDFs from LaTeX or HTML templates, plus native DOCX and Markdown
  • Data-Driven — provide resume content as JSON or Markdown; the tool handles rendering
  • Template System — modular templates with embedded assets; customize or create your own
  • AI Prompts — generate ready-to-use LLM prompts to review, optimize, and create resumes; pipe them to any LLM or agent
  • Flexible Paths — supports ~, relative paths, and creates dated output workspaces with a latest/ index pointing at the newest run
  • Schema Generation — export JSON Schema for IDE autocompletion and validation

Install

Pre-built Binary

curl -fsSL https://raw.githubusercontent.com/urmzd/incipit/main/install.sh | sh

Supports macOS (Intel & Apple Silicon) and Linux (x86_64 & arm64). After installation, run incipit from anywhere.

Build from Source

git clone https://github.com/urmzd/incipit.git
cd incipit
go install ./cmd/incipit

Quick Start

# Generate PDF with a specific template
incipit generate assets/example_resumes/software_engineer.json -t modern-html

# Generate with all templates
incipit generate assets/example_resumes/software_engineer.json

# Generate an editable DOCX
incipit generate resume.json -t modern-docx

# Validate input data
incipit generate resume.json --dry-run

# List available templates
incipit templates list

# AI: prompt to create a resume from plain text
incipit ai create resume.txt | claude -p > resume.json

# AI: prompt to review a resume
incipit ai review resume.json | claude -p

# AI: prompt to optimize for a job description
incipit ai optimize resume.json --job "Senior Go developer..."

CLI Usage

Generate

# Single template
incipit generate resume.json -t modern-html

# Multiple templates
incipit generate resume.json -t modern-html -t modern-latex

# Custom output directory
incipit generate resume.json -o outputs/custom -t modern-html

Each run writes to a timestamped directory under <output-dir>/<resume-slug>/. A latest/ index directory alongside them always mirrors the most recent run, so the newest files are at a stable path:

outputs/software_engineer/
├── 2026-06-11_21-44/Jane_Doe.modern-html.pdf   # this run
└── latest/Jane_Doe.modern-html.pdf             # always the newest

AI Commands

The ai subcommands print self-contained LLM prompts to stdout — no API keys or network access required. Paste a prompt into any LLM, or pipe it to a CLI agent like claude -p.

# Prompt to convert plain text into structured JSON (schema embedded)
incipit ai create resume.txt | claude -p > resume.json

# Prompt to review/score a resume across four dimensions
incipit ai review resume.json | claude -p

# Prompt to optimize a resume, optionally for a specific role
incipit ai optimize resume.json --job "Senior Go developer at a startup..."
incipit ai optimize resume.json --job job-description.txt | claude -p > optimized.json

Other Commands

incipit generate resume.json --dry-run  # Validate and preview as JSON
incipit generate --schema               # Export JSON Schema
incipit templates list                   # List templates
incipit templates engines               # Check LaTeX engines

Input Formats

Resumes are provided as JSON files. Use incipit generate --schema to get the full JSON Schema.

To convert freeform text to structured JSON, use incipit ai create to generate a conversion prompt for your LLM of choice.

Prerequisites

  • Go 1.25+
  • TeX Live (only for LaTeX templates)
  • Chromium — auto-downloaded by Rod on first use, or set ROD_BROWSER_BIN
  • just (optional, for helper commands)

Templates

Built-in templates live in templates/, one folder per template with a metadata.yml and template file:

Template Format Output
modern-html HTML PDF via Chromium
modern-latex LaTeX PDF via TeX Live
modern-cv LaTeX PDF via TeX Live
modern-docx DOCX Word document
modern-markdown Markdown .md file

Create your own by adding a templates/<name>/ directory with metadata.yml + template file.

Agent Skill

This repo's conventions are available as portable agent skills in skills/, following the Agent Skills Specification.

Once installed, use /resume to create, review, optimize, and generate resumes from your agent.

Contributing

Contributions welcome. See CONTRIBUTING.md for guidelines.

License

Apache 2.0

About

Here begins the new career. A template-driven CLI that transforms structured resume data into polished PDFs, DOCX, HTML, LaTeX, and Markdown — with pluggable templates and multi-agent AI assessment.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

12 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors