@piercebarney/whs-eleventy 2026.10.13 → 2026.10.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@piercebarney/whs-eleventy",
3
- "version": "2026.10.13",
3
+ "version": "2026.10.15",
4
4
  "description": "The web house style's Eleventy + Netlify tooling — the compliance sweep, the infra doctor, the link/CSP integrity check, and the a11y scan, shared by every project on the stack.",
5
5
  "bin": {
6
6
  "whs": "cli.js"
@@ -23,6 +23,77 @@ enforced, new *opt-in* chapters/capabilities, tooling-only changes — is
23
23
 
24
24
  ---
25
25
 
26
+ ## 2026-10-15 [non-breaking]
27
+
28
+ Each scaffolded project already self-checks its own standard-version drift
29
+ (`whs status`), but nothing reported the whole local fleet in one pass.
30
+ `bin/fleet` closes that gap — read-only, no per-project tooling invoked, so
31
+ it covers every stack today, not just the one with compliance-sweep tooling.
32
+
33
+ ### bin/fleet
34
+
35
+ New `bin/fleet [dir]` (dir: arg > `$WHS_FLEET_DIR` > `~/Dev/whs-projects`).
36
+ For each immediate subdirectory, reads its `standard-version: <date>` pin
37
+ (`CLAUDE.md`, else `AGENTS.md`) and reports it against this checkout's
38
+ `core.md` version and the CHANGELOG dates after the pin — one row per
39
+ project (stack, pin, `N behind (M breaking)` or `current` or `not pinned`),
40
+ then a fleet-wide summary. The "N behind" count mirrors `versionsBehind()`
41
+ in `packages/whs-eleventy/lib/status.js`; a suffixed `-N` pin compares by
42
+ its date, same as that function. Exit 0 always (drift is a backlog signal);
43
+ a missing/non-directory fleet dir exits 1. `bin/test-fleet` is its test
44
+ suite, run alongside `bin/check` in CI's `consistency` job
45
+ (`.github/workflows/standard.yml`).
46
+
47
+ ### README.md
48
+
49
+ New paragraph documenting `bin/fleet`, next to the `bin/set-version` docs
50
+ in the Consistency checks section.
51
+
52
+ **Closes:** fleet-audit
53
+
54
+ ## 2026-10-14 [non-breaking]
55
+
56
+ The House-style block gains an optional `add-ons:` line so a project can
57
+ record which `modules/` pack it applied, once a pack exists that no other
58
+ field already implies.
59
+
60
+ ### core: adopting
61
+
62
+ New optional line in the recommended data block, right after
63
+ `content-type:`: `add-ons: none # or: comma list of modules/ packs no field
64
+ above implies (calculator, glossary, pages) — see modules/README.md`. A
65
+ missing line reads as `none`. "Follow-ups when relevant" gains a matching
66
+ clause: a `modules/` pack is recorded under `add-ons:` only when no other
67
+ field already implies it — `ads:` still records `ads`, `ai:` still records
68
+ `ai-proxy`, and `content-type: article` still records `feed`.
69
+
70
+ ### README.md
71
+
72
+ The House-style data block copy mirrors the new `add-ons:` line, same
73
+ shape and placement as `core.md`'s.
74
+
75
+ ### templates/eleventy-netlify
76
+
77
+ `CLAUDE.md`'s data block gets the same `add-ons:` line, worded to match its
78
+ siblings (`apply add-ons/<name>/`). `.claude/agents/pack.md`: after applying
79
+ `calculator`, `glossary`, or `pages`, the pack agent appends that pack's name
80
+ to the project's `add-ons:` line in the same commit (adding the line if it's
81
+ missing); `ads`, `ai-proxy`, and `feed` stay untouched since their own fields
82
+ already record them.
83
+
84
+ ### stacks/eleventy-netlify.md
85
+
86
+ The `#adopting` data-block fence mirrors the new `add-ons:` line; no
87
+ restated principle, just the mechanism plus the `modules/README.md` pointer.
88
+
89
+ ### module: README
90
+
91
+ New "Recording an applied pack" note: a project records an applied pack on
92
+ its `add-ons:` line only when no other field already implies it, so today
93
+ that's `calculator`, `glossary`, and `pages`.
94
+
95
+ **Closes:** house-style-add-ons-line
96
+
26
97
  ## 2026-10-13 [non-breaking]
27
98
 
28
99
  Module pool: `modules/README.md` introduces the standard for a reusable,
package/standard/core.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Web project house style — CORE (stack-agnostic)
2
2
 
3
- **Version:** 2026-10-13 · **Status:** active
3
+ **Version:** 2026-10-15 · **Status:** active
4
4
 
5
5
  This is the stack-agnostic contract every web project follows, regardless of
6
6
  framework, host, or CSS system. It says **what** must be true, with concrete
@@ -1417,7 +1417,10 @@ project), before non-trivial work. Ask six questions with defaults:
1417
1417
  guide ships either way, read by whichever party writes copy.
1418
1418
 
1419
1419
  Follow-ups when relevant: production domain; content type (`tool` vs `article` —
1420
- `article` implies feeds); publishing rate for content sites.
1420
+ `article` implies feeds); publishing rate for content sites; any `modules/`
1421
+ pack applied that no other field implies (`ads:` → ads, `ai:` → ai-proxy,
1422
+ `content-type: article` → feed) is recorded under `add-ons:` — absent means
1423
+ none.
1421
1424
 
1422
1425
  **Starting point.** Where a copy-and-modify template exists for the chosen stack
1423
1426
  (`templates/<stack>/` — see the impl doc and `README.md`), starting from it *is*
@@ -1509,8 +1512,9 @@ governs it and follow that chapter — the slugs are the index (a `<script>` →
1509
1512
  - content-ops: in-repo # or: reserved — a separate content operation owns content, see core.md#content-model
1510
1513
  - production-url: https://example.com
1511
1514
  - content-type: tool # tool | article (article => feeds)
1515
+ - add-ons: none # or: comma list of modules/ packs no field above implies (calculator, glossary, pages) — see modules/README.md
1512
1516
  - publishing-rate: ~5 pages/week
1513
- - standard-version: 2026-10-13 # recommended — enables standard-version drift tracking (#compliance)
1517
+ - standard-version: 2026-10-15 # recommended — enables standard-version drift tracking (#compliance)
1514
1518
 
1515
1519
  <!-- optional, present only while a filed need is unresolved -->
1516
1520
  ### Waiting on the standard