jig-ui 0.14.0 → 0.15.0
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 +67 -0
- package/README.md +16 -7
- package/dist/index.js +288 -169
- package/package.json +1 -1
- package/rules/00-anti-patterns.md +3 -3
- package/templates/COMMAND.md.tmpl +21 -8
- package/templates/SKILL.md.tmpl +10 -7
- package/templates/command-metadata.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,72 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.15.0
|
|
4
|
+
|
|
5
|
+
The gate holds an agent on warnings, waits while it asks the owner a question,
|
|
6
|
+
and reaches projects where the skill is installed globally.
|
|
7
|
+
|
|
8
|
+
### Changed
|
|
9
|
+
|
|
10
|
+
- **`gate` blocks on warnings in the files the agent changed**, not only on
|
|
11
|
+
mechanical errors. One em dash survived two runs of fresh agents on a real
|
|
12
|
+
site: the first saw the warning, called it pre-existing, and finished. The
|
|
13
|
+
gate still reads only changed files, so old warnings elsewhere never trap an
|
|
14
|
+
agent, and it now also runs when a changed file carries interface text.
|
|
15
|
+
- **The skill asks the user to run each command.** `decide`, `spec`, `mockup`,
|
|
16
|
+
`make` and `critique` hold their procedures in the command, not in the
|
|
17
|
+
skill. An agent told in prose to "run decide" made up five questions of its
|
|
18
|
+
own and wrote a `DECISIONS.md` with no direction and no `## Unresolved`
|
|
19
|
+
section.
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
|
|
23
|
+
- **`jig-allow <ID>: <why>`** waives one warning, on its own line or the line
|
|
24
|
+
above, in any comment syntax. Some warnings are a detector's guess: `A-01`
|
|
25
|
+
cannot tell a chosen violet from a default one. Warnings only, a reason is
|
|
26
|
+
required, and `check` lists every waiver it honoured, with its reason, on
|
|
27
|
+
every run. Waived findings are left out of `warnings=`.
|
|
28
|
+
- **`install --agent claude --hook` on a global install** writes only this
|
|
29
|
+
project's Stop hook. The hook was written only by a project install, which is
|
|
30
|
+
refused while the skill is global, so most projects never had a gate.
|
|
31
|
+
|
|
32
|
+
### Fixed
|
|
33
|
+
|
|
34
|
+
- **A question to the owner is not a finish.** After `decide`, `spec` or
|
|
35
|
+
`mockup`, a stop whose last message asks a question is allowed, and the
|
|
36
|
+
command's output is checked on the stop after the answer. Before, the gate
|
|
37
|
+
refused `decide`'s first question because `DECISIONS.md` did not exist yet,
|
|
38
|
+
and on the second refusal the agent wrote the file itself with no answers.
|
|
39
|
+
- **The gate finds `DECISIONS.md` beside the token layer** that `brand` in
|
|
40
|
+
`jig.config.json` names. It looked in three fixed places, rejected a
|
|
41
|
+
correctly placed file, and the agent moved the file to satisfy it.
|
|
42
|
+
- **`jig seo` says an endpoint is not a page**, so `pages=` can be checked
|
|
43
|
+
against a site's route files.
|
|
44
|
+
|
|
45
|
+
## 0.14.1
|
|
46
|
+
|
|
47
|
+
`jig seo` cites only what a rule says.
|
|
48
|
+
|
|
49
|
+
### Fixed
|
|
50
|
+
|
|
51
|
+
- **No finding for a missing sitemap or robots file.** Both were filed under
|
|
52
|
+
rules that do not ask for them: `J-123` is about a page that must not be
|
|
53
|
+
indexed and says `robots.txt` is not it, and `J-124` is about a sitemap that
|
|
54
|
+
contradicts the pages. A project with no domain yet cannot write an honest
|
|
55
|
+
sitemap, so the only way to clear the old finding was to invent one. Both are
|
|
56
|
+
now counts on the `JIG_SEO` line.
|
|
57
|
+
- **A sitemap of paths is a `J-124` error.** A `<loc>` that is `/about` rather
|
|
58
|
+
than a full URL was read as a route, although a crawler drops it. `J-124` now
|
|
59
|
+
names that case and says no sitemap is the honest one until there is an
|
|
60
|
+
origin.
|
|
61
|
+
- **`pages=` counts pages.** It counted any file that mentioned `<title>` or
|
|
62
|
+
`<meta>`, so a build script, a test, a data module and a layout were pages and
|
|
63
|
+
a home page inheriting its layout was not. A page is now a route a framework
|
|
64
|
+
serves, or a whole-document template outside the layout and partial folders.
|
|
65
|
+
A dynamic route counts once.
|
|
66
|
+
- **Framework routes match their sitemap entries.** `src/pages/admin` was read
|
|
67
|
+
as `/pages/admin`, so a `noindex` Astro or Next page listed in the sitemap
|
|
68
|
+
went unreported.
|
|
69
|
+
|
|
3
70
|
## 0.14.0
|
|
4
71
|
|
|
5
72
|
What a stranger meets before the page, what the page must not hand them, and a
|
package/README.md
CHANGED
|
@@ -53,10 +53,19 @@ Every agent supports both scopes.
|
|
|
53
53
|
answer yes when an interactive install offers it. It adds one entry to
|
|
54
54
|
`.claude/settings.json`, keeping everything already in that file, and runs `jig gate`
|
|
55
55
|
when the agent tries to finish: it holds the agent there while the files it changed
|
|
56
|
-
|
|
57
|
-
spec that is prose, a critique with no verdict files, a review
|
|
58
|
-
the page. After three attempts it lets the agent stop and says
|
|
59
|
-
unfinished.
|
|
56
|
+
have a `check` error or warning, or while the `/jig` command it just ran left its
|
|
57
|
+
work incomplete — a spec that is prose, a critique with no verdict files, a review
|
|
58
|
+
that never rendered the page. After three attempts it lets the agent stop and says
|
|
59
|
+
the work is unfinished.
|
|
60
|
+
|
|
61
|
+
A warning that is right as it stands is waived on its own line, in a comment
|
|
62
|
+
reading `jig-allow <ID>: <why>` (`/* jig-allow A-01: the brand is violet */`). The
|
|
63
|
+
reason is required, an error cannot be waived, and `check` lists every waiver it
|
|
64
|
+
honoured, with its reason, on every run.
|
|
65
|
+
|
|
66
|
+
The skill and the hook are installed separately. With Jig installed globally, run
|
|
67
|
+
`install --agent claude --hook` in a project to add only that project's hook: a
|
|
68
|
+
global hook would run on every stop in every project on the machine.
|
|
60
69
|
|
|
61
70
|
It is off by default, and `--yes` never adds it, because that is the path an agent
|
|
62
71
|
takes and nobody is there to consent. It exists because weak models skip any step
|
|
@@ -357,7 +366,7 @@ overwrites a config or brand file you have edited.
|
|
|
357
366
|
| `init [--yes]` | Sets the project up: CSS system, brand colour, token files, `jig.config.json`, wired imports, baseline check. The only command that writes into your repo. |
|
|
358
367
|
| `check [--all] [--ci] [--json]` | Runs the rules a machine can decide. Reports findings by rule id. |
|
|
359
368
|
| `update` | Refreshes an install to a newer version, leaving alone any file you have edited. |
|
|
360
|
-
| `seo [--json]` | Audits what a search engine and a link preview read, across the whole project: a route whose metadata says `noindex` sitting in the sitemap, two pages claiming one title,
|
|
369
|
+
| `seo [--json]` | Audits what a search engine and a link preview read, across the whole project: a route whose metadata says `noindex` sitting in the sitemap, two pages claiming one title, a sitemap that lists nothing or lists paths a crawler drops. Whether a sitemap and a robots file exist is counted, not reported: no rule asks for either, and a site with no domain yet cannot write an honest sitemap. Needs no config, no decisions and no spec. |
|
|
361
370
|
| `verdicts <surface>` | Verifies a critique's verdict files and computes its counts: every rule in each pass judged once, no id that does not exist, no rule in the wrong arm, and no verdict the render probe contradicts. |
|
|
362
371
|
| `probe` | Prints the render probe — one expression the critique runs in a browser at each width. It operates the menu, measures sideways scroll, and reads whether the styles and tokens applied. |
|
|
363
372
|
| `gate` | Run by the Stop hook `install` adds for Claude Code, not by hand. Blocks an agent from finishing while `check` fails on the files it changed, or the step it just ran left its work unfinished. |
|
|
@@ -448,8 +457,8 @@ in it tells strangers where to look; a path is safe to name only when something
|
|
|
448
457
|
else protects it.
|
|
449
458
|
|
|
450
459
|
`jig seo` covers what one file cannot: a route that says `noindex` and sits in
|
|
451
|
-
the sitemap anyway, two pages claiming one title, a
|
|
452
|
-
|
|
460
|
+
the sitemap anyway, two pages claiming one title, a sitemap of paths a crawler
|
|
461
|
+
drops. It writes nothing and needs nothing, so it is safe to run on the first
|
|
453
462
|
day, or on somebody else's codebase.
|
|
454
463
|
|
|
455
464
|
## Using it with a coding agent
|