Skip to content

limehawk/lazyreno

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lazyreno

A lazy TUI for taming Renovate CE dependency PRs.

demo

GitHub release AUR License: MIT


Elevator Pitch

Self-hosted Renovate is great until you have 30 repos and wake up to 47 open PRs. You click into GitHub, merge the safe ones, wait for CI, click the next repo, realize half of them need a rebase, go back and comment /rebase one by one...

lazyreno puts everything in one keyboard-driven TUI. See every PR across every repo, bulk-merge the safe ones with M, rebase the rest with R, watch the Renovate job queue drain in real time. No browser tabs. No clicking.

Features

  • Bento layout — repo sidebar, PR table + detail, Renovate status + jobs + activity log
  • Bulk mergeM merges all safe PRs (minor/patch, mergeable, checks passing); A merges everything
  • Queue-based merging — handles GitHub's lazy mergeability computation automatically, no repeated retries
  • Renovate commandsr rebase, e recreate, t retry — posts comments directly to PRs
  • Job monitoring — live view of running/pending Renovate jobs with queue depth
  • Vim navigationhjkl, g/G, Ctrl+u/Ctrl+d, mouse scroll, context-sensitive hints
  • PR status — checks pass and mergeable status fetched per PR, displayed in table + detail
  • Fuzzy repo filtera opens a searchable overlay with scrollbar across all repos
  • Fork filteringf toggles fork visibility (hidden by default)
  • 1Password integrationop:// secret references resolved automatically via op CLI
  • Auto-refresh — configurable polling interval with real-time activity log

Built With

Rust 2024 edition Systems language
ratatui Terminal UI framework
tokio Async runtime
crossterm Terminal manipulation
reqwest HTTP client (native-tls)
clap CLI argument parsing
chrono Date/time handling
tracing Structured logging

Install

AUR (Arch Linux)

yay -S lazyreno

From source

git clone https://github.com/limehawk/lazyreno.git
cd lazyreno
cargo build --release
cp target/release/lazyreno ~/.local/bin/

Releases

Pre-built binaries on the releases page.

Configuration

Create ~/.config/lazyreno/config.toml:

[renovate]
url = "https://your-renovate-instance.example.com"
secret = "your-renovate-api-secret"

[github]
owner = "your-github-org"
token = "your-github-token"

[ui]
refresh_interval = "30s"
accent = "cyan"

1Password

Secrets can use 1Password secret references — resolved automatically:

[renovate]
secret = "op://Dev/Renovate CE API/credential"

[github]
token = "op://Dev/My GitHub Token/token"

Environment variables

export LAZYRENO_RENOVATE_SECRET="your-renovate-api-secret"
export LAZYRENO_GITHUB_TOKEN="your-github-token"  # or GITHUB_TOKEN

Renovate CE API setup

Enable the APIs on your Renovate CE instance:

MEND_RNV_API_ENABLED=true
MEND_RNV_API_ENABLE_SYSTEM=true
MEND_RNV_API_ENABLE_REPORTING=true
MEND_RNV_API_ENABLE_JOBS=true
RENOVATE_REPOSITORY_CACHE=enabled

Keybindings

Navigation

Key Action
j / k Move down / up
h / l Prev / next panel
g / G Jump to top / bottom
Ctrl+u / Ctrl+d Half page up / down
Tab / Shift+Tab Cycle panel focus
Enter Focus PR table from sidebar
Mouse scroll Scroll lists (sidebar, PR table, overlays)

Actions

Key Scope Action
m PR table Merge selected PR
M PR table Merge all safe PRs in repo
A PR table / sidebar Merge all PRs in repo
x PR table Close PR + delete branch
r PR table Rebase PR (/rebase comment)
R PR table / sidebar Rebase all PRs in repo
e PR table Recreate PR (/recreate comment)
t PR table Retry PR (/retry comment)
o PR table Open PR in browser
s global Trigger Renovate sync
P global Purge finished jobs

General

Key Action
a All repos overlay (type to filter)
f Toggle fork visibility
? Help
q Quit

License

MIT

About

TUI dashboard for self-hosted Renovate CE

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors