frontend-harness 0.7.0 → 0.7.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 +45 -0
- package/README.md +6 -4
- package/dist/cli/index.js +279 -15
- package/dist/cli/index.js.map +1 -1
- package/dist/runtime/builtin-skills.js +3 -3
- package/dist/runtime/clean.js +6 -1
- package/dist/runtime/clean.js.map +1 -1
- package/dist/runtime/command-taxonomy.js +2 -0
- package/dist/runtime/command-taxonomy.js.map +1 -1
- package/dist/runtime/knowledge.d.ts +3 -0
- package/dist/runtime/knowledge.js +24 -4
- package/dist/runtime/knowledge.js.map +1 -1
- package/dist/runtime/plan/component-resolver.d.ts +2 -2
- package/dist/runtime/plan/component-resolver.js +74 -8
- package/dist/runtime/plan/component-resolver.js.map +1 -1
- package/dist/runtime/plan/guidance.js +2 -2
- package/dist/runtime/plan/guidance.js.map +1 -1
- package/dist/runtime/plan.js +1 -4
- package/dist/runtime/plan.js.map +1 -1
- package/dist/runtime/project-paths.d.ts +5 -0
- package/dist/runtime/project-paths.js +28 -0
- package/dist/runtime/project-paths.js.map +1 -1
- package/dist/runtime/protocol-init.js +1 -1
- package/dist/runtime/protocol-init.js.map +1 -1
- package/dist/runtime/state.js +1 -1
- package/dist/runtime/state.js.map +1 -1
- package/dist/runtime/ui-restoration.d.ts +3 -3
- package/dist/runtime/ui-restoration.js +8 -8
- package/dist/runtime/ui-restoration.js.map +1 -1
- package/dist/runtime/verify.js +37 -10
- package/dist/runtime/verify.js.map +1 -1
- package/dist/runtime/visual-compare.d.ts +35 -0
- package/dist/runtime/visual-compare.js +271 -0
- package/dist/runtime/visual-compare.js.map +1 -0
- package/dist/schemas/types.d.ts +1 -1
- package/docs/DIRECTION.md +1 -0
- package/package.json +1 -1
- package/templates/scaffold/vue/gitignore.tpl +8 -1
- package/templates/scaffold/vue/playwright.config.mjs +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,51 @@ All notable changes to `frontend-harness` are documented here.
|
|
|
4
4
|
|
|
5
5
|
This project follows semver while it is pre-1.0: patch releases may include harness policy improvements that tighten validation, and minor releases may change generated protocol expectations.
|
|
6
6
|
|
|
7
|
+
## 0.7.5 - 2026-05-25
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- Refine design restoration evidence handling so design artifacts should be reused before repeated capture, duplicate evidence entries and artifact paths are rejected, and `design_to_code` only requires temporary asset localization when it is used as project source.
|
|
12
|
+
- Remove stale agent runtime artifacts from `clean` and keep unsupported `agent` / `run` commands on the normal unknown-command path.
|
|
13
|
+
- Align workflow documentation and injected useful-command guidance with the current review, PRD, and UI-source planning flows.
|
|
14
|
+
|
|
15
|
+
## 0.7.4 - 2026-05-25
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- Treat captured design evidence, evidence inputs, and visual comparison artifacts as local intermediate files in the Vue scaffold `.gitignore`, while keeping project-owned harness knowledge and skills available to track.
|
|
20
|
+
- Include local evidence directories in `clean` so `design-sources/`, `evidence/`, and `visual/` can be removed with other generated harness state.
|
|
21
|
+
- Clarify that `visual compare` is a deterministic pixel-level PNG evidence tool, not a full production visual-regression platform.
|
|
22
|
+
|
|
23
|
+
## 0.7.3 - 2026-05-25
|
|
24
|
+
|
|
25
|
+
### Added
|
|
26
|
+
|
|
27
|
+
- Added `visual compare --json --design <design.png> --actual <actual.png> --diff <diff.png>` for dependency-free PNG screenshot comparison, diff artifact generation, hashes, and optional JSON reports.
|
|
28
|
+
|
|
29
|
+
### Fixed
|
|
30
|
+
|
|
31
|
+
- Fixed design restoration planning so provider URLs are stripped before component naming and URL-only Pixso restoration tasks fall back to `RestoredDesignPage` instead of names such as `HttpsCn...`.
|
|
32
|
+
- Clarified scaffold `.gitignore` output so durable harness evidence directories stay tracked while generated runtime state remains ignored.
|
|
33
|
+
|
|
34
|
+
## 0.7.2 - 2026-05-25
|
|
35
|
+
|
|
36
|
+
### Fixed
|
|
37
|
+
|
|
38
|
+
- Improved UI restoration planning so high-confidence agent `targetCandidates` for the real page/component become the primary execution boundary instead of forcing an extra system-invented page file.
|
|
39
|
+
- Allowed real evidence input JSON to live under `.frontend-harness/evidence/` and filled missing `createdAt` timestamps during `evidence record`, while still rejecting inputs under generated verification state.
|
|
40
|
+
|
|
41
|
+
## 0.7.1 - 2026-05-25
|
|
42
|
+
|
|
43
|
+
### Added
|
|
44
|
+
|
|
45
|
+
- Added command-specific help for project policy commands and subcommands so flags for knowledge, evidence, proposal, repair, scaffold, state, verify, and clean are discoverable from `--help`.
|
|
46
|
+
- Added traceability flags to `knowledge module` so module summaries can carry coverage, anchor, and verification metadata into both frontmatter and rendered body sections.
|
|
47
|
+
|
|
48
|
+
### Fixed
|
|
49
|
+
|
|
50
|
+
- Fixed the Vue scaffold Playwright config lint baseline by declaring the `process` global used for CI server reuse.
|
|
51
|
+
|
|
7
52
|
## 0.7.0 - 2026-05-25
|
|
8
53
|
|
|
9
54
|
### Added
|
package/README.md
CHANGED
|
@@ -138,7 +138,7 @@ Use `init` after installation or package upgrades. Use `protocol check` when you
|
|
|
138
138
|
|
|
139
139
|
`scaffold --preset vue` creates a Vue 3 + Vite + TypeScript engineering baseline inspired by the company `freight-admin` stack. It includes Vite config, ESLint/Prettier, Element Plus auto imports, and small `utils`, `storage`, and `service` layers. It intentionally does not create admin pages, routes, dashboards, permissions, or business components.
|
|
140
140
|
|
|
141
|
-
UI restoration work treats design exports, screenshots, and generated code as source evidence for implementation and loop repair, not as paperwork to backfill after coding. For design-backed restoration, visual equivalence is the highest priority for the first project implementation: source material does not mean the agent may redesign the screen. When design_to_code or generated design markup is available, preserve it
|
|
141
|
+
UI restoration work treats design exports, screenshots, and generated code as source evidence for implementation and loop repair, not as paperwork to backfill after coding. For design-backed restoration, visual equivalence is the highest priority for the first project implementation: source material does not mean the agent may redesign the screen. When design_to_code or generated design markup is available, preserve it and classify whether it is usable_as_visual_baseline, usable_for_patch_reference, usable_as_source, or unusable before deciding whether it can seed implementation or only guide repair; verify enforces that classification through visual-baseline metadata for design_to_code sources, and temporary asset localization is required only when the generated artifact is used as project source. Project-native rewrites may change file placement, framework integration, semantic markup, asset localization, naming, state wiring, and component boundaries only when the rendered result preserves the design's primary layout, spacing, typography, color, density, hierarchy, and visible states. When a design contains images, classify each one as required content, functional UI element, brand/product asset, decorative sample, or replaceable placeholder before implementation. Required images should become durable assets; decorative samples and placeholders should be replaced or documented in design evidence. Final handoff evidence should include a restoration verdict with score or pass/fail judgement, key visual differences, accepted gaps, and links to evidence artifacts. Component splits should follow semantic responsibility, reuse, and interaction boundaries rather than mirroring every design layer as a component.
|
|
142
142
|
|
|
143
143
|
## Agent Protocol Commands
|
|
144
144
|
|
|
@@ -155,13 +155,14 @@ npm run harness -- state record-change --from-git
|
|
|
155
155
|
npm run harness -- state check --json
|
|
156
156
|
npm run harness -- evidence template --json
|
|
157
157
|
npm run harness -- evidence record --json --file <evidence-input.json>
|
|
158
|
+
npm run harness -- visual compare --json --design <design.png> --actual <actual.png> --diff <diff.png>
|
|
158
159
|
npm run harness -- verify --json
|
|
159
160
|
npm run harness -- repair packet --json
|
|
160
161
|
npm run harness -- state next --json
|
|
161
162
|
npm run harness -- state explain --json
|
|
162
163
|
```
|
|
163
164
|
|
|
164
|
-
The agent should call them automatically while doing work. They persist state under `.frontend-harness/` and provide deterministic evidence for each step. `evidence template --json` prints the machine-readable evidence entry shape for the current plan; it is a schema aid, not proof. Put real captures, checks, comparisons, and hashes in a project-local evidence input JSON, then use `evidence record --json --file <evidence-input.json>` so the harness validates and writes `.frontend-harness/verification/evidence.json`.
|
|
165
|
+
The agent should call them automatically while doing work. They persist local state under `.frontend-harness/` and provide deterministic evidence for each step. `evidence template --json` prints the machine-readable evidence entry shape for the current plan; it is a schema aid, not proof. Put real captures, checks, comparisons, and hashes in a project-local evidence input JSON, then use `evidence record --json --file <evidence-input.json>` so the harness validates and writes `.frontend-harness/verification/evidence.json`. Captured evidence and visual comparison files are local intermediate artifacts by default; scaffolded projects ignore them and `clean` may remove them.
|
|
165
166
|
|
|
166
167
|
`state check --json` verifies that recorded changed files cover the current plan's execution-unit files before verification. `verify --json` runs that contract check first, enforces PRD knowledge coverage when the plan has PRD input, and then discovers the default `typecheck`, `test`, and `build` scripts when present. Projects can also declare custom verification commands in `.frontend-harness/config.json`:
|
|
167
168
|
|
|
@@ -183,6 +184,7 @@ The agent should call them automatically while doing work. They persist state un
|
|
|
183
184
|
- `api_integration`
|
|
184
185
|
- `frontend_test`
|
|
185
186
|
- `bug_fix`
|
|
187
|
+
- `frontend_review`
|
|
186
188
|
- `requirement_change`
|
|
187
189
|
- `documentation`
|
|
188
190
|
- `maintenance`
|
|
@@ -297,7 +299,7 @@ The package writes project-local artifacts under `.frontend-harness/`:
|
|
|
297
299
|
config.json
|
|
298
300
|
```
|
|
299
301
|
|
|
300
|
-
Runtime artifacts such as `context/`, `plans/`, `state.json`, `verification/`, `logs/`, `repair/`, `state-explain/`, `execution-units/`,
|
|
302
|
+
Runtime artifacts such as `context/`, `plans/`, `state.json`, `verification/`, `design-sources/`, `evidence/`, `visual/`, `logs/`, `repair/`, `state-explain/`, `execution-units/`, `component-graph/`, and stale runtime directories are generated local continuity and evidence. They are ignored by scaffolded project git and can be removed with `frontend-harness clean --json`.
|
|
301
303
|
|
|
302
304
|
Durable project assets such as `knowledge/`, `skills/`, `config.json`, and protocol provenance are intentionally preserved by `clean` and may be committed when they represent project policy.
|
|
303
305
|
|
|
@@ -310,7 +312,7 @@ The project is being recentered around the original idea:
|
|
|
310
312
|
3. Keep the public human workflow to install, initialize, and check protocol health.
|
|
311
313
|
4. Preserve deterministic context, plan, verify, repair, and state primitives.
|
|
312
314
|
5. Delete launcher/runtime features that duplicate Codex or Claude Code.
|
|
313
|
-
6.
|
|
315
|
+
6. Do not add `agent *` or `run --agent` surfaces unless the direction is explicitly revisited.
|
|
314
316
|
7. Ship a small built-in set of project skills for common frontend workflows, while preserving project-local overrides.
|
|
315
317
|
8. Keep documentation short, current, and product-oriented.
|
|
316
318
|
|
package/dist/cli/index.js
CHANGED
|
@@ -14,10 +14,229 @@ import { checkSkills, discoverSkills } from "../runtime/skills.js";
|
|
|
14
14
|
import { changedFilesFromGit, checkStateContract, getNextAction, loadState, recordChangedFiles } from "../runtime/state.js";
|
|
15
15
|
import { checkExecutionUnits } from "../runtime/units.js";
|
|
16
16
|
import { assertDesignSourceReadyForProjectChanges, createEvidenceTemplate, recordEvidence, runVerification } from "../runtime/verify.js";
|
|
17
|
+
import { compareVisualArtifacts } from "../runtime/visual-compare.js";
|
|
18
|
+
const COMMAND_HELP = {
|
|
19
|
+
init: [
|
|
20
|
+
"Usage:",
|
|
21
|
+
" frontend-harness init [--json]",
|
|
22
|
+
" frontend-harness init --dry-run --json",
|
|
23
|
+
" frontend-harness init --check --json",
|
|
24
|
+
"",
|
|
25
|
+
"Flags:",
|
|
26
|
+
" --dry-run Report protocol updates without writing files.",
|
|
27
|
+
" --check Exit non-zero when managed protocol files need updates.",
|
|
28
|
+
" --json Print machine-readable output."
|
|
29
|
+
],
|
|
30
|
+
context: [
|
|
31
|
+
"Usage:",
|
|
32
|
+
" frontend-harness context --json"
|
|
33
|
+
],
|
|
34
|
+
clean: [
|
|
35
|
+
"Usage:",
|
|
36
|
+
" frontend-harness clean [--json] [--dry-run] [--keep-logs <count>]",
|
|
37
|
+
"",
|
|
38
|
+
"Flags:",
|
|
39
|
+
" --dry-run Report generated runtime artifacts without removing them.",
|
|
40
|
+
" --keep-logs <count> Keep the newest N log files. Default: 20.",
|
|
41
|
+
" --json Print machine-readable output."
|
|
42
|
+
],
|
|
43
|
+
plan: [
|
|
44
|
+
"Usage:",
|
|
45
|
+
" frontend-harness plan --json \"<task>\" [--prd <prd-file>] [--ui-source <ui-artifact-or-design-url>] [--agent-proposal <agent-proposal.json>]",
|
|
46
|
+
"",
|
|
47
|
+
"Flags:",
|
|
48
|
+
" --prd <file> Project-relative PRD or requirement source.",
|
|
49
|
+
" --ui-source <path-or-url> UI source artifact or supported design URL.",
|
|
50
|
+
" --agent-proposal <json-file> Bounded planning proposal envelope.",
|
|
51
|
+
" --json Print machine-readable output."
|
|
52
|
+
],
|
|
53
|
+
verify: [
|
|
54
|
+
"Usage:",
|
|
55
|
+
" frontend-harness verify --json [--typecheck <command>] [--test <command>] [--build <command>]",
|
|
56
|
+
"",
|
|
57
|
+
"Flags:",
|
|
58
|
+
" --typecheck <command> Override discovered typecheck command.",
|
|
59
|
+
" --test <command> Override discovered test command.",
|
|
60
|
+
" --build <command> Override discovered build command.",
|
|
61
|
+
" --json Print machine-readable output."
|
|
62
|
+
],
|
|
63
|
+
visual: [
|
|
64
|
+
"Usage:",
|
|
65
|
+
" frontend-harness visual compare --json --design <design.png> --actual <actual.png> --diff <diff.png> [--report <report.json>] [--threshold <score>]",
|
|
66
|
+
"",
|
|
67
|
+
"Flags:",
|
|
68
|
+
" --design <png> Project-relative design/reference PNG.",
|
|
69
|
+
" --actual <png> Project-relative actual rendered PNG.",
|
|
70
|
+
" --diff <png> Output diff PNG path.",
|
|
71
|
+
" --report <json> Optional output JSON report path.",
|
|
72
|
+
" --threshold <score> Passing score threshold. Default: 90."
|
|
73
|
+
],
|
|
74
|
+
"visual compare": [
|
|
75
|
+
"Usage:",
|
|
76
|
+
" frontend-harness visual compare --json --design <design.png> --actual <actual.png> --diff <diff.png> [--report <report.json>] [--threshold <score>]"
|
|
77
|
+
],
|
|
78
|
+
evidence: [
|
|
79
|
+
"Usage:",
|
|
80
|
+
" frontend-harness evidence template --json",
|
|
81
|
+
" frontend-harness evidence record --json --file <evidence-input.json>"
|
|
82
|
+
],
|
|
83
|
+
"evidence template": [
|
|
84
|
+
"Usage:",
|
|
85
|
+
" frontend-harness evidence template --json"
|
|
86
|
+
],
|
|
87
|
+
"evidence record": [
|
|
88
|
+
"Usage:",
|
|
89
|
+
" frontend-harness evidence record --json --file <evidence-input.json>",
|
|
90
|
+
"",
|
|
91
|
+
"Flags:",
|
|
92
|
+
" --file <json-file> Project-relative evidence input JSON to validate and record.",
|
|
93
|
+
" --json Print machine-readable output."
|
|
94
|
+
],
|
|
95
|
+
state: [
|
|
96
|
+
"Usage:",
|
|
97
|
+
" frontend-harness state next --json",
|
|
98
|
+
" frontend-harness state explain --json",
|
|
99
|
+
" frontend-harness state check --json",
|
|
100
|
+
" frontend-harness state record-change <file>",
|
|
101
|
+
" frontend-harness state record-change --from-git"
|
|
102
|
+
],
|
|
103
|
+
"state record-change": [
|
|
104
|
+
"Usage:",
|
|
105
|
+
" frontend-harness state record-change <file>",
|
|
106
|
+
" frontend-harness state record-change --from-git",
|
|
107
|
+
"",
|
|
108
|
+
"Flags:",
|
|
109
|
+
" --from-git Record changed project files discovered from git status."
|
|
110
|
+
],
|
|
111
|
+
knowledge: [
|
|
112
|
+
"Usage:",
|
|
113
|
+
" frontend-harness knowledge add --json --kind <kind> --subject \"<subject>\" <content-flag>",
|
|
114
|
+
" frontend-harness knowledge module --json --id <id> --title \"<title>\" --summary \"<summary>\" --body \"<body>\"",
|
|
115
|
+
" frontend-harness knowledge update --json --id <knowledge-id> [metadata flags]",
|
|
116
|
+
" frontend-harness knowledge index --json",
|
|
117
|
+
" frontend-harness knowledge coverage --json",
|
|
118
|
+
" frontend-harness knowledge list --json",
|
|
119
|
+
" frontend-harness knowledge search --json --query \"<query>\"",
|
|
120
|
+
" frontend-harness knowledge show --json --id <knowledge-id>",
|
|
121
|
+
" frontend-harness knowledge check --json",
|
|
122
|
+
"",
|
|
123
|
+
"Run a subcommand with --help for exact flags."
|
|
124
|
+
],
|
|
125
|
+
"knowledge add": [
|
|
126
|
+
"Usage:",
|
|
127
|
+
" frontend-harness knowledge add --json --id <kebab-id> --kind <kind> --subject \"<subject>\" <content-flag> [traceability flags]",
|
|
128
|
+
"",
|
|
129
|
+
"Kinds and content flags:",
|
|
130
|
+
" rule --rule \"<rule>\"",
|
|
131
|
+
" workflow --workflow \"<workflow>\"",
|
|
132
|
+
" permission --permission \"<permission>\"",
|
|
133
|
+
" term --term \"<term>\"",
|
|
134
|
+
" pitfall --note \"<note>\"",
|
|
135
|
+
" decision --note \"<note>\"",
|
|
136
|
+
" convention --note \"<note>\"",
|
|
137
|
+
"",
|
|
138
|
+
"Traceability flags:",
|
|
139
|
+
" --source <path> Source PRD/document path. Repeat by comma-separating values.",
|
|
140
|
+
" --coverage <item> Precise PRD section, table, rule, or acceptance block.",
|
|
141
|
+
" --anchor <text> PRD anchor text.",
|
|
142
|
+
" --verification <check> Verification guidance for this knowledge.",
|
|
143
|
+
" --scope <scope> Scope label. Comma-separated values are accepted.",
|
|
144
|
+
" --tags <tags> Tags. Comma-separated values are accepted.",
|
|
145
|
+
" --summary <summary> Override generated summary.",
|
|
146
|
+
" --status active|deprecated",
|
|
147
|
+
" --stability stable|evolving"
|
|
148
|
+
],
|
|
149
|
+
"knowledge module": [
|
|
150
|
+
"Usage:",
|
|
151
|
+
" frontend-harness knowledge module --json --id <kebab-id> --title \"<title>\" --summary \"<summary>\" --body \"<body>\" [traceability flags]",
|
|
152
|
+
"",
|
|
153
|
+
"Flags:",
|
|
154
|
+
" --id <kebab-id> Stable module id. Required when title slug is not sufficient.",
|
|
155
|
+
" --title <title> Module title.",
|
|
156
|
+
" --summary <summary> Short module summary.",
|
|
157
|
+
" --body <body> Durable module details.",
|
|
158
|
+
" --source <path> Source PRD/document path.",
|
|
159
|
+
" --coverage <item> Precise PRD coverage item.",
|
|
160
|
+
" --anchor <text> PRD anchor text.",
|
|
161
|
+
" --verification <check> Verification guidance.",
|
|
162
|
+
" --scope <scope> Scope label.",
|
|
163
|
+
" --tags <tags> Tags.",
|
|
164
|
+
" --related <ids> Related card ids, comma-separated.",
|
|
165
|
+
" --status active|deprecated",
|
|
166
|
+
" --stability stable|evolving"
|
|
167
|
+
],
|
|
168
|
+
"knowledge update": [
|
|
169
|
+
"Usage:",
|
|
170
|
+
" frontend-harness knowledge update --json (--id <knowledge-id> | --path <knowledge-path>) [metadata flags]",
|
|
171
|
+
"",
|
|
172
|
+
"Flags:",
|
|
173
|
+
" --title <title> --summary <summary> --body <body>",
|
|
174
|
+
" --rule <rule> --workflow <workflow> --permission <permission> --term <term> --note <note>",
|
|
175
|
+
" --source <path> --coverage <item> --anchor <text> --verification <check>",
|
|
176
|
+
" --scope <scope> --tags <tags> --related <ids>",
|
|
177
|
+
" --status active|deprecated --stability stable|evolving"
|
|
178
|
+
],
|
|
179
|
+
"knowledge promote": [
|
|
180
|
+
"Usage:",
|
|
181
|
+
" frontend-harness knowledge promote --json --title \"<title>\" --body \"<body>\" [--type <type>] [--source <path>] [--scope <scope>] [--tags <tags>]"
|
|
182
|
+
],
|
|
183
|
+
"knowledge search": [
|
|
184
|
+
"Usage:",
|
|
185
|
+
" frontend-harness knowledge search --json --query \"<query>\" [--limit <count>] [--include-deprecated]"
|
|
186
|
+
],
|
|
187
|
+
"knowledge show": [
|
|
188
|
+
"Usage:",
|
|
189
|
+
" frontend-harness knowledge show --json (--id <knowledge-id> | --path <knowledge-path>)"
|
|
190
|
+
],
|
|
191
|
+
proposal: [
|
|
192
|
+
"Usage:",
|
|
193
|
+
" frontend-harness proposal check --json --file <agent-proposal.json>"
|
|
194
|
+
],
|
|
195
|
+
repair: [
|
|
196
|
+
"Usage:",
|
|
197
|
+
" frontend-harness repair packet --json",
|
|
198
|
+
" frontend-harness repair decision check --json --file <repair-decision.json>"
|
|
199
|
+
],
|
|
200
|
+
"repair decision": [
|
|
201
|
+
"Usage:",
|
|
202
|
+
" frontend-harness repair decision check --json --file <repair-decision.json>"
|
|
203
|
+
],
|
|
204
|
+
scaffold: [
|
|
205
|
+
"Usage:",
|
|
206
|
+
" frontend-harness scaffold --preset vue --target <directory> [--dry-run] [--force] [--json]",
|
|
207
|
+
"",
|
|
208
|
+
"Flags:",
|
|
209
|
+
" --preset vue Scaffold preset.",
|
|
210
|
+
" --target <directory> Project-relative output directory.",
|
|
211
|
+
" --dry-run Report files without writing them.",
|
|
212
|
+
" --force Allow scaffolding into a non-empty target."
|
|
213
|
+
],
|
|
214
|
+
skills: [
|
|
215
|
+
"Usage:",
|
|
216
|
+
" frontend-harness skills list --json",
|
|
217
|
+
" frontend-harness skills check --json"
|
|
218
|
+
],
|
|
219
|
+
units: [
|
|
220
|
+
"Usage:",
|
|
221
|
+
" frontend-harness units check --json"
|
|
222
|
+
],
|
|
223
|
+
graph: [
|
|
224
|
+
"Usage:",
|
|
225
|
+
" frontend-harness graph check --json"
|
|
226
|
+
],
|
|
227
|
+
protocol: [
|
|
228
|
+
"Usage:",
|
|
229
|
+
" frontend-harness protocol check --json"
|
|
230
|
+
]
|
|
231
|
+
};
|
|
17
232
|
async function main() {
|
|
18
233
|
const rawArgs = process.argv.slice(2);
|
|
19
234
|
try {
|
|
20
235
|
const parsed = parseArgs(rawArgs);
|
|
236
|
+
if (isHelpRequest(parsed)) {
|
|
237
|
+
printHelp(parsed);
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
21
240
|
validateFlags(parsed);
|
|
22
241
|
const projectRoot = process.cwd();
|
|
23
242
|
switch (parsed.command) {
|
|
@@ -62,6 +281,9 @@ async function main() {
|
|
|
62
281
|
case "evidence":
|
|
63
282
|
handleEvidence(projectRoot, parsed);
|
|
64
283
|
return;
|
|
284
|
+
case "visual":
|
|
285
|
+
handleVisual(projectRoot, parsed);
|
|
286
|
+
return;
|
|
65
287
|
case "state":
|
|
66
288
|
handleState(projectRoot, parsed);
|
|
67
289
|
return;
|
|
@@ -110,15 +332,6 @@ async function main() {
|
|
|
110
332
|
process.exitCode = result.status === "failed" ? 1 : 0;
|
|
111
333
|
return;
|
|
112
334
|
}
|
|
113
|
-
case "agent":
|
|
114
|
-
case "run":
|
|
115
|
-
throw new Error("Agent runtime commands have been removed. Use context, plan, state, verify, repair, skills, knowledge, and protocol policy commands.");
|
|
116
|
-
case undefined:
|
|
117
|
-
case "help":
|
|
118
|
-
case "--help":
|
|
119
|
-
case "-h":
|
|
120
|
-
printHelp();
|
|
121
|
-
return;
|
|
122
335
|
default:
|
|
123
336
|
throw new Error(`Unknown command: ${parsed.command}`);
|
|
124
337
|
}
|
|
@@ -145,6 +358,21 @@ function handleEvidence(projectRoot, parsed) {
|
|
|
145
358
|
}
|
|
146
359
|
throw new Error("evidence requires subcommand: template or record");
|
|
147
360
|
}
|
|
361
|
+
function handleVisual(projectRoot, parsed) {
|
|
362
|
+
if (parsed.subcommand === "compare") {
|
|
363
|
+
const result = compareVisualArtifacts(projectRoot, {
|
|
364
|
+
...optionalString("design", parsed.flags["design"]),
|
|
365
|
+
...optionalString("actual", parsed.flags["actual"]),
|
|
366
|
+
...optionalString("diff", parsed.flags["diff"]),
|
|
367
|
+
...optionalString("report", parsed.flags["report"]),
|
|
368
|
+
...optionalNumber("threshold", parsed.flags["threshold"])
|
|
369
|
+
});
|
|
370
|
+
output(result, parsed.json);
|
|
371
|
+
process.exitCode = result.status === "failed" ? 1 : 0;
|
|
372
|
+
return;
|
|
373
|
+
}
|
|
374
|
+
throw new Error("visual requires subcommand: compare");
|
|
375
|
+
}
|
|
148
376
|
function handleState(projectRoot, parsed) {
|
|
149
377
|
if (parsed.subcommand === "explain") {
|
|
150
378
|
output(explainState(projectRoot), parsed.json);
|
|
@@ -243,6 +471,9 @@ function handleKnowledge(projectRoot, parsed) {
|
|
|
243
471
|
...optionalString("title", parsed.flags["title"]),
|
|
244
472
|
...optionalString("summary", parsed.flags["summary"]),
|
|
245
473
|
...optionalString("body", parsed.flags["body"]),
|
|
474
|
+
...optionalString("coverage", parsed.flags["coverage"]),
|
|
475
|
+
...optionalString("anchor", parsed.flags["anchor"]),
|
|
476
|
+
...optionalString("verification", parsed.flags["verification"]),
|
|
246
477
|
...optionalString("scope", parsed.flags["scope"]),
|
|
247
478
|
...optionalString("tags", parsed.flags["tags"]),
|
|
248
479
|
...optionalString("status", parsed.flags["status"]),
|
|
@@ -342,7 +573,7 @@ function parseArgs(args) {
|
|
|
342
573
|
positionals.push(arg);
|
|
343
574
|
}
|
|
344
575
|
}
|
|
345
|
-
const command =
|
|
576
|
+
const command = positionals[0];
|
|
346
577
|
return {
|
|
347
578
|
command,
|
|
348
579
|
subcommand: positionals[1],
|
|
@@ -353,16 +584,23 @@ function parseArgs(args) {
|
|
|
353
584
|
};
|
|
354
585
|
}
|
|
355
586
|
function validateFlags(parsed) {
|
|
356
|
-
|
|
587
|
+
const allowed = allowedFlags(parsed);
|
|
588
|
+
if (!allowed) {
|
|
357
589
|
return;
|
|
358
590
|
}
|
|
359
|
-
const allowed = allowedFlags(parsed);
|
|
360
591
|
for (const key of Object.keys(parsed.flags)) {
|
|
361
592
|
if (!allowed.has(key)) {
|
|
362
593
|
throw new Error(`Unsupported flag for ${parsed.command ?? "help"}: --${key}`);
|
|
363
594
|
}
|
|
364
595
|
}
|
|
365
596
|
}
|
|
597
|
+
function isHelpRequest(parsed) {
|
|
598
|
+
return Boolean(parsed.flags["help"])
|
|
599
|
+
|| parsed.command === undefined
|
|
600
|
+
|| parsed.command === "help"
|
|
601
|
+
|| parsed.command === "--help"
|
|
602
|
+
|| parsed.command === "-h";
|
|
603
|
+
}
|
|
366
604
|
function allowedFlags(parsed) {
|
|
367
605
|
const global = ["json", "help"];
|
|
368
606
|
const commandFlags = {
|
|
@@ -371,6 +609,7 @@ function allowedFlags(parsed) {
|
|
|
371
609
|
clean: ["dry-run", "keep-logs"],
|
|
372
610
|
plan: ["prd", "ui-source", "agent-proposal"],
|
|
373
611
|
verify: ["typecheck", "test", "build"],
|
|
612
|
+
visual: parsed.subcommand === "compare" ? ["design", "actual", "diff", "report", "threshold"] : [],
|
|
374
613
|
evidence: parsed.subcommand === "record" ? ["file"] : [],
|
|
375
614
|
state: parsed.subcommand === "record-change" ? ["from-git"] : [],
|
|
376
615
|
knowledge: knowledgeFlags(parsed.subcommand),
|
|
@@ -385,6 +624,9 @@ function allowedFlags(parsed) {
|
|
|
385
624
|
"--help": [],
|
|
386
625
|
"-h": []
|
|
387
626
|
};
|
|
627
|
+
if (parsed.command && !Object.prototype.hasOwnProperty.call(commandFlags, parsed.command)) {
|
|
628
|
+
return null;
|
|
629
|
+
}
|
|
388
630
|
return new Set([...global, ...(parsed.command ? commandFlags[parsed.command] ?? [] : [])]);
|
|
389
631
|
}
|
|
390
632
|
function knowledgeFlags(subcommand) {
|
|
@@ -397,7 +639,7 @@ function knowledgeFlags(subcommand) {
|
|
|
397
639
|
case "promote":
|
|
398
640
|
return ["title", "body", "type", ...lifecycle];
|
|
399
641
|
case "module":
|
|
400
|
-
return ["id", "title", "summary", "body", "related", ...lifecycle];
|
|
642
|
+
return ["id", "title", "summary", "body", "related", ...traceability, ...lifecycle];
|
|
401
643
|
case "update":
|
|
402
644
|
return ["id", "path", "title", "summary", "body", "related", ...atomicContent, ...traceability, ...lifecycle];
|
|
403
645
|
case "list":
|
|
@@ -451,6 +693,20 @@ function renderHuman(value) {
|
|
|
451
693
|
...verification.results.map((item) => `- ${String(item.name ?? "verification")}: ${String(item.status ?? "unknown")} (${String(item.exitCode ?? "n/a")})`)
|
|
452
694
|
].join("\n");
|
|
453
695
|
}
|
|
696
|
+
if ("comparisonTool" in value && "score" in value) {
|
|
697
|
+
const comparison = value;
|
|
698
|
+
return [
|
|
699
|
+
`status: ${String(comparison.status ?? "unknown")}`,
|
|
700
|
+
`score: ${String(comparison.score ?? "unknown")}`,
|
|
701
|
+
`threshold: ${String(comparison.threshold ?? "unknown")}`,
|
|
702
|
+
`changedPixels: ${String(comparison.changedPixels ?? "unknown")}`,
|
|
703
|
+
`changedRatio: ${String(comparison.changedRatio ?? "unknown")}`,
|
|
704
|
+
`diffPath: ${String(comparison.diffPath ?? "unknown")}`,
|
|
705
|
+
...(Array.isArray(comparison.limitations) && comparison.limitations.length
|
|
706
|
+
? [`limitations: ${comparison.limitations.map((item) => String(item)).join(" ")}`]
|
|
707
|
+
: [])
|
|
708
|
+
].join("\n");
|
|
709
|
+
}
|
|
454
710
|
if ("action" in value && "stateStatus" in value) {
|
|
455
711
|
const next = value;
|
|
456
712
|
return [
|
|
@@ -593,8 +849,16 @@ function renderCheck(value, countKey) {
|
|
|
593
849
|
}
|
|
594
850
|
return lines.join("\n");
|
|
595
851
|
}
|
|
596
|
-
function printHelp() {
|
|
597
|
-
console.log(["frontend-harness", "", ...
|
|
852
|
+
function printHelp(parsed) {
|
|
853
|
+
console.log(["frontend-harness", "", ...helpLinesFor(parsed)].join("\n"));
|
|
854
|
+
}
|
|
855
|
+
function helpLinesFor(parsed) {
|
|
856
|
+
if (!parsed || !parsed.command || ["help", "--help", "-h"].includes(parsed.command)) {
|
|
857
|
+
return publicHelpLines();
|
|
858
|
+
}
|
|
859
|
+
const key = [parsed.command, parsed.subcommand, parsed.positionals[2]].filter(Boolean).join(" ");
|
|
860
|
+
const commandHelp = COMMAND_HELP[key] ?? COMMAND_HELP[parsed.command];
|
|
861
|
+
return commandHelp ?? publicHelpLines();
|
|
598
862
|
}
|
|
599
863
|
function stringFlag(value) {
|
|
600
864
|
return typeof value === "string" ? value : undefined;
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|