@ngocsangairvds/vsaf 4.1.3 → 4.1.5
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/package.json
CHANGED
|
@@ -133,7 +133,7 @@ gh pr create --title "fix({area}): {short description}" --body "{PR body}"
|
|
|
133
133
|
- ✅ Full test suite passing
|
|
134
134
|
|
|
135
135
|
---
|
|
136
|
-
> **Post-pull:** Run `npx
|
|
136
|
+
> **Post-pull:** Run `npx gitnexus analyze` and `/graphify` to re-index locally.
|
|
137
137
|
```
|
|
138
138
|
|
|
139
139
|
```
|
|
@@ -180,7 +180,7 @@ Write file: `.vsaf/docs/hotfixes/{bug-id}/04-ship.md`
|
|
|
180
180
|
|
|
181
181
|
## Post-pull Setup
|
|
182
182
|
After pulling the code, run:
|
|
183
|
-
- `npx
|
|
183
|
+
- `npx gitnexus analyze` — re-index code
|
|
184
184
|
- `/graphify` — rebuild knowledge graph
|
|
185
185
|
```
|
|
186
186
|
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* What it does:
|
|
13
13
|
* 1. Ensures package.json exists
|
|
14
14
|
* 2. Checks/installs npm package: gitnexus (includes MCP server built-in)
|
|
15
|
-
* 3. Provisions .mcp.json with GitNexus MCP server entry (npx gitnexus mcp)
|
|
15
|
+
* 3. Provisions .mcp.json with GitNexus MCP server entry (npx gitnexus mcp — uses local binary)
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
import { existsSync, readFileSync, writeFileSync } from 'fs';
|
|
@@ -40,10 +40,12 @@ const NPM_DEPS = [
|
|
|
40
40
|
{ pkg: 'gitnexus', bin: 'gitnexus', installAs: 'gitnexus@latest' },
|
|
41
41
|
];
|
|
42
42
|
|
|
43
|
+
// Use local binary (node_modules/.bin/gitnexus) via npx — NOT `npx -y gitnexus@latest`
|
|
44
|
+
// which downloads a fresh copy whose native modules (@ladybugdb/core) may crash on Node 24+.
|
|
43
45
|
const MCP_ENTRY = {
|
|
44
46
|
gitnexus: {
|
|
45
47
|
command: 'npx',
|
|
46
|
-
args: ['
|
|
48
|
+
args: ['gitnexus', 'mcp'],
|
|
47
49
|
env: {},
|
|
48
50
|
},
|
|
49
51
|
};
|
|
@@ -63,7 +63,9 @@ Icon: `⏳` running, `✅` done, `❌` error.
|
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
3. For EACH repo found:
|
|
66
|
-
- Run `gitnexus analyze` (if not already indexed)
|
|
66
|
+
- Run `npx gitnexus analyze {path}` (if not already indexed)
|
|
67
|
+
- ⚠️ Use `npx gitnexus` (resolves local binary) — do NOT use `npx -y gitnexus@latest` (native module crash on Node 24+)
|
|
68
|
+
- If project has NO `.git/` → add `--skip-git` flag: `npx gitnexus analyze {path} --skip-git`
|
|
67
69
|
- Run GitNexus `group_sync` to index
|
|
68
70
|
4. Map structure per repo: `route_map` + `tool_map` + `context` (3-5 key entry points)
|
|
69
71
|
|
|
@@ -33,7 +33,7 @@ If `vsaf skill path` is not available, find `install-deps.mjs` in the SDLC skill
|
|
|
33
33
|
This script will:
|
|
34
34
|
- Ensure `package.json` exists
|
|
35
35
|
- Install `gitnexus` as devDependency (includes MCP server built-in)
|
|
36
|
-
- Provision `.mcp.json` with GitNexus MCP server (`npx gitnexus mcp`)
|
|
36
|
+
- Provision `.mcp.json` with GitNexus MCP server (`npx gitnexus mcp` — uses local binary, NOT `npx -y gitnexus@latest`)
|
|
37
37
|
|
|
38
38
|
```
|
|
39
39
|
[SDLC-SETUP] [1/4] Installing npm packages... ✅
|
|
@@ -111,7 +111,7 @@ For each repo with code changes:
|
|
|
111
111
|
|
|
112
112
|
**Add note to PR description:**
|
|
113
113
|
```
|
|
114
|
-
> **Note for reviewer:** After pulling the code, run `npx
|
|
114
|
+
> **Note for reviewer:** After pulling the code, run `npx gitnexus analyze` and `/graphify` to re-index locally.
|
|
115
115
|
```
|
|
116
116
|
|
|
117
117
|
```
|
|
@@ -158,7 +158,7 @@ US-002 → FR-002 → TC-003 → impl ✓
|
|
|
158
158
|
|
|
159
159
|
## Post-pull Setup
|
|
160
160
|
After pulling the code, run:
|
|
161
|
-
- `npx
|
|
161
|
+
- `npx gitnexus analyze` — re-index code
|
|
162
162
|
- `/graphify` — rebuild knowledge graph
|
|
163
163
|
```
|
|
164
164
|
|
|
@@ -255,8 +255,9 @@ if (vdsScriptsDir) {
|
|
|
255
255
|
execSync('uv sync --all-packages', {
|
|
256
256
|
stdio: 'pipe',
|
|
257
257
|
encoding: 'utf-8',
|
|
258
|
-
timeout:
|
|
258
|
+
timeout: 600000,
|
|
259
259
|
cwd: vdsScriptsDir,
|
|
260
|
+
env: { ...process.env, UV_HTTP_TIMEOUT: '300' },
|
|
260
261
|
});
|
|
261
262
|
log('✅', 'All vds-scripts packages synced');
|
|
262
263
|
} catch (e) {
|
|
@@ -279,7 +280,7 @@ let verified = false;
|
|
|
279
280
|
|
|
280
281
|
// First pass: try vds-cli on PATH
|
|
281
282
|
try {
|
|
282
|
-
const ver = execSync('vds-cli version', { stdio: 'pipe', encoding: 'utf-8', timeout:
|
|
283
|
+
const ver = execSync('vds-cli version', { stdio: 'pipe', encoding: 'utf-8', timeout: 60000 }).trim();
|
|
283
284
|
log('✅', `vds-cli ${ver} — working`);
|
|
284
285
|
verified = true;
|
|
285
286
|
} catch {
|
|
@@ -312,7 +313,7 @@ if (!verified) {
|
|
|
312
313
|
try {
|
|
313
314
|
const wrapperPath = join(projectPath, '.claude', 'bin');
|
|
314
315
|
const ver = execSync('vds-cli version', {
|
|
315
|
-
stdio: 'pipe', encoding: 'utf-8', timeout:
|
|
316
|
+
stdio: 'pipe', encoding: 'utf-8', timeout: 60000,
|
|
316
317
|
env: { ...process.env, PATH: `${wrapperPath}${delimiter}${process.env.PATH}` },
|
|
317
318
|
}).trim();
|
|
318
319
|
log('✅', `vds-cli ${ver} — working (via .claude/bin/vds-cli)`);
|
|
@@ -326,7 +327,7 @@ if (!verified) {
|
|
|
326
327
|
if (vdsScriptsDir) {
|
|
327
328
|
try {
|
|
328
329
|
const uvVer = execSync(`uv run --directory ${JSON.stringify(vdsScriptsDir)} --package vds-cli vds-cli version`, {
|
|
329
|
-
stdio: 'pipe', encoding: 'utf-8', timeout:
|
|
330
|
+
stdio: 'pipe', encoding: 'utf-8', timeout: 60000,
|
|
330
331
|
}).trim();
|
|
331
332
|
log(' ', `Direct uv run works: ${uvVer}`);
|
|
332
333
|
log(' ', 'Issue is with the wrapper script, not uv/vds-cli');
|