@noice-tech/pi-commit
Commit, push, and open pull requests without interrupting your Pi session.
Package details
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
2.0.0- Published
- Aug 9, 2026
- Downloads
- 81/mo · 25/wk
- Author
- samohovets
- License
- MIT
- Types
- extension
- Size
- 64.4 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, so commit and PR work does not consume your active coding context. You return to the same conversation, and the 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;autoandstackedare reserveddescription— guidance shown when selecting and applying the typepublic— whether the worker must write a standalone public changelog summary; non-public types writeNone.
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
- Git and a remote you can push to
- PR mode: authenticated GitHub CLI and
jq - Stacked mode: the
github/gh-stackextension
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.