claude-nexus 0.15.2 → 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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/README.en.md +2 -1
- package/README.md +2 -1
- package/VERSION +1 -1
- package/bridge/mcp-server.cjs +47 -3
- package/bridge/mcp-server.cjs.map +4 -4
- package/package.json +1 -1
- package/scripts/gate.cjs.map +2 -2
- package/scripts/statusline.cjs.map +2 -2
- package/skills/nx-dev/SKILL.md +5 -5
- package/skills/nx-research/SKILL.md +5 -5
package/README.en.md
CHANGED
|
@@ -80,7 +80,7 @@ Typical flow: use `[consult]` to discuss and align → decide → use `[dev]` or
|
|
|
80
80
|
|
|
81
81
|
Claude-callable tools exposed by the Nexus MCP server.
|
|
82
82
|
|
|
83
|
-
### Core (
|
|
83
|
+
### Core (14 tools)
|
|
84
84
|
|
|
85
85
|
| Tool | Purpose |
|
|
86
86
|
|------|---------|
|
|
@@ -94,6 +94,7 @@ Claude-callable tools exposed by the Nexus MCP server.
|
|
|
94
94
|
| `nx_consult_status` | Query consultation state (with decisions join) |
|
|
95
95
|
| `nx_consult_decide` | Record issue decision (consult.json + decisions.json) |
|
|
96
96
|
| `nx_consult_update` | Modify consultation issues (add/remove/edit/reopen) |
|
|
97
|
+
| `nx_branch_migrate` | Migrate state files (consult/decisions) across branches |
|
|
97
98
|
|
|
98
99
|
### Code Intelligence (10 tools)
|
|
99
100
|
|
package/README.md
CHANGED
|
@@ -78,7 +78,7 @@ claude plugin install claude-nexus@nexus
|
|
|
78
78
|
|
|
79
79
|
Claude가 직접 호출하는 도구입니다.
|
|
80
80
|
|
|
81
|
-
### Core (
|
|
81
|
+
### Core (14개)
|
|
82
82
|
|
|
83
83
|
| 도구 | 용도 |
|
|
84
84
|
|------|------|
|
|
@@ -92,6 +92,7 @@ Claude가 직접 호출하는 도구입니다.
|
|
|
92
92
|
| `nx_consult_status` | 상담 상태 조회 (decisions.json join) |
|
|
93
93
|
| `nx_consult_decide` | 논점 결정 처리 (consult.json + decisions.json) |
|
|
94
94
|
| `nx_consult_update` | 상담 논점 수정 (add/remove/edit/reopen) |
|
|
95
|
+
| `nx_branch_migrate` | 브랜치 전환 시 상태 파일 이동 (consult/decisions) |
|
|
95
96
|
|
|
96
97
|
### Code Intelligence (10개)
|
|
97
98
|
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.16.0
|
package/bridge/mcp-server.cjs
CHANGED
|
@@ -22408,8 +22408,51 @@ function registerArtifactTools(server2) {
|
|
|
22408
22408
|
);
|
|
22409
22409
|
}
|
|
22410
22410
|
|
|
22411
|
-
// src/mcp/
|
|
22411
|
+
// src/mcp/tools/branch.ts
|
|
22412
|
+
var import_fs11 = require("fs");
|
|
22412
22413
|
var import_path12 = require("path");
|
|
22414
|
+
var MIGRATE_FILES = ["consult.json", "decisions.json"];
|
|
22415
|
+
function registerBranchTools(server2) {
|
|
22416
|
+
server2.tool(
|
|
22417
|
+
"nx_branch_migrate",
|
|
22418
|
+
"Migrate state files (consult.json, decisions.json) from another branch folder into the current branch folder",
|
|
22419
|
+
{
|
|
22420
|
+
from_branch: external_exports.string().describe('Source branch name to migrate files from (e.g. "main")')
|
|
22421
|
+
},
|
|
22422
|
+
({ from_branch }) => {
|
|
22423
|
+
const fromDir = (0, import_path12.join)(RUNTIME_ROOT, "branches", sanitizeBranch(from_branch));
|
|
22424
|
+
const toDir = getBranchRoot();
|
|
22425
|
+
if (fromDir === toDir) {
|
|
22426
|
+
return textResult({ error: "Source and current branch are the same" });
|
|
22427
|
+
}
|
|
22428
|
+
if (!(0, import_fs11.existsSync)(fromDir)) {
|
|
22429
|
+
return textResult({ migrated: [], skipped: [], from: from_branch, to: getCurrentBranch(), message: "nothing to migrate" });
|
|
22430
|
+
}
|
|
22431
|
+
ensureDir(toDir);
|
|
22432
|
+
const migrated = [];
|
|
22433
|
+
const skipped = [];
|
|
22434
|
+
for (const file of MIGRATE_FILES) {
|
|
22435
|
+
const src = (0, import_path12.join)(fromDir, file);
|
|
22436
|
+
const dst = (0, import_path12.join)(toDir, file);
|
|
22437
|
+
if (!(0, import_fs11.existsSync)(src)) continue;
|
|
22438
|
+
if ((0, import_fs11.existsSync)(dst)) {
|
|
22439
|
+
skipped.push(file);
|
|
22440
|
+
continue;
|
|
22441
|
+
}
|
|
22442
|
+
(0, import_fs11.renameSync)(src, dst);
|
|
22443
|
+
migrated.push(file);
|
|
22444
|
+
}
|
|
22445
|
+
try {
|
|
22446
|
+
(0, import_fs11.rmdirSync)(fromDir);
|
|
22447
|
+
} catch {
|
|
22448
|
+
}
|
|
22449
|
+
return textResult({ migrated, skipped, from: from_branch, to: getCurrentBranch() });
|
|
22450
|
+
}
|
|
22451
|
+
);
|
|
22452
|
+
}
|
|
22453
|
+
|
|
22454
|
+
// src/mcp/server.ts
|
|
22455
|
+
var import_path13 = require("path");
|
|
22413
22456
|
var server = new McpServer({
|
|
22414
22457
|
name: "nx",
|
|
22415
22458
|
version: getCurrentVersion() || "0.0.0"
|
|
@@ -22417,7 +22460,7 @@ var server = new McpServer({
|
|
|
22417
22460
|
registerMarkdownStore(server, {
|
|
22418
22461
|
toolPrefix: "nx_knowledge",
|
|
22419
22462
|
entityName: "topic",
|
|
22420
|
-
dirPath: (0,
|
|
22463
|
+
dirPath: (0, import_path13.join)(KNOWLEDGE_ROOT, "knowledge"),
|
|
22421
22464
|
pathFn: knowledgePath,
|
|
22422
22465
|
listKey: "topics",
|
|
22423
22466
|
cache: true
|
|
@@ -22425,7 +22468,7 @@ registerMarkdownStore(server, {
|
|
|
22425
22468
|
registerMarkdownStore(server, {
|
|
22426
22469
|
toolPrefix: "nx_rules",
|
|
22427
22470
|
entityName: "name",
|
|
22428
|
-
dirPath: (0,
|
|
22471
|
+
dirPath: (0, import_path13.join)(KNOWLEDGE_ROOT, "rules"),
|
|
22429
22472
|
pathFn: rulesPath,
|
|
22430
22473
|
listKey: "rules",
|
|
22431
22474
|
cache: false
|
|
@@ -22437,6 +22480,7 @@ registerTaskTools(server);
|
|
|
22437
22480
|
registerDecisionTools(server);
|
|
22438
22481
|
registerArtifactTools(server);
|
|
22439
22482
|
registerConsultTools(server);
|
|
22483
|
+
registerBranchTools(server);
|
|
22440
22484
|
async function main() {
|
|
22441
22485
|
const transport = new StdioServerTransport();
|
|
22442
22486
|
await server.connect(transport);
|