<!-- GENERATED by scripts/gen-docs.py — do not edit by hand. -->

# Command Index

The complete command tree. For grouped, example-rich help run `yazses --help` or `yazses <command> --help`. See also the prose [CLI reference](cli-reference.md).

## `yazses about`

Show author, version, links, and where to report issues or request features.

## `yazses acronyms`

Manage a persistent acronym glossary and expand acronyms in text — offline.

### `yazses acronyms add`

Register an acronym → full-form expansion in your glossary.

- **Arguments:** `acronym`, `full`

### `yazses acronyms expand`

Expand known acronyms on first use ('Full Name (ACR)'), contract after — offline.

- **Arguments:** `text`

### `yazses acronyms list`

Show your stored acronym glossary.

### `yazses acronyms remove`

Remove an acronym from your glossary.

- **Arguments:** `acronym`

## `yazses audio`

See and pin the input microphone (fixes a mic that silently switches).

### `yazses audio devices`

List capture-capable audio input devices.

### `yazses audio status`

Show the pinned mic, the OS default, and (if running) live capture health.

### `yazses audio use`

Pin the input microphone by name so a monitor/headset can't steal capture.

- **Arguments:** `name`
- `--clear` — Unpin; follow the OS default.

## `yazses autostart`

Start YazSes automatically at login, so it survives a reboot.

### `yazses autostart disable`

Stop starting YazSes at login. The daemon keeps running until you stop it.

### `yazses autostart enable`

Install and enable the login service, so YazSes is running when you sit down.

### `yazses autostart status`

Say whether YazSes will be running after the next reboot.

## `yazses braille`

Translate text to Unicode Braille (UEB subset) — fully offline.

- **Arguments:** `text`
- `--grade` — UEB grade: 1 (uncontracted) or 2 (contracted).

## `yazses case`

Recase text to a naming convention — fully offline.

- **Arguments:** `text`
- `--style` — Target case: snake|kebab|camel|pascal|title|sentence|upper|lower|constant. Omit to detect a spoken 'make this … case' command in the text.

## `yazses chords`

Turn a spoken key chord into injectable key combos — fully offline.

- **Arguments:** `text`

## `yazses cite`

Resolve a spoken 'author year' reference against a .bib file — fully offline.

- **Arguments:** `query`
- `--bib` — Path to a BibTeX (.bib) file.
- `--style` — latex | plain | apa.

## `yazses cliphistory`

A persistent clipboard history you can recall by voice-style reference — offline.

### `yazses cliphistory add`

Add an entry to your clipboard history (newest first, de-duplicated, capped).

- **Arguments:** `text`

### `yazses cliphistory list`

Show your clipboard history, newest first.

### `yazses cliphistory recall`

Print the history entry a spoken reference points to — offline.

- **Arguments:** `query`

## `yazses coach`

Show private speaking-style analytics (filler rate, words-per-minute, vocabulary).

- `--limit`, `-n` — How many recent dictations to analyse.

## `yazses corpus`

Inspect or clear the local learning corpus.

### `yazses corpus destroy`

Irreversibly delete the entire learning corpus (database + audio clips).

- `--i-mean-it` — Required: confirm irreversible wipe.

### `yazses corpus forget`

Delete recently captured events (e.g. after dictating something private).

- `--minutes`, `-m` — Delete events from the last N minutes.

### `yazses corpus status`

Show the learning corpus size, event counts, and date range.

## `yazses doctor`

Check system prerequisites and report what's OK / missing.

- `--mic` — Also record a short ambient clip and compare its level to the VAD threshold.

## `yazses enroll`

Run the accessibility enrollment wizard to calibrate VAD thresholds.

## `yazses enroll-voice`

Record a short voiceprint so YazSes can recognise your voice.

## `yazses features`

See capabilities and turn them on/off (no config-editing needed).

- `--on` — Show only capabilities that are currently ON.
- `--tier` — Filter by advice tier: core, on, rec, opt, exp.
- `--category`, `-c` — Filter by category name (partial, case-insensitive), e.g. 'access'.

### `yazses features disable`

Turn a capability OFF (writes your config), then `yazses restart` to apply.

- **Arguments:** `name`

### `yazses features enable`

Turn a capability ON (writes your config), then `yazses restart` to apply.

- **Arguments:** `name`
- `--force` — Allow enabling experimental features.
- `--no-install` — Don't auto-install the feature's optional deps.

### `yazses features info`

Describe a capability — what it does, a usage example, and how to toggle it.

- **Arguments:** `name`

## `yazses findreplace`

Apply a spoken find-and-replace to text — fully offline.

- **Arguments:** `command`
- `--in` — Text to apply it to (omit to read stdin).

## `yazses gaze`

Aim dictation with your gaze — type into whichever pane you look at.

### `yazses gaze calibrate`

Calibrate the webcam so your gaze maps to screen zones.

- `--no-install` — Don't auto-install the gaze deps (mediapipe, opencv).

### `yazses gaze status`

Show whether look-to-pane is ready: deps, desktop backend, calibration.

## `yazses gitvoice`

Turn a spoken git command into a git command — fully offline.

- **Arguments:** `text`
- `--run` — Run the command instead of only printing it.
- `--yes` — Confirm a destructive command so --run will run it.

## `yazses hotkey`

Change the key you hold to talk.

### `yazses hotkey command`

Set a dedicated *command* key, then `yazses restart` to apply.

- **Arguments:** `key`

### `yazses hotkey set`

Set the key you hold to dictate, then `yazses restart` to apply.

- **Arguments:** `key`

### `yazses hotkey show`

Show the current hold-to-talk key (and command key, if set).

## `yazses inject`

Type text into the focused window without recording (tests the injector).

- **Arguments:** `text`

## `yazses logs`

Show the daemon's diagnostic log (metadata only -- no dictated text).

- `--lines`, `-n` — Number of recent lines to show.
- `--path` — Print the log file path and exit.

## `yazses mark-wrong`

Flag the last dictation as a misrecognition (a learning signal).

- `--correction`, `-c` — What you actually said (optional).

## `yazses meeting`

Hands-free meeting recording with who-said-what speaker labels + notes.

### `yazses meeting enroll`

Enroll a meeting speaker as a named voiceprint so they're auto-named next time.

- **Arguments:** `meeting_id`
- `--speaker` — Cluster id to enroll, e.g. speaker_1.
- `--name` — The person's name, e.g. Alice.

### `yazses meeting list`

List stored meetings on this machine (no daemon required).

- `--json` — Print meetings as a JSON array (machine-readable; empty list is []).

### `yazses meeting notes`

Generate meeting minutes (summary, decisions, action items) from the transcript.

- **Arguments:** `meeting_id`

### `yazses meeting relabel`

Fix speaker labels — merge two clusters and/or rename them — and re-render.

- **Arguments:** `meeting_id`
- `--merge` — Fold one speaker into another: SPEAKER_2=speaker_1 (repeatable).
- `--rename` — Name a speaker: speaker_1=Alice (repeatable).
- `--format`, `-f` — Transcript format to re-render.

### `yazses meeting start`

Start recording a meeting (hands-free — no key to hold).

### `yazses meeting status`

Show the running meeting (elapsed + live transcript) or recent meetings.

### `yazses meeting stop`

Stop the recording and generate the speaker-labelled transcript (and notes).

## `yazses mic-level`

Measure mic speech level and recommend (or set) the VAD threshold.

- `--seconds`, `-s` — Seconds to record while you speak.
- `--set` — Write the recommended vad_threshold to config.

## `yazses model`

Manage SLM intent-routing models (download / list).

### `yazses model download`

Download a GGUF model for Tier 2 SLM intent routing.

- **Arguments:** `model_id`

### `yazses model list`

List available SLM models and their download status.

## `yazses outline`

Build a nested outline incrementally and render it to Markdown/OPML — offline.

### `yazses outline add`

Add an item after the cursor (same level) and show the outline.

- **Arguments:** `text`

### `yazses outline clear`

Discard the current outline and start fresh.

### `yazses outline indent`

Indent the current item one level deeper (max one deeper than the item above).

### `yazses outline promote`

Promote the current item one level shallower (floor 0).

### `yazses outline render`

Render the current outline to Markdown or OPML.

- `--format`, `-f` — markdown | opml.

## `yazses overlay`

Run the sonar voice-activity overlay (needs the `overlay` extra: PySide6).

## `yazses punch-in`

Correct the last dictation by re-speaking just the wrong phrase.

- `--dry-run` — List candidate spans without editing (confirm first).
- `--choose`, `-n` — Apply the candidate at this rank (0 = best).

## `yazses quickstart`

Get dictating in 3 steps — a friendly guide tailored to your machine.

## `yazses recall`

Search your past dictations.

- **Arguments:** `query`

## `yazses reflow`

Reflow a monologue into a bulleted outline — fully offline.

- **Arguments:** `text`

## `yazses remote`

Forward voice typing to a remote host over SSH.

- **Arguments:** `host`
- `--port`, `-p` — SSH port.
- `--key-file`, `-i` — Path to SSH private key.
- `--stop` — Disconnect active remote session.

## `yazses report`

Collect a diagnostic report locally — nothing is uploaded.

- `--output`, `-o` — Where to write it.
- `--print` — Print it instead of writing a file.
- `--log-lines` — How much log tail to include.

## `yazses restart`

Restart the daemon — kills any stray/duplicate daemons and starts exactly one.

## `yazses say`

Speak text aloud with the built-in offline voice.

- **Arguments:** `text`

## `yazses scratch`

Show or clear your ambient scratch notes (spoken "note to self …").

- **Arguments:** `action`

## `yazses screenplay`

Format dictated lines as Fountain screenplay markup — fully offline.

- **Arguments:** `text`

## `yazses settings`

Open the Settings window — every capability as a toggle, grouped by category.

## `yazses setup`

Provision all Linux runtime requirements so dictation works out of the box.

- `--dry-run` — Show what would be installed/changed without doing it.

## `yazses shellpipe`

Render a spoken pipeline into a shell command — fully offline.

- **Arguments:** `text`

## `yazses slotfill`

Extract structured fields from one utterance by a schema — fully offline.

- **Arguments:** `text`
- `--slot` — A field spec (repeatable): NAME:after=kw1,kw2  or  NAME:choices=a,b,c.

## `yazses srs`

Capture facts as spaced-repetition flashcards and schedule reviews (SM-2) — offline.

### `yazses srs capture`

Capture a 'remember that X is Y' fact as a cloze flashcard — offline.

- **Arguments:** `text`

### `yazses srs list`

Show your flashcard deck and each card's next-review interval (days).

### `yazses srs review`

Grade a card's recall (SM-2) and update its schedule.

- **Arguments:** `card`
- `--grade`, `-g` — Recall quality 0–5 (<3 lapses).

## `yazses start`

Start the YazSes daemon (restarts cleanly if one is already running).

## `yazses status`

Show daemon status. Queries the daemon over IPC when reachable.

- `--json` — Output status as JSON for scripts and status bars.

## `yazses stop`

Stop the running daemon.

## `yazses table`

Turn spoken rows into delimited (CSV) lines — fully offline.

- **Arguments:** `text`
- `--sep` — Field separator for the output (default: comma).

## `yazses test`

End-to-end self-test: confirm the injector works without speaking.

## `yazses transcribe`

Transcribe an audio file to text — fully offline, on your machine.

- **Arguments:** `audio_file`
- `--format`, `-f` — Output format: txt (default) | md | srt | vtt | json (srt/vtt add timestamps).
- `--diarize`, `--no-diarize` — Tag who said what with local speaker models (needs the diarization extra).
- `--speakers` — Force an exact speaker count (0 = auto-detect).
- `--min-speakers` — Lower bound on the auto-detected speaker count.
- `--max-speakers` — Upper bound on the auto-detected speaker count.
- `--names` — Comma list mapped to speakers in order of first appearance: 'Alice,Bob,Carol'.
- `--rename` — Explicit speaker→name map, repeatable: --rename speaker_0=Alice --rename speaker_1=Bob.
- `--language` — 'en' (default) or 'translate' to render any-language audio into English text.
- `--model` — STT model override, e.g. base.en (fast) or small.en (more accurate). Default: your config model.
- `--out`, `-o` — Output file path (default: sidecar <audio_file>.<format>).
- `--download-models` — Download the ~15 MB sherpa diarization models, then exit (no transcription).

## `yazses tray`

Show the system-tray / top-bar icon with a click-menu (mic + daemon controls).

- `--background`, `-b` — Launch detached instead of blocking.

## `yazses tune`

Analyze the learning corpus and propose accuracy improvements.

- `--apply` — Review and apply proposals interactively.
- `--retranscribe`, `--no-retranscribe` — Re-transcribe captured audio with a larger model to find errors.

## `yazses update`

Check for a newer YazSes and update it (snap / uv tool / pipx / pip).

- `--check` — Only report whether an update is available; don't install.
- `--yes`, `-y` — Install the update without prompting.

## `yazses verify`

Record, transcribe, and prove dictation works end to end on this machine.

- `--seconds`, `-s` — How long to record.
- `--type` — Also type the transcript into the focused window.

## `yazses vocab`

Manage your personal dictionary (words STT mis-hears).

### `yazses vocab add`

Add words to the dictionary so YazSes spells them right (then `yazses restart`).

- **Arguments:** `words`

### `yazses vocab list`

Show the words in your personal dictionary.

### `yazses vocab remove`

Remove a word from your personal dictionary (then `yazses restart`).

- **Arguments:** `word`

## `yazses wordfind`

Reverse dictionary: describe a word and get candidates — fully offline.

- **Arguments:** `description`
- `--limit`, `-n` — Max candidates to show.
- `--lexicon` — Path to a JSON {word: definition} lexicon to merge in.

## `yazses wordgoal`

Track words written against a writing goal, across invocations — offline.

### `yazses wordgoal add`

Add a chunk of text to your running word count and show progress.

- **Arguments:** `text`

### `yazses wordgoal goal`

Set (or clear, with 0) your writing goal.

- **Arguments:** `words`

### `yazses wordgoal reset`

Reset the word count to zero (keeps the goal).

### `yazses wordgoal status`

Show your current word count and goal progress.

