- Go 99.6%
- Shell 0.4%
| .forgejo/workflows | ||
| cmd/rony | ||
| configs | ||
| docs | ||
| internal | ||
| .gitignore | ||
| .goreleaser.yaml | ||
| AGENTS.md | ||
| go.mod | ||
| go.sum | ||
| install.sh | ||
| LICENSE | ||
| README.es.md | ||
| README.md | ||
| TODO.md | ||
Rony Harness — AI agent harness for software development
🖥️ Interactive TUI that turns LLMs into agents that execute code.
Rony Harness (binary: rony) is an AI agent harness for terminal. It lets you converse with an LLM (Claude, GPT, Ollama, llama.cpp) and give it real tools (read files, write, run bash, grep, etc.) so it completes software tasks autonomously.
✨ Features
- 💬 Interactive chat with Bubbletea TUI
- 🔧 17 real tools: file/shell/web (
read,write,edit,glob,grep,bash,webfetch), sub-agent delegation (delegate), plan persistence (save_plan/update_plan), RAG memory (6 tools), and a personal spellcheck dictionary - ✅ Approval gates before destructive operations, plus a bash allow/deny sandbox — no filesystem sandbox yet (see
docs/architecture.md) - 🐕 Rony's persona, with 4 config-driven agent modes (Normal/Build/Plan/Chat,
Tabto cycle) - 📋
AGENTS.mdper project for custom conventions - 💾 Persistent sessions in SQLite with resume/list/delete/export, browsable via
/sessions - 📎 File attachments (
@mentions) and a right-hand sidebar — spellcheck + translation while chatting, or the local server list + info while the/llmpanel is open - 🖥️
/modeland/llmpanels to switch providers and manage a local llama.cpp server
🚀 Quick start
⚠️
go install .../rony@latestdoesn't currently work:rony-llm-agentis an untagged sibling module with no published version (see Build from source). Until it's tagged and published, build from source instead.
# Configure provider
export ANTHROPIC_API_KEY=sk-ant-...
# Run (after building, see below)
rony chat
# In a project with AGENTS.md
cd my-project/
rony chat
📚 Documentation
- Architecture doc — As-built technical reference
- Phase 2 — Not-yet-built features (Distribution: GoReleaser, homebrew, install)
📌 Advanced features of the library (MCP, full RAG, Skills, Sub-agents, Observability, etc.) are in
rony-llm-agent/docs/phase2.md.
🏗️ Architecture
This project is only the TUI CLI. All agent logic lives in the rony-llm-agent library, which provides:
- Agent loop
- LLMClient interface (OpenAI, Anthropic, Ollama, llama.cpp)
- RAG / memory
- Persona system
- Generic tool registry
rony-harness/ adds:
- Bubbletea TUI
- Slash commands (
/help,/sessions,/model,/llm,/tools, etc. — seedocs/architecture.mdfor the full list) - Software-dev-specific tools (
read,bash,grep,delegate, memory, plans, etc.) - Interactive approval gates and a bash sandbox (allow/deny patterns)
🛠️ Build from source
⚠️
rony-llm-agentisn't a versionedgo.moddependency (it has no git tags) — it's resolved as a sibling module through a Go workspace. Building this repo standalone requires cloningrony-llm-agentnext to it and ago.workthatuses both. Seedocs/architecture.md§8.1.
git clone https://github.com/VictorVargas/rony-harness.git
git clone https://github.com/VictorVargas/rony-llm-agent.git
cd rony-harness
go work init . ../rony-llm-agent # or reuse an existing go.work
go build -o bin/rony ./cmd/rony
./bin/rony version
📦 Distribution
See docs/phase2.md §1 — GoReleaser, homebrew tap, install script.
🤝 Contributing
Currently solo development. PRs welcome once the codebase is more mature.
📄 License
MIT — see LICENSE.
🔗 Related projects
rony-llm-agent— Core libraryrony-chat-bot— HTTP chatbot for portfolios