@paretools/init 0.15.0 → 0.16.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/dist/doctor.js CHANGED
@@ -1,17 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  /* eslint-disable no-console */
3
- import { readFileSync, existsSync } from "node:fs";
3
+ import { readFileSync } from "node:fs";
4
4
  import { resolve, dirname } from "node:path";
5
5
  import { fileURLToPath } from "node:url";
6
- import { parse as parseToml } from "smol-toml";
7
- import YAML from "yaml";
8
6
  import { parseDoctorArgs, DOCTOR_HELP } from "./lib/args.js";
9
- import { CLIENT_MAP, resolveConfigPath } from "./lib/clients.js";
7
+ import { CLIENT_MAP } from "./lib/clients.js";
10
8
  import { checkServer, validateServerPackage } from "./lib/doctor/health-check.js";
11
9
  import { formatReport } from "./lib/doctor/report.js";
12
10
  import { detectClients } from "./lib/detect.js";
13
11
  import { promptClient } from "./lib/prompts.js";
14
- import { parseJsonc } from "./lib/parse-utils.js";
12
+ import { extractPareServers } from "./lib/extract-servers.js";
15
13
  const __dirname = dirname(fileURLToPath(import.meta.url));
16
14
  function getVersion() {
17
15
  try {
@@ -22,71 +20,6 @@ function getVersion() {
22
20
  return "0.0.0";
23
21
  }
24
22
  }
25
- /** Extract Pare server entries from a client's config file. */
26
- function extractPareServers(client, projectDir) {
27
- const configPath = resolveConfigPath(client.configPath, projectDir);
28
- if (!existsSync(configPath)) {
29
- return new Map();
30
- }
31
- const raw = readFileSync(configPath, "utf-8");
32
- const servers = new Map();
33
- try {
34
- if (client.format === "json-mcpservers") {
35
- const config = parseJsonc(raw);
36
- if (config?.mcpServers) {
37
- for (const [key, val] of Object.entries(config.mcpServers)) {
38
- if (key.startsWith("pare-")) {
39
- servers.set(key, val);
40
- }
41
- }
42
- }
43
- }
44
- else if (client.format === "json-vscode") {
45
- const config = parseJsonc(raw);
46
- if (config?.servers) {
47
- for (const [key, val] of Object.entries(config.servers)) {
48
- if (key.startsWith("pare-")) {
49
- servers.set(key, { command: val.command, args: val.args });
50
- }
51
- }
52
- }
53
- }
54
- else if (client.format === "json-zed") {
55
- const config = parseJsonc(raw);
56
- if (config?.context_servers) {
57
- for (const [key, val] of Object.entries(config.context_servers)) {
58
- if (key.startsWith("pare-")) {
59
- servers.set(key, { command: val.command, args: val.args });
60
- }
61
- }
62
- }
63
- }
64
- else if (client.format === "toml-codex") {
65
- const config = parseToml(raw);
66
- if (config?.mcp_servers) {
67
- for (const [key, val] of Object.entries(config.mcp_servers)) {
68
- if (key.startsWith("pare-")) {
69
- servers.set(key, val);
70
- }
71
- }
72
- }
73
- }
74
- else if (client.format === "yaml-continue") {
75
- const config = YAML.parse(raw);
76
- if (config?.mcpServers) {
77
- for (const entry of config.mcpServers) {
78
- if (entry.name.startsWith("pare-")) {
79
- servers.set(entry.name, { command: entry.command, args: entry.args });
80
- }
81
- }
82
- }
83
- }
84
- }
85
- catch {
86
- console.warn(`Warning: Could not parse ${configPath}`);
87
- }
88
- return servers;
89
- }
90
23
  async function main() {
91
24
  const args = parseDoctorArgs(process.argv.slice(2));
92
25
  if (args.help) {
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -43,6 +43,7 @@ async function main() {
43
43
  client = await promptClient();
44
44
  }
45
45
  // 2. Resolve servers
46
+ const projectDir = process.cwd();
46
47
  let servers;
47
48
  if (args.preset) {
48
49
  const preset = PRESET_MAP.get(args.preset);
@@ -54,10 +55,9 @@ async function main() {
54
55
  servers = resolveServers(preset.serverIds);
55
56
  }
56
57
  else {
57
- servers = await promptServers();
58
+ servers = await promptServers(projectDir);
58
59
  }
59
60
  // 3. Merge config
60
- const projectDir = process.cwd();
61
61
  const fs = args.dryRun ? memoryFs() : realFs();
62
62
  const result = mergeConfig(client, servers, projectDir, fs);
63
63
  // 4. Print summary
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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"}
@@ -4,4 +4,20 @@ import { type ClientEntry } from "./clients.js";
4
4
  * known config directories/files on the filesystem.
5
5
  */
6
6
  export declare function detectClients(): ClientEntry[];
7
+ /** Ecosystem identifier detected from marker files. */
8
+ export type Ecosystem = "python" | "rust" | "go" | "web" | "devops" | "make" | "jvm" | "dotnet" | "ruby" | "swift";
9
+ /** Result of project type auto-detection. */
10
+ export interface DetectionResult {
11
+ /** All detected ecosystems. */
12
+ ecosystems: Ecosystem[];
13
+ /** Suggested preset ID, or undefined if nothing detected. */
14
+ suggestedPreset: string | undefined;
15
+ }
16
+ /**
17
+ * Auto-detect the project type by scanning for marker files in the given directory.
18
+ *
19
+ * @param projectDir - The directory to scan (defaults to cwd).
20
+ * @param checkExists - Override for testing (defaults to `existsSync`).
21
+ */
22
+ export declare function detectProjectType(projectDir?: string, checkExists?: (path: string) => boolean): DetectionResult;
7
23
  //# sourceMappingURL=detect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/lib/detect.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAE5D;;;GAGG;AACH,wBAAgB,aAAa,IAAI,WAAW,EAAE,CAE7C"}
1
+ {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/lib/detect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAE5D;;;GAGG;AACH,wBAAgB,aAAa,IAAI,WAAW,EAAE,CAE7C;AAED,uDAAuD;AACvD,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,MAAM,GACN,IAAI,GACJ,KAAK,GACL,QAAQ,GACR,MAAM,GACN,KAAK,GACL,QAAQ,GACR,MAAM,GACN,OAAO,CAAC;AA4CZ,6CAA6C;AAC7C,MAAM,WAAW,eAAe;IAC9B,+BAA+B;IAC/B,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,6DAA6D;IAC7D,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAmCD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,GAAE,MAAsB,EAClC,WAAW,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAoB,GAClD,eAAe,CA6BjB"}
@@ -1,4 +1,5 @@
1
- import { existsSync } from "node:fs";
1
+ import { existsSync, readdirSync } from "node:fs";
2
+ import { join } from "node:path";
2
3
  import { getClients } from "./clients.js";
3
4
  /**
4
5
  * Auto-detect installed AI coding clients by checking for
@@ -7,4 +8,110 @@ import { getClients } from "./clients.js";
7
8
  export function detectClients() {
8
9
  return getClients().filter((client) => client.detectPaths.some((p) => existsSync(p)));
9
10
  }
11
+ /** Marker files/directories that indicate a particular ecosystem. */
12
+ const ECOSYSTEM_MARKERS = {
13
+ python: [
14
+ "pyproject.toml",
15
+ "setup.py",
16
+ "setup.cfg",
17
+ "requirements.txt",
18
+ "Pipfile",
19
+ "poetry.lock",
20
+ "uv.lock",
21
+ ],
22
+ rust: ["Cargo.toml", "Cargo.lock"],
23
+ go: ["go.mod", "go.sum"],
24
+ web: [
25
+ "package.json",
26
+ "tsconfig.json",
27
+ "next.config.js",
28
+ "next.config.mjs",
29
+ "next.config.ts",
30
+ "vite.config.js",
31
+ "vite.config.ts",
32
+ "vite.config.mjs",
33
+ "webpack.config.js",
34
+ "webpack.config.ts",
35
+ "webpack.config.mjs",
36
+ ],
37
+ devops: [
38
+ "Dockerfile",
39
+ "docker-compose.yml",
40
+ "docker-compose.yaml",
41
+ ".docker",
42
+ "k8s",
43
+ "kubernetes",
44
+ "helm",
45
+ ],
46
+ make: ["Makefile", "justfile"],
47
+ jvm: ["build.gradle", "build.gradle.kts", "pom.xml", "gradlew"],
48
+ dotnet: ["*.csproj", "*.sln", "*.fsproj", "global.json"],
49
+ ruby: ["Gemfile", "Rakefile", ".ruby-version"],
50
+ swift: ["Package.swift", "*.xcodeproj", "*.xcworkspace"],
51
+ };
52
+ /** Map from single ecosystem to preset ID. */
53
+ const ECOSYSTEM_TO_PRESET = {
54
+ python: "python",
55
+ rust: "rust",
56
+ go: "go",
57
+ web: "web",
58
+ devops: "devops",
59
+ make: "web", // make is common in web projects; no standalone make preset
60
+ jvm: "jvm",
61
+ dotnet: "dotnet",
62
+ ruby: "ruby",
63
+ swift: "swift",
64
+ };
65
+ /**
66
+ * Check whether a marker exists in the given directory.
67
+ * Supports exact names and simple glob patterns with leading `*` (e.g. `*.csproj`).
68
+ */
69
+ function markerExists(dir, marker, checkExists) {
70
+ if (!marker.includes("*")) {
71
+ return checkExists(join(dir, marker));
72
+ }
73
+ // For glob patterns like *.csproj, do a simple directory listing check.
74
+ try {
75
+ const ext = marker.replace("*", "");
76
+ const entries = readdirSync(dir);
77
+ return entries.some((e) => e.endsWith(ext));
78
+ }
79
+ catch {
80
+ return false;
81
+ }
82
+ }
83
+ /**
84
+ * Auto-detect the project type by scanning for marker files in the given directory.
85
+ *
86
+ * @param projectDir - The directory to scan (defaults to cwd).
87
+ * @param checkExists - Override for testing (defaults to `existsSync`).
88
+ */
89
+ export function detectProjectType(projectDir = process.cwd(), checkExists = existsSync) {
90
+ const detected = [];
91
+ for (const [ecosystem, markers] of Object.entries(ECOSYSTEM_MARKERS)) {
92
+ if (markers.some((m) => markerExists(projectDir, m, checkExists))) {
93
+ detected.push(ecosystem);
94
+ }
95
+ }
96
+ let suggestedPreset;
97
+ if (detected.length === 0) {
98
+ suggestedPreset = undefined;
99
+ }
100
+ else if (detected.length === 1) {
101
+ suggestedPreset = ECOSYSTEM_TO_PRESET[detected[0]];
102
+ }
103
+ else {
104
+ // Multiple ecosystems: if one primary language + devops/make, use the language preset.
105
+ // Otherwise suggest "full".
106
+ const auxiliary = new Set(["devops", "make"]);
107
+ const primary = detected.filter((e) => !auxiliary.has(e));
108
+ if (primary.length === 1) {
109
+ suggestedPreset = ECOSYSTEM_TO_PRESET[primary[0]];
110
+ }
111
+ else {
112
+ suggestedPreset = "full";
113
+ }
114
+ }
115
+ return { ecosystems: detected, suggestedPreset };
116
+ }
10
117
  //# sourceMappingURL=detect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/lib/detect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,UAAU,EAAoB,MAAM,cAAc,CAAC;AAE5D;;;GAGG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxF,CAAC"}
1
+ {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/lib/detect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type ClientEntry } from "./clients.js";
2
+ export interface ServerConfig {
3
+ command: string;
4
+ args: string[];
5
+ }
6
+ /** Extract Pare server entries from a client's config file. */
7
+ export declare function extractPareServers(client: ClientEntry, projectDir: string): Map<string, ServerConfig>;
8
+ //# sourceMappingURL=extract-servers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-servers.d.ts","sourceRoot":"","sources":["../../src/lib/extract-servers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAGnE,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,+DAA+D;AAC/D,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,MAAM,GACjB,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAqE3B"}
@@ -0,0 +1,71 @@
1
+ import { existsSync, readFileSync } from "node:fs";
2
+ import { parse as parseToml } from "smol-toml";
3
+ import YAML from "yaml";
4
+ import { resolveConfigPath } from "./clients.js";
5
+ import { parseJsonc } from "./parse-utils.js";
6
+ /** Extract Pare server entries from a client's config file. */
7
+ export function extractPareServers(client, projectDir) {
8
+ const configPath = resolveConfigPath(client.configPath, projectDir);
9
+ if (!existsSync(configPath)) {
10
+ return new Map();
11
+ }
12
+ const raw = readFileSync(configPath, "utf-8");
13
+ const servers = new Map();
14
+ try {
15
+ if (client.format === "json-mcpservers") {
16
+ const config = parseJsonc(raw);
17
+ if (config?.mcpServers) {
18
+ for (const [key, val] of Object.entries(config.mcpServers)) {
19
+ if (key.startsWith("pare-")) {
20
+ servers.set(key, val);
21
+ }
22
+ }
23
+ }
24
+ }
25
+ else if (client.format === "json-vscode") {
26
+ const config = parseJsonc(raw);
27
+ if (config?.servers) {
28
+ for (const [key, val] of Object.entries(config.servers)) {
29
+ if (key.startsWith("pare-")) {
30
+ servers.set(key, { command: val.command, args: val.args });
31
+ }
32
+ }
33
+ }
34
+ }
35
+ else if (client.format === "json-zed") {
36
+ const config = parseJsonc(raw);
37
+ if (config?.context_servers) {
38
+ for (const [key, val] of Object.entries(config.context_servers)) {
39
+ if (key.startsWith("pare-")) {
40
+ servers.set(key, { command: val.command, args: val.args });
41
+ }
42
+ }
43
+ }
44
+ }
45
+ else if (client.format === "toml-codex") {
46
+ const config = parseToml(raw);
47
+ if (config?.mcp_servers) {
48
+ for (const [key, val] of Object.entries(config.mcp_servers)) {
49
+ if (key.startsWith("pare-")) {
50
+ servers.set(key, val);
51
+ }
52
+ }
53
+ }
54
+ }
55
+ else if (client.format === "yaml-continue") {
56
+ const config = YAML.parse(raw);
57
+ if (config?.mcpServers) {
58
+ for (const entry of config.mcpServers) {
59
+ if (entry.name.startsWith("pare-")) {
60
+ servers.set(entry.name, { command: entry.command, args: entry.args });
61
+ }
62
+ }
63
+ }
64
+ }
65
+ }
66
+ catch {
67
+ // Silently ignore parse errors — caller handles empty result
68
+ }
69
+ return servers;
70
+ }
71
+ //# sourceMappingURL=extract-servers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-servers.js","sourceRoot":"","sources":["../../src/lib/extract-servers.ts"],"names":[],"mappings":"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"}
@@ -3,5 +3,5 @@ import { type ServerEntry } from "./servers.js";
3
3
  /** Prompt user to select a target client. Pre-selects detected ones. */
4
4
  export declare function promptClient(): Promise<ClientEntry>;
5
5
  /** Prompt user to select a preset or custom server set. */
6
- export declare function promptServers(): Promise<ServerEntry[]>;
6
+ export declare function promptServers(projectDir?: string): Promise<ServerEntry[]>;
7
7
  //# sourceMappingURL=prompts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/lib/prompts.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EAAW,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAGzD,wEAAwE;AACxE,wBAAsB,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC,CAoBzD;AAED,2DAA2D;AAC3D,wBAAsB,aAAa,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAiC5D"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/lib/prompts.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EAAW,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAGzD,wEAAwE;AACxE,wBAAsB,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC,CAoBzD;AAED,2DAA2D;AAC3D,wBAAsB,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAgD/E"}
@@ -2,7 +2,7 @@ import { select, checkbox } from "@inquirer/prompts";
2
2
  import { getClients } from "./clients.js";
3
3
  import { PRESETS } from "./presets.js";
4
4
  import { SERVERS } from "./servers.js";
5
- import { detectClients } from "./detect.js";
5
+ import { detectClients, detectProjectType } from "./detect.js";
6
6
  /** Prompt user to select a target client. Pre-selects detected ones. */
7
7
  export async function promptClient() {
8
8
  const detected = detectClients();
@@ -22,16 +22,26 @@ export async function promptClient() {
22
22
  return allClients.find((c) => c.id === clientId);
23
23
  }
24
24
  /** Prompt user to select a preset or custom server set. */
25
- export async function promptServers() {
25
+ export async function promptServers(projectDir) {
26
+ const detection = detectProjectType(projectDir);
27
+ if (detection.suggestedPreset && detection.ecosystems.length > 0) {
28
+ const presetLabel = PRESETS.find((p) => p.id === detection.suggestedPreset)?.label ?? detection.suggestedPreset;
29
+ const ecosystemNames = detection.ecosystems.join(", ");
30
+ // eslint-disable-next-line no-console
31
+ console.log(`Detected: ${ecosystemNames} project. Suggested preset: ${presetLabel}`);
32
+ }
33
+ const defaultPreset = detection.suggestedPreset ?? "web";
26
34
  const presetChoices = PRESETS.map((p) => ({
27
- name: `${p.label} — ${p.description}`,
35
+ name: p.id === detection.suggestedPreset
36
+ ? `${p.label} — ${p.description} (detected)`
37
+ : `${p.label} — ${p.description}`,
28
38
  value: p.id,
29
39
  }));
30
40
  presetChoices.push({ name: "Custom — pick individual servers", value: "custom" });
31
41
  const selection = await select({
32
42
  message: "Which servers do you want to install?",
33
43
  choices: presetChoices,
34
- default: "web",
44
+ default: defaultPreset,
35
45
  });
36
46
  if (selection === "custom") {
37
47
  const serverIds = await checkbox({
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/lib/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/lib/prompts.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paretools/init",
3
- "version": "0.15.0",
3
+ "version": "0.16.0",
4
4
  "description": "Setup CLI and health check for Pare MCP servers — auto-detect clients, install servers, verify connections",
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -50,15 +50,15 @@
50
50
  "dist"
51
51
  ],
52
52
  "dependencies": {
53
- "@inquirer/prompts": "^8.3.0",
53
+ "@inquirer/prompts": "^8.3.2",
54
54
  "@modelcontextprotocol/sdk": "^1.27.1",
55
- "smol-toml": "^1.3.1",
56
- "yaml": "^2.7.1"
55
+ "smol-toml": "^1.6.1",
56
+ "yaml": "^2.8.3"
57
57
  },
58
58
  "devDependencies": {
59
59
  "@types/node": "^25.4.0",
60
60
  "typescript": "^5.7.0",
61
- "vitest": "^4.0.18",
61
+ "vitest": "^4.1.1",
62
62
  "@paretools/tsconfig": "0.0.0"
63
63
  },
64
64
  "scripts": {