@noice-tech/pi-changelog
Pi changelog workflow for commits, pull requests, and public release notes.
Package details
Install @noice-tech/pi-changelog from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@noice-tech/pi-changelog- Package
@noice-tech/pi-changelog- Version
1.1.1- Published
- Jul 22, 2026
- Downloads
- 415/mo · 415/wk
- Author
- samohovets
- License
- MIT
- Types
- extension, prompt
- Size
- 47.5 KB
- Dependencies
- 0 dependencies · 2 peers
Pi manifest JSON
{
"extensions": [
"./extensions/changelog/index.ts"
],
"prompts": [
"./prompts/*.md"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
@noice-tech/pi-changelog
Capture release intent in each PR, preview unreleased work, and generate public notes without exposing private repository details.
Install
pi install npm:@noice-tech/pi-changelog
Commit .pi/settings.json when collaborators should use the package too.
Commands
| Command | What it does |
|---|---|
/commit [auto|feat|fix|improve|internal] [summary] |
Commits and pushes the current changes, creates or updates the PR, and records its public summary. |
/unreleased |
Audits work since the latest tag as public, internal, or needing cleanup. Changes no project files or GitHub state. |
/release-notes <version | tag | from..to> |
Writes public release notes and a separate private source audit for a tag or range. |
/setup-release-notes-style [notes] |
Creates or refines .pi/release-notes-style.md with repository-specific voice and formatting. |
From commit to changelog
Code changes
→ /commit creates a typed commit and PR with a Public summary
→ merge the PR
→ /unreleased previews changes since the latest tag
→ tag and create a GitHub Release with your normal release process
→ /release-notes writes public copy and private source notes
The PR's Public summary is the canonical changelog source. Release notes fall back through PR Context → GitHub Release body → PR title → commit message. Internal changes and summaries marked None stay out of public copy.
Change types
feat— new user-facing capabilityfix— user-visible bug fiximprove— better, faster, or more reliable user workflowinternal— tooling, infrastructure, tests, refactors, or dependenciesauto— let/commitinfer one of the types above
Commits always use type: description. Multi-package PR titles use type(package): description, or monorepo for cross-cutting work. Scopes never appear in public copy. See the full rules.
Output and privacy
/release-notes 1.2.3 creates or overwrites:
release-notes/1.2.3.md— public copy.pi/tmp/pi-changelog/release-notes-sources/1.2.3.md— private source audit
Other inputs use a filesystem-safe slug derived from the argument. The public file excludes GitHub links, PR numbers, commit hashes, private URLs, and internal notes. Keep .pi/tmp/ ignored and unpublished. When .pi/release-notes-style.md is absent, the public file is a plain Markdown bullet list.
Requirements and side effects
- Git and an authenticated GitHub CLI are required for
/commit,/unreleased, and/release-notes. /commituses Bash andjq; it can create a branch, commit, push, and create or update a PR./unreleasedfetches tags but changes no source or GitHub state./release-notesoverwrites its two output files.