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 +95 -51
- package/dist/index.js +15 -0
- package/package.json +1 -1
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
|
|
76
|
-
|
|
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.
|
|
185
|
-
|
|
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,
|
|
472
|
-
|
|
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
|
-
|
|
491
|
-
|
|
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
|
|
520
|
-
|
|
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
|
|
586
|
-
|
|
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
|
-
|
|
631
|
-
|
|
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
|
-
|
|
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
|
-
|
|
710
|
-
|
|
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
|
-
|
|
770
|
-
|
|
771
|
-
|
|
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,
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
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
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
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.
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
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
|
+
"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",
|