cc-hub 0.1.0 → 0.2.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 CHANGED
@@ -13,14 +13,13 @@ A terminal TUI tool for managing Claude Code model configurations. Switch betwee
13
13
  ## Install
14
14
 
15
15
  ```bash
16
- pnpm install
17
- pnpm run build
16
+ npm install -g cc-hub
18
17
  ```
19
18
 
20
- For global install:
19
+ Or run without installing:
21
20
 
22
21
  ```bash
23
- pnpm add -g .
22
+ npx cc-hub
24
23
  ```
25
24
 
26
25
  ## Usage
package/README.zh-CN.md CHANGED
@@ -13,14 +13,13 @@
13
13
  ## 安装
14
14
 
15
15
  ```bash
16
- pnpm install
17
- pnpm run build
16
+ npm install -g cc-hub
18
17
  ```
19
18
 
20
- 全局安装:
19
+ 或者不安装直接运行:
21
20
 
22
21
  ```bash
23
- pnpm add -g .
22
+ npx cc-hub
24
23
  ```
25
24
 
26
25
  ## 使用
package/dist/tui/app.js CHANGED
@@ -159,5 +159,5 @@ export function App() {
159
159
  }
160
160
  });
161
161
  // --- Render ---
162
- return (_jsxs(Box, { flexDirection: "column", children: [statusMessage && (_jsx(Box, { paddingX: 1, children: _jsxs(Text, { color: "green", children: ["\u2713 ", statusMessage] }) })), screen.type === "dashboard" && (_jsx(Dashboard, { store: store, selectedIndex: selectedIndex, onSelect: handleSelect, onDelete: handleDelete, onScenario: () => setScreen({ type: "scenario" }) })), screen.type === "scenario" && (_jsx(ScenarioConfig, { store: store, onSave: handleScenarioSave, onCancel: handleScenarioCancel })), screen.type === "confirm" && (_jsx(Modal, { title: "Confirm", borderColor: "yellow", borderStyle: "round", onClose: () => setScreen({ type: "dashboard" }), children: _jsxs(Box, { paddingX: 2, paddingY: 1, flexDirection: "column", children: [_jsx(Text, { children: screen.message }), _jsxs(Box, { marginTop: 1, gap: 2, children: [_jsxs(Text, { children: [_jsxs(Text, { inverse: true, bold: true, children: [" ", "Y", " "] }), _jsx(Text, { dimColor: true, children: " Yes" })] }), _jsxs(Text, { children: [_jsxs(Text, { inverse: true, bold: true, children: [" ", "N", " "] }), _jsx(Text, { dimColor: true, children: " No" })] }), _jsxs(Text, { children: [_jsxs(Text, { inverse: true, bold: true, children: [" ", "Esc", " "] }), _jsx(Text, { dimColor: true, children: " Cancel" })] })] })] }) }))] }));
162
+ return (_jsxs(Box, { flexDirection: "column", children: [statusMessage && (_jsx(Box, { paddingX: 1, children: _jsxs(Text, { color: "green", children: ["\u2713 ", statusMessage] }) })), screen.type === "dashboard" && (_jsx(Box, { minHeight: 20, children: _jsx(Dashboard, { store: store, selectedIndex: selectedIndex, onSelect: handleSelect, onDelete: handleDelete, onScenario: () => setScreen({ type: "scenario" }) }) })), screen.type === "scenario" && (_jsx(Box, { minHeight: 20, children: _jsx(ScenarioConfig, { store: store, onSave: handleScenarioSave, onCancel: handleScenarioCancel }) })), screen.type === "confirm" && (_jsx(Modal, { title: "Confirm", borderColor: "yellow", borderStyle: "round", onClose: () => setScreen({ type: "dashboard" }), children: _jsxs(Box, { paddingX: 2, paddingY: 1, flexDirection: "column", children: [_jsx(Text, { children: screen.message }), _jsxs(Box, { marginTop: 1, gap: 2, children: [_jsxs(Text, { children: [_jsxs(Text, { inverse: true, bold: true, children: [" ", "Y", " "] }), _jsx(Text, { dimColor: true, children: " Yes" })] }), _jsxs(Text, { children: [_jsxs(Text, { inverse: true, bold: true, children: [" ", "N", " "] }), _jsx(Text, { dimColor: true, children: " No" })] }), _jsxs(Text, { children: [_jsxs(Text, { inverse: true, bold: true, children: [" ", "Esc", " "] }), _jsx(Text, { dimColor: true, children: " Cancel" })] })] })] }) }))] }));
163
163
  }
@@ -15,7 +15,7 @@ export function Dashboard({ store, selectedIndex }) {
15
15
  });
16
16
  }
17
17
  }
18
- return (_jsxs(Box, { flexDirection: "column", paddingX: 1, children: [_jsx(Text, { bold: true, children: "cc-hub" }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "dim", children: "Select a model to switch your active Claude Code configuration." }) }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: rows.length === 0 ? (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { color: "dim", children: "No providers configured." }), _jsxs(Text, { color: "dim", children: ["Edit ", _jsx(Text, { color: "cyan", children: "~/.cc-hub/config.json" }), " to add providers, then restart."] })] })) : (_jsx(Table, { columns: [
18
+ return (_jsxs(Box, { flexDirection: "column", paddingX: 1, children: [_jsx(Text, { color: "cyan", children: ` __ __ ` }), _jsx(Text, { color: "cyan", children: ` __________ / /_ __ __/ /_ ` }), _jsx(Text, { color: "cyan", children: ` / ___/ ___/_____/ __ \\/ / / / __ \\` }), _jsx(Text, { color: "cyan", children: `/ /__/ /__/_____/ / / / /_/ / /_/ /` }), _jsx(Text, { color: "cyan", children: `\\___/\\___/ /_/ /_/\\__,_/_.__/ ` }), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: "dim", children: ["Edit ", _jsx(Text, { color: "cyan", children: "~/.cc-hub/config.json" }), " to add providers."] }) }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: rows.length === 0 ? (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { color: "dim", children: "No providers configured." }), _jsxs(Text, { color: "dim", children: ["Edit ", _jsx(Text, { color: "cyan", children: "~/.cc-hub/config.json" }), " to add providers, then restart."] })] })) : (_jsx(Table, { columns: [
19
19
  { header: "Provider", minWidth: 10 },
20
20
  { header: "Model", minWidth: 24 },
21
21
  { header: "Active", width: 8 },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cc-hub",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "TUI for managing Claude Code model configurations",
5
5
  "type": "module",
6
6
  "bin": {