@bitflower/va-mcp 1.0.0 → 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 CHANGED
@@ -61,9 +61,8 @@ grep -qxF '.claude/settings.local.json' .gitignore || echo '.claude/settings.loc
61
61
 
62
62
  The check is deliberately conservative: it recognizes only an exact-path or
63
63
  directory-prefix entry — glob patterns (e.g. `.claude/*`), `!`-negation lines,
64
- and nested `.gitignore` files are **not** evaluated. See the
65
- [full guide](../../documentation/mcp-installer-guide.md) for the exact matcher
66
- semantics. The check is skipped for non-git directories. In a monorepo, put
64
+ and nested `.gitignore` files are **not** evaluated. The check is skipped for
65
+ non-git directories. In a monorepo, put
67
66
  the entry in the **project-local** `.gitignore` (the one in the target
68
67
  directory), not the repo-root `.gitignore` — the installer reads only the
69
68
  target directory's file.
@@ -82,9 +81,6 @@ without outbound network access (beyond `npx` fetching the package itself).
82
81
  release.
83
82
  - **Bearer token:** your API key is passed only to the `claude` CLI and is
84
83
  never written to any file the installer creates.
85
-
86
- ## Full guide
87
-
88
- See **[documentation/mcp-installer-guide.md](../../documentation/mcp-installer-guide.md)**
89
- for prerequisites in depth, the data-flow and bearer-exposure warnings,
90
- verification steps, key rotation, and LAN access.
84
+ - **Full setup guide:** in-depth prerequisites, data-flow and bearer-exposure
85
+ warnings, verification, key rotation, and LAN access are documented for
86
+ Virtual Architect users as part of the platform docs.
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@ import { Command, CommanderError } from "commander";
8
8
  // package.json
9
9
  var package_default = {
10
10
  name: "@bitflower/va-mcp",
11
- version: "1.0.0",
11
+ version: "1.0.2",
12
12
  description: "Install the Virtual Architect MCP server and SessionStart playbook into a Claude Code project.",
13
13
  repository: {
14
14
  type: "git",
@@ -17,7 +17,7 @@ var package_default = {
17
17
  },
18
18
  type: "module",
19
19
  bin: {
20
- "va-mcp": "./dist/index.js"
20
+ "va-mcp": "dist/index.js"
21
21
  },
22
22
  files: [
23
23
  "dist"
@@ -34,8 +34,12 @@ var package_default = {
34
34
  },
35
35
  keywords: [
36
36
  "mcp",
37
- "claude-code",
38
- "virtual-architect"
37
+ "virtual-architect",
38
+ "knowledge-management",
39
+ "knowledge-base",
40
+ "sdlc",
41
+ "architecture",
42
+ "infrastructure"
39
43
  ],
40
44
  license: "MIT",
41
45
  publishConfig: {
@@ -279,6 +283,7 @@ function pruneSettingsLocal(projectDir) {
279
283
  }
280
284
 
281
285
  // src/gitignore-check.ts
286
+ import { spawnSync as spawnSync2 } from "child_process";
282
287
  import * as fs3 from "fs";
283
288
  import * as path3 from "path";
284
289
  var SETTINGS_RELPATH = ".claude/settings.local.json";
@@ -317,8 +322,34 @@ function isPathIgnored(projectDir, relpath) {
317
322
  }
318
323
  return ignored;
319
324
  }
325
+ var GIT_CHECK_IGNORE_TIMEOUT_MS = 5e3;
326
+ function gitConfirmsIgnored(projectDir, relpath) {
327
+ const probe = spawnSync2("git", ["check-ignore", "-q", "--", relpath], {
328
+ cwd: projectDir,
329
+ timeout: GIT_CHECK_IGNORE_TIMEOUT_MS,
330
+ windowsHide: true
331
+ });
332
+ if (probe.error) return null;
333
+ if (probe.status === 0) return true;
334
+ if (probe.status === 1) return false;
335
+ return null;
336
+ }
320
337
  function checkGitignorePrecondition(projectDir) {
321
338
  if (!isInsideGitWorkTree(projectDir)) return;
339
+ const gitVerdict = gitConfirmsIgnored(projectDir, SETTINGS_RELPATH);
340
+ if (gitVerdict === true) return;
341
+ if (gitVerdict === false) {
342
+ throw new InstallerError(
343
+ `refusing to write ${SETTINGS_RELPATH} into a git work tree \u2014 git reports it is not ignored, so it could be committed. Add an entry that ignores it to a \`.gitignore\` (in a monorepo the repo-root file works too):
344
+
345
+ ${SETTINGS_RELPATH}
346
+
347
+ If the file is already tracked, a .gitignore entry will not help \u2014 untrack it first:
348
+
349
+ git rm --cached ${SETTINGS_RELPATH}
350
+ `
351
+ );
352
+ }
322
353
  if (isPathIgnored(projectDir, SETTINGS_RELPATH)) return;
323
354
  throw new InstallerError(
324
355
  `refusing to write ${SETTINGS_RELPATH} into a git work tree. The installer's plain-text gitignore scan found no exact-path or directory-prefix entry that ignores it (globs like '.claude/*' and '!' negation lines are NOT evaluated \u2014 we err on the safe side and refuse if there is any chance the file ends up tracked). To proceed, add an exact entry to ${path3.join(projectDir, ".gitignore")}:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitflower/va-mcp",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Install the Virtual Architect MCP server and SessionStart playbook into a Claude Code project.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -9,7 +9,7 @@
9
9
  },
10
10
  "type": "module",
11
11
  "bin": {
12
- "va-mcp": "./dist/index.js"
12
+ "va-mcp": "dist/index.js"
13
13
  },
14
14
  "files": [
15
15
  "dist"
@@ -26,8 +26,12 @@
26
26
  },
27
27
  "keywords": [
28
28
  "mcp",
29
- "claude-code",
30
- "virtual-architect"
29
+ "virtual-architect",
30
+ "knowledge-management",
31
+ "knowledge-base",
32
+ "sdlc",
33
+ "architecture",
34
+ "infrastructure"
31
35
  ],
32
36
  "license": "MIT",
33
37
  "publishConfig": {