simonmysun/ell

A command-line interface for LLMs written in Bash.

What it solves

ell provides a lightweight, dependency-free way to interact with Large Language Models (LLMs) directly from the command line. It eliminates the need for complex installations or heavy runtimes by being written in almost pure Bash, making it easy to integrate LLMs into terminal-based workflows and shell pipelines.

How it works

The tool acts as a wrapper for LLM APIs (such as OpenAI and Google Gemini). It sends prompts to these services via curl and processes the responses. It supports several interaction modes:

  • Standard Query: Sending a direct prompt via the command line.
  • Pipe-friendly: Accepting input from other terminal commands via stdin.
  • Interactive Mode: A chat-like interface within the terminal.
  • Record Mode: Capturing terminal input and output to be used as context for subsequent LLM queries.

Who it’s for

Developers, system administrators, and power users who spend most of their time in the terminal and want a fast, minimal way to query LLMs without leaving their shell environment.

Highlights

  • Pure Bash: Extremely lightweight and easy to install on Unix-like systems.
  • Context Awareness: Ability to record terminal sessions to provide the LLM with real-time technical context.
  • Pipe Integration: Designed to work seamlessly with other CLI tools using pipes.
  • Extensibility: Supports templates and plugins to implement function calling and custom behaviors.
  • Privacy: Includes sensitive information redaction capabilities.