Skip to content

adnankoroth/cliflow

Repository files navigation

CLIFlow πŸš€

IDE-style terminal autocompletion β€” 800+ commands, zero cloud dependencies

License: MIT Node.js Security

Privacy-first alternative to Fig.io β€” all completions run locally, no data ever leaves your machine.

Why CLIFlow?

βœ… What CLIFlow Does ❌ What CLIFlow Doesn't Do
Runs 100% locally No cloud connections
Works offline No telemetry or analytics
Open source (MIT) No account required
Single binary install No npm runtime needed
800+ command specs No AI/ML features

How CLIFlow Compares

Feature CLIFlow Fig / Amazon Q zsh-autosuggestions bash-completion
Offline βœ… 100% ❌ Cloud-based βœ… Yes βœ… Yes
Privacy βœ… Zero telemetry ❌ Telemetry βœ… Yes βœ… Yes
Open Source βœ… MIT ❌ Proprietary βœ… Yes βœ… Yes
Rich Completions βœ… 800+ specs βœ… Yes ❌ History only ⚠️ Basic
Subcommand Args βœ… Full support βœ… Yes ❌ No ⚠️ Limited
Cross-shell βœ… zsh/bash/fish βœ… Yes ❌ zsh only ❌ bash only
No Account βœ… Yes ❌ Required βœ… Yes βœ… Yes
IDE-style UI βœ… Yes βœ… Yes ❌ No ❌ No

Why not Fig / Amazon Q?

  • Acquired by Amazon, now requires AWS account
  • Cloud-based with telemetry
  • Not suitable for air-gapped or high-security environments

Why not zsh-autosuggestions?

  • Only suggests from command history
  • No intelligent argument/flag completion

Why not bash-completion?

  • Basic completions, no descriptions
  • Limited to bash shell

CLIFlow gives you the best of all worlds: rich IDE-style completions like Fig, but fully offline and open-source like traditional tools.

πŸ’‘ Completion specs powered by the open-source Fig autocomplete project (MIT licensed).

Security First

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  πŸ”’ CLIFlow Security Model                                  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  βœ“ Zero network access - works completely offline          β”‚
β”‚  βœ“ No telemetry, analytics, or tracking of any kind        β”‚
β”‚  βœ“ No accounts, logins, or cloud sync                      β”‚
β”‚  βœ“ Open source - audit the code yourself                   β”‚
β”‚  βœ“ Standalone binary - no npm dependencies at runtime      β”‚
β”‚  βœ“ SHA256 checksums for all releases                       β”‚
β”‚  βœ“ Minimal permissions - only reads shell config           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

For IT/Security Teams: See SECURITY.md for detailed security documentation.

Preview

$ git ch<TAB>
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ ⚑ checkout      Switch branches      β”‚
β”‚ ⚑ cherry        Find commits yet...  β”‚
β”‚ ⚑ cherry-pick   Apply changes from.. β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

$ docker <TAB>
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ ⚑ run           Run a command in...  β”‚
β”‚ ⚑ build         Build an image       β”‚
β”‚ ⚑ ps            List containers      β”‚
β”‚ πŸ”§ --help        Show help            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Installation

Quick Install (Recommended)

curl -fsSL https://raw.githubusercontent.com/adnankoroth/cliflow/main/install.sh | bash

This will:

  • βœ… Install CLIFlow to ~/.cliflow
  • βœ… Configure your shell (zsh & bash)
  • βœ… Set up auto-start daemon
  • βœ… Add CLI to your PATH

macOS (Homebrew)

# Add the tap (one time)
brew tap adnankoroth/cliflow

# Install
brew install cliflow

# Or in one command
brew install adnankoroth/cliflow/cliflow

Auto-start daemon with brew services:

brew services start cliflow

macOS/Linux (Standalone Binary)

No Node.js or npm required β€” single binary download:

# macOS Apple Silicon (M1/M2/M3)
curl -fsSL https://github.com/adnankoroth/cliflow/releases/latest/download/cliflow-macos-arm64.tar.gz -o cliflow.tar.gz

# macOS Intel
curl -fsSL https://github.com/adnankoroth/cliflow/releases/latest/download/cliflow-macos-x64.tar.gz -o cliflow.tar.gz

# Linux x64
curl -fsSL https://github.com/adnankoroth/cliflow/releases/latest/download/cliflow-linux-x64.tar.gz -o cliflow.tar.gz

Verify the download (recommended):

# Check SHA256 - compare with value on Releases page
shasum -a 256 cliflow.tar.gz

Install:

tar -xzf cliflow.tar.gz
sudo mv cliflow /usr/local/bin/
cliflow setup
source ~/.zshrc  # or restart terminal
cliflow daemon start

Important: You must run cliflow setup once after install to enable shell integration.

Verify Installation

cliflow status        # Check everything is working
cliflow test "git "   # Test completions

Uninstall

curl -fsSL https://raw.githubusercontent.com/adnankoroth/cliflow/main/scripts/uninstall.sh | bash

CLI Commands

# Status and management
cliflow status           # Show installation status
cliflow start            # Start the daemon
cliflow stop             # Stop the daemon  
cliflow restart          # Restart the daemon
cliflow enable           # Enable completions
cliflow disable          # Temporarily disable
cliflow logs             # View daemon logs
cliflow logs -f          # Follow daemon logs

# Setup and troubleshooting
cliflow setup            # Configure shell integration
cliflow repair           # Diagnose and fix issues
cliflow repair --fix       # Auto-fix issues
cliflow test "git ch"      # Test completions
cliflow specs list         # List built-in specs
cliflow specs community    # List community specs

Supported Commands (794 total)

Built-in Specs (78)

git, docker, kubectl, helm, terraform, aws, gcloud, npm, yarn, cargo, go, pip, psql, mysql, redis-cli, and 60+ more.

Community Specs (716)

brew, apt, jq, fzf, bat, rg, fd, vercel, netlify, heroku, and 700+ more.

πŸ™ Community specs sourced from withfig/autocomplete β€” thanks to Fig and 600+ contributors!

Custom Completions

Create specs for your own tools:

cliflow specs create my-tool
# Edit ~/.cliflow/specs/my-tool.mjs
export const spec = {
  name: 'my-tool',
  description: 'My custom CLI',
  subcommands: [
    { name: 'deploy', description: 'Deploy to production' },
    { name: 'status', description: 'Show status' }
  ]
};

Requirements

  • macOS or Linux
  • Zsh, Bash, or Fish shell
  • ~50MB disk space

Shell Integration Options (Zsh)

You can customize CLIFlow behavior in Zsh by setting these environment variables before sourcing the integration:

  • CLIFLOW_ACCEPT_SPACE=0 β€” disable accepting completions with Space (Tab only)
  • CLIFLOW_DEBOUNCE_MS=40 β€” debounce UI updates in milliseconds (lower = more responsive)

CLIFlow automatically disables its menu during Zsh modes like reverse search (Ctrl+R), vi command mode, and menu selection to avoid accidental inserts.

FAQ

Q: Does CLIFlow require an internet connection?
A: No. CLIFlow works 100% offline. No network requests are ever made.

Q: Does CLIFlow collect any data?
A: No. There is no telemetry, analytics, or tracking. Zero data leaves your machine.

Q: Is CLIFlow safe for corporate environments?
A: Yes. It's open source (MIT), runs offline, requires no accounts, and can be installed as a standalone binary with no npm runtime dependencies. See SECURITY.md.

Q: How is this different from Fig.io?
A: Fig.io (now Amazon Q) was closed-source with cloud features. CLIFlow is fully open-source, runs offline, and has no AI/cloud components.

Troubleshooting

cliflow repair           # Diagnose all issues
cliflow repair --fix     # Auto-fix common problems
cat ~/.cliflow/daemon.log  # Check daemon logs

Contributing

Contributions welcome! See CONTRIBUTING.md.

License

MIT License β€” see LICENSE.

Packages

 
 
 

Contributors

Languages