uxonfly-mcp 0.1.0 → 0.1.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/README.md +136 -39
- package/build/index.js +5 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -42,23 +42,55 @@ Strong opinions. Border-first. Modern SaaS aesthetic (Linear / Stripe / Vercel-a
|
|
|
42
42
|
|
|
43
43
|
## Install option 1 — file (recommended, 30 seconds)
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
Download `uxonfly.md` once, then save it with whatever filename your AI tool reads on every session.
|
|
46
46
|
|
|
47
47
|
```bash
|
|
48
|
-
# Download the rulebook
|
|
49
48
|
curl -O https://raw.githubusercontent.com/Phanikondru/uxonfly-mcp/main/uxonfly.md
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Then rename it per your tool:
|
|
50
52
|
|
|
51
|
-
|
|
53
|
+
| AI tool | Save as | Location |
|
|
54
|
+
| --- | --- | --- |
|
|
55
|
+
| **Claude Code** | `CLAUDE.md` | project root |
|
|
56
|
+
| **Cursor** | `.cursorrules` | project root |
|
|
57
|
+
| **Windsurf** | `.windsurfrules` | project root |
|
|
58
|
+
| **Gemini CLI** | `GEMINI.md` | project root |
|
|
59
|
+
| **Zed** | `AGENTS.md` | project root |
|
|
60
|
+
| **Google Antigravity** | `AGENTS.md` | project root |
|
|
61
|
+
| **GitHub Copilot** | `copilot-instructions.md` | `.github/` |
|
|
62
|
+
| **Aider** | `CONVENTIONS.md` (then `aider --read CONVENTIONS.md`) | project root |
|
|
63
|
+
| **JetBrains Junie** | `guidelines.md` | `.junie/` |
|
|
64
|
+
| **Any other tool** | `AGENTS.md` | project root (emerging universal convention) |
|
|
65
|
+
|
|
66
|
+
Example commands:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# Claude Code
|
|
52
70
|
mv uxonfly.md CLAUDE.md
|
|
53
71
|
|
|
54
|
-
#
|
|
72
|
+
# Cursor
|
|
55
73
|
mv uxonfly.md .cursorrules
|
|
74
|
+
|
|
75
|
+
# Windsurf
|
|
76
|
+
mv uxonfly.md .windsurfrules
|
|
77
|
+
|
|
78
|
+
# Gemini CLI
|
|
79
|
+
mv uxonfly.md GEMINI.md
|
|
80
|
+
|
|
81
|
+
# Zed / Google Antigravity / any tool using the AGENTS.md convention
|
|
82
|
+
mv uxonfly.md AGENTS.md
|
|
83
|
+
|
|
84
|
+
# GitHub Copilot
|
|
85
|
+
mkdir -p .github && mv uxonfly.md .github/copilot-instructions.md
|
|
86
|
+
|
|
87
|
+
# JetBrains Junie
|
|
88
|
+
mkdir -p .junie && mv uxonfly.md .junie/guidelines.md
|
|
56
89
|
```
|
|
57
90
|
|
|
58
|
-
Open your AI tool and start prompting. It
|
|
59
|
-
UI on every session.
|
|
91
|
+
Open your AI tool in that project and start prompting. It reads the file on every session automatically.
|
|
60
92
|
|
|
61
|
-
That's it. No npm install
|
|
93
|
+
**That's it. No npm install, no config, no login.** Works with any AI tool that reads project-level context files — which is most of them in 2026.
|
|
62
94
|
|
|
63
95
|
---
|
|
64
96
|
|
|
@@ -68,56 +100,72 @@ If you want your AI to invoke specific tools (`get_component`,
|
|
|
68
100
|
`get_ux_pattern`, `get_tokens`, …) on demand instead of reading the whole
|
|
69
101
|
file every prompt, run UXonFly as a local MCP server.
|
|
70
102
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
103
|
+
Published to npm as [`uxonfly-mcp`](https://www.npmjs.com/package/uxonfly-mcp).
|
|
104
|
+
MCP is a standard protocol — any MCP-compatible AI tool can load this server
|
|
105
|
+
with the same command: `npx -y uxonfly-mcp`. Only the config location varies
|
|
106
|
+
per tool. Snippets for the most common tools below.
|
|
74
107
|
|
|
75
|
-
###
|
|
108
|
+
### Claude Code
|
|
76
109
|
|
|
77
110
|
```bash
|
|
78
|
-
|
|
79
|
-
cd uxonfly-mcp
|
|
80
|
-
npm install
|
|
81
|
-
npm run build
|
|
111
|
+
claude mcp add uxonfly -- npx -y uxonfly-mcp
|
|
82
112
|
```
|
|
83
113
|
|
|
84
|
-
|
|
114
|
+
### Cursor
|
|
85
115
|
|
|
86
|
-
|
|
116
|
+
Add to `~/.cursor/mcp.json`:
|
|
87
117
|
|
|
88
|
-
```
|
|
89
|
-
|
|
118
|
+
```json
|
|
119
|
+
{
|
|
120
|
+
"mcpServers": {
|
|
121
|
+
"uxonfly": {
|
|
122
|
+
"command": "npx",
|
|
123
|
+
"args": ["-y", "uxonfly-mcp"]
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
90
127
|
```
|
|
91
128
|
|
|
92
|
-
|
|
129
|
+
### Claude Desktop
|
|
130
|
+
|
|
131
|
+
On macOS, edit `~/Library/Application Support/Claude/claude_desktop_config.json`.
|
|
132
|
+
On Windows, edit `%APPDATA%\Claude\claude_desktop_config.json`.
|
|
93
133
|
|
|
94
134
|
```json
|
|
95
135
|
{
|
|
96
136
|
"mcpServers": {
|
|
97
137
|
"uxonfly": {
|
|
98
|
-
"command": "
|
|
99
|
-
"args": ["
|
|
138
|
+
"command": "npx",
|
|
139
|
+
"args": ["-y", "uxonfly-mcp"]
|
|
100
140
|
}
|
|
101
141
|
}
|
|
102
142
|
}
|
|
103
143
|
```
|
|
104
144
|
|
|
105
|
-
###
|
|
106
|
-
|
|
107
|
-
Once `uxonfly-mcp` is on the npm registry, the install collapses to one command.
|
|
145
|
+
### Windsurf
|
|
108
146
|
|
|
109
|
-
|
|
147
|
+
Add to `~/.codeium/windsurf/mcp_config.json`:
|
|
110
148
|
|
|
111
|
-
```
|
|
112
|
-
|
|
149
|
+
```json
|
|
150
|
+
{
|
|
151
|
+
"mcpServers": {
|
|
152
|
+
"uxonfly": {
|
|
153
|
+
"command": "npx",
|
|
154
|
+
"args": ["-y", "uxonfly-mcp"]
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
113
158
|
```
|
|
114
159
|
|
|
115
|
-
|
|
160
|
+
### VS Code (with MCP support)
|
|
161
|
+
|
|
162
|
+
Add to `.vscode/mcp.json` in your project root:
|
|
116
163
|
|
|
117
164
|
```json
|
|
118
165
|
{
|
|
119
|
-
"
|
|
166
|
+
"servers": {
|
|
120
167
|
"uxonfly": {
|
|
168
|
+
"type": "stdio",
|
|
121
169
|
"command": "npx",
|
|
122
170
|
"args": ["-y", "uxonfly-mcp"]
|
|
123
171
|
}
|
|
@@ -125,6 +173,57 @@ claude mcp add uxonfly -- npx -y uxonfly-mcp
|
|
|
125
173
|
}
|
|
126
174
|
```
|
|
127
175
|
|
|
176
|
+
### Zed
|
|
177
|
+
|
|
178
|
+
Add to `~/.config/zed/settings.json` under `context_servers`:
|
|
179
|
+
|
|
180
|
+
```json
|
|
181
|
+
{
|
|
182
|
+
"context_servers": {
|
|
183
|
+
"uxonfly": {
|
|
184
|
+
"command": {
|
|
185
|
+
"path": "npx",
|
|
186
|
+
"args": ["-y", "uxonfly-mcp"]
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### Any other MCP-compatible tool
|
|
194
|
+
|
|
195
|
+
MCP is a standard protocol. The command is always the same across tools:
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
npx -y uxonfly-mcp
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
Gemini CLI, Google Antigravity, JetBrains Junie, and a growing list of other
|
|
202
|
+
editors and agents support MCP. Consult your tool's documentation for where
|
|
203
|
+
to register MCP servers, then use the command above.
|
|
204
|
+
|
|
205
|
+
### Tools without MCP support
|
|
206
|
+
|
|
207
|
+
For tools that don't speak MCP yet (Aider, basic terminal LLM CLIs, older
|
|
208
|
+
editors), use **Install option 1** above. The file install works with any AI
|
|
209
|
+
that reads project context files.
|
|
210
|
+
|
|
211
|
+
### Install from source (contributors)
|
|
212
|
+
|
|
213
|
+
If you want to run the MCP server from a local clone — for example, to
|
|
214
|
+
modify the base `uxonfly.md` or the server code — build from source and
|
|
215
|
+
point your AI tool at the compiled binary:
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
git clone https://github.com/Phanikondru/uxonfly-mcp.git
|
|
219
|
+
cd uxonfly-mcp
|
|
220
|
+
npm install
|
|
221
|
+
npm run build
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
Then in your MCP config, replace `npx -y uxonfly-mcp` with
|
|
225
|
+
`node /absolute/path/to/uxonfly-mcp/build/index.js`.
|
|
226
|
+
|
|
128
227
|
### Available tools
|
|
129
228
|
|
|
130
229
|
| Tool | When AI calls it | Returns |
|
|
@@ -147,12 +246,7 @@ Point the MCP server at your own version of `uxonfly.md` via the
|
|
|
147
246
|
`UXONFLY_MD_PATH` environment variable:
|
|
148
247
|
|
|
149
248
|
```bash
|
|
150
|
-
|
|
151
|
-
UXONFLY_MD_PATH=/absolute/path/to/your/uxonfly.md \
|
|
152
|
-
node /absolute/path/to/uxonfly-mcp/build/index.js
|
|
153
|
-
|
|
154
|
-
# After npm publish:
|
|
155
|
-
UXONFLY_MD_PATH=/absolute/path/to/your/uxonfly.md npx uxonfly-mcp
|
|
249
|
+
UXONFLY_MD_PATH=/absolute/path/to/your/uxonfly.md npx -y uxonfly-mcp
|
|
156
250
|
```
|
|
157
251
|
|
|
158
252
|
---
|
|
@@ -187,8 +281,8 @@ Goal: make UXonFly *better* than any one designer's taste alone.
|
|
|
187
281
|
|
|
188
282
|
## About
|
|
189
283
|
|
|
190
|
-
Built by
|
|
191
|
-
|
|
284
|
+
Built by **Phanindhra Kondru** — designer with 4 years of production UX
|
|
285
|
+
experience, building in public.
|
|
192
286
|
|
|
193
287
|
Just trying to build good things. **Design + AI + Code.**
|
|
194
288
|
|
|
@@ -196,7 +290,10 @@ UXonFly was built with Gemini, Cursor, and the rules in `uxonfly.md`
|
|
|
196
290
|
itself — the same system that ships with this package. The tool eats its
|
|
197
291
|
own dog food.
|
|
198
292
|
|
|
199
|
-
|
|
293
|
+
### Connect
|
|
294
|
+
|
|
295
|
+
- X: [@Phanikondru](https://x.com/Phanikondru)
|
|
296
|
+
- LinkedIn: [Phanindhra Kondru](https://www.linkedin.com/in/phanindhra-kondru-436220205/)
|
|
200
297
|
|
|
201
298
|
---
|
|
202
299
|
|
package/build/index.js
CHANGED
|
@@ -18,6 +18,10 @@ import { fileURLToPath } from "node:url";
|
|
|
18
18
|
import { dirname, resolve } from "node:path";
|
|
19
19
|
// ─── Load the base system ────────────────────────────────────────────
|
|
20
20
|
const DEFAULT_MD_PATH = resolve(dirname(fileURLToPath(import.meta.url)), "..", "uxonfly.md");
|
|
21
|
+
// Read package version at runtime so serverInfo.version always matches
|
|
22
|
+
// package.json. Prevents drift on future version bumps.
|
|
23
|
+
const PACKAGE_JSON_PATH = resolve(dirname(fileURLToPath(import.meta.url)), "..", "package.json");
|
|
24
|
+
const { version: PACKAGE_VERSION } = JSON.parse(readFileSync(PACKAGE_JSON_PATH, "utf8"));
|
|
21
25
|
function loadSystem() {
|
|
22
26
|
const path = process.env.UXONFLY_MD_PATH ?? DEFAULT_MD_PATH;
|
|
23
27
|
try {
|
|
@@ -64,7 +68,7 @@ const notFound = (what) => asText(`[uxonfly] not found: ${what}. Check uxonfly.m
|
|
|
64
68
|
// ─── Server ──────────────────────────────────────────────────────────
|
|
65
69
|
const server = new McpServer({
|
|
66
70
|
name: "uxonfly-mcp",
|
|
67
|
-
version:
|
|
71
|
+
version: PACKAGE_VERSION,
|
|
68
72
|
});
|
|
69
73
|
// Tool 1 — complete design system
|
|
70
74
|
server.registerTool("get_design_system", {
|