The terminal coding agent that finishes the job.

Type the task. ShelraCode reads your repo, plans, edits, runs the tests and verifies the result on OpenRouter Free by default, on your own key when you allow it, fully local when you say so.

Runs with the tools you already have

OpenRouter
llama.cpp
Hugging Face
GitHub
Telegram
MCP

[

BENCHMARK

]

Measured, not promised. Same tasks, same oracle, every run on record.

[

CORE SUITE

]

shelra-agent-core v0.2.0 · 8 tasks

updated 2026-09-23 · 32 runs on record

Agent · model

Resolved

Cost

Time

Run

ShelraCode

deepseek/deepseek-v4-flash

5/8

$0.03

15 min

#22 · 2026-09-17 · 572c0e0

ShelraCode

qwen/qwen3-coder-30b-a3b-instruct

5/8

$1.32

27 min

#11 · 2026-09-17 · af7e7bd

Claude Code

Sonnet 5

being recorded · audit 2026-09-23

Codex

gpt-5.6-luna

being recorded · audit 2026-09-23

[

HARNESS PROGRESS

]

qwen/qwen3-coder-30b-a3b-instruct

1/8

#8

5/8

#11

2/8*

#24

Same model and tasks; only the harness changed between runs. · * tasks lost to the provider, not to the harness

[

FIELD CASE 001

]

2026-09-22

Google Meet says the camera is in use by another app

ShelraCode · free model

Solved · 1 try

Claude Sonnet 5

3 tries

Re-runs on later commits: 7 min → 5.3 min → 3.1 min · 29 → 22 → 14 tool calls

One run is one sample · benchmark-owned oracle · model pinned per run · cost as billed by the provider · full record in bench/history

See every run

Arrow RightArrow Right

[

FEATURES

]

Free models first. A harness that makes them finish.

0.1

Cloud-first, free first

$ shelra

"fix the flaky token refresh"

> Policy free · openrouter

> Editing src/auth.ts

step 4 of 6

80%

> Running bun test_

OpenRouter Free by default

The live catalog is discovered and filtered by capability. The free policy routes to models that can do the job and never picks a paid one silently; your key and your caps decide the rest.

0.2

Persistent memory

.shelra/memory/

├── index.md

├── topics/auth.md recalled

└── history.jsonl

.agents/skills/

└── release-notes/SKILL.md

3 memories · 1 skill · AGENTS.md

It remembers your project

Facts about the codebase live in .shelra/memory and are retrieved for every request. After a verified change, one bounded reflection proposes what to keep and a deterministic gate decides.

0.3

Verified, or it says so

verify

PASS

bun test · 5 pass · 2.0s

2 files · +9 −2

AC1 · expiry is exact

AC2 · token rotates

AC3 · no regressions

No “done” without a real check

A turn that changed files but ran no test, build or request against the running app is asked to verify before it may finish, and is marked Not verified if it never does.

[

USE CASES

]

Every task a senior dev would dread. ShelraCode runs it.

Bug

Fix a bug

Blocks

Build a feature

Flask Conical

Verify an app

Find it. Fix it. Prove it.

Describe the bug in plain English. ShelraCode locates the cause across the repo, patches it, runs the suite and keeps going until it is green — retrying the round, and moving to a fallback model, if the provider stalls.

Check

Root cause found across the whole codebase

Check

Regression test written and run

Check

Provider trouble never ends the turn

Get started

[

HOW IT WORKS

]

Three steps. Then get out of the way.

1

Say what you want

In the terminal: shelra fix the flaky test in src/foo.test.ts. Or type in the composer, message it from your phone through Telegram, or run it headless with -p for scripts and CI.

2

ShelraCode plans, edits, runs

It reads the codebase, publishes a plan for anything non-trivial, edits, runs the tests and iterates. Sub-agents explore, plan and verify alongside it.

3

Review what was verified

The summary says what changed and which checks ran. Open /diff and /checks, resume with --session latest, and memory carries what it learned into the next task.

[

BENEFITS

]

Less overhead. More output. Free first.

Hourglass

Free first

The default policy routes to OpenRouter Free models. Paid routing only inside a policy and a spend cap you set, checked before each request is sent.

Feather

Never aborts

A rate limit, a cut stream or a rejected key keeps the finished steps, retries, then falls back: another key, OpenRouter Free, an installed local model. Only Esc ends a turn.

Rocket

Sub-agents

explore, plan, general, vision, verify and computer, plus background delegation and your own named agents in user settings.

Eye

On the record

Sessions in a local SQLite database, --session latest to resume, hooks on every tool, and autonomous plans with their evidence under .shelra/objectives.

Git Branch

Your tools

AGENTS.md instructions, Agent Skills, MCP servers, lifecycle hooks and a Telegram bridge. No new workflow to learn.

Shield

Private when needed

--local runs a managed llama.cpp engine with a SHA-verified GGUF on loopback. Keys live in ~/.shelra/auth.json; a Shuru microVM sandbox is available on Apple Silicon.

[

FIELD NOTES

]

Real problems. What happened when they met free models.

[

PRICING

]

Free first. Your key or your machine when you want.

Free policy

Paid policy

Zap

Cap it

Free

$0

/forever

OpenRouter Free models with the whole harness. No card, no trial: an OpenRouter key is all it takes.

Install

Included

Check

Live OpenRouter Free catalog

Check

Memory, sub-agents, web research

Check

Skills, MCP servers, hooks

Check

Telegram remote control

Your key

BYOK

$0

$0

/session cap

Point it at OpenRouter or any OpenAI-compatible provider. The cap runs before every request; a paid model is never picked silently.

Read the docs

Included

Check

Routing policy: free → max

Check

--max-cost and --max-request-cost

Check

shelra models use <id> to pin one

Check

Falls back to Free on a bad key

Local

$0

Private or offline: a managed llama.cpp engine with a SHA-verified GGUF, chosen for your hardware, health-checked before chat.

Run --local

Included

Check

No API key, nothing leaves the box

Check

Resumable, verified GGUF download

Check

Picks the model for your hardware

Check

Same agent loop, tools and memory

[

FAQ

]

Before you install. Everything you need to know.

Do I need an API key?

Plus

Which models does it use?

Plus

Does my code leave my machine?

Plus

What happens when a provider fails mid-task?

Plus

How does it remember my project?

Plus

Can I run it without the TUI?

Plus

Your backlog won't clear itself.

Give ShelraCode the task. Get it back verified.