yadflow 4.2.0 → 4.4.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 +54 -0
- package/README.md +2 -1
- package/bin/commands.mjs +2 -2
- package/bin/yad.mjs +31 -15
- package/cli/detect.mjs +2 -2
- package/cli/docs.mjs +1 -1
- package/cli/doctor.mjs +75 -3
- package/cli/epic-state.mjs +121 -24
- package/cli/epic.mjs +7 -5
- package/cli/find-product.mjs +24 -0
- package/cli/next.mjs +21 -9
- package/cli/recommend.mjs +301 -0
- package/cli/reconcile.mjs +19 -3
- package/cli/setup.mjs +14 -4
- package/cli/skill.mjs +263 -63
- package/cli/toolbox.mjs +479 -26
- package/cli/workspace.mjs +9 -1
- package/package.json +1 -1
- package/skills/sdlc/config.yaml +1 -1
- package/skills/sdlc/module-help.csv +1 -1
- package/skills/yad-backfill/SKILL.md +40 -7
- package/skills/yad-backfill/references/backfill.md +5 -4
- package/skills/yad-change/SKILL.md +1 -1
- package/skills/yad-connect-design/SKILL.md +16 -0
- package/skills/yad-connect-learning/SKILL.md +14 -0
- package/skills/yad-connect-repos/SKILL.md +34 -5
- package/skills/yad-connect-repos/references/code-context.md +5 -5
- package/skills/yad-connect-testing/SKILL.md +20 -0
- package/skills/yad-docs/SKILL.md +1 -1
- package/skills/yad-epic/references/state-schema.md +10 -2
- package/skills/yad-learn/SKILL.md +14 -0
- package/skills/yad-run/SKILL.md +7 -4
- package/skills/yad-run/references/run-loop.md +2 -1
- package/skills/yad-spec/SKILL.md +37 -6
- package/skills/yad-spec/references/spec-handoff.md +2 -2
- package/skills/yad-test-cases/SKILL.md +20 -0
- package/skills/yad-ui/SKILL.md +36 -3
package/skills/yad-ui/SKILL.md
CHANGED
|
@@ -12,7 +12,7 @@ screens and/or web pages — inside that tool (e.g. Figma), linked back from the
|
|
|
12
12
|
passes to `yad-review-gate` (base rule: 1 distinct approver, who should not be the author).
|
|
13
13
|
|
|
14
14
|
UI work is shaped by **Impeccable**, invoked as **harness slash-commands** (not a subprocess CLI) per
|
|
15
|
-
the Phase 0 deviation. If Impeccable is not
|
|
15
|
+
the Phase 0 deviation. If Impeccable is not used (**When a tool is missing** below), the `ux-designer` lens authors the same outputs
|
|
16
16
|
directly — the workflow does not block on the tool.
|
|
17
17
|
|
|
18
18
|
The visual design is materialized in the **design tool connected via `yad-connect-design`**
|
|
@@ -21,6 +21,38 @@ The visual design is materialized in the **design tool connected via `yad-connec
|
|
|
21
21
|
is connected, the step degrades to the Markdown artifacts only — the design tool is additive, exactly
|
|
22
22
|
like Impeccable.
|
|
23
23
|
|
|
24
|
+
## When a tool is missing
|
|
25
|
+
|
|
26
|
+
<!-- Written from yadflow's cli/toolbox.mjs (E87). Change the words there: a test holds this section to it. -->
|
|
27
|
+
|
|
28
|
+
No tool below is required. When one is missing, this skill still finishes, using the fallback written
|
|
29
|
+
beside it.
|
|
30
|
+
|
|
31
|
+
For Impeccable (the one tool here that is not a connector), decide from yad's answer, not from a guess:
|
|
32
|
+
run `yad toolbox list --json` and read, in its `tools` list, the entry with the tool's `id`. Run it
|
|
33
|
+
where the tool will run: for work inside a code repo, add `--dir <that repo>`, so the tools installed
|
|
34
|
+
there are found.
|
|
35
|
+
|
|
36
|
+
- **The team's choices.** They come from the Product. If the answer's `product` is null, yad found no
|
|
37
|
+
Product, so a tool the team chose not to use still shows `used: true`. Tell the person that.
|
|
38
|
+
- **When yad cannot see the tool.** yad does not read every way a tool can be set up (an older install
|
|
39
|
+
may be missed). If the entry says `missing` but the check in the steps below finds the tool, use
|
|
40
|
+
it — but never when the entry says `used: false`.
|
|
41
|
+
- **When yad cannot answer** (yad is not installed here, or the command fails), use the check in the
|
|
42
|
+
steps below.
|
|
43
|
+
|
|
44
|
+
Tell the person which tools you used and which fallbacks, and why.
|
|
45
|
+
|
|
46
|
+
- **Impeccable** (`impeccable`). Use it when its entry has `used: true` and `status.state` is `installed` or `available`. Otherwise — not found, its plugin turned off in Claude Code, or the team chose not to use it (`yad toolbox remove impeccable`) — use the fallback.
|
|
47
|
+
- Fallback — markdown-only UI design: yad-ui writes ui-design.md and DESIGN.md directly.
|
|
48
|
+
- Record `impeccable: not-installed`. It means the tool was not used, whatever the reason.
|
|
49
|
+
- **Figma** (`figma`, a connector). Used when `.sdlc/design.json` connects it. yad-connect-design writes that file; follow it, not yad's toolbox answer.
|
|
50
|
+
- Fallback — markdown-only: yad-ui writes ui-design.md and DESIGN.md only.
|
|
51
|
+
- **Pencil (pen.dev)** (`pencil`, a connector). Used when `.sdlc/design.json` connects it. yad-connect-design writes that file; follow it, not yad's toolbox answer.
|
|
52
|
+
- Fallback — markdown-only: yad-ui writes ui-design.md and DESIGN.md only.
|
|
53
|
+
|
|
54
|
+
<!-- end: When a tool is missing -->
|
|
55
|
+
|
|
24
56
|
## Conventions
|
|
25
57
|
|
|
26
58
|
- `{project-root}` resolves from the project working directory.
|
|
@@ -84,7 +116,7 @@ Read the registry `{project-root}/.sdlc/repos.json` (`config.yaml` `code_context
|
|
|
84
116
|
`epic.repos`**, load the code-map `{project-root}/.sdlc/code-context/<repo>/code-map.md` so the UI
|
|
85
117
|
**reuses existing components and conventions** rather than inventing parallel ones. This complements
|
|
86
118
|
Impeccable's `/impeccable document` (Step 3), which reads code directly for the design system — when
|
|
87
|
-
Impeccable is
|
|
119
|
+
Impeccable is not used, the code-map is the brain's view of what UI/components already exist.
|
|
88
120
|
|
|
89
121
|
- **Greenfield-safe:** if `repos.json` is absent/empty, note "no repos connected" and proceed.
|
|
90
122
|
- **Staleness:** if a repo's current HEAD ≠ its registry `syncedHead`, warn and suggest
|
|
@@ -102,7 +134,8 @@ Adopt the **ux-designer** lens. Drive Impeccable as slash-commands:
|
|
|
102
134
|
`/impeccable document` generates the root `DESIGN.md` from existing code; `/impeccable extract` pulls
|
|
103
135
|
components/tokens into the design system; `/impeccable craft` is shape-then-build for the new screens.
|
|
104
136
|
|
|
105
|
-
**Graceful degradation:** if Impeccable is not
|
|
137
|
+
**Graceful degradation:** if Impeccable is not used (**When a tool is missing** says how to tell; if
|
|
138
|
+
yad cannot answer, it is not used when no `/impeccable …` commands are available), the
|
|
106
139
|
`ux-designer` lens authors `ui-design.md` and `DESIGN.md` directly, and you **note in `ui-design.md`
|
|
107
140
|
that Impeccable was not used**. Do not run `npx impeccable skills install` as part of this step — tool
|
|
108
141
|
installation is out of scope for Shape.
|