super-ux 0.30.1 → 0.30.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/CHANGELOG.md CHANGED
@@ -1,6 +1,19 @@
1
1
  # Changelog
2
2
 
3
- ## 0.30.1 — 2026-08-05
3
+ ## 0.30.2 — 2026-08-05
4
+
5
+ ### Added
6
+ - **The installer offers the family routing block.** After `npx super-ux
7
+ --cursor`, it delegates to `npx --no-install sshlg-skills routers --member
8
+ super-ux`, which writes the `super-ux` and `copywriting` routers into the
9
+ global agent instructions so both engage by default in every project.
10
+ Delegated rather than reimplemented: the block carries a precedence table
11
+ describing what the machine actually has, and a lone member rendering it
12
+ would list routers nobody installed. When the launcher is absent the
13
+ installer prints the one command instead of failing, and `--no-install`
14
+ keeps it from downloading a package nobody asked for.
15
+
16
+ — 2026-08-05
4
17
 
5
18
  ### Fixed
6
19
  - **`templates/brand/voice.md` told projects to write `PER-NN` where the UX
package/bin/super-ux.js CHANGED
@@ -331,6 +331,31 @@ async function menu() {
331
331
  if (keys.includes('skills')) installSkillsCli();
332
332
  }
333
333
 
334
+ /**
335
+ * Ask the launcher to write the family's routing block.
336
+ *
337
+ * Delegated rather than reimplemented. The block lists several routers and a
338
+ * precedence table describing what this machine actually has, so a lone
339
+ * member rendering it would produce a table for routers nobody installed.
340
+ * `--no-install` keeps this from silently downloading a package the user did
341
+ * not ask for; when the launcher is absent we print the one command instead.
342
+ */
343
+ function offerRouters() {
344
+ const { spawnSync } = require('child_process');
345
+ const r = spawnSync(
346
+ 'npx',
347
+ ['--no-install', 'sshlg-skills', 'routers', '--member', 'super-ux'],
348
+ { stdio: 'inherit', shell: process.platform === 'win32' }
349
+ );
350
+ if (r.status !== 0) {
351
+ console.log(
352
+ '\nЧтобы скилы включались по умолчанию во всех проектах, допиши блок\n' +
353
+ 'роутинга в глобальные инструкции агента:\n\n' +
354
+ ' npx --yes sshlg-skills routers --member super-ux\n'
355
+ );
356
+ }
357
+ }
358
+
334
359
  function main() {
335
360
  const args = process.argv.slice(2);
336
361
  if (args[0] === '--help' || args[0] === '-h') {
@@ -349,6 +374,7 @@ function main() {
349
374
  const force = args.includes('--force');
350
375
  const dirArg = args[1] && args[1] !== '--force' ? args[1] : '.';
351
376
  installCursor(path.resolve(dirArg), force);
377
+ offerRouters();
352
378
  }
353
379
 
354
380
  main();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "super-ux",
3
- "version": "0.30.1",
3
+ "version": "0.30.2",
4
4
  "description": "Scenario-driven UI development for AI agents (Claude Code, Cursor, 70+ agents): a versioned design chain in docs/ux/, a scenario-first hard rule, a deterministic drift linter, and evidence-backed UX audits. This package is the installer CLI.",
5
5
  "bin": {
6
6
  "super-ux": "bin/super-ux.js"