@uidbai/mcp-server 0.1.0 → 0.3.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.
- package/README.md +164 -62
- package/dist/cli.js +0 -0
- package/dist/core/auth.d.ts +4 -3
- package/dist/core/auth.d.ts.map +1 -1
- package/dist/core/auth.js +37 -4
- package/dist/core/auth.js.map +1 -1
- package/dist/core/local-fs.d.ts +174 -0
- package/dist/core/local-fs.d.ts.map +1 -0
- package/dist/core/local-fs.js +263 -0
- package/dist/core/local-fs.js.map +1 -0
- package/dist/core/types.d.ts +1 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/templates/index.d.ts +22 -0
- package/dist/templates/index.d.ts.map +1 -0
- package/dist/templates/index.js +19 -0
- package/dist/templates/index.js.map +1 -0
- package/dist/templates/minimal.d.ts +9 -0
- package/dist/templates/minimal.d.ts.map +1 -0
- package/dist/templates/minimal.js +115 -0
- package/dist/templates/minimal.js.map +1 -0
- package/dist/templates/standard.d.ts +9 -0
- package/dist/templates/standard.d.ts.map +1 -0
- package/dist/templates/standard.js +527 -0
- package/dist/templates/standard.js.map +1 -0
- package/dist/tools/detect-pattern.d.ts +8 -5
- package/dist/tools/detect-pattern.d.ts.map +1 -1
- package/dist/tools/detect-pattern.js +151 -18
- package/dist/tools/detect-pattern.js.map +1 -1
- package/dist/tools/get-config.d.ts +1 -1
- package/dist/tools/get-config.d.ts.map +1 -1
- package/dist/tools/get-config.js +45 -10
- package/dist/tools/get-config.js.map +1 -1
- package/dist/tools/guide.d.ts +65 -0
- package/dist/tools/guide.d.ts.map +1 -0
- package/dist/tools/guide.js +304 -0
- package/dist/tools/guide.js.map +1 -0
- package/dist/tools/index.d.ts +4 -5
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +4 -5
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/init.d.ts +73 -0
- package/dist/tools/init.d.ts.map +1 -0
- package/dist/tools/init.js +149 -0
- package/dist/tools/init.js.map +1 -0
- package/dist/tools/list-components.d.ts +18 -3
- package/dist/tools/list-components.d.ts.map +1 -1
- package/dist/tools/list-components.js +86 -11
- package/dist/tools/list-components.js.map +1 -1
- package/dist/tools/list-patterns.d.ts +18 -3
- package/dist/tools/list-patterns.d.ts.map +1 -1
- package/dist/tools/list-patterns.js +85 -10
- package/dist/tools/list-patterns.js.map +1 -1
- package/dist/tools/registry.d.ts +1 -1
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +14 -15
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/status.d.ts +1 -1
- package/dist/tools/status.d.ts.map +1 -1
- package/dist/tools/status.js +54 -42
- package/dist/tools/status.js.map +1 -1
- package/dist/tools/submit-pattern.d.ts +13 -11
- package/dist/tools/submit-pattern.d.ts.map +1 -1
- package/dist/tools/submit-pattern.js +90 -19
- package/dist/tools/submit-pattern.js.map +1 -1
- package/dist/tools/update-config.d.ts +16 -8
- package/dist/tools/update-config.d.ts.map +1 -1
- package/dist/tools/update-config.js +93 -39
- package/dist/tools/update-config.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,132 +1,234 @@
|
|
|
1
1
|
# @uidbai/mcp-server
|
|
2
2
|
|
|
3
|
-
Model Context Protocol (MCP) server for the UIDB Design System. Enables AI coding assistants (Cursor, Claude, etc.) to build consistent, accessible UI components.
|
|
3
|
+
Model Context Protocol (MCP) server for the UIDB Design System. Enables AI coding assistants (Cursor, Claude Code, etc.) to build consistent, accessible UI components.
|
|
4
|
+
|
|
5
|
+
## Architecture
|
|
6
|
+
|
|
7
|
+
The UIDB MCP server operates on a **local `.uidb/` folder** in your project. This folder contains your design system configuration, component definitions, and patterns. No external API calls are required for basic operations.
|
|
4
8
|
|
|
5
9
|
## Installation
|
|
6
10
|
|
|
7
11
|
No installation required! Use directly with `npx`:
|
|
8
12
|
|
|
9
13
|
```bash
|
|
10
|
-
npx @uidbai/mcp-server
|
|
14
|
+
npx -y @uidbai/mcp-server
|
|
11
15
|
```
|
|
12
16
|
|
|
13
|
-
## Quick Start
|
|
17
|
+
## Quick Start for Cursor
|
|
18
|
+
|
|
19
|
+
### 1. Create MCP Configuration
|
|
14
20
|
|
|
15
|
-
|
|
21
|
+
Add UIDB to your MCP config. You have two options:
|
|
16
22
|
|
|
17
|
-
|
|
23
|
+
**Option A: Project-level** (`.cursor/mcp.json` in your project root):
|
|
18
24
|
|
|
19
25
|
```json
|
|
20
26
|
{
|
|
21
27
|
"mcpServers": {
|
|
22
28
|
"uidb": {
|
|
23
29
|
"command": "npx",
|
|
24
|
-
"args": ["-y", "@
|
|
30
|
+
"args": ["-y", "@uidbai/mcp-server"]
|
|
25
31
|
}
|
|
26
32
|
}
|
|
27
33
|
}
|
|
28
34
|
```
|
|
29
35
|
|
|
30
|
-
|
|
36
|
+
**Option B: Global** (`~/.cursor/mcp.json` - applies to all projects):
|
|
31
37
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
38
|
+
```json
|
|
39
|
+
{
|
|
40
|
+
"mcpServers": {
|
|
41
|
+
"uidb": {
|
|
42
|
+
"command": "npx",
|
|
43
|
+
"args": ["-y", "@uidbai/mcp-server"]
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
36
47
|
```
|
|
37
48
|
|
|
38
|
-
|
|
49
|
+
> **Tip:** If project-level config doesn't load, try the global config instead. Global config takes precedence.
|
|
39
50
|
|
|
40
|
-
|
|
51
|
+
### 2. Restart Cursor
|
|
41
52
|
|
|
42
|
-
|
|
53
|
+
**Fully quit** Cursor (not just close the window) and reopen to load the UIDB MCP server.
|
|
43
54
|
|
|
44
|
-
|
|
45
|
-
| ---------------------- | ----------------------------- |
|
|
46
|
-
| `uidb_ask_intent` | Start component guidance flow |
|
|
47
|
-
| `uidb_ask_question` | Continue guidance Q&A |
|
|
48
|
-
| `uidb_finalize` | Get final component code |
|
|
49
|
-
| `uidb_list_components` | List available components |
|
|
50
|
-
| `uidb_detect_pattern` | Check if code is a pattern |
|
|
51
|
-
| `uidb_submit_pattern` | Submit a new pattern |
|
|
52
|
-
| `uidb_list_patterns` | List project patterns |
|
|
53
|
-
| `uidb_get_config` | Get theme configuration |
|
|
54
|
-
| `uidb_update_config` | Update theme settings |
|
|
55
|
-
| `uidb_login` | Authenticate with UIDB |
|
|
56
|
-
| `uidb_status` | Check connection status |
|
|
55
|
+
### 3. Initialize Your Design System
|
|
57
56
|
|
|
58
|
-
|
|
57
|
+
Ask Cursor to run:
|
|
59
58
|
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
|
|
59
|
+
```
|
|
60
|
+
uidb_init({
|
|
61
|
+
project_name: "My App",
|
|
62
|
+
template: "standard",
|
|
63
|
+
accent_color: "blue",
|
|
64
|
+
gray_color: "slate",
|
|
65
|
+
radius: "medium"
|
|
66
|
+
})
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
This creates a `.uidb/` folder with your design system configuration.
|
|
70
|
+
|
|
71
|
+
### 4. Connect Theme to Your App
|
|
63
72
|
|
|
64
|
-
|
|
65
|
-
npx @uidbai/mcp-server login --token=YOUR_TOKEN
|
|
73
|
+
In your root layout, import the config:
|
|
66
74
|
|
|
67
|
-
|
|
68
|
-
|
|
75
|
+
```tsx
|
|
76
|
+
import config from '../.uidb/config.json';
|
|
77
|
+
import { Theme } from '@radix-ui/themes';
|
|
69
78
|
|
|
70
|
-
|
|
71
|
-
|
|
79
|
+
export default function Layout({ children }) {
|
|
80
|
+
return (
|
|
81
|
+
<Theme
|
|
82
|
+
accentColor={config.theme.accentColor}
|
|
83
|
+
grayColor={config.theme.grayColor}
|
|
84
|
+
radius={config.theme.radius}
|
|
85
|
+
>
|
|
86
|
+
{children}
|
|
87
|
+
</Theme>
|
|
88
|
+
);
|
|
89
|
+
}
|
|
72
90
|
```
|
|
73
91
|
|
|
74
|
-
|
|
92
|
+
### 5. Verify Connection
|
|
93
|
+
|
|
94
|
+
Ask Cursor: "Use uidb_status to check the design system"
|
|
95
|
+
|
|
96
|
+
You should see: "initialized: true" with your project info.
|
|
75
97
|
|
|
76
|
-
|
|
98
|
+
## Quick Start for Claude Code
|
|
77
99
|
|
|
78
|
-
Add
|
|
100
|
+
### 1. Add MCP Server
|
|
101
|
+
|
|
102
|
+
Add to your `.mcp.json` or Claude settings:
|
|
79
103
|
|
|
80
104
|
```json
|
|
81
105
|
{
|
|
82
106
|
"mcpServers": {
|
|
83
107
|
"uidb": {
|
|
84
108
|
"command": "npx",
|
|
85
|
-
"args": ["-y", "@
|
|
109
|
+
"args": ["-y", "@uidbai/mcp-server"]
|
|
86
110
|
}
|
|
87
111
|
}
|
|
88
112
|
}
|
|
89
113
|
```
|
|
90
114
|
|
|
91
|
-
###
|
|
115
|
+
### 2. Initialize and verify as above.
|
|
116
|
+
|
|
117
|
+
## Available MCP Tools
|
|
118
|
+
|
|
119
|
+
### Component Guidance
|
|
92
120
|
|
|
93
|
-
|
|
121
|
+
| Tool | Description |
|
|
122
|
+
| ------------ | ------------------------------------------------- |
|
|
123
|
+
| `uidb_guide` | Get component recommendations for what you need |
|
|
94
124
|
|
|
95
|
-
|
|
96
|
-
- Args: `["-y", "@uidb/mcp-server"]`
|
|
125
|
+
### Initialization & Status
|
|
97
126
|
|
|
98
|
-
|
|
127
|
+
| Tool | Description |
|
|
128
|
+
| ------------- | ---------------------------------- |
|
|
129
|
+
| `uidb_init` | Initialize .uidb folder |
|
|
130
|
+
| `uidb_status` | Check design system status |
|
|
131
|
+
|
|
132
|
+
### Pattern Management
|
|
133
|
+
|
|
134
|
+
| Tool | Description |
|
|
135
|
+
| --------------------- | --------------------------------------------------- |
|
|
136
|
+
| `uidb_detect_pattern` | Check if a multi-component UI is a reusable pattern |
|
|
137
|
+
| `uidb_submit_pattern` | Submit a new pattern to the design system |
|
|
138
|
+
| `uidb_list_patterns` | List all documented patterns |
|
|
139
|
+
|
|
140
|
+
### Configuration
|
|
141
|
+
|
|
142
|
+
| Tool | Description |
|
|
143
|
+
| ---------------------- | -------------------------------- |
|
|
144
|
+
| `uidb_list_components` | List available components |
|
|
145
|
+
| `uidb_get_config` | Get project theme configuration |
|
|
146
|
+
| `uidb_update_config` | Update theme settings |
|
|
147
|
+
|
|
148
|
+
## Typical Workflow
|
|
149
|
+
|
|
150
|
+
### 1. Get Component Guidance
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
User: "Add a delete button"
|
|
154
|
+
Agent: uidb_guide({ description: "delete button for removing items" })
|
|
155
|
+
// Returns: recommended components, props, variants, and code examples
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### 2. Implement the Code
|
|
159
|
+
|
|
160
|
+
Use the exact variant, size, and color from the guidance response.
|
|
161
|
+
|
|
162
|
+
### 3. Pattern Detection (MANDATORY for 3+ components)
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
Agent: uidb_detect_pattern({
|
|
166
|
+
description: "User profile card with avatar and details",
|
|
167
|
+
components_used: ["Avatar", "Text", "Flex", "Button"],
|
|
168
|
+
context: "sidebar"
|
|
169
|
+
})
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### 4. Submit Pattern (if detected)
|
|
173
|
+
|
|
174
|
+
```
|
|
175
|
+
Agent: uidb_submit_pattern({
|
|
176
|
+
name: "User Profile Card",
|
|
177
|
+
description: "Displays user info with action button",
|
|
178
|
+
components: ["Avatar", "Text", "Flex", "Button"],
|
|
179
|
+
code_template: "<Flex>...</Flex>",
|
|
180
|
+
category: "identity"
|
|
181
|
+
})
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
## Local Design System Structure
|
|
185
|
+
|
|
186
|
+
```
|
|
187
|
+
.uidb/
|
|
188
|
+
├── manifest.json # Project metadata
|
|
189
|
+
├── config.json # Theme configuration
|
|
190
|
+
├── components/
|
|
191
|
+
│ ├── _index.json # Component registry
|
|
192
|
+
│ └── [component].json
|
|
193
|
+
├── patterns/
|
|
194
|
+
│ ├── _index.json # Pattern registry
|
|
195
|
+
│ └── [pattern].json
|
|
196
|
+
└── rules/
|
|
197
|
+
├── a11y.json # Accessibility rules
|
|
198
|
+
└── constraints.json # Design constraints
|
|
199
|
+
```
|
|
99
200
|
|
|
100
|
-
|
|
201
|
+
## Templates
|
|
101
202
|
|
|
102
|
-
|
|
203
|
+
When running `uidb_init`, you can choose a template:
|
|
103
204
|
|
|
104
|
-
|
|
205
|
+
- `minimal` - Basic config and a few core components
|
|
206
|
+
- `standard` - Full component set with patterns (default)
|
|
105
207
|
|
|
106
|
-
##
|
|
208
|
+
## Troubleshooting
|
|
107
209
|
|
|
108
|
-
|
|
210
|
+
### "No .uidb folder found"
|
|
109
211
|
|
|
110
|
-
|
|
111
|
-
- `uidb://project/{slug}/components` - Available components
|
|
112
|
-
- `uidb://project/{slug}/patterns` - Documented patterns
|
|
212
|
+
Run `uidb_init` to create the design system folder.
|
|
113
213
|
|
|
114
|
-
|
|
214
|
+
### "MCP tools not available"
|
|
115
215
|
|
|
116
|
-
|
|
216
|
+
1. Check your MCP config file exists and has valid JSON
|
|
217
|
+
2. **Fully quit** your AI tool (not just close window) and reopen
|
|
218
|
+
3. If project-level config doesn't work, try global config:
|
|
219
|
+
- Cursor: `~/.cursor/mcp.json`
|
|
220
|
+
- Claude Desktop: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
117
221
|
|
|
118
|
-
|
|
119
|
-
- `uidb_pattern_detection` - System prompt for pattern detection
|
|
222
|
+
### Verify MCP is working
|
|
120
223
|
|
|
121
|
-
|
|
224
|
+
Ask your AI assistant: "Use uidb_status to check the design system"
|
|
122
225
|
|
|
123
|
-
|
|
226
|
+
You should see a JSON response with project info (or an error if `.uidb/` doesn't exist yet - that's expected, just run `uidb_init`).
|
|
124
227
|
|
|
125
228
|
## Support
|
|
126
229
|
|
|
127
230
|
- **Portal**: [portal.uidb.ai](https://portal.uidb.ai)
|
|
128
|
-
- **Documentation**:
|
|
129
|
-
- **Issues**: [github.com/uidb/mcp-server/issues](https://github.com/uidb/mcp-server/issues)
|
|
231
|
+
- **Documentation**: See `/docs` in the UIDB repository
|
|
130
232
|
|
|
131
233
|
## License
|
|
132
234
|
|
package/dist/cli.js
CHANGED
|
File without changes
|
package/dist/core/auth.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* UIDB MCP Server - Authentication
|
|
3
3
|
*
|
|
4
|
-
* Handles
|
|
5
|
-
*
|
|
4
|
+
* Handles authentication via:
|
|
5
|
+
* 1. Environment variables (UIDB_API_KEY, UIDB_PROJECT_ID) - simplest setup
|
|
6
|
+
* 2. Credentials file (~/.uidb/credentials.json) - for CLI login flow
|
|
6
7
|
*/
|
|
7
8
|
import { UIDBCredentials } from "./types.js";
|
|
8
9
|
/**
|
|
9
|
-
* Load credentials
|
|
10
|
+
* Load credentials - checks env vars first, then file
|
|
10
11
|
*/
|
|
11
12
|
export declare function loadCredentials(): Promise<UIDBCredentials | null>;
|
|
12
13
|
/**
|
package/dist/core/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/core/auth.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/core/auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EACL,eAAe,EAGhB,MAAM,YAAY,CAAC;AA6EpB;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CASvE;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,eAAe,GAC3B,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAOvD;AAMD;;;GAGG;AACH,wBAAsB,aAAa,CACjC,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,eAAe,CAAC,CAuC1B;AAmDD;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC,CAQnE;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAOxD;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC;IAC7C,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC,CAiBD"}
|
package/dist/core/auth.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* UIDB MCP Server - Authentication
|
|
3
3
|
*
|
|
4
|
-
* Handles
|
|
5
|
-
*
|
|
4
|
+
* Handles authentication via:
|
|
5
|
+
* 1. Environment variables (UIDB_API_KEY, UIDB_PROJECT_ID) - simplest setup
|
|
6
|
+
* 2. Credentials file (~/.uidb/credentials.json) - for CLI login flow
|
|
6
7
|
*/
|
|
7
8
|
import { homedir } from "node:os";
|
|
8
9
|
import { join } from "node:path";
|
|
@@ -11,7 +12,27 @@ import { existsSync } from "node:fs";
|
|
|
11
12
|
import { UIDB_API_URL, UIDB_CREDENTIALS_PATH, } from "./types.js";
|
|
12
13
|
import { AuthenticationError, TokenExpiredError, APIError, NetworkError, } from "./errors.js";
|
|
13
14
|
// ============================================================================
|
|
14
|
-
//
|
|
15
|
+
// Environment Variable Authentication (Primary - Simplest)
|
|
16
|
+
// ============================================================================
|
|
17
|
+
/**
|
|
18
|
+
* Load credentials from environment variables
|
|
19
|
+
* This is the simplest setup - credentials are passed via MCP config env vars
|
|
20
|
+
*/
|
|
21
|
+
function loadCredentialsFromEnv() {
|
|
22
|
+
const apiKey = process.env.UIDB_API_KEY;
|
|
23
|
+
const projectId = process.env.UIDB_PROJECT_ID;
|
|
24
|
+
if (!apiKey || !projectId) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
accessToken: apiKey,
|
|
29
|
+
projectId: projectId,
|
|
30
|
+
projectSlug: projectId, // Use projectId as slug for env-based auth
|
|
31
|
+
expiresAt: "2099-12-31T23:59:59Z", // API keys don't expire
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
// ============================================================================
|
|
35
|
+
// File-based Credential Storage (Fallback - For CLI login)
|
|
15
36
|
// ============================================================================
|
|
16
37
|
function getCredentialsPath() {
|
|
17
38
|
return join(homedir(), UIDB_CREDENTIALS_PATH);
|
|
@@ -22,7 +43,7 @@ function getCredentialsDir() {
|
|
|
22
43
|
/**
|
|
23
44
|
* Load credentials from disk
|
|
24
45
|
*/
|
|
25
|
-
|
|
46
|
+
async function loadCredentialsFromFile() {
|
|
26
47
|
const credentialsPath = getCredentialsPath();
|
|
27
48
|
if (!existsSync(credentialsPath)) {
|
|
28
49
|
return null;
|
|
@@ -48,6 +69,18 @@ export async function loadCredentials() {
|
|
|
48
69
|
return null;
|
|
49
70
|
}
|
|
50
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* Load credentials - checks env vars first, then file
|
|
74
|
+
*/
|
|
75
|
+
export async function loadCredentials() {
|
|
76
|
+
// 1. Try environment variables first (simplest setup)
|
|
77
|
+
const envCredentials = loadCredentialsFromEnv();
|
|
78
|
+
if (envCredentials) {
|
|
79
|
+
return envCredentials;
|
|
80
|
+
}
|
|
81
|
+
// 2. Fall back to file-based credentials
|
|
82
|
+
return loadCredentialsFromFile();
|
|
83
|
+
}
|
|
51
84
|
/**
|
|
52
85
|
* Save credentials to disk
|
|
53
86
|
*/
|
package/dist/core/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/core/auth.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/core/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UIDB MCP Server - Local File System Operations
|
|
3
|
+
*
|
|
4
|
+
* Read/write operations for the local .uidb/ folder.
|
|
5
|
+
* This is the primary interface for the embedded design system architecture.
|
|
6
|
+
*/
|
|
7
|
+
export interface UIDBManifest {
|
|
8
|
+
$schema?: string;
|
|
9
|
+
version: string;
|
|
10
|
+
name: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
framework?: {
|
|
13
|
+
name: string;
|
|
14
|
+
version?: string;
|
|
15
|
+
ui_library: string;
|
|
16
|
+
};
|
|
17
|
+
created_at: string;
|
|
18
|
+
updated_at: string;
|
|
19
|
+
}
|
|
20
|
+
export interface UIDBConfig {
|
|
21
|
+
$schema?: string;
|
|
22
|
+
theme: {
|
|
23
|
+
accentColor: string;
|
|
24
|
+
grayColor: string;
|
|
25
|
+
radius: string;
|
|
26
|
+
};
|
|
27
|
+
appearance?: "light" | "dark";
|
|
28
|
+
scaling?: string;
|
|
29
|
+
}
|
|
30
|
+
export interface ComponentEntry {
|
|
31
|
+
id: string;
|
|
32
|
+
name: string;
|
|
33
|
+
category: string;
|
|
34
|
+
description: string;
|
|
35
|
+
file: string;
|
|
36
|
+
}
|
|
37
|
+
export interface ComponentsIndex {
|
|
38
|
+
$schema?: string;
|
|
39
|
+
components: ComponentEntry[];
|
|
40
|
+
categories: Record<string, string>;
|
|
41
|
+
}
|
|
42
|
+
export interface PatternEntry {
|
|
43
|
+
id: string;
|
|
44
|
+
name: string;
|
|
45
|
+
category: string;
|
|
46
|
+
description: string;
|
|
47
|
+
file: string;
|
|
48
|
+
}
|
|
49
|
+
export interface PatternsIndex {
|
|
50
|
+
$schema?: string;
|
|
51
|
+
patterns: PatternEntry[];
|
|
52
|
+
categories: Record<string, string>;
|
|
53
|
+
}
|
|
54
|
+
export interface ComponentDefinition {
|
|
55
|
+
$schema?: string;
|
|
56
|
+
id: string;
|
|
57
|
+
name: string;
|
|
58
|
+
description: string;
|
|
59
|
+
import?: string;
|
|
60
|
+
parts?: string[];
|
|
61
|
+
props?: Record<string, unknown>;
|
|
62
|
+
semantic_intents?: Record<string, unknown>;
|
|
63
|
+
examples?: Record<string, string>;
|
|
64
|
+
common_patterns?: Record<string, unknown>;
|
|
65
|
+
accessibility?: Record<string, unknown>;
|
|
66
|
+
guidelines?: string[];
|
|
67
|
+
}
|
|
68
|
+
export interface PatternDefinition {
|
|
69
|
+
$schema?: string;
|
|
70
|
+
id: string;
|
|
71
|
+
name: string;
|
|
72
|
+
description: string;
|
|
73
|
+
category: string;
|
|
74
|
+
components_used: string[];
|
|
75
|
+
variants: Record<string, {
|
|
76
|
+
description: string;
|
|
77
|
+
code: string;
|
|
78
|
+
}>;
|
|
79
|
+
guidelines?: string[];
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Find the .uidb folder by searching up from the current directory
|
|
83
|
+
*/
|
|
84
|
+
export declare function findUIDBRoot(): Promise<string | null>;
|
|
85
|
+
/**
|
|
86
|
+
* Get the path to the .uidb folder
|
|
87
|
+
*/
|
|
88
|
+
export declare function getUIDBPath(): Promise<string>;
|
|
89
|
+
/**
|
|
90
|
+
* Check if .uidb folder exists
|
|
91
|
+
*/
|
|
92
|
+
export declare function uidbExists(): Promise<boolean>;
|
|
93
|
+
/**
|
|
94
|
+
* Read the manifest.json
|
|
95
|
+
*/
|
|
96
|
+
export declare function readManifest(): Promise<UIDBManifest>;
|
|
97
|
+
/**
|
|
98
|
+
* Read the config.json
|
|
99
|
+
*/
|
|
100
|
+
export declare function readConfig(): Promise<UIDBConfig>;
|
|
101
|
+
/**
|
|
102
|
+
* Read the components index
|
|
103
|
+
*/
|
|
104
|
+
export declare function readComponentsIndex(): Promise<ComponentsIndex>;
|
|
105
|
+
/**
|
|
106
|
+
* Read a specific component definition
|
|
107
|
+
*/
|
|
108
|
+
export declare function readComponent(componentId: string): Promise<ComponentDefinition>;
|
|
109
|
+
/**
|
|
110
|
+
* Read the patterns index
|
|
111
|
+
*/
|
|
112
|
+
export declare function readPatternsIndex(): Promise<PatternsIndex>;
|
|
113
|
+
/**
|
|
114
|
+
* Read a specific pattern definition
|
|
115
|
+
*/
|
|
116
|
+
export declare function readPattern(patternId: string): Promise<PatternDefinition>;
|
|
117
|
+
/**
|
|
118
|
+
* Read rules (a11y or constraints)
|
|
119
|
+
*/
|
|
120
|
+
export declare function readRules(ruleType: "a11y" | "constraints"): Promise<Record<string, unknown>>;
|
|
121
|
+
/**
|
|
122
|
+
* Update the config.json
|
|
123
|
+
*/
|
|
124
|
+
export declare function writeConfig(config: UIDBConfig): Promise<void>;
|
|
125
|
+
/**
|
|
126
|
+
* Update the components index
|
|
127
|
+
*/
|
|
128
|
+
export declare function writeComponentsIndex(index: ComponentsIndex): Promise<void>;
|
|
129
|
+
/**
|
|
130
|
+
* Write a component definition
|
|
131
|
+
*/
|
|
132
|
+
export declare function writeComponent(componentId: string, component: ComponentDefinition): Promise<void>;
|
|
133
|
+
/**
|
|
134
|
+
* Update the patterns index
|
|
135
|
+
*/
|
|
136
|
+
export declare function writePatternsIndex(index: PatternsIndex): Promise<void>;
|
|
137
|
+
/**
|
|
138
|
+
* Write a pattern definition
|
|
139
|
+
*/
|
|
140
|
+
export declare function writePattern(patternId: string, pattern: PatternDefinition): Promise<void>;
|
|
141
|
+
/**
|
|
142
|
+
* Initialize a new .uidb folder with template files
|
|
143
|
+
*/
|
|
144
|
+
export declare function initUIDB(projectRoot: string, files: Record<string, object | string>): Promise<void>;
|
|
145
|
+
export declare class UIDBNotFoundError extends Error {
|
|
146
|
+
constructor();
|
|
147
|
+
}
|
|
148
|
+
export declare class FileNotFoundError extends Error {
|
|
149
|
+
constructor(filePath: string);
|
|
150
|
+
}
|
|
151
|
+
export declare class ParseError extends Error {
|
|
152
|
+
constructor(filePath: string, cause: unknown);
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Get a summary of the design system for guidance
|
|
156
|
+
*/
|
|
157
|
+
export declare function getDesignSystemSummary(): Promise<{
|
|
158
|
+
config: UIDBConfig;
|
|
159
|
+
components: ComponentEntry[];
|
|
160
|
+
patterns: PatternEntry[];
|
|
161
|
+
}>;
|
|
162
|
+
/**
|
|
163
|
+
* Find a component by name (case-insensitive)
|
|
164
|
+
*/
|
|
165
|
+
export declare function findComponent(query: string): Promise<ComponentDefinition | null>;
|
|
166
|
+
/**
|
|
167
|
+
* Find components by category
|
|
168
|
+
*/
|
|
169
|
+
export declare function findComponentsByCategory(category: string): Promise<ComponentEntry[]>;
|
|
170
|
+
/**
|
|
171
|
+
* Find a pattern by name (case-insensitive)
|
|
172
|
+
*/
|
|
173
|
+
export declare function findPattern(query: string): Promise<PatternDefinition | null>;
|
|
174
|
+
//# sourceMappingURL=local-fs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-fs.d.ts","sourceRoot":"","sources":["../../src/core/local-fs.ts"],"names":[],"mappings":"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"}
|