@worldresources/wri-design-systems 2.196.0 → 2.196.1

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/README.md CHANGED
@@ -46,23 +46,21 @@ ds setup-ai
46
46
 
47
47
  This will:
48
48
 
49
- - Install / update AI instruction files (these may be overwritten):
50
- - `AGENTS.md` content distributed as: `CLAUDE.md`, `GEMINI.md`, `.geminirules`
51
49
  - Configure IDE integrations when detected:
52
50
  - Cursor: writes `.cursor/rules` and creates `.cursor/mcp.json` (skips if it already exists)
53
- - VS Code / GitHub Copilot: writes `.github/copilot-instructions.md` and creates `.vscode/mcp.json` (skips if it already exists)
51
+ - VS Code / GitHub Copilot: writes `.github/copilot-instructions.md`, `.github/instructions/wri-ds.instructions.md` (if available), and creates `.vscode/mcp.json` (skips if it already exists)
54
52
  - Windsurf: writes `.windsurfrules`
55
53
  - Cline: writes `.clinerules`
54
+ - Automatically install helper skills:
55
+ - Copies the `ds-ui-creator` skill into `.gemini/skills/ds-ui-creator` and `.claude/skills/ds-ui-creator`
56
56
  - Ensure a `.gitignore` block is present (creates `.gitignore` if missing; appends once and never duplicates):
57
- - `CLAUDE.md`
58
57
  - `.windsurfrules`
59
58
  - `.clinerules`
60
59
  - `.github/copilot-instructions.md`
60
+ - `.github/instructions/wri-ds.instructions.md`
61
61
  - `.cursor/rules`
62
62
  - `.cursor/mcp.json`
63
63
  - `.vscode/mcp.json`
64
- - `GEMINI.md`
65
- - `.geminirules`
66
64
 
67
65
  Optional: run it against a specific path:
68
66
 
@@ -516,12 +514,10 @@ If you are unsure, choose `minor` and leave a note in the PR for review.
516
514
 
517
515
  ## PR Description With AI Skill
518
516
 
519
- To get a solid PR description quickly, use the `pr-documentation` skill in your AI-enabled editor.
517
+ To get a solid PR description quickly, use the [`pr-description`](agents/skills/pr-description/SKILL.md) skill in your AI-enabled editor.
520
518
 
521
519
  1. Ensure your branch is up to date and run:
522
520
  `git diff main...HEAD`
523
- 2. Ask the assistant to use `pr-documentation` and summarize the current PR changes. Or ask "create a PR description for my changes"
521
+ 2. Ask the assistant to use `pr-description` and summarize the current PR changes. Or ask "create a PR description for my changes"
524
522
  3. Paste the generated result into the PR description using this structure:
525
523
  `## What`, `## Why`, `## Changes`.
526
-
527
- The `pr-documentation` skill is defined at [`.gemini/skills/pr-documentation/SKILL.md`](.gemini/skills/pr-documentation/SKILL.md) and [`.claude/skills/pr-documentation/SKILL.md`](.claude/skills/pr-documentation/SKILL.md) and is tailored for this repository workflow.
@@ -10,6 +10,7 @@ import {
10
10
  writeFileSync,
11
11
  readFileSync,
12
12
  readdirSync,
13
+ cpSync,
13
14
  } from 'fs'
14
15
  import { join, dirname, relative, resolve } from 'path'
15
16
  import { execSync } from 'child_process'
@@ -75,13 +76,36 @@ function writeJSON(dest, label, content) {
75
76
  installed.push(`${label} → ${relative(ROOT, dest)}`)
76
77
  }
77
78
 
79
+ function installSkill(skillName) {
80
+ const srcDir = join(__dirname, 'skills', skillName)
81
+ if (!existsSync(srcDir)) {
82
+ skipped.push(`Skill ${skillName} (source not found)`)
83
+ return
84
+ }
85
+
86
+ // Install for Gemini/Antigravity
87
+ const destGeminiDir = join(ROOT, '.gemini', 'skills', skillName)
88
+ mkdirSync(destGeminiDir, { recursive: true })
89
+ cpSync(srcDir, destGeminiDir, { recursive: true })
90
+ installed.push(
91
+ `Gemini Skill: ${skillName} → ${relative(ROOT, destGeminiDir)}`,
92
+ )
93
+
94
+ // Install for Claude
95
+ const destClaudeDir = join(ROOT, '.claude', 'skills', skillName)
96
+ mkdirSync(destClaudeDir, { recursive: true })
97
+ cpSync(srcDir, destClaudeDir, { recursive: true })
98
+ installed.push(
99
+ `Claude Skill: ${skillName} → ${relative(ROOT, destClaudeDir)}`,
100
+ )
101
+ }
102
+
78
103
  function ensureGitignoreBlock() {
79
104
  const gitignorePath = join(ROOT, '.gitignore')
80
105
  const marker =
81
106
  '# AI setup — generated by agents/setup-ai.js (npx ds setup-ai)'
82
107
  const blockLines = [
83
108
  marker,
84
- 'CLAUDE.md',
85
109
  '.windsurfrules',
86
110
  '.clinerules',
87
111
  '.github/copilot-instructions.md',
@@ -89,8 +113,6 @@ function ensureGitignoreBlock() {
89
113
  '.cursor/rules',
90
114
  '.cursor/mcp.json',
91
115
  '.vscode/mcp.json',
92
- 'GEMINI.md',
93
- '.geminirules',
94
116
  ]
95
117
  const block = blockLines.join('\n') + '\n'
96
118
 
@@ -153,15 +175,6 @@ const mcpVSCode = {
153
175
  },
154
176
  }
155
177
 
156
- // ── IDE detection & file installation ────────────────────────────
157
-
158
- // Claude Code — always write CLAUDE.md (Claude Code reads both AGENTS.md and CLAUDE.md)
159
- installFile(join(ROOT, 'CLAUDE.md'), 'Claude Code')
160
-
161
- // Gemini — always write GEMINI.md and .geminirules for Gemini-based agents
162
- installFile(join(ROOT, 'GEMINI.md'), 'Gemini')
163
- installFile(join(ROOT, '.geminirules'), 'Gemini (rules)')
164
-
165
178
  // Cursor
166
179
  const hasCursor =
167
180
  pathExists(HOME, '.cursor') ||
@@ -219,6 +232,9 @@ if (hasCline) {
219
232
  skipped.push('Cline (not detected)')
220
233
  }
221
234
 
235
+ // Skills
236
+ installSkill('ds-ui-creator')
237
+
222
238
  ensureGitignoreBlock()
223
239
 
224
240
  // ── Summary ───────────────────────────────────────────────────────
@@ -29,15 +29,6 @@ install_file() {
29
29
  INSTALLED+=("$label → $dest")
30
30
  }
31
31
 
32
- # ── Claude Code / Codex ────────────────────────────────────────
33
- # AGENTS.md is already the source file in this directory — no copy needed.
34
- # CLAUDE.md is a copy for Claude Code (reads both AGENTS.md and CLAUDE.md).
35
- install_file "$SCRIPT_DIR/CLAUDE.md" "Claude Code (CLAUDE.md)"
36
-
37
- # ── Gemini ─────────────────────────────────────────────────────
38
- install_file "$SCRIPT_DIR/GEMINI.md" "Gemini"
39
- install_file "$SCRIPT_DIR/.geminirules" "Gemini (rules)"
40
-
41
32
 
42
33
  # ── Cursor ─────────────────────────────────────────────────────
43
34
  if [ -d "$HOME/.cursor" ] || [ -d "/Applications/Cursor.app" ] || command -v cursor &>/dev/null; then
@@ -125,6 +116,20 @@ EOF
125
116
  fi
126
117
  fi
127
118
 
119
+ # ── Skills ─────────────────────────────────────────────────────
120
+ SKILL_SRC="$SCRIPT_DIR/skills/ds-ui-creator"
121
+ if [ -d "$SKILL_SRC" ]; then
122
+ mkdir -p "$SCRIPT_DIR/.gemini/skills/ds-ui-creator"
123
+ cp -R "$SKILL_SRC/" "$SCRIPT_DIR/.gemini/skills/ds-ui-creator/"
124
+ INSTALLED+=("Gemini Skill: ds-ui-creator → .gemini/skills/ds-ui-creator")
125
+
126
+ mkdir -p "$SCRIPT_DIR/.claude/skills/ds-ui-creator"
127
+ cp -R "$SKILL_SRC/" "$SCRIPT_DIR/.claude/skills/ds-ui-creator/"
128
+ INSTALLED+=("Claude Skill: ds-ui-creator → .claude/skills/ds-ui-creator")
129
+ else
130
+ SKIPPED+=("Skill ds-ui-creator (source not found)")
131
+ fi
132
+
128
133
  # ── Summary ────────────────────────────────────────────────────
129
134
  echo ""
130
135
  echo "✅ Installed:"
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  name: a11y-checker
3
- description: Reviews UI code (HTML, JSX, TSX, Vue, etc.) for accessibility (a11y) compliance across both library development (WRI Design System) and generic web applications, providing concrete guidelines and code-level fixes.
3
+ description: Reviews UI code (HTML, JSX, TSX, etc.) for accessibility (a11y) compliance across both library development (WRI Design System) and generic web applications, providing concrete guidelines and code-level fixes.
4
4
  ---
5
5
 
6
6
  When running the accessibility checker on any codebase, follow this multi-tiered guide to ensure compliance with universal WCAG standards as well as library-specific rules.
7
7
 
8
8
  ## 1. Universal Accessibility Standards (Any Web Project)
9
9
 
10
- Apply these rules to any kind of project (plain HTML, native React, Vue, Angular, or other UI libraries):
10
+ Apply these rules to any kind of project (plain HTML, native React, or other UI libraries):
11
11
 
12
12
  ### Accessible Names & Interactive Elements
13
13
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@worldresources/wri-design-systems",
3
- "version": "2.196.0",
3
+ "version": "2.196.1",
4
4
  "description": "WRI UI Library",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.esm.js",