@reposkein/mcp 0.2.5 → 0.2.6

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.
@@ -1,6 +1,6 @@
1
1
  {
2
- "reposkein-indexer-darwin-arm64": "d65354d54cd7356132a0e047a62b37cf0ef5071051098852e31f6e608778c0e3",
3
- "reposkein-indexer-linux-arm64": "ef626f2eaa1bef0d4dd91ed669ca8ac795e25e85f144e40d10f38518cee5a3c4",
4
- "reposkein-indexer-linux-x64": "20d605331fbe2121919adeeb246edb25e54d90a27a6bfcf666e73a7a47591dc9",
5
- "reposkein-indexer-win32-x64.exe": "75805da9d9f1a833f224ec1c4a7f01ac978d4313d663822eaa866c22223969d7"
2
+ "reposkein-indexer-darwin-arm64": "1cd1e68770f33781d7e63f3f07a8fd65b590d0abd55ceb3f6468d4b6aa48e39d",
3
+ "reposkein-indexer-linux-arm64": "133707dd8afc58f906602b5f12cc978050ac004aff34f7b5be2f1041b900fc0f",
4
+ "reposkein-indexer-linux-x64": "8adac044d7bbd387750b878b262ccfd3d70469b96dfcfbccb5f034f5d6c663c7",
5
+ "reposkein-indexer-win32-x64.exe": "df557b6283ecb6e0c5229d2bbd06965c23b32eb880a3676e314499788cddf2ff"
6
6
  }
@@ -4,6 +4,9 @@ export declare function skillTargetPath(repoPath: string): string;
4
4
  export declare function bundledSkillPath(): string;
5
5
  /** MCP server config snippet the user adds to their client (e.g. .mcp.json). */
6
6
  export declare function mcpConfigSnippet(repoPath: string): string;
7
+ /** Idempotently add the per-machine MCP config files to the repo's .gitignore
8
+ * (creating it if absent), so `reposkein-mcp init` never leaves them tracked. */
9
+ export declare function ensureLocalConfigGitignored(repoPath: string): void;
7
10
  /** `reposkein-mcp index [path]`: (re)build the code graph at `repoPath` using the
8
11
  * native indexer. The package-friendly way to index — the `reposkein-indexer`
9
12
  * binary is fetched into the package (not on PATH), so end users run this. */
package/dist/cli/init.js CHANGED
@@ -1,4 +1,4 @@
1
- import { mkdirSync, copyFileSync, existsSync } from "node:fs";
1
+ import { mkdirSync, copyFileSync, existsSync, readFileSync, appendFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { ensureIndexerBinary, packageRoot } from "../indexer/fetchBinary.js";
4
4
  import { spawnIndexer } from "../indexer/runIndexer.js";
@@ -21,6 +21,25 @@ export function mcpConfigSnippet(repoPath) {
21
21
  },
22
22
  }, null, 2);
23
23
  }
24
+ /** Per-machine MCP config files setup writes to a repo root: they hold absolute
25
+ * paths and a local backend password, so they must never be committed. */
26
+ const LOCAL_MCP_CONFIG_FILES = [".mcp.json", "opencode.json"];
27
+ /** Idempotently add the per-machine MCP config files to the repo's .gitignore
28
+ * (creating it if absent), so `reposkein-mcp init` never leaves them tracked. */
29
+ export function ensureLocalConfigGitignored(repoPath) {
30
+ const gitignorePath = join(repoPath, ".gitignore");
31
+ const current = existsSync(gitignorePath) ? readFileSync(gitignorePath, "utf8") : "";
32
+ const present = new Set(current.split(/\r?\n/).map((line) => line.trim()));
33
+ const missing = LOCAL_MCP_CONFIG_FILES.filter((file) => !present.has(file));
34
+ if (missing.length === 0)
35
+ return;
36
+ const leadingNewline = current.length > 0 && !current.endsWith("\n") ? "\n" : "";
37
+ const block = `${leadingNewline}\n# RepoSkein per-machine MCP config (absolute paths + a local backend\n` +
38
+ "# password); regenerated per machine by `reposkein-mcp init`. Only the\n" +
39
+ `# .reposkein/ graph is meant to be committed.\n${missing.join("\n")}\n`;
40
+ appendFileSync(gitignorePath, block);
41
+ console.error(`reposkein: gitignored ${missing.join(", ")} (per-machine config, never commit)`);
42
+ }
24
43
  /** `reposkein-mcp index [path]`: (re)build the code graph at `repoPath` using the
25
44
  * native indexer. The package-friendly way to index — the `reposkein-indexer`
26
45
  * binary is fetched into the package (not on PATH), so end users run this. */
@@ -47,6 +66,8 @@ export async function runInit(repoPath = ".", opts = {}) {
47
66
  console.error(" (is this a git repository? run `git init` first.)");
48
67
  return 1;
49
68
  }
69
+ // 2b) Keep the per-machine MCP config out of git; only .reposkein/ is shared.
70
+ ensureLocalConfigGitignored(repoPath);
50
71
  // 3) Build the initial code graph (the whole point of setup) unless opted out.
51
72
  if (opts.index !== false) {
52
73
  console.error("reposkein: building the initial code graph…");
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reposkein/mcp",
3
- "version": "0.2.5",
3
+ "version": "0.2.6",
4
4
  "description": "Deterministic code-graph (GraphRAG) MCP server — give your AI agent callers/callees, change-impact, and semantic search over your repo instead of grep. 7 languages, zero-infra, git-native.",
5
5
  "keywords": [
6
6
  "mcp",