@seed-ship/mcp-ui-cli 1.0.13 → 1.1.0

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 (3) hide show
  1. package/CHANGELOG.md +81 -49
  2. package/README.md +191 -23
  3. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,11 +1,82 @@
1
- # @mcp-ui/cli Changelog
1
+ # @seed-ship/mcp-ui-cli Changelog
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [1.1.0] - 2025-11-25
9
+
10
+ ### Documentation
11
+ - **Comprehensive README Rewrite**: Complete documentation overhaul
12
+ - Fixed npm scope from `@mcp-ui/cli` to `@seed-ship/mcp-ui-cli`
13
+ - Removed non-existent `create-component` command (was documented but never implemented)
14
+ - Documented all 4 commands with full options and examples
15
+ - Added Programmatic API section with TypeScript examples
16
+ - Added CI/CD Integration section with GitHub Actions example
17
+ - Documented exit codes for automation
18
+
19
+ ### Notes
20
+ - This minor version bump marks a documentation milestone
21
+ - No CLI changes - all commands identical to v1.0.14
22
+
23
+ ## [1.0.14] - 2025-11-24
24
+
25
+ ### Changed
26
+ - Version bump (synchronized with mcp-ui-solid v1.0.26, mcp-ui-spec v1.0.15)
27
+
28
+ ## [1.0.13] - 2025-11-23
29
+
30
+ ### Changed
31
+ - Version bump (synchronized with mcp-ui-solid v1.0.25, mcp-ui-spec v1.0.14)
32
+
33
+ ## [1.0.11] - 2025-11-23
34
+
35
+ ### Changed
36
+ - Version bump for npm publication with updated token
37
+ - Synchronized with mcp-ui-solid v1.0.23, mcp-ui-spec v1.0.12
38
+
39
+ ## [1.0.10] - 2025-11-23
40
+
41
+ ### Changed
42
+ - Version bump (synchronized with mcp-ui-solid v1.0.22, mcp-ui-spec v1.0.11)
43
+
44
+ ## [1.0.9] - 2025-11-23
45
+
46
+ ### Changed
47
+ - Version bump (synchronized with mcp-ui-solid v1.0.21, mcp-ui-spec v1.0.10)
48
+
49
+ ## [1.0.8] - 2025-11-22
50
+
51
+ ### Changed
52
+ - Version bump (synchronized with mcp-ui-solid v1.0.18, mcp-ui-spec v1.0.8)
53
+
54
+ ## [1.0.6] - 2025-11-22
55
+
56
+ ### Changed
57
+ - Version bump for npm publication
58
+
59
+ ## [1.0.5] - 2025-11-22
60
+
61
+ ### Changed
62
+ - Version bump
63
+
64
+ ## [1.0.2] - 2025-11-17
65
+
66
+ ### Changed
67
+ - Migrate to `@seed-ship` npm scope
68
+ - Updated package name from `@mcp-ui/cli` to `@seed-ship/mcp-ui-cli`
69
+
70
+ ## [1.0.1] - 2025-11-16
71
+
72
+ ### Fixed
73
+ - Add type definitions generation for all packages
74
+ - Correct schema validation tests
75
+
5
76
  ## [1.0.0] - 2025-01-14
6
77
 
7
78
  ### Added
8
- - Initial release of `@mcp-ui/cli` package
79
+ - Initial release of `@seed-ship/mcp-ui-cli` package
9
80
  - Command-line interface for component registry operations
10
81
  - `validate` command: Validates registries against JSON Schema and Zod
11
82
  - `generate-types` command: Generates TypeScript types from component schemas
@@ -14,63 +85,24 @@ All notable changes to this project will be documented in this file.
14
85
 
15
86
  ### Features
16
87
  - **Dual Validation**: Both JSON Schema (Ajv) and Zod validation
17
- - **Type Generation**: Automatic TypeScript type generation with json-schema-to-typescript
88
+ - **Type Generation**: Automatic TypeScript type generation
18
89
  - **Example Testing**: Validates all component examples against schemas
19
- - **Breaking Change Detection**: Semantic diff with breaking/non-breaking classification
90
+ - **Breaking Change Detection**: Semantic diff with classification
20
91
  - **Beautiful Output**: Colorful terminal output with chalk and ora spinners
21
- - **Exit Codes**: Proper exit codes for CI/CD integration
22
- - **Verbose Mode**: Detailed output for debugging
92
+ - **CI/CD Ready**: Proper exit codes for automation
23
93
 
24
94
  ### Commands
25
95
 
26
- #### validate
27
- ```bash
28
- mcp-ui validate <file> [--strict] [--verbose]
29
- ```
30
- Validates a component registry against both JSON Schema and Zod schemas.
31
-
32
- #### generate-types
33
- ```bash
34
- mcp-ui generate-types <input> [output] [--namespace <name>] [--export-all]
35
- ```
36
- Generates TypeScript types from component schemas.
37
-
38
- #### test-examples
39
- ```bash
40
- mcp-ui test-examples <file> [--component <id>] [--verbose]
41
- ```
42
- Tests all examples in a component registry.
43
-
44
- #### diff
45
- ```bash
46
- mcp-ui diff <old> <new> [--json] [--fail-on-breaking]
47
- ```
48
- Compares two registry versions for breaking changes.
49
-
50
- ### Dependencies
51
- - commander: CLI framework
52
- - ajv: JSON Schema validation
53
- - zod: Runtime TypeScript validation
54
- - json-schema-to-typescript: Type generation
55
- - chalk: Terminal colors
56
- - ora: Spinners
57
-
58
- ### Installation
59
- ```bash
60
- pnpm add -D @mcp-ui/cli
61
- ```
62
-
63
- ### Usage
64
96
  ```bash
65
97
  # Validate a registry
66
- mcp-ui validate ./my-registry.json
98
+ mcp-ui validate <file> [--strict] [--verbose]
67
99
 
68
- # Generate types
69
- mcp-ui generate-types ./my-registry.json ./types.ts
100
+ # Generate TypeScript types
101
+ mcp-ui generate-types <input> [output] [--namespace <name>]
70
102
 
71
103
  # Test examples
72
- mcp-ui test-examples ./my-registry.json
104
+ mcp-ui test-examples <file> [--component <id>] [--verbose]
73
105
 
74
106
  # Check for breaking changes
75
- mcp-ui diff ./old-registry.json ./new-registry.json --fail-on-breaking
107
+ mcp-ui diff <old> <new> [--json] [--fail-on-breaking]
76
108
  ```
package/README.md CHANGED
@@ -1,66 +1,234 @@
1
- # @mcp-ui/cli
1
+ # @seed-ship/mcp-ui-cli
2
2
 
3
- CLI tools for validating and generating MCP UI component registries.
3
+ CLI tools for validating and managing MCP UI component registries. Part of the MCP UI ecosystem.
4
+
5
+ [![npm version](https://img.shields.io/npm/v/@seed-ship/mcp-ui-cli.svg)](https://www.npmjs.com/package/@seed-ship/mcp-ui-cli)
6
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
4
7
 
5
8
  ## Installation
6
9
 
7
10
  ```bash
8
- pnpm add -D @mcp-ui/cli
11
+ # Global installation (recommended for CLI usage)
12
+ pnpm add -g @seed-ship/mcp-ui-cli
13
+
14
+ # Local installation (for programmatic use)
15
+ pnpm add -D @seed-ship/mcp-ui-cli
9
16
  ```
10
17
 
11
18
  ## Commands
12
19
 
13
- ### Validate Registry
20
+ The CLI provides 4 commands for registry management:
21
+
22
+ ### validate
23
+
24
+ Validates a component registry against both Zod and JSON Schema specifications.
14
25
 
15
26
  ```bash
16
- mcp-ui validate registry.json
27
+ mcp-ui validate <file> [options]
17
28
  ```
18
29
 
19
- Validates a component registry against the JSON Schema specification.
30
+ **Arguments:**
31
+ - `<file>` - Path to registry JSON file
20
32
 
21
- ### Generate TypeScript Types
33
+ **Options:**
34
+ - `--strict` - Enable strict validation mode (all errors reported)
35
+ - `--verbose` - Show detailed validation output with registry summary
22
36
 
37
+ **Features:**
38
+ - **Dual validation**: Validates against both Zod schemas and JSON Schema (Ajv)
39
+ - **Verbose mode**: Displays registry version, component count, and component list
40
+ - **Detailed errors**: Shows path-based error locations (e.g., `components[0].schema.required`)
41
+
42
+ **Example:**
23
43
  ```bash
24
- mcp-ui generate-types registry.json --output types/
44
+ # Basic validation
45
+ mcp-ui validate ./my-registry.json
46
+
47
+ # Strict mode with verbose output
48
+ mcp-ui validate ./my-registry.json --strict --verbose
25
49
  ```
26
50
 
51
+ ---
52
+
53
+ ### generate-types
54
+
27
55
  Generates TypeScript type definitions from a component registry.
28
56
 
29
- ### Test Examples
57
+ ```bash
58
+ mcp-ui generate-types <input> [output] [options]
59
+ ```
60
+
61
+ **Arguments:**
62
+ - `<input>` - Path to registry JSON file
63
+ - `[output]` - Output file path (optional, defaults to stdout)
64
+
65
+ **Options:**
66
+ - `--namespace <name>` - Wrap generated types in a namespace
67
+ - `--export-all` - Export all generated types
68
+
69
+ **Features:**
70
+ - Converts component IDs to TypeScript type names (kebab-case to PascalCase)
71
+ - Uses `json-schema-to-typescript` for accurate type generation
72
+ - Adds auto-generation header comment
73
+
74
+ **Example:**
75
+ ```bash
76
+ # Generate types to stdout
77
+ mcp-ui generate-types ./registry.json
78
+
79
+ # Generate to file with namespace
80
+ mcp-ui generate-types ./registry.json ./types/components.d.ts --namespace MCPComponents --export-all
81
+ ```
82
+
83
+ ---
84
+
85
+ ### test-examples
86
+
87
+ Tests all component examples in a registry for validity.
88
+
89
+ ```bash
90
+ mcp-ui test-examples <file> [options]
91
+ ```
92
+
93
+ **Arguments:**
94
+ - `<file>` - Path to registry JSON file
95
+
96
+ **Options:**
97
+ - `--component <id>` - Test only a specific component (by ID)
98
+ - `--verbose` - Show detailed test output
99
+
100
+ **Features:**
101
+ - Validates each example against its component schema
102
+ - Color-coded results (✓ pass, ✗ fail)
103
+ - Returns exit code 1 if any examples fail (CI-friendly)
30
104
 
105
+ **Example:**
31
106
  ```bash
32
- mcp-ui test-examples registry.json
107
+ # Test all examples
108
+ mcp-ui test-examples ./registry.json
109
+
110
+ # Test specific component only
111
+ mcp-ui test-examples ./registry.json --component quickchart-bar --verbose
33
112
  ```
34
113
 
35
- Validates all component examples in the registry.
114
+ ---
115
+
116
+ ### diff
36
117
 
37
- ### Create Component
118
+ Compares two registry versions and detects breaking changes.
38
119
 
39
120
  ```bash
40
- mcp-ui create-component quickchart-line
121
+ mcp-ui diff <old> <new> [options]
41
122
  ```
42
123
 
43
- Creates a new component template.
124
+ **Arguments:**
125
+ - `<old>` - Path to old registry JSON file
126
+ - `<new>` - Path to new registry JSON file
127
+
128
+ **Options:**
129
+ - `--json` - Output diff as JSON (for programmatic parsing)
130
+ - `--fail-on-breaking` - Exit with error code 1 if breaking changes found
131
+
132
+ **Breaking Changes Detected:**
133
+ - Component removal
134
+ - Component type changes
135
+ - New required fields added
136
+ - Major version changes
44
137
 
45
- ### Check Breaking Changes
138
+ **Non-Breaking Changes Detected:**
139
+ - Component addition
140
+ - Component deprecation
141
+ - Removed required fields
142
+ - Minor/patch version changes
46
143
 
144
+ **Example:**
47
145
  ```bash
48
- mcp-ui diff registry-old.json registry-new.json
146
+ # Basic diff
147
+ mcp-ui diff ./registry-v1.json ./registry-v2.json
148
+
149
+ # CI/CD usage with fail-on-breaking
150
+ mcp-ui diff ./old.json ./new.json --fail-on-breaking --json
151
+ ```
152
+
153
+ ---
154
+
155
+ ## Programmatic API
156
+
157
+ All commands are available as functions for programmatic use:
158
+
159
+ ```typescript
160
+ import {
161
+ validateCommand,
162
+ generateTypesCommand,
163
+ testExamplesCommand,
164
+ diffCommand
165
+ } from '@seed-ship/mcp-ui-cli'
166
+
167
+ // Validate a registry
168
+ const isValid = await validateCommand('./registry.json', { strict: true })
169
+
170
+ // Generate types
171
+ const types = await generateTypesCommand('./registry.json', undefined, { exportAll: true })
172
+
173
+ // Test examples
174
+ const results = await testExamplesCommand('./registry.json', { component: 'chart' })
175
+
176
+ // Compare registries
177
+ const diff = await diffCommand('./old.json', './new.json', { json: true })
49
178
  ```
50
179
 
51
- Compares two registry files and reports breaking changes.
180
+ ## CI/CD Integration
52
181
 
53
- ## Usage in CI
182
+ ### GitHub Actions
54
183
 
55
184
  ```yaml
56
- # .github/workflows/validate.yml
57
- - name: Validate Component Registry
58
- run: pnpm mcp-ui validate registry.json
185
+ name: Validate Registry
186
+
187
+ on: [push, pull_request]
188
+
189
+ jobs:
190
+ validate:
191
+ runs-on: ubuntu-latest
192
+ steps:
193
+ - uses: actions/checkout@v4
194
+
195
+ - name: Setup Node.js
196
+ uses: actions/setup-node@v4
197
+ with:
198
+ node-version: '20'
199
+
200
+ - name: Install CLI
201
+ run: npm install -g @seed-ship/mcp-ui-cli
202
+
203
+ - name: Validate Registry
204
+ run: mcp-ui validate ./registry.json --strict
205
+
206
+ - name: Test Examples
207
+ run: mcp-ui test-examples ./registry.json
208
+
209
+ - name: Check Breaking Changes
210
+ run: mcp-ui diff ./registry-main.json ./registry.json --fail-on-breaking
59
211
  ```
60
212
 
61
- ## Documentation
213
+ ### Exit Codes
214
+
215
+ | Code | Meaning |
216
+ |------|---------|
217
+ | 0 | Success |
218
+ | 1 | Validation failed / Breaking changes detected / Examples failed |
219
+
220
+ ## Related Packages
221
+
222
+ | Package | Description |
223
+ |---------|-------------|
224
+ | [`@seed-ship/mcp-ui-solid`](../mcp-ui-solid) | SolidJS UI components |
225
+ | [`@seed-ship/mcp-ui-spec`](../mcp-ui-spec) | JSON schemas and Zod validators |
226
+
227
+ ## Versioning
228
+
229
+ This package follows [Semantic Versioning](https://semver.org/). See [CHANGELOG.md](./CHANGELOG.md) for release notes.
62
230
 
63
- See the [full documentation](../../docs/features/generative-ui/) for more details.
231
+ **Current Version:** 1.1.0
64
232
 
65
233
  ## License
66
234
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seed-ship/mcp-ui-cli",
3
- "version": "1.0.13",
3
+ "version": "1.1.0",
4
4
  "description": "CLI tools for validating and generating MCP UI component registries",
5
5
  "type": "module",
6
6
  "bin": {
@@ -28,7 +28,7 @@
28
28
  "zod": "^3.22.4",
29
29
  "chalk": "^5.3.0",
30
30
  "ora": "^7.0.1",
31
- "@seed-ship/mcp-ui-spec": "1.0.14"
31
+ "@seed-ship/mcp-ui-spec": "1.1.0"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/node": "^20.10.0",