@laststance/claude-plugin-dashboard 0.1.1 → 0.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 +70 -32
- package/dist/app.d.ts +29 -0
- package/dist/app.js +496 -69
- package/dist/components/AddMarketplaceDialog.d.ts +20 -0
- package/dist/components/AddMarketplaceDialog.js +18 -0
- package/dist/components/ComponentBadges.d.ts +32 -0
- package/dist/components/ComponentBadges.js +82 -0
- package/dist/components/HelpOverlay.d.ts +15 -0
- package/dist/components/HelpOverlay.js +51 -0
- package/dist/components/KeyHints.d.ts +6 -3
- package/dist/components/KeyHints.js +39 -10
- package/dist/components/MarketplaceList.d.ts +4 -2
- package/dist/components/MarketplaceList.js +7 -3
- package/dist/components/PluginDetail.js +2 -1
- package/dist/components/PluginList.d.ts +29 -2
- package/dist/components/PluginList.js +26 -5
- package/dist/components/SearchInput.js +1 -1
- package/dist/components/TabBar.d.ts +5 -3
- package/dist/components/TabBar.js +20 -8
- package/dist/services/componentService.d.ts +35 -0
- package/dist/services/componentService.js +178 -0
- package/dist/services/marketplaceActionsService.d.ts +44 -0
- package/dist/services/marketplaceActionsService.js +92 -0
- package/dist/services/pluginService.d.ts +10 -0
- package/dist/services/pluginService.js +22 -0
- package/dist/tabs/DiscoverTab.d.ts +5 -3
- package/dist/tabs/DiscoverTab.js +3 -2
- package/dist/tabs/EnabledTab.d.ts +24 -0
- package/dist/tabs/EnabledTab.js +26 -0
- package/dist/tabs/InstalledTab.d.ts +10 -3
- package/dist/tabs/InstalledTab.js +14 -10
- package/dist/tabs/MarketplacesTab.d.ts +10 -3
- package/dist/tabs/MarketplacesTab.js +12 -3
- package/dist/types/index.d.ts +71 -1
- package/package.json +11 -3
package/README.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# Claude Code Plugin Dashboard
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@laststance/claude-plugin-dashboard)
|
|
4
|
+
[](https://github.com/laststance/claude-plugin-dashboard/actions/workflows/ci.yml)
|
|
5
|
+
[](https://codecov.io/gh/laststance/claude-plugin-dashboard)
|
|
4
6
|
[](https://opensource.org/licenses/MIT)
|
|
5
7
|
|
|
6
8
|
An interactive CLI dashboard to browse, install, and manage [Claude Code](https://claude.ai/code) plugins.
|
|
@@ -12,12 +14,14 @@ Built with [Ink](https://github.com/vadimdemedes/ink) (React for CLI).
|
|
|
12
14
|
|
|
13
15
|
## Features
|
|
14
16
|
|
|
15
|
-
-
|
|
17
|
+
- ✅ **Enabled** - Default view showing active plugins (installed AND enabled)
|
|
16
18
|
- 📦 **Install/Uninstall** - Install and uninstall plugins directly from the dashboard
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
+
- 🔄 **Enable/Disable** - Toggle plugins on/off with a single key
|
|
20
|
+
- 🔍 **Discover** - Browse 100+ plugins from multiple marketplaces
|
|
21
|
+
- 🏪 **Marketplaces** - Add, remove, and update plugin sources
|
|
19
22
|
- ⚠️ **Errors** - Debug plugin issues
|
|
20
|
-
- ⌨️ **
|
|
23
|
+
- ⌨️ **Focus Zone Navigation** - 3-zone keyboard model (TabBar → Search → List)
|
|
24
|
+
- 🆘 **Help Overlay** - Press `h` for full keyboard shortcuts
|
|
21
25
|
- 🎨 **Beautiful TUI** - Terminal UI that matches Claude Code's design
|
|
22
26
|
|
|
23
27
|
## Prerequisites
|
|
@@ -43,21 +47,26 @@ This opens the interactive TUI dashboard.
|
|
|
43
47
|
|
|
44
48
|
**Keyboard Shortcuts:**
|
|
45
49
|
|
|
46
|
-
| Key | Action
|
|
47
|
-
| --------- |
|
|
48
|
-
|
|
|
49
|
-
|
|
|
50
|
-
| `^P` `^N` | Navigate list (Emacs-style)
|
|
51
|
-
| `
|
|
52
|
-
| `
|
|
53
|
-
| `
|
|
54
|
-
| `
|
|
55
|
-
|
|
|
56
|
-
| `
|
|
57
|
-
|
|
|
58
|
-
| `
|
|
59
|
-
| `
|
|
60
|
-
| `
|
|
50
|
+
| Key | Action |
|
|
51
|
+
| --------- | --------------------------------------------- |
|
|
52
|
+
| `↑` `↓` | Navigate within zone / Move between zones |
|
|
53
|
+
| `←` `→` | Switch tabs (when TabBar focused) |
|
|
54
|
+
| `^P` `^N` | Navigate list (Emacs-style vertical) |
|
|
55
|
+
| `^B` `^F` | Switch tabs (Emacs-style horizontal) |
|
|
56
|
+
| `Tab` | Next tab |
|
|
57
|
+
| `i` | Install selected plugin |
|
|
58
|
+
| `u` | Uninstall selected plugin (with confirm) |
|
|
59
|
+
| `Space` | Toggle plugin enable/disable |
|
|
60
|
+
| `Enter` | Install (Discover) / Toggle (Installed) |
|
|
61
|
+
| `/` | Search (works on all plugin/marketplace tabs) |
|
|
62
|
+
| `s` | Cycle sort options (Installs → Name → Date) |
|
|
63
|
+
| `S` | Toggle sort order (Asc/Desc) |
|
|
64
|
+
| `a` | Add marketplace (Marketplaces tab) |
|
|
65
|
+
| `d` | Remove marketplace (Marketplaces tab) |
|
|
66
|
+
| `r` | Update marketplace (Marketplaces tab) |
|
|
67
|
+
| `h` | Show help overlay |
|
|
68
|
+
| `Esc` | Clear search / Close dialog / Cancel |
|
|
69
|
+
| `q`/`^C` | Quit |
|
|
61
70
|
|
|
62
71
|
### Command Line Mode
|
|
63
72
|
|
|
@@ -92,14 +101,14 @@ claude-plugin-dashboard help
|
|
|
92
101
|
|
|
93
102
|
## Dashboard Tabs
|
|
94
103
|
|
|
95
|
-
###
|
|
104
|
+
### Enabled (Default)
|
|
96
105
|
|
|
97
|
-
|
|
106
|
+
View your currently active plugins (installed AND enabled):
|
|
98
107
|
|
|
99
|
-
-
|
|
100
|
-
-
|
|
101
|
-
-
|
|
102
|
-
-
|
|
108
|
+
- Shows only plugins that are ready to use
|
|
109
|
+
- Quick status overview of your Claude Code setup
|
|
110
|
+
- Toggle plugins on/off with `Space`
|
|
111
|
+
- Search with `/` to filter enabled plugins
|
|
103
112
|
|
|
104
113
|
### Installed
|
|
105
114
|
|
|
@@ -108,15 +117,26 @@ Manage your installed plugins:
|
|
|
108
117
|
- See enabled (●) and disabled (◐) status at a glance
|
|
109
118
|
- Toggle plugins on/off with `Space`
|
|
110
119
|
- Uninstall plugins with `u` (with Y/N confirmation)
|
|
111
|
-
-
|
|
120
|
+
- Search installed plugins with `/`
|
|
121
|
+
|
|
122
|
+
### Discover
|
|
123
|
+
|
|
124
|
+
Browse all available plugins from all configured marketplaces:
|
|
125
|
+
|
|
126
|
+
- Search by name, description, or tags
|
|
127
|
+
- Sort by install count, name, or date
|
|
128
|
+
- Install plugins with `i` key or `Enter`
|
|
129
|
+
- View plugin details including install count and description
|
|
112
130
|
|
|
113
131
|
### Marketplaces
|
|
114
132
|
|
|
115
|
-
|
|
133
|
+
Manage plugin sources:
|
|
116
134
|
|
|
117
|
-
-
|
|
118
|
-
-
|
|
119
|
-
-
|
|
135
|
+
- **Add** marketplace with `a` key (supports GitHub shorthand, Git URLs, local paths)
|
|
136
|
+
- **Remove** marketplace with `d` key (with confirmation)
|
|
137
|
+
- **Update** marketplace catalog with `r` key
|
|
138
|
+
- Search marketplaces with `/`
|
|
139
|
+
- View plugin counts and last update times
|
|
120
140
|
|
|
121
141
|
### Errors
|
|
122
142
|
|
|
@@ -198,8 +218,8 @@ Contributions are welcome! Please feel free to submit a Pull Request.
|
|
|
198
218
|
## Local Development
|
|
199
219
|
|
|
200
220
|
```bash
|
|
201
|
-
git clone https://github.com/laststance/claude-
|
|
202
|
-
cd claude-
|
|
221
|
+
git clone https://github.com/laststance/claude-plugin-dashboard.git
|
|
222
|
+
cd claude-plugin-dashboard
|
|
203
223
|
pnpm install
|
|
204
224
|
pnpm build
|
|
205
225
|
pnpm start
|
|
@@ -224,6 +244,24 @@ MIT © [Laststance.io](https://github.com/laststance)
|
|
|
224
244
|
|
|
225
245
|
## Changelog
|
|
226
246
|
|
|
247
|
+
### v0.2.0
|
|
248
|
+
|
|
249
|
+
- **Enabled tab**: New default view showing active plugins (installed AND enabled)
|
|
250
|
+
- **Focus zone navigation**: 3-zone keyboard model (TabBar → Search → List)
|
|
251
|
+
- **Emacs keybindings**: `Ctrl+B`/`Ctrl+F` for horizontal tab switching
|
|
252
|
+
- **Marketplace management**: Add (`a`), remove (`d`), update (`r`) plugin sources
|
|
253
|
+
- **Search on all tabs**: `/` now works on Enabled, Installed, and Marketplaces tabs
|
|
254
|
+
- **Help overlay**: Press `h` to show all keyboard shortcuts
|
|
255
|
+
- **Context-aware Enter**: Installs on Discover, toggles on Installed/Enabled
|
|
256
|
+
- **Plugin component types**: Show component types (skill, hook, agent) in detail view
|
|
257
|
+
- **CI/CD**: GitHub Actions workflow for lint, test, and build
|
|
258
|
+
- **96.67% test coverage**: Comprehensive Vitest and E2E test suites
|
|
259
|
+
|
|
260
|
+
### v0.1.1
|
|
261
|
+
|
|
262
|
+
- Fix: Clear terminal screen when exiting dashboard
|
|
263
|
+
- Fix: Repository URL in package.json
|
|
264
|
+
|
|
227
265
|
### v0.1.0
|
|
228
266
|
|
|
229
267
|
- Initial release
|
package/dist/app.d.ts
CHANGED
|
@@ -2,6 +2,35 @@
|
|
|
2
2
|
* Main App component for Claude Code Plugin Dashboard
|
|
3
3
|
* Interactive TUI to browse and manage Claude Code plugins
|
|
4
4
|
*/
|
|
5
|
+
import type { AppState, Action, Plugin, FocusZone } from './types/index.js';
|
|
6
|
+
/**
|
|
7
|
+
* Initial application state
|
|
8
|
+
*/
|
|
9
|
+
export declare const initialState: AppState;
|
|
10
|
+
/**
|
|
11
|
+
* Get available focus zones for the current tab
|
|
12
|
+
* Errors tab has no search zone since it doesn't support filtering
|
|
13
|
+
* @param activeTab - The currently active tab
|
|
14
|
+
* @returns Array of available focus zones in navigation order
|
|
15
|
+
*/
|
|
16
|
+
export declare function getAvailableZones(activeTab: AppState['activeTab']): FocusZone[];
|
|
17
|
+
/**
|
|
18
|
+
* State reducer for application state management
|
|
19
|
+
*/
|
|
20
|
+
export declare function appReducer(state: AppState, action: Action): AppState;
|
|
21
|
+
/**
|
|
22
|
+
* Get items array for current tab with search filter applied
|
|
23
|
+
* @param state - Current app state
|
|
24
|
+
* @returns Filtered array of items for the active tab
|
|
25
|
+
* @example
|
|
26
|
+
* getItemsForTab({ activeTab: 'installed', searchQuery: 'su', plugins: [...] })
|
|
27
|
+
* // => Only installed plugins matching 'su'
|
|
28
|
+
*/
|
|
29
|
+
export declare function getItemsForTab(state: AppState): unknown[];
|
|
30
|
+
/**
|
|
31
|
+
* Get filtered and sorted plugins for discover tab
|
|
32
|
+
*/
|
|
33
|
+
export declare function getFilteredPlugins(state: AppState): Plugin[];
|
|
5
34
|
/**
|
|
6
35
|
* Main App component
|
|
7
36
|
*/
|