@ryuxdsgn/design-intelligence 2.19.0 → 2.19.2
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/dist/intelligence/guides.js +6 -2
- package/dist/scan.js +8 -3
- package/package.json +1 -1
|
@@ -281,8 +281,12 @@ workflow (SKILL.md); Frame, Explore, and Evaluate happen in Design.
|
|
|
281
281
|
used (where components, state, pure logic, and data access live), and the test runner
|
|
282
282
|
(knowledge/frontend.md, knowledge/design-system.md). Reuse before creating.
|
|
283
283
|
2. **Find the design source**: the Design Direction, a Figma or pen.dev design, a DESIGN.md, or an
|
|
284
|
-
approved mockup; it is the spec. If there is none, run Design's
|
|
285
|
-
|
|
284
|
+
approved mockup; it is the spec. If there is none, run Design's stages 1-4 first
|
|
285
|
+
(capabilities/design.md) instead of inventing one in code. Stage 1's questions come first even
|
|
286
|
+
when the request is a quick build or a working prototype: ask the ones whose answers change what
|
|
287
|
+
gets built (a product rule such as fees, refunds, or what happens on failure; the market; the
|
|
288
|
+
data), at most three, in one message, and wait. A prototype may skip only the choice between
|
|
289
|
+
directions: build the recommended one and name the alternatives you did not build.
|
|
286
290
|
A screenshot or another product's page is a reference, not the spec, unless the user asks to
|
|
287
291
|
recreate it ("recreate", "match this", "samakan"). Then match it, let QA compare at the same
|
|
288
292
|
viewport, and still leave out another product's brand, logo, and content (RX-AS-11). With no word
|
package/dist/scan.js
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
// contents, returns findings, no LLM and no network. Each detector names the RX rule it checks; the
|
|
3
3
|
// rule text stays in intelligence/content.ts. "fail" is for a pattern that is wrong wherever it
|
|
4
4
|
// appears; "warn" is for a signal a person or agent should look at.
|
|
5
|
+
const INDONESIAN = /\blang=["']id\b|\bid-ID\b|\blocale\s*[:=]\s*["'`]id\b|\bRp\.?\s?\d|\b(?:yang|untuk|tidak|silakan|pesanan|belum)\b/;
|
|
6
|
+
const TEST_FILE = /(?:^|\/)(?:tests?|__tests__)\/|\.(?:test|spec)\.[cm]?[jt]sx?$/;
|
|
5
7
|
/** What `ryux scan <url>` measures on the rendered page (cli/page-probe.ts), for --list-rules and the
|
|
6
8
|
* rule text. */
|
|
7
9
|
export const RENDER_CHECKS = [
|
|
@@ -92,9 +94,9 @@ export const DETECTORS = [
|
|
|
92
94
|
{
|
|
93
95
|
rule: "RX-CD-09",
|
|
94
96
|
level: "warn",
|
|
95
|
-
looksFor: "dates as 10/02/2026 and times as 2:30 PM in copy",
|
|
97
|
+
looksFor: "dates as 10/02/2026 and times as 2:30 PM in Indonesian copy (lang id, id-ID, Rupiah, or Indonesian words in the folder); test files are skipped",
|
|
96
98
|
exts: CODE,
|
|
97
|
-
find: ({ text }) => matches(text, [
|
|
99
|
+
find: ({ path, text }, ctx) => TEST_FILE.test(path) || !(ctx.indonesian ?? INDONESIAN.test(text)) ? [] : matches(text, [
|
|
98
100
|
[/(?<![\d/])\d{1,2}\/\d{1,2}\/\d{4}(?![\d/])/, (m) => `"${m[0]}": in Indonesian copy write 2 Okt 2026 (other markets follow their locale)`],
|
|
99
101
|
[/\b\d{1,2}[:.]\d{2}\s?(?:AM|PM|am|pm)\b/, (m) => `"${m[0]}": in Indonesian copy write 14.30 in 24-hour form (other markets follow their locale)`],
|
|
100
102
|
]),
|
|
@@ -318,7 +320,10 @@ function lineCol(raw, index) {
|
|
|
318
320
|
/** Run every detector over the sources. Findings are ordered by file, then line. */
|
|
319
321
|
export function scanSources(sources, opts) {
|
|
320
322
|
const ctx = opts.folder
|
|
321
|
-
? {
|
|
323
|
+
? {
|
|
324
|
+
reducedMotion: sources.some((s) => /prefers-reduced-motion|motion-(?:reduce|safe):|useReducedMotion|reducedMotion/.test(s.text)),
|
|
325
|
+
indonesian: sources.some((s) => !TEST_FILE.test(s.path) && INDONESIAN.test(s.text)),
|
|
326
|
+
}
|
|
322
327
|
: {};
|
|
323
328
|
const findings = [];
|
|
324
329
|
for (const src of sources) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ryuxdsgn/design-intelligence",
|
|
3
|
-
"version": "2.19.
|
|
3
|
+
"version": "2.19.2",
|
|
4
4
|
"description": "RYUX: design intelligence for AI agents and designers. One skill, five entry points: Analyze, Design, Build, Critique, and QA, for Claude Code, Codex, Cursor, Gemini CLI, OpenCode, Cline, Copilot, and more.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|