@adia-ai/adia-ui-forge 0.1.2 → 0.1.3
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/.claude-plugin/plugin.json +2 -2
- package/CHANGELOG.md +8 -0
- package/agents/README.md +209 -0
- package/agents/a2ui-engineer.md +57 -0
- package/agents/author.md +56 -0
- package/agents/release-engineer.md +85 -0
- package/agents/repo-steward.md +56 -0
- package/agents/routing-corpus.json +89 -0
- package/agents/spec-architect.md +53 -0
- package/agents/tech-lead.md +57 -0
- package/agents/verifier.md +55 -0
- package/package.json +3 -2
- package/skills/adia-ui-authoring/SKILL.md +2 -2
- package/skills/adia-ui-authoring/assets/case-studies/theme-panel-promotion.md +1 -1
- package/skills/adia-ui-authoring/references/module-promotion.md +2 -2
- package/skills/adia-ui-gen-review/skill.json +1 -0
- package/skills/adia-ui-ops/CHANGELOG.md +291 -0
- package/skills/adia-ui-ops/SKILL.md +401 -0
- package/skills/adia-ui-ops/references/INDEX.md +158 -0
- package/skills/adia-ui-ops/references/audit-cadence.md +263 -0
- package/skills/adia-ui-ops/references/audit-patterns/archive-link-sweep.md +96 -0
- package/skills/adia-ui-ops/references/audit-patterns/audit-history-ledger.md +162 -0
- package/skills/adia-ui-ops/references/audit-patterns/browser-bundle-node-imports.md +154 -0
- package/skills/adia-ui-ops/references/audit-patterns/changelog-unreleased-bloat.md +75 -0
- package/skills/adia-ui-ops/references/audit-patterns/coverage-gaps.md +187 -0
- package/skills/adia-ui-ops/references/audit-patterns/entry-file-coverage.md +122 -0
- package/skills/adia-ui-ops/references/audit-patterns/format-hygiene.md +217 -0
- package/skills/adia-ui-ops/references/audit-patterns/lockstep-versioning.md +113 -0
- package/skills/adia-ui-ops/references/audit-patterns/memory-fragmentation.md +180 -0
- package/skills/adia-ui-ops/references/audit-patterns/orphan-detection.md +202 -0
- package/skills/adia-ui-ops/references/audit-patterns/pointer-validation.md +180 -0
- package/skills/adia-ui-ops/references/audit-patterns/redundancy-detection.md +210 -0
- package/skills/adia-ui-ops/references/audit-patterns/spec-dating-sweep.md +91 -0
- package/skills/adia-ui-ops/references/audit-patterns/stale-content.md +182 -0
- package/skills/adia-ui-ops/references/audit-patterns/staleness-tooling.md +156 -0
- package/skills/adia-ui-ops/references/audit-patterns/token-waste-detection.md +196 -0
- package/skills/adia-ui-ops/references/deploy-playbooks.md +259 -0
- package/skills/adia-ui-ops/references/doc-types/adr-pattern.md +210 -0
- package/skills/adia-ui-ops/references/doc-types/architecture-md.md +190 -0
- package/skills/adia-ui-ops/references/doc-types/changelog.md +183 -0
- package/skills/adia-ui-ops/references/doc-types/decisions-log.md +146 -0
- package/skills/adia-ui-ops/references/doc-types/plan-roadmap.md +182 -0
- package/skills/adia-ui-ops/references/doc-types/postmortem-pattern.md +206 -0
- package/skills/adia-ui-ops/references/genres/prose-and-writing.md +149 -0
- package/skills/adia-ui-ops/references/guidance/context-budget.md +137 -0
- package/skills/adia-ui-ops/references/guidance/llm-doc-writing.md +116 -0
- package/skills/adia-ui-ops/references/guidance/reliability-dial.md +186 -0
- package/skills/adia-ui-ops/references/recipes/adr-introduction.md +211 -0
- package/skills/adia-ui-ops/references/recipes/audit-existing-repo.md +234 -0
- package/skills/adia-ui-ops/references/recipes/cold-start-harvest.md +263 -0
- package/skills/adia-ui-ops/references/recipes/concurrent-learnings-merge.md +158 -0
- package/skills/adia-ui-ops/references/recipes/continuous-learning-loop.md +169 -0
- package/skills/adia-ui-ops/references/recipes/external-reference-verification.md +158 -0
- package/skills/adia-ui-ops/references/recipes/findings-index-readout.md +126 -0
- package/skills/adia-ui-ops/references/recipes/greenfield-setup.md +252 -0
- package/skills/adia-ui-ops/references/recipes/harvest-repo-brain.md +169 -0
- package/skills/adia-ui-ops/references/recipes/import-repo-brain-harvest.md +153 -0
- package/skills/adia-ui-ops/references/recipes/memory-organization.md +182 -0
- package/skills/adia-ui-ops/references/recipes/recommend-then-validate.md +199 -0
- package/skills/adia-ui-ops/references/recipes/self-healing-hooks.md +366 -0
- package/skills/adia-ui-ops/references/recipes/skill-stewardship-loop.md +113 -0
- package/skills/adia-ui-ops/references/standards/agents-md-spec.md +138 -0
- package/skills/adia-ui-ops/references/standards/claude-md-convention.md +123 -0
- package/skills/adia-ui-ops/references/standards/cross-tool-matrix.md +85 -0
- package/skills/adia-ui-ops/references/standards/readme-conventions.md +232 -0
- package/skills/adia-ui-ops/references/teach-protocol.md +215 -0
- package/skills/adia-ui-ops/scripts/audit-ops-roster.mjs +104 -0
- package/skills/adia-ui-ops/skill.json +65 -0
- package/skills/adia-ui-release/CHANGELOG.md +43 -0
- package/skills/adia-ui-release/SKILL.md +34 -6
- package/skills/adia-ui-release/references/independent-package-release.md +129 -0
- package/skills/adia-ui-release/references/recovery-paths.md +49 -2
- package/skills/adia-ui-release/scripts/dispatch-publish.mjs +68 -5
- package/skills/adia-ui-release/scripts/insert-stub.mjs +5 -3
- package/skills/adia-ui-release/scripts/make-ledger.mjs +22 -1
- package/skills/adia-ui-release/scripts/package-paths.mjs +44 -0
- package/skills/adia-ui-release/scripts/promote-unreleased.mjs +3 -2
- package/skills/adia-ui-release/scripts/release-pack.mjs +36 -7
- package/skills/adia-ui-release/scripts/tag-lockstep.mjs +10 -2
- package/skills/adia-ui-release/skill.json +9 -7
- package/skills/dogfood-sweep/CHANGELOG.md +37 -0
- package/skills/dogfood-sweep/README.md +105 -0
- package/skills/dogfood-sweep/SKILL.md +1000 -0
- package/skills/dogfood-sweep/analyze.mjs +600 -0
- package/skills/dogfood-sweep/skill.json +31 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Dogfooding analyzer
|
|
2
|
+
|
|
3
|
+
Walks every `/site/components/*` demo page in headless Chromium and runs
|
|
4
|
+
visual-correctness probes that type-checks and tests don't catch:
|
|
5
|
+
|
|
6
|
+
| # | Probe | Bug class it detects |
|
|
7
|
+
|---|-------|----------------------|
|
|
8
|
+
| 1 | Zero-area | Element collapsed (parent `display:none`, toolbar overflow spilled it, layout glitch) |
|
|
9
|
+
| 2 | Transparent fill | `[data-swatch]` / variant pill / button / chart indicator whose computed bg is `rgba(0,0,0,0)` — fallback token doesn't resolve (the chart-legend `--chart-N` class) |
|
|
10
|
+
| 3 | Empty control | `input-ui` / `search-ui` / `button-ui` / `select-ui` / `tag-ui` whose `connected()` should have stamped internals but didn't |
|
|
11
|
+
| 4 | Synonym-attr / synonym-slot drift | Markers from `docs/conventions/attribute-api-migration.md` (`avatar-ui[name]`, `grid-ui[cols]`, `card-ui [slot=meta]`, etc.) |
|
|
12
|
+
| 5 | Alert flex-row | `alert-ui` with multiple bare `<text-ui>` children (need `<col-ui slot="content">` wrap) |
|
|
13
|
+
| 6 | Console | Every `console.error` + `console.warn` during page load + 800ms settling |
|
|
14
|
+
|
|
15
|
+
Output: severity-ranked markdown report at
|
|
16
|
+
`docs/reports/dogfooding-YYYY-MM-DD.md`.
|
|
17
|
+
|
|
18
|
+
## Run locally
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# Terminal 1
|
|
22
|
+
npm run dev
|
|
23
|
+
|
|
24
|
+
# Terminal 2
|
|
25
|
+
node .agents/skills/dogfood-sweep/analyze.mjs # full sweep (~82 pages)
|
|
26
|
+
node .agents/skills/dogfood-sweep/analyze.mjs --filter chart-legend # one page
|
|
27
|
+
node .agents/skills/dogfood-sweep/analyze.mjs --port 5174 # custom port
|
|
28
|
+
node .agents/skills/dogfood-sweep/analyze.mjs --out /tmp/r.md # custom path
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Exit code: **1** if any **critical** findings, **0** otherwise. CI-friendly.
|
|
32
|
+
|
|
33
|
+
## Schedule as a remote agent
|
|
34
|
+
|
|
35
|
+
The script is the data gatherer. The remote agent wraps it with git
|
|
36
|
+
orchestration: clone repo, start dev server, run script, triage findings,
|
|
37
|
+
commit/PR.
|
|
38
|
+
|
|
39
|
+
Agent prompt (use `/schedule` skill to register; weekly cadence
|
|
40
|
+
recommended — pages drift slowly):
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
You are the AdiaUI dogfooding agent. Your job is to find visual bugs in
|
|
44
|
+
the component demo pages that type-checks miss.
|
|
45
|
+
|
|
46
|
+
1. `npm install --frozen-lockfile`
|
|
47
|
+
2. Start the dev server in the background:
|
|
48
|
+
npm run dev > /tmp/vite.log 2>&1 &
|
|
49
|
+
Wait for "ready" in /tmp/vite.log (max 30s).
|
|
50
|
+
3. `node .agents/skills/dogfood-sweep/analyze.mjs`
|
|
51
|
+
The script writes `docs/reports/dogfooding-YYYY-MM-DD.md` and exits
|
|
52
|
+
non-zero iff any critical findings.
|
|
53
|
+
4. Read the report. For each *critical* finding, evaluate independently:
|
|
54
|
+
- Is the diagnosis right? (cross-check with component source)
|
|
55
|
+
- Is the fix mechanical and unambiguous?
|
|
56
|
+
- Does memory or `attribute-api-migration.md` already document the
|
|
57
|
+
pattern?
|
|
58
|
+
5. If yes to all three → apply the fix, run the verification gate
|
|
59
|
+
(`node scripts/build/components.mjs --verify && npm run test:a2ui`),
|
|
60
|
+
and include the diff in the PR.
|
|
61
|
+
6. If the diagnosis is right but the fix is non-trivial → leave it for
|
|
62
|
+
a human, just file the report.
|
|
63
|
+
7. Open a PR titled "dogfood: <date> — <N> critical, <M> warning":
|
|
64
|
+
- body = first 100 lines of the report
|
|
65
|
+
- link to the full report file
|
|
66
|
+
- if you applied any fixes, list them as a checklist
|
|
67
|
+
8. If 0 critical and 0 warning, still commit the report file (under
|
|
68
|
+
`docs/reports/`) so we have a paper trail of "things were fine".
|
|
69
|
+
9. Stop the dev server before exiting.
|
|
70
|
+
|
|
71
|
+
Hard rules:
|
|
72
|
+
- Never touch `packages/web-components/components/avatar/avatar.js:48`
|
|
73
|
+
(the deprecation handler string) when sweeping `<avatar-ui name=…>`.
|
|
74
|
+
- Never edit `MIGRATION GUIDE.md` historic sections; only the active
|
|
75
|
+
v0.0.X section.
|
|
76
|
+
- Don't fix more than 5 critical findings in one PR — leave the rest
|
|
77
|
+
for follow-up so humans can review fix shape before scaling.
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Register via `/schedule weekly node .agents/skills/dogfood-sweep/analyze.mjs` or
|
|
81
|
+
hand-author with the agent prompt above.
|
|
82
|
+
|
|
83
|
+
## False positives + tuning
|
|
84
|
+
|
|
85
|
+
The probes are intentionally narrow. Known places where "transparent
|
|
86
|
+
fill" is by design (and shouldn't be added to `COLORED_SELECTORS`):
|
|
87
|
+
|
|
88
|
+
- `tag-ui` without a variant (`muted` / default) — bg is correctly
|
|
89
|
+
`--a-bg-muted`, not transparent.
|
|
90
|
+
- `button-ui[variant=ghost]` — transparent by design.
|
|
91
|
+
- `[data-swatch]` for `chart-legend-ui[shape=dashed]` — intentionally
|
|
92
|
+
transparent bg + colored `border-top`. The probe handles this case.
|
|
93
|
+
|
|
94
|
+
If a finding is a known false positive, add the parent component or
|
|
95
|
+
selector to the skip-list rather than removing it from
|
|
96
|
+
`COLORED_SELECTORS` (preserves coverage on the canonical case).
|
|
97
|
+
|
|
98
|
+
## When to revisit the probe set
|
|
99
|
+
|
|
100
|
+
- New component ships → add to `STAMP_CONTRACTS` if it has internal
|
|
101
|
+
stamping logic.
|
|
102
|
+
- New synonym-attribute drift class documented in
|
|
103
|
+
`attribute-api-migration.md` → add to `DRIFT_MARKERS`.
|
|
104
|
+
- A class of bugs slips past the analyzer in a real PR → add a probe
|
|
105
|
+
for that bug class first, *then* fix it. Test for the test.
|