Ramabana – Rama's Arrow

karthikrajgopal1 pts0 comments

GitHub - vedicreader/ramabana: rama's arrow. a harness that does not miss · GitHub

/" data-turbo-transient="true" />

Skip to content

Search/

Sign in<br>Sign upAppearance settings

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

Uh oh!

There was an error while loading. Please reload this page.

vedicreader

ramabana

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star

main

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>108 Commits<br>108 Commits

.agents/skills

.agents/skills

.claude

.claude

.github/workflows

.github/workflows

docs/superpowers

docs/superpowers

media

media

nbs

nbs

ramabana

ramabana

scripts

scripts

tests

tests

.gitignore

.gitignore

AGENTS.md

AGENTS.md

CHANGELOG.md

CHANGELOG.md

CLAUDE.md

CLAUDE.md

LICENSE

LICENSE

MANIFEST.in

MANIFEST.in

README.md

README.md

pyproject.toml

pyproject.toml

uv.lock

uv.lock

View all files

Repository files navigation

ramabana

The brain of a coding agent: policy, tools, memory, and routing, with no editor attached.<br>Hosts speak one protocol. Models arrive through rishi<br>(LiteRT, MLX, llama.cpp, Cursor, hosted APIs). A terminal app and an MCP server ship as frontends<br>on that same host.

pip install 'ramabana[cli]'<br>ramabana --root . --model gemma-e4b<br>ramabana --root . --model gemma-e2b --approve auto 'Reply with exactly: pong'

rishi fetches a model on first use. On CPU-only machines set RAMABANA_LITERT_BACKEND=cpu.

LocalHost indexes the folders you open. The harness never offers a tool the host cannot perform.

from ramabana import Agent<br>from ramabana.tools import LocalHost

agent = Agent(LocalHost(['..'], web=True), extensions=False)<br>agent.ready, agent.note

(False, 'not started')

from ramabana.testing import fake_agent<br>a, _ = fake_agent(replies=['in `ramabana/runtime.py`'])<br>a.ask('where is the compaction threshold?')

'in `ramabana/runtime.py`'

One notebook per module: the page you read is the module you import.

core · runtime · tools ·<br>agent · cli · mcp ·<br>vault · pyrepl ·<br>docs

uv sync --all-extras --group dev<br>uv run nbdev-export && uv run pytest

About<br>rama's arrow. a harness that does not miss<br>vedicreader.github.io/ramabana<br>Resources<br>Readme<br>Apache-2.0 license<br>Activity<br>Custom properties<br>Stars<br>0 stars<br>Watchers<br>0 watching<br>Forks<br>0 forks<br>Report repository

Releases

Packages

Contributors

Languages

You can’t perform that action at this time.

ramabana agent github reload agents claude

Related Articles