Skip to content

Repository files navigation

CILicense: MIT

Rep

A human in the loop TUI to review and revise LLM generated markdown plan files quickly.

Rep CLI demo

For agent-loop usage, wrap your agent harness in a tmux session so the skill can launch the rep UI modally.

Rep Claude skill demo

Overview

rep opens a markdown file in an interactive TUI optimized for providing feedback and requesting changes from an LLM.

When you exit rep, it prints a list of requested changes for an AI agent to process and apply to the markdown plan. These changes can be a mix of deletions, additions, changes, and intent guidance.

For the most seamless experience, launch Codex or Claude Code inside a tmux session, which allows rep to launch as modal from a skill and automatically pass the revisions you ask it for back into the agentic loop.

Installation

Install the latest macOS or Linux release to ~/.local/bin, and the bundled agent skill source to ~/.agents/skills/rep, with this command:

curl -fsSL https://raw.githubusercontent.com/mattorb/rep/main/install.sh | sh

After installing the skill source, the installer offers to symlink it into the supported agent skill directories for Claude, Codex, Gemini, opencode, Hermes, and Droid. The prompt works with the curl | sh form when an interactive terminal is available.

To install or update only the skill source and optional agent symlinks later:

curl -fsSL https://raw.githubusercontent.com/mattorb/rep/main/install.sh | sh -s -- --skills-only

This source install path installs the rep binary only.

Usage

Preferred

Use the rep skill to launch in the agentic loop: /rep in Claude Code or $rep in Codex.

Manual fallback

If you execute it manually like this, you'll have to copy and paste results back to the agent.

rep plan.md

Keybindings

KeyAction
j, Down, RightMove to the next active unit
k, Up, LeftMove to the previous active unit
SpaceCycle to the next selection unit
BackspaceCycle to the previous selection unit
iUse a finer selection unit
oUse a coarser selection unit
cAdd or edit a literal change request
fAdd or edit feedback or intent
bInsert text before the current unit
aInsert text after the current unit
xClear existing annotations or mark the unit for deletion
eEdit an existing annotation
[, ]Jump to the previous or next annotation
/Search
n, NJump to the next or previous search match
?, Shift + /Open or close help
IOpen or close the AST view
OReveal markdown links for the current sentence
rCopy annotations to the clipboard
qQuit and print annotations to stdout
QQuit silently and discard annotations
EnterSave text in change, feedback, insert, edit, or search modes
EscCancel the current input mode or close an open popup

Platform Support

PlatformRelease artifactCI coverageSupport status
Linux x86_64x86_64-unknown-linux-muslBuild, package, archive smoke test, and installer smoke test on GitHub-hosted UbuntuSupported
Linux arm64aarch64-unknown-linux-muslCross-build, package, archive smoke test, and installer smoke test on GitHub-hosted UbuntuSupported
macOS x86_64x86_64-apple-darwinBuild and tests on GitHub-hosted macOSSupported
macOS arm64aarch64-apple-darwinCross-target release build on GitHub-hosted macOSSupported

Linux release artifacts are static MUSL builds.

Emitted Annotations Example

On exit, something like this prints to stdout, for the LLM agent to consume and make modifications to the markdown plan file.

FILE: plan.md
ACTION: change
WHERE: line 12 sentence 2
CONTEXT:
prev: The release workflow builds archives for every configured target.
target: Windows artifacts are published even though the installer and tests do not cover Windows.
next: Checksums are generated after packaging.
CHANGE: Stop publishing Windows archives until CI and installer support are added.

License

MIT — see LICENSE.

About

Rep: Replan/revise/annotate agent generated markdown plans, especially in session in tmux

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages