Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 11 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,19 @@ The package has no runtime code and no dependencies. It ships the config files,

## ✨ What's New

### Latest: v1.1.0 (September 2026)
### Latest: v1.2.3 (October 2026)

- **The shared fix-headers config** β€” the first published release ships [`fix-headers.json`](#-fix-headersjson), CLDMV's standard options for [`@cldmv/fix-headers`](https://github.com/CLDMV/fix-headers): the author identity taken from the signing key, the `Catalyzed Motivation Inc.` copyright holder from 2013, and strict created-date checks. Repositories extend it by package specifier (`@cldmv/configs/fix-headers.json`) or by a tag-pinned URL and override only what is specific to them.
- [View the v1.1.0 release](https://github.com/CLDMV/configs/releases/tag/v1.1.0)
- **Headers restamped under fix-headers 2.1.4** β€” the repository's own header pass now runs on `@cldmv/fix-headers` 2.1.4 and restamped 37 internal files: dates are written in ISO 8601 form, 23 `@Date` timestamps that did not match their written date (the Dependabot config and 22 workflows copied from the `CLDMV/.github` templates) were corrected, and each header gained the empty frame line inside its opening and closing. The published `fix-headers.json` and every shipped setting are unchanged (#12).
- [View full v1.2.3 Changelog](https://github.com/CLDMV/configs/blob/master/docs/changelog/v1/v1.2.3.md)

πŸ“š For complete release notes, see the [GitHub Releases](https://github.com/CLDMV/configs/releases).
### Recent Releases

- **v1.2.2** (October 2026) β€” the CI `βœ… Required PR Check` mirror job runs on every path instead of being skipped on in-repo PRs (#10) ([Changelog](https://github.com/CLDMV/configs/blob/master/docs/changelog/v1/v1.2.2.md))
- **v1.2.1** (October 2026) β€” a skipped PR run no longer satisfies the `βœ… Required PR Check` ruleset (#8) ([Changelog](https://github.com/CLDMV/configs/blob/master/docs/changelog/v1/v1.2.1.md))
- **v1.2.0** (October 2026) β€” the shared `fix-headers.json` sets `margin: 1`, so fix-headers and Prettier agree on one blank line after a header; this changes fix-headers 2.1+ output for extending repositories (#7) ([Changelog](https://github.com/CLDMV/configs/blob/master/docs/changelog/v1/v1.2.0.md))
- **v1.1.1** (September 2026) β€” the README is rewritten in the CLDMV package style (#3) ([Changelog](https://github.com/CLDMV/configs/blob/master/docs/changelog/v1/v1.1.1.md))

πŸ“š **For complete version history, see [docs/changelog/](https://github.com/CLDMV/configs/tree/master/docs/changelog/) and the [GitHub Releases](https://github.com/CLDMV/configs/releases).**

---

Expand Down
39 changes: 39 additions & 0 deletions docs/changelog/v1/v1.1.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# @cldmv/configs v1.1.0 Changelog

**Release Date**: September 2026
**Release Type**: Minor

---

## Overview

The first published release of `@cldmv/configs`: CLDMV's shared tool configurations, shipped as plain JSON files that each CLDMV repository extends instead of copying. It ships one config, `fix-headers.json`, holding CLDMV's standard options for [`@cldmv/fix-headers`](https://github.com/CLDMV/fix-headers). The package has no runtime code and no dependencies; npm ships `fix-headers.json`, `README.md`, `LICENSE` and `package.json`. (The repository's earlier `1.0.0` commit was an unpublished package-root bootstrap, not a release.)

---

## ✨ Features

### The shared fix-headers config ([#1](https://github.com/CLDMV/configs/pull/1))

`fix-headers.json` is exposed through `package.json` `exports` as `@cldmv/configs/fix-headers.json` and sets:

- `includeFolders: ["."]` β€” scan the whole project; ignore files still exclude what they list.
- `useGpgSignerAuthor: true`, `company: "CLDMV"`, `forceAuthorUpdate: true` and `forceLastModifiedAuthorUpdate: true` β€” take the `@Author` name from the key git signs commits with, written as `Name <CLDMV>`, and always rewrite `@Author`, `@Email` and `@Last modified by` to the detected values.
- `companyName: "Catalyzed Motivation Inc."` and `copyrightStartYear: 2013` β€” the `@Copyright` holder and the first year of its range.
- `fixCreatedDate: true`, `normalizeDateFormat: true` and `strictCreatedDate: true` β€” move `@Date` back to the oldest of itself, the file's first commit and its filesystem creation time, write every header date in git's `%aI` form, and fail `--check` on a `@Date` later than the first commit instead of warning.

A repository extends it from its own fix-headers config, by package specifier (`"extends": "@cldmv/configs/fix-headers.json"`) or by a tag-pinned raw GitHub URL, and overrides only the keys that are specific to it. The three date options and `extends` itself need fix-headers v2.0.0 or later.

## πŸ”§ CI & tooling

- The full CLDMV v4 workflow set (CI, release flow, publishing, CodeQL, scorecard, dependency review, bundle size and the rest), Dependabot config, the CLDMV ESLint and Prettier configs with a pre-commit hook, and an `@cldmv/vitest-runner` test suite that checks every exported JSON file parses, every `exports` entry ships, the keys in `fix-headers.json` are options the installed fix-headers types declare, and `npm pack` publishes exactly the intended files.

## πŸ“š Documentation

- README covering the config, its keys, use from npm and by URL, overriding keys, adding a config and the versioning policy.

---

## Upgrade notes

- First release β€” install with `npm install --save-dev @cldmv/configs @cldmv/fix-headers` and add `"extends": "@cldmv/configs/fix-headers.json"` to the repository's fix-headers config.
25 changes: 25 additions & 0 deletions docs/changelog/v1/v1.1.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# @cldmv/configs v1.1.1 Changelog

**Release Date**: September 2026
**Release Type**: Patch

---

## Overview

A documentation release: the README is rewritten in the CLDMV package style. No shipped config changed.

---

## πŸ“š Documentation

- The README is restructured into the CLDMV package layout β€” **✨ What's New**, **πŸš€ Key Features**, **πŸ“¦ Installation**, **πŸš€ Quick Start**, the config reference, **πŸ”’ Versioning**, **πŸ›  Development**, **🀝 Contributing** and **πŸ”— Links** ([#3](https://github.com/CLDMV/configs/pull/3)).
- **Installation** now states the requirement up front: fix-headers v2.0.0 or later, the first release that resolves `extends` and honours `fixCreatedDate`, `normalizeDateFormat` and `strictCreatedDate`.
- The by-URL example pins `v1.1.0`, the first published tag, instead of a `v1.0.0` tag that was never cut.
- **Versioning** spells out the policy as minor (a new config, or a key that only makes a tool stricter where it was silent), major (changing or removing an existing value in a way that alters what the tool writes) and patch (docs, tests and tooling with no change to any shipped setting).

---

## Upgrade notes

- No changes to `fix-headers.json` β€” drop-in for v1.1.0.
35 changes: 35 additions & 0 deletions docs/changelog/v1/v1.2.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# @cldmv/configs v1.2.0 Changelog

**Release Date**: October 2026
**Release Type**: Minor

---

## Overview

The shared `fix-headers.json` now sets `margin: 1`, so fix-headers leaves one blank line between a file header and the code after it. fix-headers 2.1.0 introduced the `margin` option with a default of two blank lines, and Prettier collapses two blank lines to one, so every repository that ran both tools saw the two fight over the same line on every run. With `margin: 1` the header layout matches what Prettier keeps, and a header pass followed by a format pass is stable.

This is a change to what fix-headers writes for every repository that extends the shared config on fix-headers 2.1.0 or later, which this package's own versioning policy classes as a major change; it shipped as a minor release. In practice it keeps the one-blank-line layout those repositories already had before fix-headers 2.1.0.

---

## πŸ’₯ Breaking Changes

### `margin: 1` in the shared fix-headers config ([#7](https://github.com/CLDMV/configs/pull/7))

Despite being a minor release, this changes the output of fix-headers 2.1.0 or later for every extending repository: the header is followed by one blank line instead of fix-headers' default of two. Repositories on fix-headers 2.0.x are unaffected, since that release has no `margin` option and ignores the key.

## πŸ“š Documentation

- The README shows `margin: 1` in the config listing and explains it in the key table ([#7](https://github.com/CLDMV/configs/pull/7)).

## πŸ”§ Dependencies

- `@cldmv/fix-headers` `^1.3.12` β†’ `^2.1.0` ([#5](https://github.com/CLDMV/configs/pull/5), dev-only), so the repository's own header pass understands `extends`, the date options and `margin`.

---

## Upgrade notes

- A repository that runs Prettier after fix-headers needs no change; the next header pass stops adding a second blank line that Prettier then removes.
- A repository that wants fix-headers' two-line default back sets `"margin": 2` in its own fix-headers config, which overrides the shared value.
24 changes: 24 additions & 0 deletions docs/changelog/v1/v1.2.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# @cldmv/configs v1.2.1 Changelog

**Release Date**: October 2026
**Release Type**: Patch

---

## Overview

A CI-only release: a skipped PR run can no longer satisfy the `βœ… Required PR Check` ruleset. No shipped config changed.

---

## πŸ”§ CI & tooling

### A skipped PR run no longer satisfies Required PR Check ([#8](https://github.com/CLDMV/configs/pull/8))

On an in-repo feature PR, the `pull_request` run skips the `required-check` mirror job because the push run on the head branch owns the status. GitHub still posts a check run for a skipped job and treats a skipped required check as passing, so the skipped job, named `βœ… Required PR Check`, could green-light the ruleset (and auto-merge) before the push run's real mirror existed. The job name is now an expression that evaluates to `βœ… Required PR Check` only on the paths that own the status.

---

## Upgrade notes

- No changes to `fix-headers.json` β€” drop-in for v1.2.0.
24 changes: 24 additions & 0 deletions docs/changelog/v1/v1.2.2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# @cldmv/configs v1.2.2 Changelog

**Release Date**: October 2026
**Release Type**: Patch

---

## Overview

A CI-only release: the `βœ… Required PR Check` mirror job now runs on every path instead of being skipped on in-repo feature PRs. No shipped config changed.

---

## πŸ”§ CI & tooling

### Run the in-repo PR mirror job instead of skipping it ([#10](https://github.com/CLDMV/configs/pull/10))

The fix in [v1.2.1](./v1.2.1.md) gave the mirror job a conditional name so a skipped run would not report under the required name, but GitHub does not evaluate the `name:` of a skipped job, so the skipped run showed up under the raw expression text. The job now always runs (`if: always()`), so its name is always evaluated: on the paths that own the status it reports as `βœ… Required PR Check` and mirrors the test matrix's result, and on an in-repo feature PR's `pull_request` run it reports as `⏭️ Required PR Check (reported by the push run)` and exits as a no-op.

---

## Upgrade notes

- No changes to `fix-headers.json` β€” drop-in for v1.2.1.
40 changes: 40 additions & 0 deletions docs/changelog/v1/v1.2.3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# @cldmv/configs v1.2.3 Changelog

**Release Date**: October 2026
**Release Type**: Patch
**Branch**: `release/1.2.3`

---

## Overview

`@cldmv/fix-headers` moves to 2.1.4, and re-running the header pass with the repository's own `fix-headers.json` restamped the headers of 37 files β€” the first full pass under fix-headers 2.x since the repository moved to it in [v1.2.0](./v1.2.0.md). Only header comments in repository-internal files changed (the ESLint and vitest configs, the pre-commit installer, Dependabot config, every workflow and the tests). The published files β€” `fix-headers.json`, `README.md` and `LICENSE` β€” and every shipped setting are unchanged.

---

## πŸ”§ CI & tooling

### File headers restamped under fix-headers 2.1.4 ([#12](https://github.com/CLDMV/configs/pull/12))

The 37 restamped headers changed in three ways:

- **ISO 8601 dates.** Every `@Date` and `@Last modified time` is now written in git's `%aI` form (`2026-09-28T21:22:20-07:00`) instead of `2026-09-28 21:22:20 -07:00`, as the shared config's `normalizeDateFormat` asks.
- **Corrected `@Date` epochs.** In 23 of the 37 headers β€” `.github/dependabot.yml` and 22 of the 28 workflow files, whose headers came from the `CLDMV/.github` templates β€” the Unix timestamp in parentheses did not match the date written beside it (for example `2026-05-20 00:00:00 -07:00 (1779606000)`, where 1779606000 is 24 May). fix-headers kept the written date and rewrote the timestamp to match it (`1779260400`).
- **Header framing.** Each header gained an empty comment line just inside its opening and just before its closing (`/**` then ` *`, or a bare `#` in YAML), fix-headers' default `spacing` of one, while the single blank line after the header comes from the `margin: 1` that the repository's own `fix-headers.json` sets.

`@Last modified time` was updated on every restamped file, as `forceLastModifiedAuthorUpdate` asks.

## πŸ“š Documentation

- **NEW:** [docs/changelog/v1/v1.2.3.md](./v1.2.3.md) β€” this changelog, plus backfilled changelog files for [v1.1.0](./v1.1.0.md), [v1.1.1](./v1.1.1.md), [v1.2.0](./v1.2.0.md), [v1.2.1](./v1.2.1.md) and [v1.2.2](./v1.2.2.md).
- README **✨ What's New** updated for v1.2.3, with **Recent Releases** linking the changelog files.

## πŸ”§ Dependencies

- `@cldmv/fix-headers` `^2.1.0` β†’ `^2.1.4` ([#12](https://github.com/CLDMV/configs/pull/12), dev-only).

---

## Upgrade notes

- No changes to `fix-headers.json` or any other published file β€” drop-in for v1.2.2.
Loading