All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
--format json(or-j) for compact JSON output.
- Default output is structured text instead of JSON.
- Text output now emits only data (no ok/data labels).
- Frames are rendered inline in text output (x/y/w/h).
- Menu output flattens the AXMenu wrapper for children.
outline-rowsto list outline rows with accessible labels and selection state.find --descendants/--descto match--textagainst descendant content.
- Text matching now considers headings for SwiftUI lists.
- Click coordinates now align with AX element frames (no y-axis flip).
- Function key support (F1–F24),
fnmodifier, andkey --raw. key --listandkeysto list supported key names.--textand--windowsupport forexists,wait, andassert.- Menu matching options (
--contains,--case-insensitive,--normalize-ellipsis) andmenu --list. - Per-command help output for key/menu/find/exist/wait/assert.
- Status bar interaction via
statusbar(list, click, and menu listing). - Plain-text help when running
stevewith no args or-h.
- Help/usage output is plain text by default.
- Function keys send an explicit
fnkey event for better reliability across apps.
- Initial
steveCLI with macOS Accessibility automation. - JSON output for commands, core UI interactions, and menu support.
- Release workflow and test suite (unit + optional integration).