claude-code-hub 0.4.0 → 0.6.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/README.md +24 -4
- package/package.json +2 -1
- package/server.js +5 -1
package/README.md
CHANGED
|
@@ -4,7 +4,17 @@
|
|
|
4
4
|
[](LICENSE)
|
|
5
5
|
[](https://www.npmjs.com/package/claude-code-hub)
|
|
6
6
|
|
|
7
|
-
Unified launcher for Claude Code tools — browse plugins in **Marketplace
|
|
7
|
+
Unified launcher for Claude Code tools — browse plugins in **Marketplace**, track tasks in **Kanban**, and monitor costs in **Cost**, all from a single chromeless PWA.
|
|
8
|
+
|
|
9
|
+
## Kanban:
|
|
10
|
+
|
|
11
|
+

|
|
12
|
+
|
|
13
|
+
## Marketplace:
|
|
14
|
+

|
|
15
|
+
|
|
16
|
+
## Cost:
|
|
17
|
+

|
|
8
18
|
|
|
9
19
|
## Quick Start
|
|
10
20
|
|
|
@@ -21,21 +31,29 @@ npm install && npm install --prefix marketplace && npm install --prefix cck
|
|
|
21
31
|
npm start # http://localhost:3455
|
|
22
32
|
```
|
|
23
33
|
|
|
34
|
+
## Agent Observability (one-time setup)
|
|
35
|
+
|
|
36
|
+
For the full Kanban experience — agent log, live subagent tracking, waiting-for-user indicators, and context window monitoring — install the hooks:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npx claude-code-kanban --install
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Without hooks you still get the task board, but no agent activity or live indicators. See the [Kanban README](https://github.com/NikiforovAll/claude-task-viewer#getting-started) for details.
|
|
43
|
+
|
|
24
44
|
## Keyboard Shortcuts
|
|
25
45
|
|
|
26
46
|
| Shortcut | Action |
|
|
27
47
|
| ---------------- | ----------------------- |
|
|
28
48
|
| `Alt+1` | Switch to Kanban |
|
|
29
49
|
| `Alt+2` | Switch to Marketplace |
|
|
50
|
+
| `Alt+3` | Switch to Cost |
|
|
30
51
|
| `Ctrl+Alt+Right` | Switch to next tool |
|
|
31
52
|
| `Ctrl+Alt+Left` | Switch to previous tool |
|
|
32
53
|
|
|
33
54
|
## How It Works
|
|
34
55
|
|
|
35
56
|
The hub server spawns both sub-apps as child processes, each on its own port. A minimal shell page embeds them in iframes and switches visibility on tab change — zero UI chrome, just keyboard shortcuts.
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
The Kanban sidebar shows a marketplace button on session cards — click it to jump to the Marketplace pre-filtered to that project.
|
|
39
57
|
|
|
40
58
|
## Included Tools
|
|
41
59
|
|
|
@@ -43,6 +61,7 @@ The Kanban sidebar shows a marketplace button on session cards — click it to j
|
|
|
43
61
|
| ---------------------------------------------------------------------- | -------------- | ------------ |
|
|
44
62
|
| [Marketplace](https://github.com/NikiforovAll/claude-code-marketplace) | `marketplace/` | 3457 |
|
|
45
63
|
| [Kanban](https://github.com/NikiforovAll/claude-task-viewer) | `cck/` | 3456 |
|
|
64
|
+
| [Cost](https://github.com/NikiforovAll/claude-code-cost) | `cost/` | 3458 |
|
|
46
65
|
|
|
47
66
|
## CLI Flags
|
|
48
67
|
|
|
@@ -50,6 +69,7 @@ The Kanban sidebar shows a marketplace button on session cards — click it to j
|
|
|
50
69
|
--port <n> Hub port (default: 3455)
|
|
51
70
|
--marketplace-port <n> Marketplace port (default: 3457)
|
|
52
71
|
--kanban-port <n> Kanban port (default: 3456)
|
|
72
|
+
--cost-port <n> Cost port (default: 3458)
|
|
53
73
|
--open Auto-open browser
|
|
54
74
|
```
|
|
55
75
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-code-hub",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Unified hub for Claude Code tools — Marketplace + Kanban in one PWA",
|
|
5
5
|
"main": "server.js",
|
|
6
6
|
"bin": {
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
},
|
|
36
36
|
"homepage": "https://github.com/NikiforovAll/claude-code-hub#readme",
|
|
37
37
|
"dependencies": {
|
|
38
|
+
"claude-code-cost": "^0.1.0",
|
|
38
39
|
"claude-code-kanban": "^2.2.0",
|
|
39
40
|
"claude-code-marketplace": "^0.5.0",
|
|
40
41
|
"express": "^4.21.0",
|
package/server.js
CHANGED
|
@@ -15,9 +15,10 @@ function getArg(name) {
|
|
|
15
15
|
const HUB_PORT = parseInt(getArg('port') || process.env.PORT || '3455', 10);
|
|
16
16
|
const MARKETPLACE_PORT = parseInt(getArg('marketplace-port') || '3457', 10);
|
|
17
17
|
const KANBAN_PORT = parseInt(getArg('kanban-port') || '3456', 10);
|
|
18
|
+
const COST_PORT = parseInt(getArg('cost-port') || '3458', 10);
|
|
18
19
|
|
|
19
20
|
const children = [];
|
|
20
|
-
const actualPorts = { marketplace: MARKETPLACE_PORT, kanban: KANBAN_PORT };
|
|
21
|
+
const actualPorts = { marketplace: MARKETPLACE_PORT, kanban: KANBAN_PORT, cost: COST_PORT };
|
|
21
22
|
|
|
22
23
|
function spawnApp(name, cmd, args, envPort) {
|
|
23
24
|
const child = spawn(cmd, args, {
|
|
@@ -76,9 +77,11 @@ function resolveApp(submoduleDir, npmPackage) {
|
|
|
76
77
|
|
|
77
78
|
const marketplacePath = resolveApp('marketplace', 'claude-code-marketplace');
|
|
78
79
|
const kanbanPath = resolveApp('cck', 'claude-code-kanban');
|
|
80
|
+
const costPath = resolveApp('cost', 'claude-code-cost');
|
|
79
81
|
|
|
80
82
|
spawnApp('marketplace', process.execPath, [marketplacePath, `--port=${MARKETPLACE_PORT}`], MARKETPLACE_PORT);
|
|
81
83
|
spawnApp('kanban', process.execPath, [kanbanPath], KANBAN_PORT);
|
|
84
|
+
spawnApp('cost', process.execPath, [costPath, `--port=${COST_PORT}`], COST_PORT);
|
|
82
85
|
|
|
83
86
|
const app = express();
|
|
84
87
|
|
|
@@ -87,6 +90,7 @@ app.get('/api/config', (_req, res) => {
|
|
|
87
90
|
apps: {
|
|
88
91
|
kanban: { name: 'Kanban', url: `http://localhost:${actualPorts.kanban}`, icon: 'columns' },
|
|
89
92
|
marketplace: { name: 'Marketplace', url: `http://localhost:${actualPorts.marketplace}`, icon: 'store' },
|
|
93
|
+
cost: { name: 'Cost', url: `http://localhost:${actualPorts.cost}`, icon: 'dollar-sign' },
|
|
90
94
|
},
|
|
91
95
|
});
|
|
92
96
|
});
|