omp packages

@manuelstolze/pi-git-integration1.0.1

Pi extension for guided Git commits, pushes, and GitHub or GitLab review requests.

manuelstolze Published 5 days ago MIT ~223 downloads/mo

Untested on omp

This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.

Did it work for you?

Result

One report per person. A new report replaces your old one.

Reports 0

No reports yet.

Readme

@manuelstolze/pi-git-integration

A Pi extension for guided Git commits, pushes, and GitHub pull requests or GitLab merge requests. It collects Git context, creates a commit plan, and asks for approval before it performs permanent Git actions.

Compatibility

Requires Node.js 22.19.0 or later and Pi API 1.1.0 or later in the 1.x line. Pi API 0.x hosts are not supported.

Installation

pi install npm:@manuelstolze/pi-git-integration

The extension detects the hosting provider from the origin remote. It uses gh for GitHub and glab for GitLab. For self-hosted GitLab, the extension probes glab against the current repository.

Install and authenticate the matching CLI if you want to use the request flow.

Usage

Run the following commands inside a Pi session:

/herald             # full mode: commits, push, and review requests
/herald commit      # commit mode: commits only
/herald request     # request mode: push and review requests for existing commits

Commit mode blocks push and review-request commands. Request mode blocks commit commands. Full mode allows all four action types: commits, pushes, GitHub pull requests, and GitLab merge requests. Before each allowed action, the extension asks for approval and shows the exact Bash command. It blocks mixed commands that include a disallowed action, commands when no user interface is available, and commands that the user does not approve.

The extension reads CONTRIBUTING.md before it plans commits or a review request. Request and full modes require a usable origin remote and a working, authenticated hosting CLI. Commit mode works without either.

Development

From the repository root:

npm install
npm run build --workspace @manuelstolze/pi-git-integration
npm run typecheck

The extension source is in src/. The compiled entry point is dist/index.js.

The package follows the repository's hexagonal package structure. See ../../docs/hexagonal-packages.md for the layer and testing rules.