jig-ui 0.18.3 → 0.18.5

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/CHANGELOG.md CHANGED
@@ -1,5 +1,31 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.18.5 (2026-09-25)
4
+
5
+ The gate holds an HTML mockup that does not draw the page at every size.
6
+
7
+ ### Fixed
8
+
9
+ - **The gate holds a mockup that does not show every size.** On jig-site three
10
+ HTML mockups in a row were single responsive pages, so the owner saw only the
11
+ width of the window they opened and asked twice where the other sizes were.
12
+ The procedure's wireframe template draws the page once per size, side by
13
+ side, in `.frame[data-size]` boxes, and nothing checked a drawing used them.
14
+ When a `mockup` session stops with an HTML drawing, the gate now requires a
15
+ frame for phone (360), tablet (768), desktop (1280) and wide (1600).
16
+
17
+ ## 0.18.4 (2026-09-25)
18
+
19
+ Every release summary is one or two lines, for jig-site's Versions page.
20
+
21
+ ### Changed
22
+
23
+ - **Every release summary is one or two lines, with no em dash.** jig-site's
24
+ Versions page shows the summary under each release, so it is interface text.
25
+ Nine ran to three to thirteen lines; their detail now sits under
26
+ `### Upgrading` or `### Notes` in the same release. A test keeps summaries
27
+ short.
28
+
3
29
  ## 0.18.3 (2026-09-25)
4
30
 
5
31
  Recording a decision no longer undoes the critiques written before it, and an
@@ -72,9 +98,8 @@ menu, and `A-05` missed an arrow that renders as an emoji.
72
98
 
73
99
  ## 0.18.0 (2026-09-25)
74
100
 
75
- A page's frame gets tokens, a project gets a place to record where its layout
76
- switches, and keyboard access a rule requires fits every script budget. All of
77
- it found building jig-site's header and Reference with the full loop.
101
+ A page's frame gets tokens, a project records where its layout switches, and
102
+ keyboard access a rule requires fits every script budget.
78
103
 
79
104
  ### Added
80
105
 
@@ -181,8 +206,12 @@ The gate judges only the critiques a session touched.
181
206
  ## 0.17.0 (2026-09-24)
182
207
 
183
208
  Thirteen more tells of a generated page, ten of them caught by `check`, and a
184
- picture for every rule. Also carries the probe and verdict fixes tagged as 0.16.2,
185
- which was not published to npm.
209
+ picture for every rule.
210
+
211
+ ### Notes
212
+
213
+ Also carries the probe and verdict fixes tagged as 0.16.2, which was not
214
+ published to npm.
186
215
 
187
216
  ### Added
188
217
 
@@ -468,8 +497,8 @@ One new rule: no em dashes in interface text (`I-118`), with a detector.
468
497
 
469
498
  ## 0.11.1 (2026-09-18)
470
499
 
471
- Two holes in the gate, both found by running the loop twice on 0.11.0 —
472
- once on Haiku, once on Sonnet.
500
+ Two holes in the gate, found by running the loop twice on 0.11.0: once on
501
+ Haiku, once on Sonnet.
473
502
 
474
503
  ### Fixed
475
504
 
@@ -487,9 +516,8 @@ once on Haiku, once on Sonnet.
487
516
 
488
517
  ## 0.11.0 (2026-09-18)
489
518
 
490
- One release, one lesson: a measurement an agent can type is not a
491
- measurement. Everything here came from two live runs at the capability
492
- floor the day 0.10.0 shipped.
519
+ A measurement an agent can type is not a measurement. Everything here came
520
+ from two live runs at the capability floor.
493
521
 
494
522
  ### Added
495
523
 
@@ -516,9 +544,8 @@ floor the day 0.10.0 shipped.
516
544
 
517
545
  ## 0.10.0 (2026-09-18)
518
546
 
519
- Mobile-first, and a design loop that a weak model cannot skip. Everything here
520
- was measured on live runs at the capability floor (Haiku), and most of it exists
521
- because an instruction the agent could choose to ignore was ignored.
547
+ Mobile-first, and a design loop that a weak model cannot skip, measured on live
548
+ runs with Haiku.
522
549
 
523
550
  ### Added
524
551
 
@@ -582,9 +609,8 @@ because an instruction the agent could choose to ignore was ignored.
582
609
 
583
610
  ## 0.9.0 (2026-09-13)
584
611
 
585
- One new rule and one amended correction, both from the same afternoon of
586
- dogfooding and both about the same blind spot: H-47's correction always pointed
587
- at a token, so an agent reading it literally always produced one.
612
+ One new rule and one amended correction, both about the same blind spot: H-47's
613
+ correction always pointed an agent at a token.
588
614
 
589
615
  ### Added
590
616
 
@@ -627,12 +653,12 @@ at a token, so an agent reading it literally always produced one.
627
653
 
628
654
  ## 0.8.2 (2026-09-12)
629
655
 
630
- Every fix here was found by a consumer using Jig rather than by Jig checking
631
- itself: the documentation site was upgraded to 0.8.1 and then styled in
632
- Tailwind, which is the first time Jig's Tailwind guidance had been followed
633
- end to end by anything other than its own tests.
656
+ Four fixes found by following Jig's Tailwind guidance end to end on its own
657
+ documentation site.
634
658
 
635
- Three of the four are the same shape — two places answering one question, and
659
+ ### Notes
660
+
661
+ Three of the four are the same shape: two places answering one question, and
636
662
  disagreeing without either knowing the other existed.
637
663
 
638
664
  ### Fixed
@@ -706,10 +732,8 @@ disagreeing without either knowing the other existed.
706
732
 
707
733
  ## 0.8.1 (2026-09-12)
708
734
 
709
- Both fixes here are the same shape: 0.8.0 corrected the instance it was looking
710
- at and left the class alone, and in each case the commit message claimed a
711
- verification that had only checked the file it had just edited. Both were found
712
- by inspecting the published tarball rather than the working tree.
735
+ Two fixes where 0.8.0 corrected one instance and left the class alone, both
736
+ found by inspecting the published tarball.
713
737
 
714
738
  ### Fixed
715
739
 
@@ -766,9 +790,10 @@ by inspecting the published tarball rather than the working tree.
766
790
 
767
791
  ## 0.8.0 (2026-09-11)
768
792
 
769
- Everything here was found by handing Jig to agents that had never seen it and
770
- asking them to build something real — its own documentation site. None of it
771
- was found by the test suite, which passed throughout.
793
+ Fixes found by agents new to Jig building its documentation site. The test
794
+ suite passed throughout and caught none of them.
795
+
796
+ ### Notes
772
797
 
773
798
  Minor rather than patch: `explain` prints lines it did not print before, and
774
799
  `init` can write a file it did not write before.
@@ -904,6 +929,8 @@ Minor rather than patch: `explain` prints lines it did not print before, and
904
929
 
905
930
  A rule file that contradicted the tool, and the guard that kept it that way.
906
931
 
932
+ ### Notes
933
+
907
934
  Patch: the shipped rules change, but no command writes anything different.
908
935
 
909
936
  ### Fixed
@@ -956,7 +983,9 @@ already knew where the tokens were.
956
983
 
957
984
  ## 0.7.0 (2026-09-11)
958
985
 
959
- A silent no-op, fixed, plus the missing half of 0.6.0's token-layer move.
986
+ A silent no-op, fixed, and the missing half of 0.6.0's token-layer move.
987
+
988
+ ### Notes
960
989
 
961
990
  Minor rather than patch, and the call is arguable. The non-TTY fix is a
962
991
  correction; the relocation offer is new behaviour that can move files, though
@@ -998,19 +1027,25 @@ to move their token layer should read these notes.
998
1027
 
999
1028
  ## 0.6.0 (2026-09-11)
1000
1029
 
1001
- The token layer stops hiding in a dotfolder, and `check` starts reading it back.
1030
+ The token layer leaves its dotfolder, and `check` reads the layer's own
1031
+ declarations back.
1032
+
1033
+ ### Upgrading
1034
+
1035
+ Run `npx jig-ui@latest update`, then `npx jig-ui@latest init`. Existing installs
1036
+ keep their `.jig/tokens/` layout. Nothing moves unless you move it, because
1037
+ relocating files could break an import you wrote yourself.
1002
1038
 
1003
- Both came from the same question: who should write the tokens. The answer turned
1004
- out to depend on something that did not exist — **nothing validated the token
1005
- layer's own declarations.** `init` checked a brand colour once, at write time,
1006
- and no command ever looked again. A generated file edited afterwards, by a person
1007
- or an agent, went unexamined: `--color-text-weak` dropped to 22% opacity and
1008
- `check` reported "No findings". With that closed, where the files live and who
1009
- writes them become ordinary decisions rather than load-bearing ones.
1039
+ ### Notes
1010
1040
 
1011
- **Upgrading:** run `npx jig-ui@latest update`, then `npx jig-ui@latest init`.
1012
- Existing installs keep their `.jig/tokens/` layout — nothing moves unless you
1013
- move it, because relocating files could break an import you wrote yourself.
1041
+ Both changes came from the same question: who should write the tokens. The
1042
+ answer turned out to depend on something that did not exist: **nothing
1043
+ validated the token layer's own declarations.** `init` checked a brand colour
1044
+ once, at write time, and no command ever looked again. A generated file edited
1045
+ afterwards, by a person or an agent, went unexamined: `--color-text-weak`
1046
+ dropped to 22% opacity and `check` reported "No findings". With that closed,
1047
+ where the files live and who writes them become ordinary decisions rather than
1048
+ load-bearing ones.
1014
1049
 
1015
1050
  ### Added
1016
1051
 
@@ -1092,18 +1127,24 @@ move it, because relocating files could break an import you wrote yourself.
1092
1127
 
1093
1128
  ## 0.5.0 (2026-09-10)
1094
1129
 
1095
- Four things shipped in 0.4.0 were broken in ways that reported success. `/jig
1096
- update` refreshed to the version already installed and said "Updated Jig →
1097
- 0.4.0". Dark mode could not be reached by choosing it. `check` skipped nearly
1098
- every colour in a project that had not run `init`. And the reconciliation of
1099
- every numeric default against an external reference is finished — 0 rows open —
1100
- which is where most of the rest of this release came from.
1130
+ Four things 0.4.0 reported as working did not, and the reconciliation of every
1131
+ numeric default against an external reference is finished.
1132
+
1133
+ ### Upgrading
1101
1134
 
1102
1135
  **If you are on 0.4.0, run `npx jig-ui@latest update` from a terminal.** The
1103
1136
  `/jig update` fix cannot deliver itself: your command file is the broken one, so
1104
1137
  the slash command will keep reporting a successful no-op until the CLI replaces
1105
1138
  it. Once, from the terminal, and the slash command works from then on.
1106
1139
 
1140
+ ### Notes
1141
+
1142
+ The four: `/jig update` refreshed to the version already installed and said
1143
+ "Updated Jig → 0.4.0". Dark mode could not be reached by choosing it. `check`
1144
+ skipped nearly every colour in a project that had not run `init`. And the
1145
+ reconciliation ended with 0 rows open, which is where most of the rest of this
1146
+ release came from.
1147
+
1107
1148
  ### Fixed
1108
1149
 
1109
1150
  - **`/jig update` could never upgrade anyone.** Every subcommand is invoked at
@@ -1186,11 +1227,14 @@ them, and nothing at all checked that a token cited in the rules exists.
1186
1227
 
1187
1228
  ## 0.4.0 (2026-09-04)
1188
1229
 
1189
- Jig stops copying itself into your project. It is a skill an agent reads, and
1190
- 0.3.0 wrote 220KB across 17 files into every consuming repo to deliver it —
1191
- roughly 200KB of that Jig's own property, read by an agent that already had it
1192
- from the skill install. A single-mode project now gets **three** files, all of
1193
- them its own.
1230
+ Jig stops copying itself into your project. A single-mode project now gets
1231
+ **three** files, all of them its own.
1232
+
1233
+ ### Notes
1234
+
1235
+ Jig is a skill an agent reads, and 0.3.0 wrote 220KB across 17 files into every
1236
+ consuming repo to deliver it. Roughly 200KB of that was Jig's own, read by an
1237
+ agent that already had it from the skill install.
1194
1238
 
1195
1239
  ### Changed
1196
1240
 
package/dist/index.js CHANGED
@@ -6798,6 +6798,7 @@ function commandProblems(root, command) {
6798
6798
  else if (!/^https?:/i.test(at) && !existsSync24(join38(root, at))) problems.push(`${spec.path}: \`mockup_at: ${at}\` does not exist.`);
6799
6799
  else if (!/^https?:/i.test(at) && !at.startsWith(".jig/mockups/")) problems.push(`The drawing is at ${at}. A mockup lives in .jig/mockups/, outside what check scans and outside what ships.`);
6800
6800
  }
6801
+ if (at && /\.html?$/i.test(at) && existsSync24(join38(root, at))) problems.push(...mockupFrameProblems(root, at));
6801
6802
  }
6802
6803
  if (command === "critique") {
6803
6804
  const dir = join38(root, ".jig", "critique");
@@ -6905,6 +6906,20 @@ ${problems.join("\n\n")}`
6905
6906
  ${problems.join("\n\n")}`
6906
6907
  };
6907
6908
  }
6909
+ var MOCKUP_FRAMES = [["phone", 360], ["tablet", 768], ["desktop", 1280], ["wide", 1600]];
6910
+ function mockupFrameProblems(root, at) {
6911
+ let html;
6912
+ try {
6913
+ html = readFileSync31(join38(root, at), "utf8");
6914
+ } catch {
6915
+ return [];
6916
+ }
6917
+ const missing = MOCKUP_FRAMES.filter(([size]) => !new RegExp(`data-size\\s*=\\s*["']${size}["']`).test(html));
6918
+ if (missing.length === 0) return [];
6919
+ return [
6920
+ `${at} has no frame for ${missing.map(([size, px2]) => `${size} (${px2}px)`).join(", ")}. A mockup draws the page once per size, side by side, in the wireframe template's \`<div class="frame" data-size="\u2026">\` boxes, so the owner sees every size at once. A single responsive page shows only the width of the window it is opened in.`
6921
+ ];
6922
+ }
6908
6923
  var VERDICT_FILES = ["screen.json", "code.json", "decisions.json"];
6909
6924
  var LOCK = "verdicts.lock";
6910
6925
  function verdictChecksum(dir) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jig-ui",
3
- "version": "0.18.3",
3
+ "version": "0.18.5",
4
4
  "description": "A design system for coding agents. 143 numbered UI rules, brand x mode design tokens, and an installer for Claude Code, Codex, Cursor and opencode.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",