Documentation menu

Start

Quickstart

Install a provider, start a chat, and run a one-shot question from the shell.

By the end of this page you will have a REPL talking to a real model, with tools to read, write, and run commands in your project.

You need Ruby 4.0 and the core gems. See Installation.

1. Install a provider #

Pick one. Each is a gem.

Claude, through the Anthropic API:

gem install elelem elelem-builtins elelem-anthropic
export ANTHROPIC_API_KEY=your-key

OpenAI:

gem install elelem elelem-builtins elelem-openai
export OPENAI_API_KEY=your-key

A local model through Ollama (Ollama must be running on localhost:11434, or set OLLAMA_HOST):

gem install elelem elelem-builtins elelem-ollama

Each provider has a default model. Change it with --model or the provider’s environment variable:

Provider-p nameDefault modelVariable
elelem-anthropicanthropicclaude-opus-4-5-20250514ANTHROPIC_MODEL
elelem-openaiopenaigpt-4oOPENAI_MODEL
elelem-ollamaollamagpt-oss:latestOLLAMA_MODEL

To run a GGUF file inside the elelem process with no server at all, see elelem-llama.

2. Start a chat #

Run this from the root of a project:

elelem chat -p anthropic

chat is the default command, so elelem -p anthropic does the same. elelem prints its version and a > prompt. Type a request in plain language and press Enter.

While the model works you see three kinds of output:

  • Dimmed text is the model’s thinking, if the provider streams it.
  • Lines starting with + are tool calls, such as + read({"path" => "README.md"}).
  • A line starting with x means an execute call exited with a non-zero status.

The model’s reply prints when it stops calling tools.

3. Use slash commands #

Lines that start with / go to a command instead of the model. With elelem-builtins:

> /help
/provider    Switch provider
/reload      Reload plugin code from disk
/exit        Exit elelem
/clear       Clear conversation history
/help        Show available commands
/context     Show conversation context
/tools       List available tools

/context lists every message the model sees, starting with the system prompt. /clear empties the history. /provider openai switches provider mid-conversation and keeps the history.

Leave with /exit or Ctrl-D. Ctrl-C also exits, immediately: it does not cancel the current turn, it ends the process.

4. Ask from the shell #

ask runs one turn and prints the reply. Anything piped in is appended to the prompt as a fenced block.

elelem ask -p anthropic "What does this project do?"
git diff | elelem ask -p anthropic "Review this diff. List bugs only."

When stdout is a pipe or file, progress goes to stderr and only the final reply goes to stdout, so > review.md captures the reply alone. See CLI for the exact format.

5. Tell it about your project #

Create an AGENTS.md in the project root with build commands, test commands, and conventions. elelem puts it into the system prompt on every request. See Context.

Next steps #