Extend ProGit with Lua

Build powerful plugins with the ProGit SDK. Safe, sandboxed, and blazing fast with LuaJIT. Then publish to plugins.progit.dev — one command to install for everyone.

Try Playground Publish a Plugin

Live Playground

Write and test ProGit plugins directly in your browser.

plugin.lua
Output
Click "Run" to see output... Install locally: $ prog plugin install ./plugin.lua Usage: $ prog hello "ProGit" Hello, ProGit!

API Reference

Hooks

React to Git events and lifecycle changes

pre-commit()post-commit()pre-push()post-merge()

Commands

Register custom CLI commands

register()()execute()()complete()()

UI

Extend the TUI with custom panels

panel()()widget()()keybind()()

Git

Interact with the Git repository

status()()log()()branch()()diff()()

Issues

Programmatic issue management

create()()list()()update()()close()()

AI

Integrate with the AI agent

prompt()()suggest()()embed()()

Example Plugins

Write it once. Anyone can install it.

ProGit plugins are plain Lua files — no build step, no runtime dependency, no sandboxing headaches. Write a hook or command, add a manifest, open a PR to the plugin registry. Done. Your plugin shows up on plugins.progit.dev and is installable with a single command.

01 / Write

One Lua file

Register hooks, commands, or TUI panels. The SDK handles the bridge to ProGit's Rust core.

02 / Manifest

Add metadata

A .progit-plugin.json with name, version, license, and entry point. That's the whole contract.

03 / Submit

Open a PR

Pull request to the plugin registry repo. We review for security and quality — fast turnaround, no gatekeeping.

04 / Live

Instantly installable

Merged → listed on plugins.progit.dev → prog plugin install your-name works for everyone.

Browse Plugins Plugin Registry ↗