Skip to content

Repository files navigation

EMRG

EMRG

The AI coding agent that writes code — and rewrites itself.

PythonLicenseStatusTestsPRs Welcome

🇬🇧 English | 🇨🇳 中文


What if your coding assistant got better every time you used it?

EMRG is an experiment in autonomous self-improvement: an AI agent that helps you code — reading files, running commands, making edits — and every /rant you send drives it to improve itself. Tell it what bothers you, and the next evolution cycle writes the fix and ships it. Fully open source, fully transparent.

"EMRG is an experiment in self-evolving AI agent architecture."MANIFESTO

Everyone is a product manager — every rant is a ticket for the next release.Everyone is a host of silicon life — what you run is a digital organism that evolves with you.

EMRG — pronounced "emerge": intelligence that emerges — from scale, and from use. The name expands to Evolving Micro-kernel, Rant-driven Growth.


Why you'll love it

The one-line pitch: EMRG is the only coding agent that improves itself from your feedback — rant about what bothers you, and the next evolution cycle writes the fix and ships it.

The one feature: self-improvement. Every /rant becomes a real PR — coded, tested, merged, unattended. No other coding agent does this.

WhatWhy it's different
Electron GUI (main entry)Install & go: first-run wizard, all slash commands, results panel, Ask/Auto modes, visible self-evolution. GUI configured = TUI ready
Full-featured TUI + daemonStreaming markdown, / autocomplete, sessions, shortcuts — on a persistent emrgd daemon you can reconnect to anytime
Scheduled tasksBuilt-in + custom task types with prompt templates (~/.emrg/task-templates/), CRUD + hot reload from the GUI settings, /trigger any task on demand
100% open sourceMIT — no walled garden, no vendor lock-in. English default, Chinese version available

Rant-Driven Evolution (the core feature)

EMRG isn't just a tool — it's a coding partner that listens to your complaints and improves itself:

Inputs:
- Your rants (/rant) <- primary input
- GitHub Issues & PRs
- Competitor tools (Codex, Claude Code)
- Cross-project learning
|
v
Evolution Cycle (every 30 min)
(Prepare -> Review -> Discover -> Improve -> Commit -> Record)
|
v
1. pytest + import check
2. git commit + push -> PR
3. Evolution log

Real example: Someone ranted "TUI needs / autocomplete like Codex." The next evolution cycle built it — prefix filtering and arrow-key navigation, merged and deployed. What you rant about, it improves.

Measured feedback loop: the reader-feedback → merged-fix latency is a measured number, not a claim. python scripts/reader_fix_latency.py scans closed issues, follows each "Fixes #N" link to its earliest merged PR, and reports the median issue-to-merge time (e.g. issue #1000 → fix PR #1003: 49m19s). Run it any time to see how fast the loop actually is.

How to contribute? Use it. Connect GitHub in Settings, and rant. Your rants become real PRs — the evolution cycle codes, tests, and ships them. No fork, no clone, no code required. Using EMRG is contributing to EMRG.


Quick Start

Download the installer (recommended)

Download from GitHub Releases and double-click — the installer bundles everything (Python 3.13 + git + gh + GUI), zero prerequisites, offline install:

PlatformInstaller
macOSEMRG-<ver>-macos-arm64.pkg / -x64.pkg (user-level, no admin password)
WindowsEMRG-<ver>-windows-x64.exe (no UAC, PATH auto-registered)
LinuxEMRG-<ver>-linux-x86_64.run / -aarch64.run (headless server, one command) · -x86_64.AppImage / -aarch64.AppImage (desktop)

Windows SmartScreen notice: the installer isn't Authenticode-signed — if SmartScreen prompts, click Keep / More info → Run anyway. EMRG is fully open source and auditable.

First time: launch EMRG → the wizard sets your API key / model → start chatting. The TUI is ready too: run emrg in any terminal (config is shared).

Bring your own key — EMRG uses your LLM API key and your quota/billing; the software itself is free and MIT-licensed.

Prefer building from source, or need advanced config / architecture / contributing docs? → DEVELOPMENT.md


Running the TUI

EMRG is a terminal app at heart — the Electron GUI is a convenience shell on the same engine.

Run: open a terminal, type emrg, press Enter — that's it. The installer puts emrg on your PATH (including Windows), and the first run auto-starts the background daemon and drops you into the interactive TUI.

The first emrg run starts a background daemon (emrgd) and drops you into the interactive TUI. The daemon stays alive so you can reconnect anytime.

Daemon management:

CommandWhat it does
emrgStart the TUI (auto-starts the daemon if needed)
emrg serverRun the daemon in the foreground
emrg server stopStop the background daemon
emrg server restartRestart the daemon
emrg rant <msg> [@project]Send feedback from the CLI (no TUI needed)
emrg updateUpdate to the latest version

In the TUI: Esc interrupts streaming, Ctrl+C / exit quits (config is shared with the GUI — set your API key once in either).


Commands

All commands work in both the GUI (type / for autocomplete) and the TUI (/help lists everything).

CommandWhat it does
Just typeAsk EMRG anything — it reads files, runs commands, makes edits
/Autocomplete menu — type to filter, ↑↓ to select
/resume [id]Switch sessions — no args for interactive picker (↑↓/j/k)
/sessionsBrowse all saved sessions (↑↓/j/k)
/clearClear current session — start fresh
/compactCompress long conversations to save context
/memoryBrowse project & session memories
/rename [title]Give your session a memorable name
/model [name]Switch LLM model — no args for interactive picker
/rant <feedback> [@<project>]Complain, suggest, praise — evolution listens
/helpShow keyboard shortcuts and command help
/imageInsert clipboard image into the input field
/delete [id]Delete a session — no args for interactive picker
/rewindRewind conversation to a history point
/triggerTrigger an evolution task — interactive picker (manage tasks in GUI Settings → Scheduled tasks)
/skillsList loaded skills; `/skills available
/versionShow EMRG version and instance info
EscInterrupt a running response mid-stream
Ctrl+C / exitQuit

vs. the competition

Claude CodeCodexDeepSeek HarnessEMRG
AI-powered coding
Tool-calling (bash, read, write, edit, glob, grep)
Session memory & context
/ command autocomplete
ESC interrupt
Plugin architectureeverything is a plugin
Sandboxed execution
Subagents
Web UIbrowserElectron
Self-evolutionautonomous
Background daemonpersistent
Learns from rants/rant → PR
Open sourceApache-2.0MITMIT

DeepSeek Harness is a plugin-based agent harness with deep engineering (sandboxing, subagents, workflows) — but it does not evolve itself. EMRG's differentiator is closing the loop: self-evolution, a persistent background daemon, and rant-driven improvement.

EMRG doesn't just keep up — it catches up on its own.


FAQ

Is this real — does it actually modify its own code?
Yes. The evolution cycle reads the evolution prompt, reviews rants + issues + competitor tools, makes source changes, runs tests, and submits a PR. If tests fail, it rolls back.

Can it break itself?
Every change is validated by pytest and an import check before commit. Failed changes are discarded; the worst case is a rollback.

Will it touch my project's code?
No. Self-evolution only modifies its own repository (~/.emrg/evolution/emrg), never your project files. The tools it runs on your project are only the ones you ask it to run — and every change it makes is a reviewed PR, tested before merge.

How is this different from Claude Code or Codex?
They're products. EMRG is an experiment in closing the loop — the AI improves the AI. Fully open source, no vendor lock-in.


Development

Contributing, source installs, architecture, and the full FAQ → DEVELOPMENT.md.

Quick checks: uv run pytest tests/ -v · cd emrg/gui && npm test (tests: see badge above)


License

MIT — see LICENSE for the full terms and MANIFESTO.md for the philosophy behind the code.


Built with ❤️ by argszero — and a continuously evolving AI.

About

EMRG — a self-evolving AI agent architecture

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages