@wangcansun/cc-config 1.2.1
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 +364 -0
- package/cli.mjs +40202 -0
- package/dashboard/dist/client/assets/activity-DS5YBWMm.js +1 -0
- package/dashboard/dist/client/assets/commands-DhNv8XVR.js +1 -0
- package/dashboard/dist/client/assets/dashboard-DIyDYrl6.js +1 -0
- package/dashboard/dist/client/assets/detail-panel-C8SGLgm-.js +1 -0
- package/dashboard/dist/client/assets/header-CBzSNzdI.js +1 -0
- package/dashboard/dist/client/assets/index-CFEz1CGb.js +14 -0
- package/dashboard/dist/client/assets/index-CHtRMAMT.css +1 -0
- package/dashboard/dist/client/assets/index-CaDf51H6.js +76 -0
- package/dashboard/dist/client/assets/markdown-viewer-Bj8nSOSJ.js +17 -0
- package/dashboard/dist/client/assets/mcp-BX69kbwu.js +1 -0
- package/dashboard/dist/client/assets/plugins-BslRzmVr.js +2 -0
- package/dashboard/dist/client/assets/profiles-CfOCpDPJ.js +2 -0
- package/dashboard/dist/client/assets/recommended-BAj0agKu.js +1 -0
- package/dashboard/dist/client/assets/search-box-CqaIZ9mR.js +1 -0
- package/dashboard/dist/client/assets/select-BtWQJMup.js +1 -0
- package/dashboard/dist/client/assets/settings-CicCcNf_.js +1 -0
- package/dashboard/dist/client/assets/skills-DML4G4BP.js +1 -0
- package/dashboard/dist/client/assets/tag-Q3V7Jugn.js +1 -0
- package/dashboard/dist/client/favicon.ico +0 -0
- package/dashboard/dist/client/icon-192.png +0 -0
- package/dashboard/dist/client/icon-32.png +0 -0
- package/dashboard/dist/client/icon-512.png +0 -0
- package/dashboard/dist/client/icon.png +0 -0
- package/dashboard/dist/client/index.html +19 -0
- package/dashboard/dist/server.mjs +41832 -0
- package/mcp/server.mjs +26607 -0
- package/package.json +36 -0
package/README.md
ADDED
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
**English** · [简体中文](README.zh.md)
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# claude-config-manager
|
|
6
|
+
|
|
7
|
+
A Claude Code plugin that gives you a web dashboard + CLI to manage your whole Claude Code setup: plugins, MCP servers, skills, commands, settings, profiles, sessions, and usage metrics.
|
|
8
|
+
|
|
9
|
+
## Install
|
|
10
|
+
|
|
11
|
+
### Option A — standalone CLI (npm)
|
|
12
|
+
|
|
13
|
+
Use it straight from your terminal, no Claude Code session required:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# Run without installing
|
|
17
|
+
npx @wangcansun/cc-config # interactive TUI
|
|
18
|
+
npx @wangcansun/cc-config start # launch the dashboard on http://localhost:3399
|
|
19
|
+
|
|
20
|
+
# …or install globally
|
|
21
|
+
npm install -g @wangcansun/cc-config
|
|
22
|
+
claude-config # interactive TUI (alias: cc-config)
|
|
23
|
+
claude-config start # launch the dashboard
|
|
24
|
+
claude-config list # list plugins, MCP servers, skills, commands
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Option B — Claude Code plugin
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# 1. Add the marketplace
|
|
31
|
+
claude plugin marketplace add https://github.com/wangcansunking/can-claude-plugins
|
|
32
|
+
|
|
33
|
+
# 2. Install the plugin
|
|
34
|
+
claude plugin install claude-config-manager@can-claude-plugins
|
|
35
|
+
|
|
36
|
+
# 3. In any Claude Code session, open the dashboard
|
|
37
|
+
/ccm-dashboard
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
The dashboard launches on <http://localhost:3399> and opens in your browser.
|
|
41
|
+
|
|
42
|
+

|
|
43
|
+
|
|
44
|
+
## Why
|
|
45
|
+
|
|
46
|
+
Claude Code ships a lot of surface area — `settings.json`, MCP configs, plugin marketplaces, skills, commands, hooks, environment variables, sessions. Editing JSON files by hand works, but doesn't scale once you juggle multiple projects or want to switch configurations. `claude-config-manager` gives you:
|
|
47
|
+
|
|
48
|
+
- One place to view and edit every Claude Code configuration file
|
|
49
|
+
- Profile snapshots you can export, import, and activate (think `nvm use` for Claude)
|
|
50
|
+
- A marketplace browser for plugins, MCP servers, and skills
|
|
51
|
+
- Live session activity with resume-on-one-click
|
|
52
|
+
- Usage metrics pulled from your local Claude Code history
|
|
53
|
+
|
|
54
|
+
## Features
|
|
55
|
+
|
|
56
|
+
### Overview & Usage Metrics
|
|
57
|
+
|
|
58
|
+
Homepage shows your installed plugins, MCP servers, recent sessions, token-burn chart, and environment health at a glance.
|
|
59
|
+
|
|
60
|
+

|
|
61
|
+
|
|
62
|
+
### Personalized Recommendations
|
|
63
|
+
|
|
64
|
+
Runs `/ccm-recommendations` against your current setup to suggest plugins, MCP servers, and skills you haven't installed yet.
|
|
65
|
+
|
|
66
|
+

|
|
67
|
+
|
|
68
|
+
### Plugin Management
|
|
69
|
+
|
|
70
|
+
View installed plugins, browse marketplaces, drill into a plugin to see its commands, skills, and MCP servers.
|
|
71
|
+
|
|
72
|
+

|
|
73
|
+

|
|
74
|
+

|
|
75
|
+
|
|
76
|
+
### MCP Server Management
|
|
77
|
+
|
|
78
|
+
Add, remove, and inspect MCP servers. The MCP Store lets you install popular servers with one click.
|
|
79
|
+
|
|
80
|
+

|
|
81
|
+

|
|
82
|
+
|
|
83
|
+
### Skills, Commands, and Settings
|
|
84
|
+
|
|
85
|
+
Edit skill markdown in a full-screen viewer, manage slash commands, and tweak `settings.json` fields (model, hooks, env vars) without opening a text editor.
|
|
86
|
+
|
|
87
|
+

|
|
88
|
+

|
|
89
|
+
|
|
90
|
+
### Profiles (Export / Import / Activate)
|
|
91
|
+
|
|
92
|
+
Snapshot your full configuration — plugins, MCP servers, skills, commands, hooks, settings — into a named profile. Switch profiles to swap your whole setup, or export a `.json` and share it with a teammate.
|
|
93
|
+
|
|
94
|
+

|
|
95
|
+

|
|
96
|
+
|
|
97
|
+
### Session Activity
|
|
98
|
+
|
|
99
|
+
Browse past and live Claude Code sessions across all your projects. Click any session to inspect history; copy `claude --resume <id>` to resume in one click.
|
|
100
|
+
|
|
101
|
+

|
|
102
|
+

|
|
103
|
+
|
|
104
|
+
### Dark / Light Theme
|
|
105
|
+
|
|
106
|
+

|
|
107
|
+

|
|
108
|
+
|
|
109
|
+
## TUI (interactive terminal UI)
|
|
110
|
+
|
|
111
|
+
Run `claude-config` with no arguments to launch the in-terminal UI:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
claude-config
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
The TUI mirrors the dashboard's browse + high-frequency actions — toggle plugins / MCPs / skills, switch profiles, copy session resume IDs, copy recommended install commands — without needing a browser or HTTP server.
|
|
118
|
+
|
|
119
|
+
### Layout
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
┌─ ccm 1.1.4 · en · dashboard ○ (stopped) ──────────────────────────────┐
|
|
123
|
+
│ │
|
|
124
|
+
│ ┌─────────────┐ ┌───────────────────────────────────────────────────┐ │
|
|
125
|
+
│ │ Overview │ │ │ │
|
|
126
|
+
│ │ Config │ │ (active page content) │ │
|
|
127
|
+
│ │▶ Sessions │ │ │ │
|
|
128
|
+
│ │ Recommend │ │ │ │
|
|
129
|
+
│ │ Settings │ │ │ │
|
|
130
|
+
│ │ Profiles │ │ │ │
|
|
131
|
+
│ └─────────────┘ └───────────────────────────────────────────────────┘ │
|
|
132
|
+
│ │
|
|
133
|
+
│ ↑↓/jk:nav Enter:enter Esc:back Tab:switch focus /:filter ?:help │
|
|
134
|
+
└─────────────────────────────────────────────────────────────────────────┘
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Pages
|
|
138
|
+
|
|
139
|
+
#### Overview
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
Active profile:
|
|
143
|
+
work
|
|
144
|
+
|
|
145
|
+
Plugins: 29
|
|
146
|
+
MCPs: 13
|
|
147
|
+
Skills: 86
|
|
148
|
+
Commands: 0
|
|
149
|
+
|
|
150
|
+
Recent sessions
|
|
151
|
+
· /Users/me/repos/foo
|
|
152
|
+
· /Users/me/repos/bar
|
|
153
|
+
· /Users/me/repos/baz
|
|
154
|
+
|
|
155
|
+
Dashboard: ○ stopped
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Shows current profile, installed counts (plugins / MCPs / skills / commands), recent sessions, and dashboard status.
|
|
159
|
+
|
|
160
|
+
#### Config — Plugins
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
Plugins (6 installed)
|
|
164
|
+
▶ [✓] vercel@claude-plugins-official 0.40.0
|
|
165
|
+
[✓] remember@claude-plugins-official 0.6.0
|
|
166
|
+
[✓] superpowers@claude-plugins-official 5.0.7
|
|
167
|
+
[✓] feature-dev@claude-plugins-official 1.0.0
|
|
168
|
+
[✓] serena@claude-plugins-official 0.9.1
|
|
169
|
+
[ ] experiment-plugin 0.1.0
|
|
170
|
+
|
|
171
|
+
space:toggle enter:toggle /:filter ?:help
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
Press `space` (or `Enter`) on the cursor row to toggle `enabledPlugins` in `~/.claude/settings.json`.
|
|
175
|
+
|
|
176
|
+
#### Config — MCP servers
|
|
177
|
+
|
|
178
|
+
```
|
|
179
|
+
MCP servers (4)
|
|
180
|
+
▶ [✓] serena uvx serena
|
|
181
|
+
[✓] context7 npx context7
|
|
182
|
+
[✓] chrome-devtools npx chrome-devtools
|
|
183
|
+
[ ] playwright npx playwright
|
|
184
|
+
|
|
185
|
+
space:toggle enter:toggle /:filter
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
Toggle `enabledMcpServers` map in `~/.claude/settings.json`.
|
|
189
|
+
|
|
190
|
+
#### Sessions
|
|
191
|
+
|
|
192
|
+
```
|
|
193
|
+
Sessions (3)
|
|
194
|
+
|
|
195
|
+
▶ ● feature work ┌──────────────────────────────────────────────────────────┐
|
|
196
|
+
a3f9c2bd /Users/me/repos/foo · 2h │ Name: feature work │
|
|
197
|
+
○ bug fix │ Project: /Users/me/repos/foo │
|
|
198
|
+
b8e4f1a2 /Users/me/repos/bar · 1d │ Session ID: a3f9c2bd-1111-2222-3333-444455556666 │
|
|
199
|
+
○ experiment │ Started: 2h ago (2026-04-30 14:03) │
|
|
200
|
+
c1d9e3b4 /Users/me/repos/baz · 5d │ Status: ● live (pid 12345) │
|
|
201
|
+
│ │
|
|
202
|
+
│ Recent inputs │
|
|
203
|
+
│ ───────────── │
|
|
204
|
+
│ │
|
|
205
|
+
│ 1. how do I add jwt auth to express │
|
|
206
|
+
│ 2. fix the failing integration test │
|
|
207
|
+
│ 3. refactor the user module │
|
|
208
|
+
└──────────────────────────────────────────────────────────┘
|
|
209
|
+
|
|
210
|
+
y:copy resume id /:filter ?:help
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
`y` copies the resume ID to clipboard. The detail pane shows recent user inputs from that session — fast confirmation that you're picking the right one.
|
|
214
|
+
|
|
215
|
+
#### Recommended
|
|
216
|
+
|
|
217
|
+
```
|
|
218
|
+
Recommended (4)
|
|
219
|
+
|
|
220
|
+
▶ [MCP/Top] @modelcontextprotocol/server-postgres Postgres MCP server
|
|
221
|
+
[MCP/Trending] kubernetes-mcp-server Kubernetes MCP server
|
|
222
|
+
[PLUGIN/Top] devtools-cli Suite of devtools
|
|
223
|
+
[SKILL/Top] database-design Schema design helper
|
|
224
|
+
|
|
225
|
+
c/y:copy install cmd /:filter
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
Read from the cache populated by the `/ccm-recommendations` skill. `c` or `y` copies the install command.
|
|
229
|
+
|
|
230
|
+
#### Settings
|
|
231
|
+
|
|
232
|
+
```
|
|
233
|
+
TUI preferences
|
|
234
|
+
|
|
235
|
+
▶ language en (Enter to toggle en ↔ zh)
|
|
236
|
+
theme auto (terminal palette)
|
|
237
|
+
quit-confirm off
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
TUI preferences. Language toggle (en ↔ zh) takes effect immediately on the next render.
|
|
241
|
+
|
|
242
|
+
### Keymap
|
|
243
|
+
|
|
244
|
+
| Key | Action |
|
|
245
|
+
|-----|--------|
|
|
246
|
+
| `1`–`6` | Jump sidebar to area N |
|
|
247
|
+
| `↑`/`↓` or `j`/`k` | Navigate the focused list |
|
|
248
|
+
| `g` / `G` or `Home` / `End` | Jump to top / bottom |
|
|
249
|
+
| `h`/`l` or `←`/`→` | Cycle inner tabs (Configuration page) |
|
|
250
|
+
| `Tab` / `Shift+Tab` | Toggle focus between sidebar and main pane |
|
|
251
|
+
| `Enter` | Activate / drill in / move focus from sidebar to main |
|
|
252
|
+
| `Esc` | Back; from main pane returns focus to sidebar |
|
|
253
|
+
| `space` | Toggle (on enable/disable rows) |
|
|
254
|
+
| `/` | Filter the current list |
|
|
255
|
+
| `r` | Force refresh |
|
|
256
|
+
| `?` | Help overlay |
|
|
257
|
+
| `q` / `Ctrl+C` | Quit |
|
|
258
|
+
|
|
259
|
+
### Auto-launch from Claude Code
|
|
260
|
+
|
|
261
|
+
If you have the `/ccm` slash command available (via the plugin marketplace), running `/ccm` in your Claude Code chat tries to auto-launch the TUI in a fresh terminal window:
|
|
262
|
+
|
|
263
|
+
- macOS — opens a new Terminal.app window
|
|
264
|
+
- Linux — tries gnome-terminal / konsole / alacritty / wezterm / kitty / xterm in order
|
|
265
|
+
- Windows — tries Windows Terminal (`wt`) → PowerShell → cmd.exe
|
|
266
|
+
|
|
267
|
+
If no suitable terminal is found, the skill falls back to either telling you to run `claude-config` yourself, or starting the web dashboard at http://localhost:3399 — your choice.
|
|
268
|
+
|
|
269
|
+
For demos and rich detail views (charts, screenshots), the dashboard remains the better choice: `claude-config start` launches it on http://localhost:3399.
|
|
270
|
+
|
|
271
|
+
## Slash Commands
|
|
272
|
+
|
|
273
|
+
| Command | Description |
|
|
274
|
+
|---------|-------------|
|
|
275
|
+
| `/ccm` | Quick access — status, profiles, open dashboard |
|
|
276
|
+
| `/ccm-dashboard` | Start the dashboard and open it in the browser |
|
|
277
|
+
| `/ccm-export` | Export the current configuration to a profile JSON |
|
|
278
|
+
| `/ccm-import` | Import a profile JSON and activate it |
|
|
279
|
+
| `/ccm-profile` | List, create, switch, or delete profiles |
|
|
280
|
+
|
|
281
|
+
## Skills
|
|
282
|
+
|
|
283
|
+
| Skill | What it does |
|
|
284
|
+
|-------|-------------|
|
|
285
|
+
| `ccm-dashboard` | Starts and opens the dashboard |
|
|
286
|
+
| `ccm-recommendations` | Refreshes the Recommended page with personalized suggestions based on your setup |
|
|
287
|
+
|
|
288
|
+
## MCP Tools
|
|
289
|
+
|
|
290
|
+
Only **2 tools** exposed — intentionally minimal so the model's tool-selection surface stays small:
|
|
291
|
+
|
|
292
|
+
| Tool | Purpose |
|
|
293
|
+
|------|---------|
|
|
294
|
+
| `ccm_dashboard_status` | Read-only: is the dashboard up, on what port, under what PID |
|
|
295
|
+
| `ccm_open_dashboard` | Return the dashboard URL + start hint |
|
|
296
|
+
|
|
297
|
+
Everything else (profiles, plugins, MCP servers, skills, commands, settings) flows through the **`claude-config` CLI** — the single source of truth for operations. The `/ccm-*` slash commands shell into the CLI via Bash.
|
|
298
|
+
|
|
299
|
+
## CLI
|
|
300
|
+
|
|
301
|
+
```bash
|
|
302
|
+
node packages/cli/dist/index.js --help # or via plugin: node ${CLAUDE_PLUGIN_ROOT}/packages/cli/dist/index.js
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
Surface:
|
|
306
|
+
|
|
307
|
+
```
|
|
308
|
+
claude-config start [--port <port>] [--no-open]
|
|
309
|
+
claude-config list [--plugins | --mcps | --skills | --commands] [--json]
|
|
310
|
+
claude-config profile list [--json]
|
|
311
|
+
claude-config profile create <name>
|
|
312
|
+
claude-config profile activate <name>
|
|
313
|
+
claude-config profile delete <name>
|
|
314
|
+
claude-config export <profile> [--output <file>] [--format json|yaml]
|
|
315
|
+
claude-config import <file> [--replace] [--activate] [--dry-run]
|
|
316
|
+
claude-config mcp-server # runs the MCP stdio server
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
## Repository Layout
|
|
320
|
+
|
|
321
|
+
```
|
|
322
|
+
claude-config-manager/
|
|
323
|
+
.claude-plugin/plugin.json Plugin metadata
|
|
324
|
+
.mcp.json MCP server wiring
|
|
325
|
+
mcp-entry.mjs MCP server entrypoint
|
|
326
|
+
commands/ Slash commands (Skill.md files)
|
|
327
|
+
skills/ Skills (Skill.md files)
|
|
328
|
+
hooks/ Claude Code hook scripts
|
|
329
|
+
packages/
|
|
330
|
+
types/ Shared TypeScript types
|
|
331
|
+
core/ Business logic (profiles, scanners, managers)
|
|
332
|
+
mcp/ MCP server (2 tools — dashboard status + open)
|
|
333
|
+
dashboard/ Express + Vite dashboard (UI + API)
|
|
334
|
+
cli/ `claude-config` CLI
|
|
335
|
+
docs/ Spec docs and screenshots
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
## Development
|
|
339
|
+
|
|
340
|
+
Clone and run from source:
|
|
341
|
+
|
|
342
|
+
```bash
|
|
343
|
+
git clone https://github.com/wangcansunking/claude-config-manager
|
|
344
|
+
cd claude-config-manager
|
|
345
|
+
npm install
|
|
346
|
+
npm run dev # turbo dev across all packages
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
Other scripts:
|
|
350
|
+
|
|
351
|
+
```bash
|
|
352
|
+
npm run build
|
|
353
|
+
npm run test # vitest unit tests
|
|
354
|
+
npm run test:e2e # Playwright E2E
|
|
355
|
+
npm run type-check
|
|
356
|
+
npm run lint
|
|
357
|
+
npm start # serve built dashboard on :3399
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
Dashboard dev server runs on `:3399` via `turbo dev`.
|
|
361
|
+
|
|
362
|
+
## Changelog
|
|
363
|
+
|
|
364
|
+
See [CHANGELOG.md](CHANGELOG.md).
|