npm.io
1.0.3 • Published yesterday

@noice-tech/pi-changelog

Licence
MIT
Version
1.0.3
Deps
0
Size
47 kB
Vulns
0
Weekly
0
Stars
1

@noice-tech/pi-changelog

A Pi package for release-aware commits, pull requests, unreleased previews, and public release notes.

Install

pi install npm:@noice-tech/pi-changelog

Commit the resulting .pi/settings.json change so Pi installs the package for collaborators.

Prerequisites and trust

The workflows expect:

  • Git
  • GitHub CLI authenticated for the repository
  • Bash and jq
  • a shell that supports process substitution for the documented gh api PR-update flow

Pi packages run with the permissions granted to Pi. Only use this package when you trust it with full system permissions and repository access. In particular, /commit inspects changes, creates commits, pushes branches, and creates or updates GitHub pull requests.

Commands

/commit [auto|feat|fix|improve|internal] [optional context]
/unreleased
/release-notes <version | from..to>
/setup-release-notes-style [product/audience/channel notes]

auto is accepted only as /commit inference input. Changelog and PR classifications are feat, fix, improve, or internal.

/commit runs its worker on a side branch of the current session at low thinking, then restores your previous thinking level when it finishes. If you invoke it during an active agent turn, the change-type selector opens immediately; after your selection, the command waits for that turn to settle before starting the worker.

PR title package scopes

Commit messages always keep the unscoped form:

internal: update PR title generation

PR titles stay unscoped in single-package repositories and workspaces. In a multi-package workspace, the title identifies one primary package by its workspace directory basename:

internal(changelog): update PR title generation

The worker determines the primary package from the PR's intent and full branch against its base. Incidental shared files such as a lockfile do not override a clear primary package. Root-only, cross-cutting, or ambiguous multi-package changes use monorepo:

internal(monorepo): centralize release tooling

Both scoped and unscoped PR titles are valid changelog inputs. Package scopes are metadata and are not included in public changelog copy.

The canonical shared classification and package-scope rules live in extensions/changelog/rules.md.

Repository-specific release-note style

Run /setup-release-notes-style to create or refine the only canonical repository-specific convention:

.pi/release-notes-style.md

/release-notes reads that file when present. It otherwise emits a plain Markdown bullet list.

Release-note output

/release-notes 1.2.3 uses a deterministic slug and writes two separate files:

  • public copy: release-notes/1.2.3.md
  • private review sources: .pi/tmp/pi-changelog/release-notes-sources/1.2.3.md

The public artifact never contains PR numbers, commit hashes, private URLs, or internal source notes. The .pi/tmp/ source file is an ephemeral private-review aid. Keep .pi/tmp/ ignored by Git and unpublished; the prompt does not edit a consumer repository's .gitignore.

Package contents

The npm package distributes the Pi manifest together with raw TypeScript and Markdown extension/prompt assets. No build step is required.

Keywords