Release history for `@mongez/pkgist` โ what changed in each version, each entry dated (`## [x.y.z] - YYYY-MM-DD`). Load this to answer "what's new in pkgist", "when did intra-family dependency pinning land", "which version fixed `--no-git`", "what changed between versions", or before bumping/releasing pkgist. Mirrors the package CHANGELOG.md (Keep a Changelog + SemVer). Newest version first.
Installation
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Release history for `@mongez/pkgist` โ what changed in each version, each entry dated (`## [x.y.z] - YYYY-MM-DD`). Load this to answer "what's new in pkgist", "when did intra-family dependency pinning land", "which version fixed `--no-git`", "what changed between versions", or before bumping/releasing pkgist. Mirrors the package CHANGELOG.md (Keep a Changelog + SemVer). Newest version first.
Changelog
All notable changes to @mongez/pkgist are documented here. The format follows Keep a Changelog and this project follows Semantic Versioning. This skill is the source-of-truth mirror of the package CHANGELOG.md โ keep both in lockstep on every release.
[1.5.0] - 2026-06-06
Changed
Build output and source snapshots now preserve the package scope as a directory. Previously the scope was stripped, flattening every package into a single level (@mongez/cache โ builds/cache/<version>/) and risking name collisions across scopes. Scoped packages now land at <buildDir>/<scope>/<name>/<version>/ (e.g. builds/@mongez/cache/1.3.5/); unscoped packages stay at the root (e.g. builds/create-warlock/4.1.16/). Source snapshots follow the same shape (<sourcesDir>/<scope>/<name>/). The change mirrors how node_modules/@scope/... is laid out and keeps a release runner that hosts many scopes (@mongez + @warlock.js side by side) organised on disk.
Migration: existing artifacts at the old flat paths are orphaned by the upgrade. Either delete them, move them under the new <scope>/ directory, or just let the next build re-populate. No pkgist.config.ts change is required โ buildDir and sourcesDir keep their existing values; only the per-package leaf path changes.
[1.4.0] - 2026-06-06
Added
Per-run --bump and --commit CLI overrides on build, build:family, and build:all. --bump <strategy> overrides the configured version for that invocation (patch / minor / major / auto / an explicit x.y.z); --commit [message] overrides the configured commit (a message string, or a bare --commit to auto-generate Released <version>). Both apply to the single run only and never mutate pkgist.config.ts โ so the config file stays a static package registry and concurrent release sessions no longer clobber each other's version / commit edits. Precedence: CLI flag > family-level commit > per-package config; --no-git still overrides any resolved commit message. The version flag is named --bump (not --version) because commander reserves --version for the root pkgist --version printer.
[1.3.0] - 2026-06-04
Added
pkgist init command. Scaffolds a pkgist.config.ts in the current directory (buildDir: "./builds", sourcesDir: "./sources", one example package). Skips an existing config unless --force is passed โ the fastest path from npm install to a working config.
Changed
Single config file. Config discovery now recognises only pkgist.config.ts (then pkgist.config.js). The builder.ts / builder.js / mongez.ts / mongez.js legacy aliases are gone. Pass --config <path> for a custom location. Migration: rename builder.ts โ pkgist.config.ts.
The shipped example template is renamed builder.example.ts โ pkgist.config.example.ts.
pkgist now publishes ESM-only (mainType: "esm", formats: ["esm"]). It targets Node 18+.
Fixed
The published pkgist CLI binary runs. Earlier releases shipped a CommonJS binary (cjs/cli.cjs) that crashed on the first log line โ chalk v5 is ESM-only and can't be required from CommonJS. Publishing ESM-only (bin โ esm/cli.mjs) means npx pkgist, pkgist init, and every command actually work for installed consumers. (Internal monorepo releases were unaffected โ they run the ESM engine, not the published binary.)
Docs
Rewrote the README into a professional, beginnerโadvanced reference.
Every changelog entry is now dated โ here, in the docs Change Logs page, and in CHANGELOG.md.
[1.2.0] - 2026-06-04
Added
Intra-family dependency pinning. In a family build, any dependencies / peerDependencies entry that names another family member is now pinned to the exact shared release version in the published package.json (the source keeps "*" for workspace linking). Standalone builds are unaffected. This stops "*" from leaking to consumers and keeps a released family installable as one coherent, same-version set. See the versioning skill.
changelog skill (this file), plus a Change Logs page in the docs site โ so version history auto-loads for AI agents and is tracked on every release.
Fixed
--no-git is now honoured. commander stores the negated flag under its positive attribute (git === false), but the build commands read opts.noGit (always undefined), so --no-git was silently ignored and git still ran. The commands now read the raw git attribute, mirroring the existing --no-publish handling. Affects build, build:family, and build:all.
src/build/ is tracked by git again. A bare build line in .gitignore matches at any depth, which silently untracked the entire build-pipeline source (package-builder.ts, family-builder.ts, parallel-builder.ts, index.ts) โ including the dependency-pinning wiring. The ignore rules are now anchored to the package root (/dist, /build).
The published pkgist CLI binary works.bin pointed at dist/cli.js โ the local tsup-dev layout, which is absent from the engine-built package (it ships cjs/ + esm/, no dist/). bin now points at cjs/cli.cjs, the real build output, so npm i -g @mongez/pkgist produces a working pkgist command.
Docs
Documented intra-family dependency pinning across the versioning + pipeline skills, README, the docs site, and llms-full.txt.
Corrected long-standing drift in llms-full.txt: the "kept fields" list (dropped the fields that pkgist actually strips), the source-snapshot exclusion list (added .turbo, .cache), and the config auto-discovery note (six filenames, not two).
Aligned the documented git pipeline to the real commands: git add -A and git push origin --tags.
[1.1.3] - 2026-06-03
Added
Per-topic skills (skills/) plus llms.txt / llms-full.txt for AI-agent auto-loading, an expanded install section (npm / yarn / pnpm) with a CLI quick example, and a CI build smoke-test workflow (Node 20/22 on Ubuntu, Node 20 on Windows).
Fixed
Reconciled several documentation drift items against source during a skills polish pass.
[1.1.2] - 2026-05-29
Added
This changelog. No code changes โ the package remains the tsdown-powered build/version/publish tool: standalone + version-synchronised families, dual ESM+CJS output, asset cloning, git tag + push automation, and --dry-run.
Version history prior to 1.1.0 is available via the git tags and GitHub releases on hassanzohdy/pkgist.
[1.1.0] - 2026-05-27
Added
commit field accepts true / false in addition to a string. true auto-generates a Released <version> message (set-and-forget); false explicitly skips git; a string is used verbatim; omitting it skips git (back-compat).