@noice-tech/pi-commit

Commit, push, and open pull requests without interrupting your Pi session.

Packages

Package details

extension

Install @noice-tech/pi-commit from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@noice-tech/pi-commit
Package
@noice-tech/pi-commit
Version
3.0.0
Published
Oct 11, 2026
Downloads
221/mo · 173/wk
Author
samohovets
License
MIT
Types
extension
Size
68.9 KB
Dependencies
0 dependencies · 2 peers
Pi manifest JSON
{
  "extensions": [
    "./extensions/commit/index.ts"
  ]
}

Security note

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

README

@noice-tech/pi-commit

Commit, push, and open pull requests without interrupting your Pi session.

Install

Run this in the repository where you use Pi:

pi install -l npm:@noice-tech/pi-commit

Commit the resulting .pi/settings.json change to install it for collaborators too.

Use

/commit fix prevent hidden tracks from rendering
/commit --no-pr internal refresh test fixtures
/commit stacked feat add export presets
Command What it does
/commit [type] [summary] Commits and pushes, then creates or updates the pull request.
/commit --no-pr [type] [summary] Commits and pushes without reading or changing a pull request.
/commit stacked [type] [summary] Creates a child branch and PR above the current branch's open PR.

Add --pr to override no-PR configuration for one run. Leave out the type to choose it interactively, or use auto to let the worker infer it. A supplied summary is the primary wording source and is checked against the current diff.

/commit runs its worker on a separate branch of Pi's session tree, keeping its execution transcript out of your active coding context. You return to the same conversation with a compact, persistent report of the branch, commit, push, and PR actions performed. Both you and the coding agent see that report, including any partial failure or unknown state; it does not trigger another agent turn or authorize further Git/PR changes. The full worker transcript remains available in the session tree.

Defaults

The built-in types are feat, fix, improve, and internal. Commits use type: description; PR titles add a package scope only in multi-package workspaces. PR bodies contain stable Summary, Changelog, and Verification sections. Internal changes receive no public changelog summary.

Configure

Configuration is optional. Create a JSON file in either location:

Scope Path Use it for
User ~/.pi/agent/pi-commit.json Defaults across your projects.
Project .pi/pi-commit.json Shared repository defaults in a trusted project.

Settings are merged individually: project values override user values, which override the built-in defaults. /commit flags such as --pr and --no-pr override configuration for one run. Project configuration is ignored until the project is trusted.

Pull request behavior

To push commits without creating or updating pull requests by default:

{
  "pullRequest": "never"
}

pullRequest accepts "auto" (the default) or "never".

Commit format

The default opinionated format uses feat, fix, improve, and internal. You can state it explicitly:

{
  "format": "opinionated"
}

Or replace it with project-specific change types:

{
  "format": {
    "changeTypes": [
      { "name": "docs", "description": "Documentation", "public": true },
      { "name": "chore", "description": "Maintenance", "public": false }
    ],
    "instructions": "Use type(scope): description."
  }
}

Each change type needs:

  • name — a unique lowercase identifier using letters, digits, and hyphens; auto and stacked are reserved
  • description — guidance shown when selecting and applying the type
  • public — whether the worker must write a standalone public changelog summary; non-public types write None.

instructions tells the worker how to format commit and PR titles. It cannot override the commit workflow or public-summary rules.

You may combine both settings in one file. Unknown fields, malformed JSON, and invalid values stop /commit before any Git or GitHub changes.

Requirements

Every commit mode pushes. PR mode can create or update a pull request. Stacked mode must start from the published top of a valid stack and can leave a branch, commit, push, or PR behind if a later step fails; the worker reports any partial state.

The worker sends relevant session and repository context to your selected model. Review your model provider's privacy settings before using it with sensitive code.