Skip to content

Fix UX/DX audit findings across the CLI surface#58

Merged
alexkroman merged 2 commits into
mainfrom
claude/cli-ux-dx-audit-cr7qcr
Jun 10, 2026
Merged

Fix UX/DX audit findings across the CLI surface#58
alexkroman merged 2 commits into
mainfrom
claude/cli-ux-dx-audit-cr7qcr

Conversation

@alexkroman

Copy link
Copy Markdown
Collaborator

Address the prioritized findings from the UX/DX audit:

High

  • Onboarding no longer hangs: a non-interactive aai onboard session
    refuses to start a browser sign-in (which would block ~2min on a
    callback that can't arrive) and fails fast with actionable guidance.
  • aai transcripts get --json now emits the full transcript payload,
    identical to aai transcribe --json, so a fetched transcript
    round-trips for scripting.
  • Exit codes are consistent: deploy usage errors and the voice-agent
    rejected-connection error use the canonical UsageError (2) /
    NotAuthenticated (4) codes. Documented the exit-code contract in
    errors.py and the README, plus a JSON-output schema table.

Medium

  • doctor flags an unusable OS keyring and recommends ASSEMBLYAI_API_KEY
    (instead of a dead-end browser login), and suggests a next step on
    success.
  • aai login --api-key now warns that account self-service needs a
    browser login.
  • The env-mismatch warning carries remediation and is emitted as a
    structured {"warning": …} object in --json mode.
  • transcripts/sessions timestamps normalized to UTC and labelled;
    empty-state messages for transcripts/sessions/keys list.
  • --quiet now also suppresses the spinner.
  • Reworded the misleading --prompt help and split the dense
    transcribe/stream docstrings so help renders cleanly.

Low

  • -j short alias for --json; usage --include-zero (keeps --all);
    concrete sessions get example id; unified file-not-found wording;
    added remediation to AMS/LLM-gateway errors and the keys no-project
    error.

README documents the flat account command layout and leads Quick Start
with aai onboard. Tests + snapshots updated; full gate green.

https://claude.ai/code/session_014YFntb8MvWVTJNoS4dVpoP

claude added 2 commits June 10, 2026 13:36
Address the prioritized findings from the UX/DX audit:

High
- Onboarding no longer hangs: a non-interactive `aai onboard` session
  refuses to start a browser sign-in (which would block ~2min on a
  callback that can't arrive) and fails fast with actionable guidance.
- `aai transcripts get --json` now emits the full transcript payload,
  identical to `aai transcribe --json`, so a fetched transcript
  round-trips for scripting.
- Exit codes are consistent: deploy usage errors and the voice-agent
  rejected-connection error use the canonical UsageError (2) /
  NotAuthenticated (4) codes. Documented the exit-code contract in
  errors.py and the README, plus a JSON-output schema table.

Medium
- doctor flags an unusable OS keyring and recommends ASSEMBLYAI_API_KEY
  (instead of a dead-end browser login), and suggests a next step on
  success.
- `aai login --api-key` now warns that account self-service needs a
  browser login.
- The env-mismatch warning carries remediation and is emitted as a
  structured {"warning": …} object in --json mode.
- transcripts/sessions timestamps normalized to UTC and labelled;
  empty-state messages for transcripts/sessions/keys list.
- `--quiet` now also suppresses the spinner.
- Reworded the misleading `--prompt` help and split the dense
  transcribe/stream docstrings so help renders cleanly.

Low
- `-j` short alias for `--json`; `usage --include-zero` (keeps `--all`);
  concrete `sessions get` example id; unified file-not-found wording;
  added remediation to AMS/LLM-gateway errors and the keys no-project
  error.

README documents the flat account command layout and leads Quick Start
with `aai onboard`. Tests + snapshots updated; full gate green.

https://claude.ai/code/session_014YFntb8MvWVTJNoS4dVpoP
Add a "Writing tests that pass the diff gates" subsection documenting the
friction points hit this session: boolean literals/defaults surviving the
mutation gate unless a test asserts the behavioral difference; help text being
pinned by snapshots (not unit asserts); CliRunner merging stderr into output
out of call order; and --json/-j being a per-command flag, not a root flag.

https://claude.ai/code/session_014YFntb8MvWVTJNoS4dVpoP
@alexkroman alexkroman merged commit af8c380 into main Jun 10, 2026
11 checks passed
@alexkroman alexkroman deleted the claude/cli-ux-dx-audit-cr7qcr branch June 10, 2026 13:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants