builder-doctor 1.0.18 → 1.0.21

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 CHANGED
@@ -24,6 +24,7 @@ builder-doctor [options] [commands]
24
24
 
25
25
  - `--verbose` - Show detailed output for each check
26
26
  - `--source <owner/repo>` - Override the install source repository for `install-skill`, `skills`, and `install-plugin`
27
+ - `--agent <name>` - Set the target agent folder for `install-skill` (e.g. `github` -> `.github`, `claude` -> `.claude`). Defaults to `.builder`
27
28
  - `BUILDER_SKILLS_SOURCE=<owner/repo>` - Environment variable to set the default source repository (overridden by `--source`)
28
29
  - `--help, -h` - Show help message
29
30
 
@@ -122,9 +123,13 @@ Install a skill from `https://github.com/BuilderIO/builder-agent-skills` into `.
122
123
 
123
124
  You can use `--source` or the environment variable `BUILDER_SKILLS_SOURCE` to override the source of skills/plugins.
124
125
 
126
+ Use `--agent <name>` to install into a different agent folder (e.g. `.github`, `.claude`, `.cursor`) instead of the default `.builder`.
127
+
125
128
  ```bash
126
129
  npx builder-doctor install-skill skill-creator
127
130
  npx builder-doctor install-skill skill-a skill-b
131
+ npx builder-doctor install-skill skill-creator --agent github # installs to .github/skills/skill-creator
132
+ npx builder-doctor install-skill skill-creator --agent claude # installs to .claude/skills/skill-creator
128
133
  ```
129
134
 
130
135
  If files already exist for that skill, they are overwritten. Multiple skills can be installed at once.
@@ -149,6 +154,36 @@ npx builder-doctor install-plugin my-plugin
149
154
 
150
155
  Plugin contents are extracted into the `.builder` root (for example: `skills`, `agents`, `rules`, etc).
151
156
 
157
+ ### mcp
158
+
159
+ Add or remove the Builder MCP server entry in an agent's MCP configuration file.
160
+
161
+ ```bash
162
+ npx builder-doctor mcp add <agent>
163
+ npx builder-doctor mcp remove <agent>
164
+ ```
165
+
166
+ Supported agents and the file each one writes to:
167
+
168
+ | Agent | File |
169
+ | ------------ | ------------------------------------- |
170
+ | `claude` | `~/.claude/settings.local.json` |
171
+ | `cursor` | `~/.cursor/mcp.json` |
172
+ | `copilot` | `.vscode/mcp.json` (project-local) |
173
+ | `code_puppy` | `~/.code_puppy/mcp_servers.json` |
174
+ | _(omitted)_ | `mcp.json` (project-local) |
175
+
176
+ `add` creates the file (and any missing parent directories) if it doesn't exist, and merges the `builder-mcp` entry into it without disturbing other settings. `remove` deletes only the `builder-mcp` entry.
177
+
178
+ ```bash
179
+ npx builder-doctor mcp add claude # ~/.claude/settings.local.json
180
+ npx builder-doctor mcp add cursor # ~/.cursor/mcp.json
181
+ npx builder-doctor mcp add copilot # .vscode/mcp.json
182
+ npx builder-doctor mcp add code_puppy # ~/.code_puppy/mcp_servers.json
183
+ npx builder-doctor mcp add # ./mcp.json
184
+ npx builder-doctor mcp remove claude # remove from Claude
185
+ ```
186
+
152
187
  ## Examples
153
188
 
154
189
  ```bash
@@ -158,11 +193,19 @@ builder-doctor rules # Run only rules checks
158
193
  builder-doctor setup # Get project setup instructions
159
194
  builder-doctor env # Display environment variables
160
195
  builder-doctor install-skill skill-creator # Install a skill into .builder/skills
196
+ builder-doctor install-skill skill-creator --agent github # Install a skill into .github/skills
197
+ builder-doctor install-skill skill-creator --agent claude # Install a skill into .claude/skills
161
198
  builder-doctor install-skill skill-creator --source myorg/myrepo # Install a skill from a custom source
162
199
  builder-doctor skills # List available skills (requires SKILL.md)
163
200
  builder-doctor skills --source myorg/myrepo # List available skills from a custom source
164
201
  BUILDER_SKILLS_SOURCE=myorg/myrepo builder-doctor skills # Use env var as the default source
165
202
  builder-doctor install-plugin my-plugin # Install a plugin into .builder
166
203
  builder-doctor install-plugin my-plugin --source myorg/myrepo # Install a plugin from a custom source
204
+ builder-doctor mcp add claude # Add Builder MCP entry to ~/.claude/settings.local.json
205
+ builder-doctor mcp add cursor # Add Builder MCP entry to ~/.cursor/mcp.json
206
+ builder-doctor mcp add copilot # Add Builder MCP entry to .vscode/mcp.json
207
+ builder-doctor mcp add code_puppy # Add Builder MCP entry to ~/.code_puppy/mcp_servers.json
208
+ builder-doctor mcp add # Create or update a local mcp.json
209
+ builder-doctor mcp remove claude # Remove the Builder MCP entry for Claude
167
210
  builder-doctor --verbose # Run all checks with detailed output
168
- ```
211
+ ```
package/dist/fetch.d.ts CHANGED
@@ -10,6 +10,8 @@ declare function getAgent(_url?: string): Promise<Dispatcher>;
10
10
  * Uses undici; respects NODE_TLS_REJECT_UNAUTHORIZED for TLS verification.
11
11
  */
12
12
  export declare const safeFetch: (input: string | URL, init?: RequestInit) => ReturnType<typeof globalThis.fetch>;
13
+ export declare function getTlsCertErrorCode(error: unknown): string | undefined;
14
+ export declare function formatTlsCertErrorMessage(code: string): string;
13
15
  export declare const __testing__: {
14
16
  getAgent: typeof getAgent;
15
17
  resetCache: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,WAAW,EAGhB,UAAU,EACX,MAAM,QAAQ,CAAC;AAMhB;;;;GAIG;AACH,iBAAe,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAiC1D;AAoBD;;;GAGG;AACH,eAAO,MAAM,SAAS,GACpB,OAAO,MAAM,GAAG,GAAG,EACnB,OAAO,WAAW,KACjB,UAAU,CAAC,OAAO,UAAU,CAAC,KAAK,CAWpC,CAAC;AAEF,eAAO,MAAM,WAAW;;;CAKvB,CAAC"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,WAAW,EAGhB,UAAU,EACX,MAAM,QAAQ,CAAC;AA4ChB;;;;GAIG;AACH,iBAAe,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAmC1D;AAoBD;;;GAGG;AACH,eAAO,MAAM,SAAS,GACpB,OAAO,MAAM,GAAG,GAAG,EACnB,OAAO,WAAW,KACjB,UAAU,CAAC,OAAO,UAAU,CAAC,KAAK,CAWpC,CAAC;AAWF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAUtE;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAqB9D;AAED,eAAO,MAAM,WAAW;;;CAKvB,CAAC"}
package/dist/fetch.js CHANGED
@@ -4,16 +4,50 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.__testing__ = exports.safeFetch = void 0;
7
+ exports.getTlsCertErrorCode = getTlsCertErrorCode;
8
+ exports.formatTlsCertErrorMessage = formatTlsCertErrorMessage;
7
9
  const undici_1 = require("undici");
8
10
  const node_process_1 = __importDefault(require("node:process"));
11
+ const node_tls_1 = __importDefault(require("node:tls"));
9
12
  const package_json_1 = require("../package.json");
10
13
  let _agent;
14
+ let _systemCAsLoaded = false;
15
+ /**
16
+ * Merge the OS trust store into Node's default CA list so that requests trust
17
+ * certificates added at the system level (e.g. corporate root CAs deployed via
18
+ * MDM, Keychain, the Windows cert store, or /etc/ssl/certs).
19
+ *
20
+ * No-op on Node versions that lack tls.getCACertificates / setDefaultCACertificates
21
+ * (added in Node 22.15). Best-effort; failures are swallowed so an unusual
22
+ * system trust store cannot break fetches that would otherwise have worked.
23
+ */
24
+ function ensureSystemCAsLoaded() {
25
+ if (_systemCAsLoaded)
26
+ return;
27
+ _systemCAsLoaded = true;
28
+ const t = node_tls_1.default;
29
+ if (typeof t.getCACertificates !== "function" ||
30
+ typeof t.setDefaultCACertificates !== "function") {
31
+ return;
32
+ }
33
+ try {
34
+ const system = t.getCACertificates("system");
35
+ if (!system || system.length === 0)
36
+ return;
37
+ const defaults = t.getCACertificates("default");
38
+ t.setDefaultCACertificates([...defaults, ...system]);
39
+ }
40
+ catch {
41
+ // best-effort — fall through to whatever default trust Node had
42
+ }
43
+ }
11
44
  /**
12
45
  * Get a dispatcher (Agent or ProxyAgent) for fetch requests.
13
46
  * Respects HTTPS_PROXY, https_proxy, HTTP_PROXY, http_proxy.
14
47
  * When no proxy is set, uses a plain Agent with optional TLS verification control.
15
48
  */
16
49
  async function getAgent(_url) {
50
+ ensureSystemCAsLoaded();
17
51
  const rejectUnauthorized = node_process_1.default.env.NODE_TLS_REJECT_UNAUTHORIZED !== "0";
18
52
  const envProxyUrl = node_process_1.default.env.HTTPS_PROXY ||
19
53
  node_process_1.default.env.https_proxy ||
@@ -74,6 +108,47 @@ const safeFetch = async (input, init) => {
74
108
  });
75
109
  };
76
110
  exports.safeFetch = safeFetch;
111
+ const TLS_CERT_ERROR_CODES = new Set([
112
+ "SELF_SIGNED_CERT_IN_CHAIN",
113
+ "DEPTH_ZERO_SELF_SIGNED_CERT",
114
+ "UNABLE_TO_GET_ISSUER_CERT_LOCALLY",
115
+ "UNABLE_TO_VERIFY_LEAF_SIGNATURE",
116
+ "CERT_UNTRUSTED",
117
+ "ERR_TLS_CERT_ALTNAME_INVALID",
118
+ ]);
119
+ function getTlsCertErrorCode(error) {
120
+ let current = error;
121
+ for (let i = 0; i < 8 && current; i += 1) {
122
+ const code = current.code;
123
+ if (typeof code === "string" && TLS_CERT_ERROR_CODES.has(code)) {
124
+ return code;
125
+ }
126
+ current = current.cause;
127
+ }
128
+ return undefined;
129
+ }
130
+ function formatTlsCertErrorMessage(code) {
131
+ return [
132
+ `Network request failed with TLS certificate error: ${code}.`,
133
+ "",
134
+ "This usually means your network is behind a corporate proxy or firewall that",
135
+ "intercepts HTTPS traffic with a custom certificate authority that Node.js does",
136
+ "not trust by default.",
137
+ "",
138
+ "To fix this, try one of the following (in order of preference):",
139
+ " 1. Point Node at your organization's root CA bundle (recommended):",
140
+ " export NODE_EXTRA_CA_CERTS=/path/to/your-org-ca.pem",
141
+ " Ask your IT team for the certificate file if you do not have it.",
142
+ "",
143
+ " 2. If you are behind an HTTP(S) proxy, make sure it is set:",
144
+ " export HTTPS_PROXY=http://your-proxy:port",
145
+ " export HTTP_PROXY=http://your-proxy:port",
146
+ "",
147
+ " 3. As a last resort (insecure, disables TLS verification), re-run with",
148
+ " the --acceptSelfSigned flag, or set:",
149
+ " export NODE_TLS_REJECT_UNAUTHORIZED=0",
150
+ ].join("\n");
151
+ }
77
152
  exports.__testing__ = {
78
153
  getAgent,
79
154
  resetCache: () => {
package/dist/fetch.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":";;;;;;AAAA,mCAMgB;AAChB,gEAAmC;AACnC,kDAAwD;AAExD,IAAI,MAA8B,CAAC;AAEnC;;;;GAIG;AACH,KAAK,UAAU,QAAQ,CAAC,IAAa;IACnC,MAAM,kBAAkB,GAAG,sBAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,GAAG,CAAC;IAE5E,MAAM,WAAW,GACf,sBAAO,CAAC,GAAG,CAAC,WAAW;QACvB,sBAAO,CAAC,GAAG,CAAC,WAAW;QACvB,sBAAO,CAAC,GAAG,CAAC,UAAU;QACtB,sBAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IAEzB,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,IAAI,mBAAU,CAAC;gBACtB,GAAG,EAAE,WAAW;gBAChB,OAAO,EAAE;oBACP,kBAAkB;iBACnB;gBACD,UAAU,EAAE;oBACV,kBAAkB;iBACnB;aACF,CAAC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,IAAI,cAAK,CAAC;YACjB,OAAO,EAAE;gBACP,kBAAkB;aACnB;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,WAAW,GAA2B;QAC1C,MAAM,EAAE,WAAW;QACnB,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,SAAS;QAClB,GAAG,EAAE,QAAQ;KACd,CAAC;IACF,MAAM,QAAQ,GAAG,WAAW,CAAC,sBAAO,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC;IAC5D,MAAM,SAAS,GAAG,sBAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,OAAO;QACL,YAAY,EAAE,gBAAgB,QAAQ,GACpC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,EACjC,oBAAoB,sBAAU,EAAE;QAChC,oBAAoB,EAAE,QAAQ;KAC/B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACI,MAAM,SAAS,GAAG,KAAK,EAC5B,KAAmB,EACnB,IAAkB,EACmB,EAAE;IACvC,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IACjE,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,IAAA,cAAa,EAAC,KAAK,EAAE;QAC1B,GAAG,IAAI;QACP,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE;YACP,GAAG,IAAI,EAAE,OAAO;YAChB,GAAG,YAAY,EAAE;SAClB;KACF,CAAwC,CAAC;AAC5C,CAAC,CAAC;AAdW,QAAA,SAAS,aAcpB;AAEW,QAAA,WAAW,GAAG;IACzB,QAAQ;IACR,UAAU,EAAE,GAAG,EAAE;QACf,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -6,8 +6,15 @@ const setup_1 = require("./setup");
6
6
  const env_1 = require("./env");
7
7
  const network_1 = require("./network");
8
8
  const install_1 = require("./install");
9
+ const mcp_1 = require("./mcp");
10
+ const fetch_1 = require("./fetch");
9
11
  const args = process.argv.slice(2);
10
12
  const verbose = args.includes("--verbose");
13
+ const acceptSelfSigned = args.includes("--acceptSelfSigned");
14
+ if (acceptSelfSigned) {
15
+ process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
16
+ console.warn("Warning: --acceptSelfSigned is set. TLS certificate verification is disabled for this run; only use on trusted networks.");
17
+ }
11
18
  const rules = args.includes("rules");
12
19
  const network = args.includes("network");
13
20
  const setup = args.includes("setup");
@@ -25,7 +32,11 @@ if (installSkill) {
25
32
  const installPlugin = args[0] === "install-plugin";
26
33
  const installPluginName = installPlugin ? args[1] : undefined;
27
34
  const skills = args[0] === "skills";
35
+ const mcp = args[0] === "mcp";
36
+ const mcpActionRaw = mcp ? args[1] : undefined;
37
+ const mcpAgent = mcp && args[2] && !args[2].startsWith("--") ? args[2] : undefined;
28
38
  const source = getOptionValue("--source");
39
+ const agent = getOptionValue("--agent");
29
40
  const all = !rules &&
30
41
  !network &&
31
42
  !setup &&
@@ -33,7 +44,8 @@ const all = !rules &&
33
44
  !showHelp &&
34
45
  !installSkill &&
35
46
  !installPlugin &&
36
- !skills;
47
+ !skills &&
48
+ !mcp;
37
49
  const help = `
38
50
  builder-doctor - A CLI tool for Builder.io diagnostics
39
51
 
@@ -45,13 +57,18 @@ Commands:
45
57
  setup Run Builder.io agent to analyze project and provide setup instructions
46
58
  env Display all environment variables sorted alphabetically
47
59
  install-skill <skill-name...> Install one or more skills from BuilderIO/builder-agent-skills
60
+ Use --agent <name> to change the install folder (e.g. github, claude, cursor)
48
61
  skills List available skills
49
62
  install-plugin <plugin-name> Install a plugin from BuilderIO/builder-agent-plugins
63
+ mcp <add|remove> [agent] Add or remove the Builder MCP server entry
64
+ Agents: claude, cursor, copilot, code_puppy. Omit agent to write a local mcp.json.
50
65
  help Show this help message
51
66
 
52
67
  Options:
53
68
  --verbose Show detailed output for each check
54
69
  --source <owner/repo> Override source repository (GitHub owner/repository). Overrides BUILDER_SKILLS_SOURCE
70
+ --agent <name> Set the target agent folder (e.g. github -> .github, claude -> .claude). Default: .builder
71
+ --acceptSelfSigned Trust self-signed / untrusted TLS certificates for this run (insecure; only use on trusted networks)
55
72
  --help, -h Show this help message
56
73
 
57
74
  Examples:
@@ -62,12 +79,19 @@ Examples:
62
79
  builder-doctor setup Get project setup instructions from Builder.io agent
63
80
  builder-doctor env Display environment variables
64
81
  builder-doctor install-skill skill-creator Install a skill into .builder/skills
82
+ builder-doctor install-skill skill-creator --agent github Install a skill into .github/skills
65
83
  builder-doctor install-skill skill-a skill-b Install multiple skills at once
66
84
  builder-doctor skills List available skills
67
85
  builder-doctor skills --source myorg/myrepo List available skills from a custom source
68
86
  builder-doctor install-skill skill-creator --source myorg/myrepo Install a skill from a custom source
69
87
  builder-doctor install-plugin my-plugin Install a plugin into .builder
70
88
  builder-doctor install-plugin my-plugin --source myorg/myrepo Install a plugin from a custom source
89
+ builder-doctor mcp add claude Add Builder MCP entry to ~/.claude/settings.local.json
90
+ builder-doctor mcp add cursor Add Builder MCP entry to ~/.cursor/mcp.json
91
+ builder-doctor mcp add copilot Add Builder MCP entry to .vscode/mcp.json
92
+ builder-doctor mcp add code_puppy Add Builder MCP entry to ~/.code_puppy/mcp_servers.json
93
+ builder-doctor mcp add Create or update a local mcp.json
94
+ builder-doctor mcp remove claude Remove the Builder MCP entry for Claude
71
95
  builder-doctor --verbose Run rules and network checks with detailed output
72
96
  `;
73
97
  const nonInteractive = !process.stdin.isTTY || !process.stdout.isTTY;
@@ -113,6 +137,7 @@ async function main() {
113
137
  await (0, install_1.runInstallSkill)({
114
138
  skillName,
115
139
  source,
140
+ agent,
116
141
  verbose,
117
142
  });
118
143
  }
@@ -134,9 +159,29 @@ async function main() {
134
159
  verbose,
135
160
  });
136
161
  }
162
+ if (mcp) {
163
+ if (mcpActionRaw !== "add" && mcpActionRaw !== "remove") {
164
+ console.error("Invalid MCP action. Usage: builder-doctor mcp <add|remove> [agent]");
165
+ process.exit(1);
166
+ }
167
+ await (0, mcp_1.runMcp)({
168
+ action: mcpActionRaw,
169
+ agent: mcpAgent,
170
+ verbose,
171
+ });
172
+ }
137
173
  }
138
174
  catch (error) {
139
- console.error("An error occurred:", error);
175
+ const tlsErrorCode = (0, fetch_1.getTlsCertErrorCode)(error);
176
+ if (tlsErrorCode) {
177
+ console.error((0, fetch_1.formatTlsCertErrorMessage)(tlsErrorCode));
178
+ if (verbose) {
179
+ console.error("\nOriginal error:", error);
180
+ }
181
+ }
182
+ else {
183
+ console.error("An error occurred:", error);
184
+ }
140
185
  process.exit(1);
141
186
  }
142
187
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/install.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export interface InstallSkillOptions {
2
2
  skillName: string;
3
3
  source?: string;
4
+ agent?: string;
4
5
  verbose?: boolean;
5
6
  }
6
7
  export interface InstallPluginOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAmBf;AAcD,wBAAsB,aAAa,CACjC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CA+Df"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAmBf;AAcD,wBAAsB,aAAa,CACjC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CA+Df"}
package/dist/install.js CHANGED
@@ -51,11 +51,12 @@ const DEFAULT_PLUGINS_SOURCE = "BuilderIO/builder-agent-plugins";
51
51
  const SOURCE_ENV_VAR = "BUILDER_SKILLS_SOURCE";
52
52
  const GITHUB_TARBALL_BASE_URL = "https://codeload.github.com";
53
53
  async function runInstallSkill(options) {
54
- const { skillName, source, verbose = false } = options;
54
+ const { skillName, source, agent, verbose = false } = options;
55
55
  const sourceRepo = resolveSourceRepository(source);
56
56
  validateInstallItemName(skillName, "skill");
57
+ const agentFolder = agent ? `.${agent}` : ".builder";
57
58
  const escapedSkillName = escapeRegExp(skillName);
58
- const destinationPath = node_path_1.default.join(".builder", "skills", skillName);
59
+ const destinationPath = node_path_1.default.join(agentFolder, "skills", skillName);
59
60
  await runInstallFromTarball({
60
61
  itemType: "Skill",
61
62
  itemName: skillName,
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
package/dist/mcp.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ export type McpAction = "add" | "remove";
2
+ export interface McpOptions {
3
+ action: McpAction;
4
+ agent?: string;
5
+ verbose?: boolean;
6
+ }
7
+ export declare function runMcp(options: McpOptions): Promise<void>;
8
+ //# sourceMappingURL=mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEzC,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAaD,wBAAsB,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB/D"}
package/dist/mcp.js ADDED
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.runMcp = runMcp;
7
+ const node_fs_1 = require("node:fs");
8
+ const node_os_1 = require("node:os");
9
+ const node_path_1 = __importDefault(require("node:path"));
10
+ const SERVER_KEY = "builder-mcp";
11
+ const SERVER_COMMAND = "npx";
12
+ const SERVER_ARGS = ["@builder.io/dev-tools@latest", "mcp"];
13
+ async function runMcp(options) {
14
+ const { action, agent, verbose = false } = options;
15
+ const target = resolveTarget(agent);
16
+ if (verbose) {
17
+ console.log(`${action === "add" ? "Adding" : "Removing"} ${SERVER_KEY} ${action === "add" ? "to" : "from"} ${target.filePath}`);
18
+ }
19
+ if (action === "add") {
20
+ addServer(target);
21
+ }
22
+ else {
23
+ removeServer(target);
24
+ }
25
+ }
26
+ function resolveTarget(agent) {
27
+ const standardEntry = {
28
+ command: SERVER_COMMAND,
29
+ args: [...SERVER_ARGS],
30
+ };
31
+ if (!agent) {
32
+ return {
33
+ agentLabel: "local",
34
+ filePath: node_path_1.default.join(process.cwd(), "mcp.json"),
35
+ containerKey: "mcpServers",
36
+ serverEntry: standardEntry,
37
+ };
38
+ }
39
+ switch (agent) {
40
+ case "claude":
41
+ return {
42
+ agentLabel: "Claude",
43
+ filePath: node_path_1.default.join((0, node_os_1.homedir)(), ".claude", "settings.local.json"),
44
+ containerKey: "mcpServers",
45
+ serverEntry: standardEntry,
46
+ };
47
+ case "cursor":
48
+ return {
49
+ agentLabel: "Cursor",
50
+ filePath: node_path_1.default.join((0, node_os_1.homedir)(), ".cursor", "mcp.json"),
51
+ containerKey: "mcpServers",
52
+ serverEntry: standardEntry,
53
+ };
54
+ case "copilot":
55
+ return {
56
+ agentLabel: "Copilot",
57
+ filePath: node_path_1.default.join(process.cwd(), ".vscode", "mcp.json"),
58
+ containerKey: "servers",
59
+ serverEntry: {
60
+ type: "stdio",
61
+ command: SERVER_COMMAND,
62
+ args: [...SERVER_ARGS],
63
+ },
64
+ };
65
+ case "code_puppy":
66
+ return {
67
+ agentLabel: "Code Puppy",
68
+ filePath: node_path_1.default.join((0, node_os_1.homedir)(), ".code_puppy", "mcp_servers.json"),
69
+ containerKey: "mcp_servers",
70
+ serverEntry: {
71
+ type: "stdio",
72
+ command: SERVER_COMMAND,
73
+ args: [...SERVER_ARGS],
74
+ enabled: true,
75
+ },
76
+ };
77
+ default:
78
+ throw new Error(`Unknown MCP agent "${agent}". Supported: claude, cursor, copilot, code_puppy, or omit for a local mcp.json.`);
79
+ }
80
+ }
81
+ function addServer(target) {
82
+ const config = readJsonFile(target.filePath);
83
+ const existingContainer = config[target.containerKey];
84
+ const container = existingContainer && typeof existingContainer === "object" && !Array.isArray(existingContainer)
85
+ ? existingContainer
86
+ : {};
87
+ container[SERVER_KEY] = target.serverEntry;
88
+ config[target.containerKey] = container;
89
+ writeJsonFile(target.filePath, config);
90
+ console.log(`MCP support added for Builder to ${target.agentLabel} in ${target.filePath}`);
91
+ }
92
+ function removeServer(target) {
93
+ if (!(0, node_fs_1.existsSync)(target.filePath)) {
94
+ console.log(`No MCP configuration found for ${target.agentLabel} at ${target.filePath}`);
95
+ return;
96
+ }
97
+ const config = readJsonFile(target.filePath);
98
+ const container = config[target.containerKey];
99
+ if (!container ||
100
+ typeof container !== "object" ||
101
+ Array.isArray(container) ||
102
+ !(SERVER_KEY in container)) {
103
+ console.log(`MCP support for Builder was not present in ${target.filePath}`);
104
+ return;
105
+ }
106
+ delete container[SERVER_KEY];
107
+ writeJsonFile(target.filePath, config);
108
+ console.log(`MCP support removed for Builder from ${target.agentLabel} in ${target.filePath}`);
109
+ }
110
+ function readJsonFile(filePath) {
111
+ if (!(0, node_fs_1.existsSync)(filePath)) {
112
+ return {};
113
+ }
114
+ const raw = (0, node_fs_1.readFileSync)(filePath, "utf8").trim();
115
+ if (!raw) {
116
+ return {};
117
+ }
118
+ try {
119
+ const parsed = JSON.parse(raw);
120
+ if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
121
+ return parsed;
122
+ }
123
+ throw new Error(`Expected a JSON object in ${filePath}`);
124
+ }
125
+ catch (error) {
126
+ const message = error instanceof Error ? error.message : String(error);
127
+ throw new Error(`Failed to parse JSON in ${filePath}: ${message}`);
128
+ }
129
+ }
130
+ function writeJsonFile(filePath, data) {
131
+ (0, node_fs_1.mkdirSync)(node_path_1.default.dirname(filePath), { recursive: true });
132
+ (0, node_fs_1.writeFileSync)(filePath, JSON.stringify(data, null, 2) + "\n", "utf8");
133
+ }
134
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "builder-doctor",
3
- "version": "1.0.18",
4
- "description": "A CLI tool for Builder.io diagnostics",
3
+ "version": "1.0.21",
4
+ "description": "A CLI tool for Builder.io utilities",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
7
7
  "builder-doctor": "dist/index.js"