Releases: arabshapt/menucli
Releases Β· arabshapt/menucli
MenuCLI v1.0.0 - Initial Release π
π±οΈ MenuCLI is a powerful macOS command-line tool that enables programmatic interaction with application menu items. Perfect for automation scripts, CI/CD pipelines, and power users who want to control macOS applications from the terminal without visual interruption.
β¨ Key Features
- π List & Discover - Enumerate all menu items for any running application
- π±οΈ Click & Execute - Programmatically trigger menu items from command line
- β Check & Validate - Verify menu item existence before attempting actions
- π Silent Execution - Non-visual mode for background automation (
--no-visual) - π€ Smart Typography - Automatic handling of ellipsis (
...ββ¦) and other characters - β‘ Multiple Methods - Various execution strategies (pick, keyboard shortcuts, selectors)
- ποΈ Modern App Support - Works with Electron, SwiftUI, and traditional AppKit applications
π Quick Start
# Build from source
git clone https://github.com/arabshapt/menucli.git
cd menucli
./build.sh
sudo cp .build/release/menu /usr/local/bin/
# Basic usage
menu list Safari --recursive
menu click Safari "File > New Window" --no-visual
menu check Safari "File > New Window" --quietπ Requirements
- macOS 10.15 (Catalina) or later
- Accessibility permissions (automatically prompted)
- Swift 5.9+ for building from source
π οΈ Technical Implementation
- AXUIElement API - Direct access to application UI elements
- AppleScript Bridge - Enhanced compatibility for all app types
- CGEvent Simulation - Keyboard shortcut handling
- Multi-layered Execution - Fallback methods for maximum reliability
π Documentation
- Comprehensive README with examples and use cases
- Professional contributing guidelines
- Detailed troubleshooting guide
- Built-in help system (
--helpfor all commands)
π― Use Cases
- Automation Scripts - Integrate menu actions into shell scripts
- CI/CD Pipelines - Automate development tool interactions
- System Administration - Batch application configuration
- Accessibility Tools - Alternative interaction methods
- Testing Frameworks - UI automation and validation
This is the first stable release of MenuCLI. We welcome feedback, bug reports, and contributions!
β Star this repo if you find it useful!