diff --git a/Makefile b/Makefile index 85be59f..7efc016 100644 --- a/Makefile +++ b/Makefile @@ -1,9 +1,12 @@ CONFIG := $(HOME)/.config/aman/config.json -.PHONY: run install sync test check +.PHONY: run doctor install sync test check run: - uv run python3 src/aman.py --config $(CONFIG) + uv run python3 src/aman.py run --config $(CONFIG) + +doctor: + uv run python3 src/aman.py doctor --config $(CONFIG) sync: uv sync diff --git a/README.md b/README.md index 9a294f6..91928da 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,14 @@ X11 (supported): uv sync --extra x11 ``` +## Quickstart + +```bash +uv run python3 src/aman.py init +uv run python3 src/aman.py doctor +uv run python3 src/aman.py run +``` + ## Config Create `~/.config/aman/config.json` (or let `aman` create it automatically on first start if missing): @@ -74,6 +82,13 @@ Create `~/.config/aman/config.json` (or let `aman` create it automatically on fi "backend": "clipboard", "remove_transcription_from_clipboard": false }, + "ux": { + "profile": "default", + "show_notifications": true + }, + "advanced": { + "strict_startup": true + }, "vocabulary": { "replacements": [ { "from": "Martha", "to": "Marta" }, @@ -90,6 +105,14 @@ If `recording.input` is explicitly set and cannot be resolved, startup fails instead of falling back to a default device. Config validation is strict: unknown fields are rejected with a startup error. +Validation errors include the exact field and an example fix snippet. + +Profile options: + +- `ux.profile=default`: baseline cleanup behavior. +- `ux.profile=fast`: lower-latency AI generation settings. +- `ux.profile=polished`: same cleanup depth as default. +- `advanced.strict_startup=true`: keep fail-fast startup validation behavior. Hotkey notes: @@ -142,6 +165,7 @@ Service notes: - `Esc` is only captured during active recording. - Recording start is aborted if the cancel listener cannot be armed. - Transcript contents are logged only when `-v/--verbose` is used. +- Tray menu includes: `Pause/Resume Aman`, `Reload Config`, `Run Diagnostics`, `Open Config Path`, and `Quit`. Wayland note: @@ -161,5 +185,14 @@ Control: ```bash make run +make doctor make check ``` + +CLI: + +```bash +uv run python3 src/aman.py run --config ~/.config/aman/config.json +uv run python3 src/aman.py doctor --config ~/.config/aman/config.json --json +uv run python3 src/aman.py init --config ~/.config/aman/config.json --force +``` diff --git a/config.example.json b/config.example.json index 9326250..546512b 100644 --- a/config.example.json +++ b/config.example.json @@ -13,6 +13,13 @@ "backend": "clipboard", "remove_transcription_from_clipboard": false }, + "ux": { + "profile": "default", + "show_notifications": true + }, + "advanced": { + "strict_startup": true + }, "vocabulary": { "replacements": [ {