@fragments-sdk/mcp 0.10.1 → 1.0.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 +34 -84
- package/dist/bin.d.ts +1 -0
- package/dist/bin.js +7 -153
- package/dist/bin.js.map +1 -1
- package/dist/index.d.ts +1484 -0
- package/dist/index.js +1214 -207
- package/dist/index.js.map +1 -1
- package/package.json +9 -33
- package/dist/chunk-7D4SUZUM.js +0 -38
- package/dist/chunk-7D4SUZUM.js.map +0 -1
- package/dist/chunk-KGFM5SCE.js +0 -4263
- package/dist/chunk-KGFM5SCE.js.map +0 -1
- package/dist/chunk-VRPDT3Y6.js +0 -52
- package/dist/chunk-VRPDT3Y6.js.map +0 -1
- package/dist/chunk-WDQPNHZ2.js +0 -143
- package/dist/chunk-WDQPNHZ2.js.map +0 -1
- package/dist/dist-LVC53MY5.js +0 -61000
- package/dist/dist-LVC53MY5.js.map +0 -1
- package/dist/init.js +0 -175
- package/dist/init.js.map +0 -1
- package/dist/rules-JUZ3RABB.js +0 -8
- package/dist/rules-JUZ3RABB.js.map +0 -1
- package/dist/sass.node-4XJK6YBF-CPK77BO6.js +0 -130797
- package/dist/sass.node-4XJK6YBF-CPK77BO6.js.map +0 -1
- package/dist/server.js +0 -12
- package/dist/server.js.map +0 -1
package/dist/init.js
DELETED
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
generateRulesFiles
|
|
3
|
-
} from "./chunk-WDQPNHZ2.js";
|
|
4
|
-
import "./chunk-7D4SUZUM.js";
|
|
5
|
-
|
|
6
|
-
// src/init.ts
|
|
7
|
-
import { existsSync, readFileSync, writeFileSync, mkdirSync } from "fs";
|
|
8
|
-
import { join, dirname, relative } from "path";
|
|
9
|
-
var SERVER_ENTRY = {
|
|
10
|
-
command: "npx",
|
|
11
|
-
args: ["-y", "@fragments-sdk/mcp@latest"]
|
|
12
|
-
};
|
|
13
|
-
var CLIENT_TARGETS = [
|
|
14
|
-
{
|
|
15
|
-
name: "Claude Code",
|
|
16
|
-
key: "claude",
|
|
17
|
-
configPath: (root) => join(root, ".mcp.json"),
|
|
18
|
-
wrapperKey: "mcpServers",
|
|
19
|
-
serverEntry: SERVER_ENTRY
|
|
20
|
-
// Always offered — Claude Code uses a dotfile, no directory to detect.
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
name: "Cursor",
|
|
24
|
-
key: "cursor",
|
|
25
|
-
configPath: (root) => join(root, ".cursor", "mcp.json"),
|
|
26
|
-
wrapperKey: "mcpServers",
|
|
27
|
-
serverEntry: SERVER_ENTRY,
|
|
28
|
-
detectDir: (root) => join(root, ".cursor")
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
name: "VS Code",
|
|
32
|
-
key: "vscode",
|
|
33
|
-
configPath: (root) => join(root, ".vscode", "mcp.json"),
|
|
34
|
-
wrapperKey: "servers",
|
|
35
|
-
serverEntry: { type: "stdio", ...SERVER_ENTRY },
|
|
36
|
-
detectDir: (root) => join(root, ".vscode")
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
name: "Windsurf",
|
|
40
|
-
key: "windsurf",
|
|
41
|
-
configPath: (root) => join(root, ".windsurf", "mcp.json"),
|
|
42
|
-
wrapperKey: "mcpServers",
|
|
43
|
-
serverEntry: SERVER_ENTRY,
|
|
44
|
-
detectDir: (root) => join(root, ".windsurf")
|
|
45
|
-
}
|
|
46
|
-
];
|
|
47
|
-
function hasFragmentsMcp(servers) {
|
|
48
|
-
return Object.values(servers).some((server) => {
|
|
49
|
-
const s = server;
|
|
50
|
-
return s.args?.some((arg) => arg.includes("@fragments-sdk/mcp"));
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
function writeConfig(configPath, target) {
|
|
54
|
-
if (existsSync(configPath)) {
|
|
55
|
-
try {
|
|
56
|
-
const raw = readFileSync(configPath, "utf-8");
|
|
57
|
-
const config2 = JSON.parse(raw);
|
|
58
|
-
const servers = config2[target.wrapperKey] || {};
|
|
59
|
-
if (servers.fragments || hasFragmentsMcp(servers)) {
|
|
60
|
-
return "exists";
|
|
61
|
-
}
|
|
62
|
-
servers.fragments = target.serverEntry;
|
|
63
|
-
config2[target.wrapperKey] = servers;
|
|
64
|
-
writeFileSync(configPath, JSON.stringify(config2, null, 2) + "\n", "utf-8");
|
|
65
|
-
return "added";
|
|
66
|
-
} catch {
|
|
67
|
-
return "could not parse existing config";
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
mkdirSync(dirname(configPath), { recursive: true });
|
|
71
|
-
const config = { [target.wrapperKey]: { fragments: target.serverEntry } };
|
|
72
|
-
writeFileSync(configPath, JSON.stringify(config, null, 2) + "\n", "utf-8");
|
|
73
|
-
return "created";
|
|
74
|
-
}
|
|
75
|
-
function runInit(options) {
|
|
76
|
-
const { projectRoot } = options;
|
|
77
|
-
let targets;
|
|
78
|
-
if (options.clients?.length) {
|
|
79
|
-
const valid = new Set(CLIENT_TARGETS.map((t) => t.key));
|
|
80
|
-
for (const c of options.clients) {
|
|
81
|
-
if (!valid.has(c)) {
|
|
82
|
-
console.error(`Unknown client "${c}". Valid: ${[...valid].join(", ")}`);
|
|
83
|
-
process.exit(1);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
targets = CLIENT_TARGETS.filter((t) => options.clients.includes(t.key));
|
|
87
|
-
} else {
|
|
88
|
-
targets = CLIENT_TARGETS.filter((t) => {
|
|
89
|
-
if (t.key === "claude") return true;
|
|
90
|
-
return t.detectDir ? existsSync(t.detectDir(projectRoot)) : false;
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
if (targets.length === 0) {
|
|
94
|
-
console.log(
|
|
95
|
-
"No MCP clients detected. Use --client to specify: claude, cursor, vscode, windsurf"
|
|
96
|
-
);
|
|
97
|
-
process.exit(1);
|
|
98
|
-
}
|
|
99
|
-
console.log("\nFragments MCP \u2014 Init\n");
|
|
100
|
-
let configured = 0;
|
|
101
|
-
let skipped = 0;
|
|
102
|
-
for (const target of targets) {
|
|
103
|
-
const configPath = target.configPath(projectRoot);
|
|
104
|
-
const rel = relative(projectRoot, configPath) || configPath;
|
|
105
|
-
const result = writeConfig(configPath, target);
|
|
106
|
-
if (result === "created") {
|
|
107
|
-
console.log(` + ${target.name} \u2192 ${rel} (created)`);
|
|
108
|
-
configured++;
|
|
109
|
-
} else if (result === "added") {
|
|
110
|
-
console.log(` + ${target.name} \u2192 ${rel} (updated)`);
|
|
111
|
-
configured++;
|
|
112
|
-
} else if (result === "exists") {
|
|
113
|
-
console.log(` \xB7 ${target.name} \u2014 already configured`);
|
|
114
|
-
skipped++;
|
|
115
|
-
} else {
|
|
116
|
-
console.log(` ! ${target.name} \u2014 ${result}`);
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
let rulesWritten = [];
|
|
120
|
-
if (options.generateRules !== false) {
|
|
121
|
-
rulesWritten = generateRulesFiles({
|
|
122
|
-
data: emptyDesignSystemData(),
|
|
123
|
-
brandName: "Fragments",
|
|
124
|
-
outputDir: projectRoot,
|
|
125
|
-
formats: ["cursor", "claude", "copilot"],
|
|
126
|
-
force: false
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
const hasFragmentsJson = existsSync(join(projectRoot, "fragments.json"));
|
|
130
|
-
const hasTsConfig = existsSync(join(projectRoot, "tsconfig.json")) || existsSync(join(projectRoot, "tsconfig.app.json"));
|
|
131
|
-
console.log();
|
|
132
|
-
if (hasFragmentsJson) {
|
|
133
|
-
console.log(" Mode: fragments.json (compiled definitions)");
|
|
134
|
-
} else if (hasTsConfig) {
|
|
135
|
-
console.log(" Mode: auto-extraction (zero-config)");
|
|
136
|
-
} else {
|
|
137
|
-
console.log(" Mode: will auto-detect on first run");
|
|
138
|
-
}
|
|
139
|
-
console.log();
|
|
140
|
-
if (configured > 0) {
|
|
141
|
-
console.log(` Done \u2014 configured ${configured} client(s).`);
|
|
142
|
-
} else {
|
|
143
|
-
console.log(" Already configured \u2014 no changes needed.");
|
|
144
|
-
}
|
|
145
|
-
if (rulesWritten.length > 0) {
|
|
146
|
-
console.log(` Wrote ${rulesWritten.length} rules file(s) for the validation loop.`);
|
|
147
|
-
}
|
|
148
|
-
console.log();
|
|
149
|
-
console.log(" Next steps:");
|
|
150
|
-
console.log(" 1. Restart your editor to activate the MCP server");
|
|
151
|
-
console.log(' 2. Ask your AI assistant: "What components are available?"');
|
|
152
|
-
console.log(" 3. After it generates UI, have it call the Fragments MCP govern tool");
|
|
153
|
-
console.log();
|
|
154
|
-
}
|
|
155
|
-
function emptyDesignSystemData() {
|
|
156
|
-
const capabilities = [];
|
|
157
|
-
return {
|
|
158
|
-
snapshot: {
|
|
159
|
-
schemaVersion: 1,
|
|
160
|
-
sourceType: "custom-json",
|
|
161
|
-
sourceLabel: "init",
|
|
162
|
-
capabilities,
|
|
163
|
-
metadata: {},
|
|
164
|
-
components: {},
|
|
165
|
-
packageMap: {}
|
|
166
|
-
},
|
|
167
|
-
components: {},
|
|
168
|
-
packageMap: {},
|
|
169
|
-
capabilities: new Set(capabilities)
|
|
170
|
-
};
|
|
171
|
-
}
|
|
172
|
-
export {
|
|
173
|
-
runInit
|
|
174
|
-
};
|
|
175
|
-
//# sourceMappingURL=init.js.map
|
package/dist/init.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/init.ts"],"sourcesContent":["/**\n * `fragments-mcp init` — write MCP config for detected AI clients.\n *\n * Auto-detects Claude Code, Cursor, VS Code, and Windsurf, then merges a\n * \"fragments\" server entry into each client's config file. Idempotent —\n * skips clients that already have the server configured.\n */\n\nimport { existsSync, readFileSync, writeFileSync, mkdirSync } from \"node:fs\";\nimport { join, dirname, relative } from \"node:path\";\nimport { generateRulesFiles } from \"./rules.js\";\nimport type { DesignSystemData } from \"./types.js\";\nimport type { McpCapability } from \"@fragments-sdk/core\";\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\nexport type Client = \"claude\" | \"cursor\" | \"vscode\" | \"windsurf\";\n\ninterface ClientTarget {\n name: string;\n key: Client;\n /** Absolute path to the MCP config file. */\n configPath: (root: string) => string;\n /** Top-level key that holds server entries (\"mcpServers\" or \"servers\"). */\n wrapperKey: string;\n /** The server entry to write. */\n serverEntry: Record<string, unknown>;\n /** Directory whose existence signals the client is in use (optional). */\n detectDir?: (root: string) => string;\n}\n\nexport interface InitOptions {\n projectRoot: string;\n /** Explicit client list — overrides auto-detection. */\n clients?: Client[];\n /** Write IDE rules files alongside MCP config (default: true). */\n generateRules?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Client definitions\n// ---------------------------------------------------------------------------\n\nconst SERVER_ENTRY = {\n command: \"npx\",\n args: [\"-y\", \"@fragments-sdk/mcp@latest\"],\n};\n\nconst CLIENT_TARGETS: ClientTarget[] = [\n {\n name: \"Claude Code\",\n key: \"claude\",\n configPath: (root) => join(root, \".mcp.json\"),\n wrapperKey: \"mcpServers\",\n serverEntry: SERVER_ENTRY,\n // Always offered — Claude Code uses a dotfile, no directory to detect.\n },\n {\n name: \"Cursor\",\n key: \"cursor\",\n configPath: (root) => join(root, \".cursor\", \"mcp.json\"),\n wrapperKey: \"mcpServers\",\n serverEntry: SERVER_ENTRY,\n detectDir: (root) => join(root, \".cursor\"),\n },\n {\n name: \"VS Code\",\n key: \"vscode\",\n configPath: (root) => join(root, \".vscode\", \"mcp.json\"),\n wrapperKey: \"servers\",\n serverEntry: { type: \"stdio\", ...SERVER_ENTRY },\n detectDir: (root) => join(root, \".vscode\"),\n },\n {\n name: \"Windsurf\",\n key: \"windsurf\",\n configPath: (root) => join(root, \".windsurf\", \"mcp.json\"),\n wrapperKey: \"mcpServers\",\n serverEntry: SERVER_ENTRY,\n detectDir: (root) => join(root, \".windsurf\"),\n },\n];\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nfunction hasFragmentsMcp(servers: Record<string, unknown>): boolean {\n return Object.values(servers).some((server) => {\n const s = server as { args?: string[] };\n return s.args?.some((arg: string) => arg.includes(\"@fragments-sdk/mcp\"));\n });\n}\n\ntype WriteResult = \"created\" | \"added\" | \"exists\" | string;\n\nfunction writeConfig(configPath: string, target: ClientTarget): WriteResult {\n if (existsSync(configPath)) {\n try {\n const raw = readFileSync(configPath, \"utf-8\");\n const config = JSON.parse(raw);\n const servers = config[target.wrapperKey] || {};\n\n if (servers.fragments || hasFragmentsMcp(servers)) {\n return \"exists\";\n }\n\n servers.fragments = target.serverEntry;\n config[target.wrapperKey] = servers;\n writeFileSync(configPath, JSON.stringify(config, null, 2) + \"\\n\", \"utf-8\");\n return \"added\";\n } catch {\n return \"could not parse existing config\";\n }\n }\n\n mkdirSync(dirname(configPath), { recursive: true });\n const config = { [target.wrapperKey]: { fragments: target.serverEntry } };\n writeFileSync(configPath, JSON.stringify(config, null, 2) + \"\\n\", \"utf-8\");\n return \"created\";\n}\n\n// ---------------------------------------------------------------------------\n// Main\n// ---------------------------------------------------------------------------\n\nexport function runInit(options: InitOptions): void {\n const { projectRoot } = options;\n\n // Resolve targets --------------------------------------------------------\n let targets: ClientTarget[];\n\n if (options.clients?.length) {\n const valid = new Set<string>(CLIENT_TARGETS.map((t) => t.key));\n for (const c of options.clients) {\n if (!valid.has(c)) {\n console.error(`Unknown client \"${c}\". Valid: ${[...valid].join(\", \")}`);\n process.exit(1);\n }\n }\n targets = CLIENT_TARGETS.filter((t) => options.clients!.includes(t.key));\n } else {\n // Auto-detect: always include Claude Code + any editors with existing dirs\n targets = CLIENT_TARGETS.filter((t) => {\n if (t.key === \"claude\") return true;\n return t.detectDir ? existsSync(t.detectDir(projectRoot)) : false;\n });\n }\n\n if (targets.length === 0) {\n console.log(\n \"No MCP clients detected. Use --client to specify: claude, cursor, vscode, windsurf\",\n );\n process.exit(1);\n }\n\n // Write configs ----------------------------------------------------------\n console.log(\"\\nFragments MCP \\u2014 Init\\n\");\n\n let configured = 0;\n let skipped = 0;\n\n for (const target of targets) {\n const configPath = target.configPath(projectRoot);\n const rel = relative(projectRoot, configPath) || configPath;\n const result = writeConfig(configPath, target);\n\n if (result === \"created\") {\n console.log(` + ${target.name} \\u2192 ${rel} (created)`);\n configured++;\n } else if (result === \"added\") {\n console.log(` + ${target.name} \\u2192 ${rel} (updated)`);\n configured++;\n } else if (result === \"exists\") {\n console.log(` · ${target.name} \\u2014 already configured`);\n skipped++;\n } else {\n console.log(` ! ${target.name} \\u2014 ${result}`);\n }\n }\n\n let rulesWritten: string[] = [];\n if (options.generateRules !== false) {\n rulesWritten = generateRulesFiles({\n data: emptyDesignSystemData(),\n brandName: \"Fragments\",\n outputDir: projectRoot,\n formats: [\"cursor\", \"claude\", \"copilot\"],\n force: false,\n });\n }\n\n // Detection mode ---------------------------------------------------------\n const hasFragmentsJson = existsSync(join(projectRoot, \"fragments.json\"));\n const hasTsConfig =\n existsSync(join(projectRoot, \"tsconfig.json\")) ||\n existsSync(join(projectRoot, \"tsconfig.app.json\"));\n\n console.log();\n if (hasFragmentsJson) {\n console.log(\" Mode: fragments.json (compiled definitions)\");\n } else if (hasTsConfig) {\n console.log(\" Mode: auto-extraction (zero-config)\");\n } else {\n console.log(\" Mode: will auto-detect on first run\");\n }\n\n // Summary ----------------------------------------------------------------\n console.log();\n if (configured > 0) {\n console.log(` Done \\u2014 configured ${configured} client(s).`);\n } else {\n console.log(\" Already configured \\u2014 no changes needed.\");\n }\n\n if (rulesWritten.length > 0) {\n console.log(` Wrote ${rulesWritten.length} rules file(s) for the validation loop.`);\n }\n\n console.log();\n console.log(\" Next steps:\");\n console.log(\" 1. Restart your editor to activate the MCP server\");\n console.log(' 2. Ask your AI assistant: \"What components are available?\"');\n console.log(' 3. After it generates UI, have it call the Fragments MCP govern tool');\n console.log();\n}\n\nfunction emptyDesignSystemData(): DesignSystemData {\n const capabilities: McpCapability[] = [];\n return {\n snapshot: {\n schemaVersion: 1,\n sourceType: \"custom-json\",\n sourceLabel: \"init\",\n capabilities,\n metadata: {},\n components: {},\n packageMap: {},\n },\n components: {},\n packageMap: {},\n capabilities: new Set(capabilities),\n };\n}\n"],"mappings":"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","names":["config"]}
|
package/dist/rules-JUZ3RABB.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|