@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 +1 -1
- package/standard/CHANGELOG.md +71 -0
- package/standard/core.md +7 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@piercebarney/whs-eleventy",
|
|
3
|
-
"version": "2026.10.
|
|
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"
|
package/standard/CHANGELOG.md
CHANGED
|
@@ -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-
|
|
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-
|
|
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
|