Skip to content

Releases: arabshapt/menucli

MenuCLI v1.0.0 - Initial Release πŸŽ‰

17 Aug 22:50

Choose a tag to compare

πŸ–±οΈ 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 (--help for 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!