Plugin Architecture
Compose your release pipeline from modular plugins — publishers, releasers, changelog generators, formatters, and savers.
From changenote to published release — every step of the pipeline, visualized.
Everything you need for professional package releases, nothing you don't.
Compose your release pipeline from modular plugins — publishers, releasers, changelog generators, formatters, and savers.
Use the interactive CLI for day-to-day work, or import the core functions as a library to build custom tooling.
Auto-generates a CI workflow that triggers versioning when prepare.json lands on main. Zero manual setup.
First-class support for alpha, beta, and RC channels with prepare prerelease. Semantic versioning handled automatically.
A single cngpac.config.ts file defines your entire release pipeline — changelog generation, npm publishing, GitHub releases, or anything else you can imagine.
import {
createChangelogGenerator,
createNpmPublisher,
createGitHubReleaser,
defineConfig,
} from "cngpac";
export default defineConfig({
package: "package.json",
repository: {
owner: "your-org",
name: "your-repo",
},
changelog: {
generator: createChangelogGenerator({
githubToken: process.env.GITHUB_TOKEN!,
}),
},
publishers: [
createNpmPublisher({ provenance: true }),
],
releasers: [
createGitHubReleaser({
token: process.env.GITHUB_TOKEN!,
}),
],
});
Set up Cngpac in under a minute and start managing releases like a pro.