claude-nexus 0.30.0 → 0.31.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 +3 -3
- package/README.md +4 -4
- package/dist/mcp/server.js +3 -23
- package/package.json +3 -3
- package/skills/nx-auto-plan/SKILL.md +1 -1
- package/skills/nx-plan/SKILL.md +1 -1
package/README.en.md
CHANGED
|
@@ -61,12 +61,12 @@ Claude Code does not let a plugin auto-configure the user's `statusLine`, so reg
|
|
|
61
61
|
{
|
|
62
62
|
"statusLine": {
|
|
63
63
|
"type": "command",
|
|
64
|
-
"command": "bunx claude-nexus
|
|
64
|
+
"command": "bunx claude-nexus"
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
`npx -y claude-nexus
|
|
69
|
+
`npx -y claude-nexus` works the same way. The first call downloads the package to the local cache; subsequent calls run from that cache.
|
|
70
70
|
|
|
71
71
|
### Global install (fastest startup)
|
|
72
72
|
|
|
@@ -78,7 +78,7 @@ bun add -g claude-nexus # or npm i -g claude-nexus
|
|
|
78
78
|
{
|
|
79
79
|
"statusLine": {
|
|
80
80
|
"type": "command",
|
|
81
|
-
"command": "claude-nexus
|
|
81
|
+
"command": "claude-nexus"
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
```
|
package/README.md
CHANGED
|
@@ -53,7 +53,7 @@ Claude Code 안에서 플러그인 마켓플레이스로 설치한다.
|
|
|
53
53
|
|
|
54
54
|
플러그인은 2줄 statusline 스크립트를 함께 배포한다. 첫 줄은 `◆Nexus vX.Y.Z`·모델·프로젝트·git 브랜치(staged/unstaged), 둘째 줄은 컨텍스트 사용률과 5h/7d 사용 한도 게이지(리셋까지 남은 시간). Claude Pro·Max OAuth 세션에서만 5h/7d가 표시되며, 로컬의 여러 Claude 세션이 `~/.claude/.usage_cache`를 공유하므로 API 중복 호출 없이 경합이 방지된다.
|
|
55
55
|
|
|
56
|
-
Claude Code는 플러그인이 사용자 `statusLine`을 자동 등록하는 걸 허용하지 않으므로, 별도 CLI로 배포된 `claude-nexus
|
|
56
|
+
Claude Code는 플러그인이 사용자 `statusLine`을 자동 등록하는 걸 허용하지 않으므로, 별도 CLI로 배포된 `claude-nexus`를 본인의 `~/.claude/settings.json`에 등록한다.
|
|
57
57
|
|
|
58
58
|
### bunx 또는 npx (설치 불필요)
|
|
59
59
|
|
|
@@ -61,12 +61,12 @@ Claude Code는 플러그인이 사용자 `statusLine`을 자동 등록하는 걸
|
|
|
61
61
|
{
|
|
62
62
|
"statusLine": {
|
|
63
63
|
"type": "command",
|
|
64
|
-
"command": "bunx claude-nexus
|
|
64
|
+
"command": "bunx claude-nexus"
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
`npx -y claude-nexus
|
|
69
|
+
`npx -y claude-nexus`도 동일하게 동작한다. 최초 호출 1회만 패키지를 로컬 캐시에 받고, 이후 호출은 캐시에서 즉시 실행된다.
|
|
70
70
|
|
|
71
71
|
### 전역 설치 (가장 빠른 시작 시간)
|
|
72
72
|
|
|
@@ -78,7 +78,7 @@ bun add -g claude-nexus # 또는 npm i -g claude-nexus
|
|
|
78
78
|
{
|
|
79
79
|
"statusLine": {
|
|
80
80
|
"type": "command",
|
|
81
|
-
"command": "claude-nexus
|
|
81
|
+
"command": "claude-nexus"
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
```
|
package/dist/mcp/server.js
CHANGED
|
@@ -20193,13 +20193,10 @@ var planUpdateTool = {
|
|
|
20193
20193
|
var planDecideTool = {
|
|
20194
20194
|
group: "plan",
|
|
20195
20195
|
name: "nx_plan_decide",
|
|
20196
|
-
description: "Record
|
|
20196
|
+
description: "Record the final decision for a plan issue",
|
|
20197
20197
|
inputSchema: {
|
|
20198
20198
|
issue_id: numberType().describe("Issue ID to decide"),
|
|
20199
|
-
decision: stringType().describe("Decision text")
|
|
20200
|
-
how_agents: arrayType(stringType()).optional().describe("Names of HOW agents that contributed analysis"),
|
|
20201
|
-
how_summary: recordType(stringType(), stringType()).optional().describe("Summary of each agent's key input"),
|
|
20202
|
-
how_agent_ids: recordType(stringType(), stringType()).optional().describe("Mapping from agent name to agent ID")
|
|
20199
|
+
decision: stringType().describe("Decision text")
|
|
20203
20200
|
}
|
|
20204
20201
|
};
|
|
20205
20202
|
var planResumeTool = {
|
|
@@ -20400,7 +20397,7 @@ var planToolBindings = [
|
|
|
20400
20397
|
},
|
|
20401
20398
|
{
|
|
20402
20399
|
definition: planDecideTool,
|
|
20403
|
-
handler: async ({ issue_id, decision
|
|
20400
|
+
handler: async ({ issue_id, decision }) => {
|
|
20404
20401
|
const pPath = planPath();
|
|
20405
20402
|
let responsePayload = {};
|
|
20406
20403
|
await updateJsonFileLocked(pPath, null, (raw) => {
|
|
@@ -20416,23 +20413,6 @@ var planToolBindings = [
|
|
|
20416
20413
|
}
|
|
20417
20414
|
issue2.status = "decided";
|
|
20418
20415
|
issue2.decision = decision;
|
|
20419
|
-
if (how_agents && how_agents.length > 0) {
|
|
20420
|
-
const now = new Date().toISOString();
|
|
20421
|
-
if (!issue2.analysis) {
|
|
20422
|
-
issue2.analysis = [];
|
|
20423
|
-
}
|
|
20424
|
-
for (const agentName of how_agents) {
|
|
20425
|
-
const entry = {
|
|
20426
|
-
role: agentName,
|
|
20427
|
-
summary: how_summary?.[agentName] ?? "",
|
|
20428
|
-
recorded_at: now
|
|
20429
|
-
};
|
|
20430
|
-
if (how_agent_ids?.[agentName]) {
|
|
20431
|
-
entry.agent_id = how_agent_ids[agentName];
|
|
20432
|
-
}
|
|
20433
|
-
issue2.analysis.push(entry);
|
|
20434
|
-
}
|
|
20435
|
-
}
|
|
20436
20416
|
const allComplete = raw.issues.every((candidate) => candidate.status === "decided");
|
|
20437
20417
|
const remaining = raw.issues.filter((candidate) => candidate.status !== "decided");
|
|
20438
20418
|
responsePayload = {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-nexus",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.31.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Claude Code plugin for nexus-core agent orchestration",
|
|
6
6
|
"author": "kih",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"node": ">=20"
|
|
18
18
|
},
|
|
19
19
|
"bin": {
|
|
20
|
-
"claude-nexus
|
|
20
|
+
"claude-nexus": "./scripts/statusline.mjs"
|
|
21
21
|
},
|
|
22
22
|
"scripts": {
|
|
23
23
|
"build": "bun run sync && bun run build:bundle",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"settings.json"
|
|
42
42
|
],
|
|
43
43
|
"devDependencies": {
|
|
44
|
-
"@moreih29/nexus-core": "^0.
|
|
44
|
+
"@moreih29/nexus-core": "^0.19.0",
|
|
45
45
|
"@types/bun": "^1.3.0",
|
|
46
46
|
"@types/node": "^22.0.0",
|
|
47
47
|
"typescript": "^5.6.0"
|
|
@@ -96,7 +96,7 @@ Use `nx_plan_decide` to mark the issue as decided. The decision text MUST includ
|
|
|
96
96
|
- The selected approach and its rationale
|
|
97
97
|
- The rejected alternatives and their dismissal reasons
|
|
98
98
|
|
|
99
|
-
If HOW subagents participated
|
|
99
|
+
`nx_plan_decide` records only the final decision text and decision state — it does **not** append to `analysis`. If HOW subagents participated, their analysis and resume-routing records must already have been written via `nx_plan_analysis_add` in Step 4, and Step 7 should reference those records directly.
|
|
100
100
|
|
|
101
101
|
If the decision creates follow-up questions or derived issues, add them with `nx_plan_update` and move to Step 6. Do not ask the user for confirmation.
|
|
102
102
|
|
package/skills/nx-plan/SKILL.md
CHANGED
|
@@ -111,7 +111,7 @@ Issues must be processed one at a time. For each issue:
|
|
|
111
111
|
|
|
112
112
|
### Step 5: Record Decision
|
|
113
113
|
|
|
114
|
-
When a decision is reached, use `nx_plan_decide` to mark the issue as decided.
|
|
114
|
+
When a decision is reached, use `nx_plan_decide` to mark the issue as decided. `nx_plan_decide` records only the final decision text and decision state — it does **not** add to `analysis`. All HOW analysis and resume routing records must already be stored via `nx_plan_analysis_add` in Step 4.
|
|
115
115
|
|
|
116
116
|
- Immediately after recording, check overall progress with `nx_plan_status` and announce the next issue in one line.
|
|
117
117
|
- Check whether new follow-up questions have emerged, and if so, add follow-up issues with `nx_plan_update`.
|