@rexkit/pi-lazygit

Pi package that opens Lazygit in a floating overlay window.

Package details

extension

Install @rexkit/pi-lazygit from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@rexkit/pi-lazygit
Package
@rexkit/pi-lazygit
Version
1.0.1
Published
Apr 25, 2026
Downloads
238/mo · 238/wk
Author
rexkit
License
MIT
Types
extension
Size
45.9 KB
Dependencies
2 dependencies · 2 peers
Pi manifest JSON
{
  "extensions": [
    "./src/index.ts"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

pi-lazygit

A Pi package that opens Lazygit directly inside Pi as a floating overlay window.

Features

  • /lazygit slash command in Pi.
  • Real pseudo-terminal via @homebridge/node-pty-prebuilt-multiarch.
  • Lazygit screen rendering inside a Pi overlay using @xterm/headless.
  • Automatic resize when the Pi terminal/overlay size changes.
  • Optional keyboard shortcut through PI_LAZYGIT_SHORTCUT.

Requirements

  • Node.js >=20 <25.
  • Pi interactive TUI mode.
  • lazygit installed and available on PATH.

Install Lazygit with your platform package manager, for example:

# macOS
brew install lazygit

# Arch Linux
sudo pacman -S lazygit

# Ubuntu/Debian users can follow Lazygit's official install docs:
# https://github.com/jesseduffield/lazygit#installation

Installation

From npm, once released:

pi install npm:@rexkit/pi-lazygit

From GitHub:

pi install git:github.com/Rexkit/pi-lazygit

For local development from this checkout:

npm install
pi -e .

Usage

Inside Pi, run:

/lazygit

Pass Lazygit arguments after the command when needed:

/lazygit --path ./packages/app

Key handling:

  • Use Lazygit's normal keybindings inside the overlay.
  • Press q to quit Lazygit normally.
  • Press Ctrl+Q to force-close the overlay/process if Lazygit is stuck.

Configuration

Environment variables:

Variable Default Description
PI_LAZYGIT_COMMAND lazygit Binary/command to run. Useful for wrappers.
PI_LAZYGIT_WIDTH 90% Overlay width. Accepts a number of columns or a percentage.
PI_LAZYGIT_MAX_HEIGHT 90% Overlay max height. Accepts a number of rows or a percentage.
PI_LAZYGIT_MIN_WIDTH 60 Minimum overlay width in columns.
PI_LAZYGIT_MIN_ROWS 10 Minimum Lazygit pseudo-terminal rows.
PI_LAZYGIT_MAX_ROWS 45 Maximum Lazygit pseudo-terminal rows.
PI_LAZYGIT_SHORTCUT unset Optional Pi shortcut, for example ctrl+g.

Example:

PI_LAZYGIT_SHORTCUT=ctrl+g pi -e .

Then press Ctrl+G in Pi to open Lazygit.

Development

npm install
npm run lint
npm run build
npm run format

License

MIT