← Back to archive

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.