v0.3.1 · open source · MIT

Areeb, أريب. A sharp mind for your codebase.

Areeb is a small coding agent for your terminal, inspired by Pi. It understands your intent, works through the code, and verifies the result.

curl -fsSL https://tryareeb.dev/install.sh | sh
~/my-project — areebopenai · effort high
›the session list crashes when a session file has a blank line. fix it and run the tests
thinkSession files are JSON Lines. A blank line makes JSON.parse throw, so the loader should skip empty lines.
readsrc/coding/session-manager.ts365 lines
editsrc/coding/session-manager.ts+2 −1
- const entries = text.split("\n").map(parseEntry);+ const entries = text.split("\n")+ .filter((line) => line.trim() !== "").map(parseEntry);
bashbun test tests/coding
✓ 38 pass · 0 fail
doneBlank lines in session files are now skipped before parsing, so the session list loads again. All 38 tests in tests/coding pass.
What it does

Everything happens in your terminal.

Areeb reads your files, makes focused edits, runs your commands, and checks its own work. Try each one below.

  • cli.ts788 lines
  • session-manager.ts365 lines
  • edit.ts227 lines
  • prompt-builder.ts129 lines
  • agent_loop.ts579 lines
  • openai_responses_provider.ts998 lines
read src/coding/cli.ts

Reads before it writes

It opens the files that matter and learns how your project fits together.

18function run(args: string[]) {
19 if (args.length = 0) return help();
19 if (args.length === 0) return help();
20 return execute(args);
21}

Edits only the lines that matter

Targeted replacements instead of rewritten files, so every diff stays easy to review.

48 tests, not run yet

Runs the commands you would run

Tests, builds, and scripts run in your shell, and Areeb reads the output before it answers.

High
/effort high
offmax

Thinks as hard as you ask

Drag to choose how much reasoning a task gets, from off to max.

areeb --resume 7f3a2c

Picks up where you left off

Every session is saved under ~/.areeb/sessions. Click the stack to flip through them.

Use an OpenAI, Anthropic, or OpenRouter key from your environment, or add one with /login.

OPENAI_API_KEY••••3f9a
ANTHROPIC_API_KEY••••7c21
OPENROUTER_API_KEY••••b04e

Works with the model you already use

Connect OpenAI, Anthropic, OpenRouter, or your ChatGPT subscription, then switch models any time with /model.

areeb -p "find the CLI entry point" --output text
The CLI entry point is src/coding/cli.ts. It parses the flags, then starts the terminal UI or print mode.

Fits into scripts

Run a single prompt and get plain text, JSON Lines events, or a full transcript.

AGENTS.mdproject
CLAUDE.mdproject
.areeb/skills2 skills
~/.areeb/prompts3 templates

Follows your project's rules

Guidance from AGENTS.md and CLAUDE.md, plus your skills and prompt templates, loads with every session.

Architecture

Three layers, built to be read.

Areeb is a learning project, so its parts are kept apart. Each layer depends only on the one below it, and you can study or reuse any of them on its own.

areeb_agent

The loop that thinks and acts

Messages, tools, events, the agent loop, and session primitives. It knows how to work, not what kind of app it lives in.

  • Agent loop
  • Tools
  • Events
  • Session primitives

areeb_coding → areeb_agent → areeb_ai

The name

Why Areeb

أَرِيب
Areeb/ʔa.riːb/ · adjective · Arabic

Perceptive. Intelligent. Skilled at seeing what others miss.

The name points to a kind of intelligence that is useful, attentive, and exact. Areeb means possessing sound judgment and high intellect.

Ready when you are

Bring a sharp mind into your codebase.

One command. Then tell Areeb what you want to build.

curl -fsSL https://tryareeb.dev/install.sh | sh
  1. cd my-project && areebStart Areeb in the project you want it to work on.
  2. /loginConnect an OpenAI, Anthropic, or OpenRouter API key, or a ChatGPT Plus/Pro subscription.
  3. /modelPick a model, then type a request and press Enter.