@morya-ui/setup 0.3.2 → 0.3.4

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.
Files changed (31) hide show
  1. package/README.md +103 -103
  2. package/bin/morya-ui-setup.js +14 -14
  3. package/catalog/skills.json +46 -46
  4. package/package.json +5 -3
  5. package/src/cli.mjs +335 -335
  6. package/src/copy-template.mjs +78 -78
  7. package/src/fs-utils.mjs +24 -24
  8. package/src/install.mjs +63 -63
  9. package/src/mcp.mjs +50 -50
  10. package/src/package-json.mjs +30 -30
  11. package/src/skills.mjs +223 -223
  12. package/src/styles.mjs +119 -119
  13. package/template/.agents/skills/morya-ui-pages/SKILL.md +184 -162
  14. package/template/.agents/skills/morya-ui-pages/evals/evals.json +89 -71
  15. package/template/.agents/skills/morya-ui-pages/references/component-index.md +99 -98
  16. package/template/.agents/skills/morya-ui-pages/references/decision-recipes.md +1591 -0
  17. package/template/.agents/skills/morya-ui-pages/references/design-system.md +101 -100
  18. package/template/.agents/skills/morya-ui-pages/references/feedback.md +68 -66
  19. package/template/.agents/skills/morya-ui-pages/references/optional-companions.md +107 -34
  20. package/template/.agents/skills/morya-ui-pages/references/page-layouts.md +141 -119
  21. package/template/.agents/skills/morya-ui-pages/references/review-checklist.md +64 -61
  22. package/template/.agents/skills/morya-ui-pages/references/style-presets.md +73 -0
  23. package/template/.agents/skills/morya-ui-pages/references/surfaces.md +91 -89
  24. package/template/.agents/skills/morya-ui-pages/references/visual-craft.md +221 -196
  25. package/template/.cursor/rules/coding-style.mdc +41 -41
  26. package/template/.cursor/rules/component-usage.mdc +41 -41
  27. package/template/.cursor/rules/design-system.mdc +17 -17
  28. package/template/.cursor/rules/page-layout.mdc +97 -78
  29. package/template/DESIGN.md +59 -59
  30. package/template/scripts/check-raw-colors.mjs +74 -74
  31. package/LICENSE +0 -21
package/README.md CHANGED
@@ -1,103 +1,103 @@
1
- # @morya-ui/setup
2
-
3
- One-shot setup for consumer Vue projects using [`morya-ui`](https://www.npmjs.com/package/morya-ui).
4
-
5
- Docs (zh/en):
6
-
7
- - [One-shot setup](https://morya-space.github.io/morya-ui/docs/setup) — CLI commands and options
8
- - [AI setup](https://morya-space.github.io/morya-ui/docs/ai-setup) — Agent workflow
9
- - [Agent Skill](https://morya-space.github.io/morya-ui/docs/agent-skill) — `morya-ui-pages` behavior
10
- - [Quick start](https://morya-space.github.io/morya-ui/docs/quick-start) — install and first component
11
-
12
- Installs the UI library, copies first-party Agent skills / Cursor rules / design docs from `design-kit`, installs optional companion skills at **latest** via the [skills CLI](https://skills.sh/), merges Cursor MCP for [`@morya-ui/mcp`](https://www.npmjs.com/package/@morya-ui/mcp), and injects `import 'morya-ui/styles.css'`.
13
-
14
- ## Usage
15
-
16
- In your app project root:
17
-
18
- ```bash
19
- npx @morya-ui/setup
20
- ```
21
-
22
- On a TTY, `full` / `ai` will prompt for optional Agent skills (required `morya-ui-pages` is always included).
23
-
24
- Other common commands:
25
-
26
- ```bash
27
- # AI config + MCP only (library already installed)
28
- npx @morya-ui/setup ai
29
-
30
- # Library + styles only
31
- npx @morya-ui/setup app
32
-
33
- # Non-interactive skill selection
34
- npx @morya-ui/setup ai --yes
35
- npx @morya-ui/setup ai --skills=morya-ui-pages,frontend-design,impeccable
36
- npx @morya-ui/setup ai --skills=all
37
- ```
38
-
39
- ### Options
40
-
41
- | Flag | Meaning |
42
- | --- | --- |
43
- | `--cwd <dir>` | Target project root (default: current directory) |
44
- | `--pm pnpm\|yarn\|npm` | Package manager (default: detect from lockfile, else `pnpm`) |
45
- | `--skills <list>` | Comma-separated skill ids, or `all` (skips the prompt) |
46
- | `--yes` / `-y` | Use default skills without prompting |
47
- | `--force` | Overwrite existing template files and the `morya-ui` MCP entry |
48
- | `--dry-run` | Print actions without writing or installing |
49
- | `--skip-install` | Do not install `morya-ui` |
50
- | `--skip-template` | Do not copy AI skill / rules / docs (also skips companion skill install) |
51
- | `--skip-mcp` | Do not write `.cursor/mcp.json` |
52
- | `--skip-styles` | Do not inject `styles.css` |
53
- | `--skip-scripts` | Do not add `check:colors` to `package.json` |
54
- | `-h`, `--help` | Show help |
55
-
56
- ### Skills
57
-
58
- | Id | Default | Install | Role |
59
- | --- | --- | --- | --- |
60
- | `morya-ui-pages` | required | template (from this package) | Page generation with `M*` + golden layouts |
61
- | `frontend-design` | optional | skills CLI → `anthropics/skills` (latest) | Express / brand visual taste |
62
- | `fixing-accessibility` | optional | skills CLI → `ibelick/ui-skills` (latest) | A11y audit and targeted fixes |
63
- | `impeccable` | optional | skills CLI → `pbakaus/impeccable` (latest) | Named polish / audit / redesign passes |
64
-
65
- Catalog: [`catalog/skills.json`](./catalog/skills.json).
66
-
67
- ### Conflict policy
68
-
69
- - Template files and `.cursor/rules/*`: **skip** if the destination exists (unless `--force`).
70
- - Companion skills (`skills-cli`): always reinstall/update to **latest** when selected.
71
- - `.cursor/mcp.json`: merge other servers; skip existing `morya-ui` entry unless `--force`.
72
- - `package.json` `check:colors`: add only if missing (unless `--force`).
73
- - Styles: inject only when an entry file is found and the import is not already present.
74
-
75
- ### What gets copied / installed
76
-
77
- From the package `template/` (synced from repo `design-kit/`):
78
-
79
- - `DESIGN.md` — core design contract (principles, tokens, bans)
80
- - `.agents/skills/morya-ui-pages/` — first-party page skill
81
- - `.cursor/rules/`
82
- - `scripts/check-raw-colors.mjs`
83
-
84
- Via `npx skills add …` when optional companions are selected:
85
-
86
- - `.agents/skills/frontend-design/`, `fixing-accessibility/`, and/or `impeccable/` (latest upstream)
87
-
88
- ### MCP (Cursor)
89
-
90
- Writes / merges:
91
-
92
- ```json
93
- {
94
- "mcpServers": {
95
- "morya-ui": {
96
- "command": "npx",
97
- "args": ["-y", "@morya-ui/mcp"]
98
- }
99
- }
100
- }
101
- ```
102
-
103
- Restart Cursor (or reload MCP) after install.
1
+ # @morya-ui/setup
2
+
3
+ One-shot setup for consumer Vue projects using [`morya-ui`](https://www.npmjs.com/package/morya-ui).
4
+
5
+ Docs (zh/en):
6
+
7
+ - [One-shot setup](https://morya-space.github.io/morya-ui/docs/setup) — CLI commands and options
8
+ - [AI setup](https://morya-space.github.io/morya-ui/docs/ai-setup) — Agent workflow
9
+ - [Agent Skill](https://morya-space.github.io/morya-ui/docs/agent-skill) — `morya-ui-pages` behavior
10
+ - [Quick start](https://morya-space.github.io/morya-ui/docs/quick-start) — install and first component
11
+
12
+ Installs the UI library, copies first-party Agent skills / Cursor rules / design docs from `design-kit`, installs optional companion skills at **latest** via the [skills CLI](https://skills.sh/), merges Cursor MCP for [`@morya-ui/mcp`](https://www.npmjs.com/package/@morya-ui/mcp), and injects `import 'morya-ui/styles.css'`.
13
+
14
+ ## Usage
15
+
16
+ In your app project root:
17
+
18
+ ```bash
19
+ npx @morya-ui/setup
20
+ ```
21
+
22
+ On a TTY, `full` / `ai` will prompt for optional Agent skills (required `morya-ui-pages` is always included).
23
+
24
+ Other common commands:
25
+
26
+ ```bash
27
+ # AI config + MCP only (library already installed)
28
+ npx @morya-ui/setup ai
29
+
30
+ # Library + styles only
31
+ npx @morya-ui/setup app
32
+
33
+ # Non-interactive skill selection
34
+ npx @morya-ui/setup ai --yes
35
+ npx @morya-ui/setup ai --skills=morya-ui-pages,frontend-design,impeccable
36
+ npx @morya-ui/setup ai --skills=all
37
+ ```
38
+
39
+ ### Options
40
+
41
+ | Flag | Meaning |
42
+ | --- | --- |
43
+ | `--cwd <dir>` | Target project root (default: current directory) |
44
+ | `--pm pnpm\|yarn\|npm` | Package manager (default: detect from lockfile, else `pnpm`) |
45
+ | `--skills <list>` | Comma-separated skill ids, or `all` (skips the prompt) |
46
+ | `--yes` / `-y` | Use default skills without prompting |
47
+ | `--force` | Overwrite existing template files and the `morya-ui` MCP entry |
48
+ | `--dry-run` | Print actions without writing or installing |
49
+ | `--skip-install` | Do not install `morya-ui` |
50
+ | `--skip-template` | Do not copy AI skill / rules / docs (also skips companion skill install) |
51
+ | `--skip-mcp` | Do not write `.cursor/mcp.json` |
52
+ | `--skip-styles` | Do not inject `styles.css` |
53
+ | `--skip-scripts` | Do not add `check:colors` to `package.json` |
54
+ | `-h`, `--help` | Show help |
55
+
56
+ ### Skills
57
+
58
+ | Id | Default | Install | Role |
59
+ | --- | --- | --- | --- |
60
+ | `morya-ui-pages` | required | template (from this package) | Page generation with `M*` + golden layouts |
61
+ | `frontend-design` | optional | skills CLI → `anthropics/skills` (latest) | Express / brand visual taste |
62
+ | `fixing-accessibility` | optional | skills CLI → `ibelick/ui-skills` (latest) | A11y audit and targeted fixes |
63
+ | `impeccable` | optional | skills CLI → `pbakaus/impeccable` (latest) | Named polish / audit / redesign passes |
64
+
65
+ Catalog: [`catalog/skills.json`](./catalog/skills.json).
66
+
67
+ ### Conflict policy
68
+
69
+ - Template files and `.cursor/rules/*`: **skip** if the destination exists (unless `--force`).
70
+ - Companion skills (`skills-cli`): always reinstall/update to **latest** when selected.
71
+ - `.cursor/mcp.json`: merge other servers; skip existing `morya-ui` entry unless `--force`.
72
+ - `package.json` `check:colors`: add only if missing (unless `--force`).
73
+ - Styles: inject only when an entry file is found and the import is not already present.
74
+
75
+ ### What gets copied / installed
76
+
77
+ From the package `template/` (synced from repo `design-kit/`):
78
+
79
+ - `DESIGN.md` — core design contract (principles, tokens, bans)
80
+ - `.agents/skills/morya-ui-pages/` — first-party page skill
81
+ - `.cursor/rules/`
82
+ - `scripts/check-raw-colors.mjs`
83
+
84
+ Via `npx skills add …` when optional companions are selected:
85
+
86
+ - `.agents/skills/frontend-design/`, `fixing-accessibility/`, and/or `impeccable/` (latest upstream)
87
+
88
+ ### MCP (Cursor)
89
+
90
+ Writes / merges:
91
+
92
+ ```json
93
+ {
94
+ "mcpServers": {
95
+ "morya-ui": {
96
+ "command": "npx",
97
+ "args": ["-y", "@morya-ui/mcp"]
98
+ }
99
+ }
100
+ }
101
+ ```
102
+
103
+ Restart Cursor (or reload MCP) after install.
@@ -1,14 +1,14 @@
1
- #!/usr/bin/env node
2
- import { parseArgs, printHelp, runSetup } from '../src/cli.mjs'
3
-
4
- try {
5
- const options = parseArgs(process.argv.slice(2))
6
- if (options.help) {
7
- printHelp()
8
- process.exit(0)
9
- }
10
- await runSetup(options)
11
- } catch (error) {
12
- console.error(error instanceof Error ? error.message : error)
13
- process.exit(1)
14
- }
1
+ #!/usr/bin/env node
2
+ import { parseArgs, printHelp, runSetup } from '../src/cli.mjs'
3
+
4
+ try {
5
+ const options = parseArgs(process.argv.slice(2))
6
+ if (options.help) {
7
+ printHelp()
8
+ process.exit(0)
9
+ }
10
+ await runSetup(options)
11
+ } catch (error) {
12
+ console.error(error instanceof Error ? error.message : error)
13
+ process.exit(1)
14
+ }
@@ -1,46 +1,46 @@
1
- {
2
- "skills": [
3
- {
4
- "id": "morya-ui-pages",
5
- "name": "Morya UI Pages",
6
- "description": "Build admin and product pages with M* components, golden layouts, and tokens.",
7
- "required": true,
8
- "default": true,
9
- "install": "template",
10
- "path": ".agents/skills/morya-ui-pages"
11
- },
12
- {
13
- "id": "frontend-design",
14
- "name": "Frontend Design",
15
- "description": "Distinctive visual direction for Express / brand surfaces (taste only; still remediate with M*).",
16
- "required": false,
17
- "default": false,
18
- "install": "skills-cli",
19
- "source": "anthropics/skills",
20
- "skill": "frontend-design",
21
- "path": ".agents/skills/frontend-design"
22
- },
23
- {
24
- "id": "fixing-accessibility",
25
- "name": "Fixing Accessibility",
26
- "description": "Audit and fix names, keyboard, focus, forms, and WCAG basics.",
27
- "required": false,
28
- "default": false,
29
- "install": "skills-cli",
30
- "source": "ibelick/ui-skills",
31
- "skill": "fixing-accessibility",
32
- "path": ".agents/skills/fixing-accessibility"
33
- },
34
- {
35
- "id": "impeccable",
36
- "name": "Impeccable",
37
- "description": "Named polish / audit / redesign passes for frontend UI (latest from pbakaus/impeccable).",
38
- "required": false,
39
- "default": false,
40
- "install": "skills-cli",
41
- "source": "pbakaus/impeccable",
42
- "skill": "impeccable",
43
- "path": ".agents/skills/impeccable"
44
- }
45
- ]
46
- }
1
+ {
2
+ "skills": [
3
+ {
4
+ "id": "morya-ui-pages",
5
+ "name": "Morya UI Pages",
6
+ "description": "Build admin and product pages with M* components, golden layouts, and tokens.",
7
+ "required": true,
8
+ "default": true,
9
+ "install": "template",
10
+ "path": ".agents/skills/morya-ui-pages"
11
+ },
12
+ {
13
+ "id": "frontend-design",
14
+ "name": "Frontend Design",
15
+ "description": "Distinctive visual direction for Express / brand surfaces; use after morya-ui-pages contract (taste only; still remediate with M*).",
16
+ "required": false,
17
+ "default": false,
18
+ "install": "skills-cli",
19
+ "source": "anthropics/skills",
20
+ "skill": "frontend-design",
21
+ "path": ".agents/skills/frontend-design"
22
+ },
23
+ {
24
+ "id": "fixing-accessibility",
25
+ "name": "Fixing Accessibility",
26
+ "description": "Audit and fix names, keyboard, focus, forms, and WCAG basics.",
27
+ "required": false,
28
+ "default": false,
29
+ "install": "skills-cli",
30
+ "source": "ibelick/ui-skills",
31
+ "skill": "fixing-accessibility",
32
+ "path": ".agents/skills/fixing-accessibility"
33
+ },
34
+ {
35
+ "id": "impeccable",
36
+ "name": "Impeccable",
37
+ "description": "Named polish / audit / bolder / quieter passes; pair with morya-ui-pages Operate/Persuade modes (latest from pbakaus/impeccable).",
38
+ "required": false,
39
+ "default": false,
40
+ "install": "skills-cli",
41
+ "source": "pbakaus/impeccable",
42
+ "skill": "impeccable",
43
+ "path": ".agents/skills/impeccable"
44
+ }
45
+ ]
46
+ }
package/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "@morya-ui/setup",
3
3
  "type": "module",
4
- "version": "0.3.2",
4
+ "version": "0.3.4",
5
+ "packageManager": "pnpm@10.12.4",
5
6
  "description": "One-shot setup for morya-ui: install the library, Cursor MCP, Agent skills, and design config.",
6
7
  "license": "MIT",
7
8
  "homepage": "https://github.com/morya-space/morya-ui/tree/main/packages/setup#readme",
@@ -31,6 +32,7 @@
31
32
  },
32
33
  "scripts": {
33
34
  "sync-template": "node ./scripts/sync-template.mjs",
34
- "build": "pnpm run sync-template"
35
+ "build": "pnpm run sync-template",
36
+ "prepublishOnly": "pnpm run build"
35
37
  }
36
- }
38
+ }