> ## Documentation Index
> Fetch the complete documentation index at: https://docs.resumelang.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# resumelang

> A universal resume DSL — one resume.yml, every output.

<img className="block dark:hidden" src="https://mintcdn.com/abhishek-6a64f9eb/p6qlJg8bKwMv1y4R/images/hero-light.png?fit=max&auto=format&n=p6qlJg8bKwMv1y4R&q=85&s=81f6de59335fac79c5118fb1339e5f35" alt="resumelang hero" noZoom width="2064" height="1104" data-path="images/hero-light.png" />

<img className="hidden dark:block" src="https://mintcdn.com/abhishek-6a64f9eb/p6qlJg8bKwMv1y4R/images/hero-dark.png?fit=max&auto=format&n=p6qlJg8bKwMv1y4R&q=85&s=ee212047a9f2a19ef6bac79eb4ba5af2" alt="resumelang hero" noZoom width="2064" height="1104" data-path="images/hero-dark.png" />

**resumelang** turns a single, version-controlled `resume.yml` file into a
themed HTML resume, a PDF, JSON Resume, Markdown, and ATS-safe plain text. It
ships as **one Go binary** that doubles as a CLI, a web editor, and a CI
target. There is no SaaS lock-in. Your resume is a file, your themes are
folders, your history is `git log`.

## Three ways to use it

<Columns cols={3}>
  <Card title="Web editor" icon="window" href="/editor">
    Edit YAML on the left, see the rendered resume on the right. Switch themes,
    print, or download a standalone HTML file. Runs locally or hosted.
  </Card>

  <Card title="CLI" icon="terminal" href="/cli">
    `resumelang build resume.yml` — produces every format. Zero config. Single
    binary, no Node, no Python.
  </Card>

  <Card title="GitHub Action" icon="rocket" href="/ci">
    Keep `resume.yml` in your own repo. On push, CI rebuilds and publishes the
    output to GitHub Pages.
  </Card>
</Columns>

## Pick a path

<Columns cols={2}>
  <Card title="Quickstart" icon="play" href="/quickstart">
    Install the binary and ship your first themed resume in under five minutes.
  </Card>

  <Card title="DSL schema" icon="code" href="/schema">
    The full `resume.yml` shape — every field, every type, every example.
  </Card>

  <Card title="Theme system" icon="palette" href="/themes">
    Five built-in themes plus a strict `theme.yml` spec for community themes.
  </Card>

  <Card title="VS Code extension" icon="code-pull-request" href="/extension">
    Live preview, schema validation, and theme switching inside your editor.
  </Card>
</Columns>

## Why a DSL?

A resume is structured data — a name, jobs, dates, skills — not a Word document.
Once it is structured, every problem people have with resumes goes away:

* **One source, every format.** Apply with PDF, share online as HTML, paste
  into ATS as plain text.
* **Diffable.** `git diff` shows exactly what changed between versions.
* **Re-themable.** Pick `minimal`, `aurora`, `material`, `terminal`, `sap`, or
  ship your own.
* **Schema-validated.** Your editor autocompletes fields and red-squiggles
  typos.
* **Portable.** A single binary builds it on Linux, macOS, Windows, and CI.
