ferrisume-cli 0.5.0

A JSON resume CLI tool
# Ferrisume

A JSON Resume implementation in Rust.

## Goal
The goal of a JSON resume is to be able have a data-oriented resume, this makes it easy to edit both the data and theme individually. No more fighting Word!

## Motivation

There's an official [resume-cli](https://github.com/jsonresume/resume-cli) that doesn't get maintained anymore. The alternative is resumed, but I got a bit annoyed at how it was implemented (for example, the init subcommand didn't check if there's a json file already, so I lost my progress).

Another reason was to try out [clap](https://github.com/clap-rs/clap) and see if I could make a "production ready" CLI tool with it.

## Installation

You can download the CLI from cargo:
```sh
cargo install ferrisume-cli
```

## Usage

```
Usage: ferrisume [COMMAND]

Commands:
  init     Initialize a resume.json file
  themes   List all available themes
  version  Display version information
  theme    Theme management commands
  watch    Edit your resume in a live view
  export   Export locally to .html or .pdf
  help     Print this message or the help of the given subcommand(s)

Options:
  -h, --help     Print help
  -V, --version  Print version
```

## Theme Discovery

Ferrisume discovers themes from (in order):

- `./themes` in the current directory
- XDG data dir: `${XDG_DATA_HOME:-$HOME/.local/share}/ferrisume/themes`
- System dir (non-Windows): `/usr/share/ferrisume/themes`
- macOS: `~/Library/Application Support/com.ferrisume.ferrisume/themes`
- Windows: `%APPDATA%\ferrisume\ferrisume\data\themes`
- Next to the executable: `<exe-dir>/themes`

Quick setup on Linux (XDG):

```bash
mkdir -p "${XDG_DATA_HOME:-$HOME/.local/share}/ferrisume/themes/<your-theme>"
# Place `config.toml` and `templates/` inside that directory
```

Verify discovery:

```bash
RUST_LOG=info ferrisume themes
```

Notes:

- If no theme named `default` is found in the filesystem, the embedded default
is extracted to a temporary directory (you may see a `/tmp/.../default` path in
the list).
- You can always reference a theme by path:
`ferrisume export -t /path/to/your/theme`.