claudeup 0.6.2 → 0.6.4
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/dist/ui/app.d.ts
CHANGED
package/dist/ui/app.js
CHANGED
|
@@ -4,7 +4,7 @@ import { createMcpScreen } from './screens/mcp-setup.js';
|
|
|
4
4
|
import { createPluginsScreen } from './screens/plugins.js';
|
|
5
5
|
import { createStatusLineScreen } from './screens/statusline.js';
|
|
6
6
|
// Version from package.json
|
|
7
|
-
export const VERSION = '0.6.
|
|
7
|
+
export const VERSION = '0.6.4';
|
|
8
8
|
// Suppress neo-blessed terminfo Setulc errors on exit
|
|
9
9
|
function suppressTerminfoErrors() {
|
|
10
10
|
const filter = (chunk) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claudeup",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.4",
|
|
4
4
|
"description": "TUI tool for managing Claude Code plugins, MCPs, and configuration",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -30,8 +30,12 @@
|
|
|
30
30
|
"tui",
|
|
31
31
|
"cli"
|
|
32
32
|
],
|
|
33
|
-
"author": "
|
|
33
|
+
"author": "Jack Rudenko <i@madappgang.com>",
|
|
34
34
|
"license": "MIT",
|
|
35
|
+
"repository": {
|
|
36
|
+
"type": "git",
|
|
37
|
+
"url": "https://github.com/MadAppGang/claude-code"
|
|
38
|
+
},
|
|
35
39
|
"bugs": {
|
|
36
40
|
"url": "https://github.com/MadAppGang/claude-code/issues"
|
|
37
41
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"marketplace.d.ts","sourceRoot":"","sources":["../../../src/ui/screens/marketplace.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAS1C,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA6K5E"}
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import blessed from 'neo-blessed';
|
|
2
|
-
import { createHeader, createFooter, showMessage, showConfirm } from '../app.js';
|
|
3
|
-
import { defaultMarketplaces } from '../../data/marketplaces.js';
|
|
4
|
-
import { addMarketplace, removeMarketplace, getConfiguredMarketplaces, } from '../../services/claude-settings.js';
|
|
5
|
-
export async function createMarketplaceScreen(state) {
|
|
6
|
-
createHeader(state, 'Plugin Marketplaces');
|
|
7
|
-
const configuredMarketplaces = await getConfiguredMarketplaces(state.projectPath);
|
|
8
|
-
// Build list items
|
|
9
|
-
const listItems = [];
|
|
10
|
-
for (const marketplace of defaultMarketplaces) {
|
|
11
|
-
const isInstalled = configuredMarketplaces[marketplace.name] !== undefined;
|
|
12
|
-
const status = isInstalled ? '{green-fg}✓{/green-fg}' : ' ';
|
|
13
|
-
const officialBadge = marketplace.official ? ' {cyan-fg}[Official]{/cyan-fg}' : '';
|
|
14
|
-
listItems.push({
|
|
15
|
-
label: `${status} ${marketplace.displayName}${officialBadge}`,
|
|
16
|
-
marketplace,
|
|
17
|
-
installed: isInstalled,
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
// Info box
|
|
21
|
-
blessed.box({
|
|
22
|
-
parent: state.screen,
|
|
23
|
-
top: 3,
|
|
24
|
-
left: 2,
|
|
25
|
-
width: '100%-4',
|
|
26
|
-
height: 4,
|
|
27
|
-
content: `Marketplaces provide plugins for Claude Code.
|
|
28
|
-
Add marketplaces to access their plugins in the Plugins screen.
|
|
29
|
-
|
|
30
|
-
{gray-fg}Note: Changes are saved to .claude/settings.json (shared with team){/gray-fg}`,
|
|
31
|
-
tags: true,
|
|
32
|
-
});
|
|
33
|
-
const list = blessed.list({
|
|
34
|
-
parent: state.screen,
|
|
35
|
-
top: 8,
|
|
36
|
-
left: 2,
|
|
37
|
-
width: '100%-4',
|
|
38
|
-
height: listItems.length + 2,
|
|
39
|
-
items: listItems.map((item) => item.label),
|
|
40
|
-
keys: true,
|
|
41
|
-
vi: true,
|
|
42
|
-
mouse: true,
|
|
43
|
-
tags: true,
|
|
44
|
-
border: {
|
|
45
|
-
type: 'line',
|
|
46
|
-
},
|
|
47
|
-
style: {
|
|
48
|
-
selected: {
|
|
49
|
-
bg: 'blue',
|
|
50
|
-
fg: 'white',
|
|
51
|
-
},
|
|
52
|
-
border: {
|
|
53
|
-
fg: 'cyan',
|
|
54
|
-
},
|
|
55
|
-
},
|
|
56
|
-
});
|
|
57
|
-
// Description box
|
|
58
|
-
const descBox = blessed.box({
|
|
59
|
-
parent: state.screen,
|
|
60
|
-
top: 10 + listItems.length + 2,
|
|
61
|
-
left: 2,
|
|
62
|
-
width: '100%-4',
|
|
63
|
-
height: 4,
|
|
64
|
-
content: '',
|
|
65
|
-
tags: true,
|
|
66
|
-
border: {
|
|
67
|
-
type: 'line',
|
|
68
|
-
},
|
|
69
|
-
style: {
|
|
70
|
-
border: {
|
|
71
|
-
fg: 'gray',
|
|
72
|
-
},
|
|
73
|
-
},
|
|
74
|
-
});
|
|
75
|
-
// Update description on selection change
|
|
76
|
-
const updateDescription = () => {
|
|
77
|
-
const selected = list.selected;
|
|
78
|
-
const item = listItems[selected];
|
|
79
|
-
if (item) {
|
|
80
|
-
const mp = item.marketplace;
|
|
81
|
-
descBox.setContent(`{bold}${mp.displayName}{/bold}\n` +
|
|
82
|
-
`${mp.description}\n` +
|
|
83
|
-
`{gray-fg}Source: github.com/${mp.source.repo}{/gray-fg}`);
|
|
84
|
-
state.screen.render();
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
list.on('select item', updateDescription);
|
|
88
|
-
updateDescription();
|
|
89
|
-
// Handle selection
|
|
90
|
-
list.on('select', async (_item, index) => {
|
|
91
|
-
const selected = listItems[index];
|
|
92
|
-
if (!selected)
|
|
93
|
-
return;
|
|
94
|
-
if (selected.installed) {
|
|
95
|
-
// Remove marketplace
|
|
96
|
-
const remove = await showConfirm(state, `Remove ${selected.marketplace.displayName}?`, 'This will remove the marketplace from your settings.\nPlugins from this marketplace will no longer be available.');
|
|
97
|
-
if (remove) {
|
|
98
|
-
await removeMarketplace(selected.marketplace.name, state.projectPath);
|
|
99
|
-
await showMessage(state, 'Removed', `${selected.marketplace.displayName} has been removed.`, 'success');
|
|
100
|
-
createMarketplaceScreen(state);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
// Add marketplace
|
|
105
|
-
await addMarketplace(selected.marketplace, state.projectPath);
|
|
106
|
-
await showMessage(state, 'Added', `${selected.marketplace.displayName} has been added.\n\nYou can now install plugins from this marketplace.`, 'success');
|
|
107
|
-
createMarketplaceScreen(state);
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
// Quick add all - disabled during search
|
|
111
|
-
state.screen.key(['a'], async () => {
|
|
112
|
-
if (state.isSearching)
|
|
113
|
-
return;
|
|
114
|
-
const notInstalled = listItems.filter((item) => !item.installed);
|
|
115
|
-
if (notInstalled.length === 0) {
|
|
116
|
-
await showMessage(state, 'Info', 'All marketplaces are already added.', 'info');
|
|
117
|
-
return;
|
|
118
|
-
}
|
|
119
|
-
const confirm = await showConfirm(state, 'Add All Marketplaces?', `This will add ${notInstalled.length} marketplace(s) to your settings.`);
|
|
120
|
-
if (confirm) {
|
|
121
|
-
for (const item of notInstalled) {
|
|
122
|
-
await addMarketplace(item.marketplace, state.projectPath);
|
|
123
|
-
}
|
|
124
|
-
await showMessage(state, 'Added', `Added ${notInstalled.length} marketplace(s).`, 'success');
|
|
125
|
-
createMarketplaceScreen(state);
|
|
126
|
-
}
|
|
127
|
-
});
|
|
128
|
-
createFooter(state, '↑↓ Navigate | Enter Toggle | a Add All | Esc Back | ? Help');
|
|
129
|
-
list.focus();
|
|
130
|
-
state.screen.render();
|
|
131
|
-
}
|
|
132
|
-
//# sourceMappingURL=marketplace.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"marketplace.js","sourceRoot":"","sources":["../../../src/ui/screens/marketplace.ts"],"names":[],"mappings":"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"}
|