Repo of the Day
chen86860/easy-complete: IDE-style inline autocomplete for your macOS terminal — an open-source, Fig-style completion engine for zsh, bash & fish.
Published: Oct 31, 2026
Open repository ↗IDE-style inline autocomplete for your macOS terminal — an open-source, Fig-style completion engine for zsh, bash & fish. - chen86860/easy-complete
Summary
Easy Complete is a macOS terminal autocomplete app that provides IDE-style suggestions for subcommands, flags, arguments, and file paths in zsh, bash, and fish. Written primarily in Rust, it keeps completion processing on-device and displays suggestions in a native overlay that follows the terminal cursor.
What it is useful for
It is useful for engineers who regularly work with command-line tools and want completion support for hundreds of CLIs. The bundled specifications cover tools such as git, npm, docker, and cargo, with fish-shell-style suggestions appearing as you type. Unlike a cloud-backed assistant, Easy Complete makes no AI requests and does not send command content off the Mac.
The app supports common terminals such as iTerm2, Apple Terminal, Ghostty, Kitty, WezTerm, Alacritty, and VS Code’s integrated terminal, as well as tmux and Zellij panes. Shell integration is installed for zsh, bash, and fish. Terminals that bypass the standard PTY path also use the bundled macOS input method for cursor tracking.
There are important platform constraints. The documented release target is macOS 12 or later on Apple Silicon, and the published DMG is arm64-only. Easy Complete also requires macOS Accessibility permission because it positions the completion overlay relative to the focused terminal window.
Anonymous usage statistics are collected by default, covering events such as app opens and daily completion counts, but not command content. They can be disabled with ec telemetry disable.
How engineers can use it
On an eligible Mac, the recommended installation is:
brew install --cask chen86860/tap/easy-complete
Then launch Easy Complete from /Applications. Its setup panel checks Accessibility permission, shell integration, and the input method, and can repair missing components. Reload the shell afterward:
exec $SHELL
Start typing a supported command, then use the arrow keys to select a suggestion, Tab or Right Arrow to accept it, and Escape to dismiss the popup.
For troubleshooting, the README documents:
ec doctor
ec diagnostic
ec debug prompt-accessibility
Developers can also clone the repository and run the source installer:
git clone https://github.com/chen86860/easy-complete.git
cd easy-complete
./scripts/install.sh
That route builds the Rust binaries and TypeScript frontend, assembles the application, installs shell integrations, registers the input method, and links the ec and ecterm commands into ~/.local/bin. The repository’s AGENTS.md contains the fuller architecture and contribution guide.