simonmysun/ell
A command-line interface for LLMs written in Bash.
What it solves
ell provides a lightweight 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 Bash, making it easy to integrate LLMs into terminal-based workflows and shell pipelines.
How it works
The tool acts as a wrapper that sends prompts to LLM APIs (such as OpenAI and Gemini) via curl. It supports several operational modes:
- Standard Mode: Send a prompt as a command-line argument or read from a file/stdin.
- Interactive Mode: Start a chat session within the terminal.
- Record Mode: Captures terminal input and output to provide the LLM with the current session's context.
- Templates & Plugins: Uses templates to handle function calling and provider-specific plugins, and allows external scripts (plugins) to extend its functionality.
Who it’s for
Developers, system administrators, and power users who spend most of their time in a Unix-like terminal and want a fast, pipe-friendly way to query LLMs without leaving their shell.
Highlights
- Pure Bash: Extremely lightweight and easy to install on Unix-like systems.
- Pipe-friendly: Designed to work seamlessly with other CLI tools using stdin.
- Context Awareness: Can record terminal activity to help the LLM understand the current state of the system or specific errors.
- Extensible: Supports custom backends, templates, and plugins to adapt to different LLM providers.
Related
- Project
- Project
- Dispatch
- Project
- Project