claudeup 0.1.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.
Files changed (71) hide show
  1. package/README.md +91 -0
  2. package/bin/claudeup.js +6 -0
  3. package/dist/data/cli-tools.d.ts +13 -0
  4. package/dist/data/cli-tools.d.ts.map +1 -0
  5. package/dist/data/cli-tools.js +91 -0
  6. package/dist/data/cli-tools.js.map +1 -0
  7. package/dist/data/marketplaces.d.ts +4 -0
  8. package/dist/data/marketplaces.d.ts.map +1 -0
  9. package/dist/data/marketplaces.js +26 -0
  10. package/dist/data/marketplaces.js.map +1 -0
  11. package/dist/data/mcp-servers.d.ts +8 -0
  12. package/dist/data/mcp-servers.d.ts.map +1 -0
  13. package/dist/data/mcp-servers.js +421 -0
  14. package/dist/data/mcp-servers.js.map +1 -0
  15. package/dist/data/statuslines.d.ts +10 -0
  16. package/dist/data/statuslines.d.ts.map +1 -0
  17. package/dist/data/statuslines.js +160 -0
  18. package/dist/data/statuslines.js.map +1 -0
  19. package/dist/index.d.ts +3 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +12 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/services/claude-settings.d.ts +31 -0
  24. package/dist/services/claude-settings.d.ts.map +1 -0
  25. package/dist/services/claude-settings.js +177 -0
  26. package/dist/services/claude-settings.js.map +1 -0
  27. package/dist/services/mcp-registry.d.ts +10 -0
  28. package/dist/services/mcp-registry.d.ts.map +1 -0
  29. package/dist/services/mcp-registry.js +88 -0
  30. package/dist/services/mcp-registry.js.map +1 -0
  31. package/dist/services/plugin-manager.d.ts +22 -0
  32. package/dist/services/plugin-manager.d.ts.map +1 -0
  33. package/dist/services/plugin-manager.js +115 -0
  34. package/dist/services/plugin-manager.js.map +1 -0
  35. package/dist/types/index.d.ts +83 -0
  36. package/dist/types/index.d.ts.map +1 -0
  37. package/dist/types/index.js +2 -0
  38. package/dist/types/index.js.map +1 -0
  39. package/dist/ui/app.d.ts +28 -0
  40. package/dist/ui/app.d.ts.map +1 -0
  41. package/dist/ui/app.js +408 -0
  42. package/dist/ui/app.js.map +1 -0
  43. package/dist/ui/screens/cli-tools.d.ts +3 -0
  44. package/dist/ui/screens/cli-tools.d.ts.map +1 -0
  45. package/dist/ui/screens/cli-tools.js +314 -0
  46. package/dist/ui/screens/cli-tools.js.map +1 -0
  47. package/dist/ui/screens/main-menu.d.ts +3 -0
  48. package/dist/ui/screens/main-menu.d.ts.map +1 -0
  49. package/dist/ui/screens/main-menu.js +110 -0
  50. package/dist/ui/screens/main-menu.js.map +1 -0
  51. package/dist/ui/screens/marketplace.d.ts +3 -0
  52. package/dist/ui/screens/marketplace.d.ts.map +1 -0
  53. package/dist/ui/screens/marketplace.js +132 -0
  54. package/dist/ui/screens/marketplace.js.map +1 -0
  55. package/dist/ui/screens/mcp-registry.d.ts +10 -0
  56. package/dist/ui/screens/mcp-registry.d.ts.map +1 -0
  57. package/dist/ui/screens/mcp-registry.js +310 -0
  58. package/dist/ui/screens/mcp-registry.js.map +1 -0
  59. package/dist/ui/screens/mcp-setup.d.ts +4 -0
  60. package/dist/ui/screens/mcp-setup.d.ts.map +1 -0
  61. package/dist/ui/screens/mcp-setup.js +417 -0
  62. package/dist/ui/screens/mcp-setup.js.map +1 -0
  63. package/dist/ui/screens/plugins.d.ts +3 -0
  64. package/dist/ui/screens/plugins.d.ts.map +1 -0
  65. package/dist/ui/screens/plugins.js +330 -0
  66. package/dist/ui/screens/plugins.js.map +1 -0
  67. package/dist/ui/screens/statusline.d.ts +5 -0
  68. package/dist/ui/screens/statusline.d.ts.map +1 -0
  69. package/dist/ui/screens/statusline.js +235 -0
  70. package/dist/ui/screens/statusline.js.map +1 -0
  71. package/package.json +58 -0
package/README.md ADDED
@@ -0,0 +1,91 @@
1
+ # claudeup
2
+
3
+ TUI tool for managing Claude Code plugins, MCPs, and configuration.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ # Using pnpm
9
+ pnpm add -g claudeup
10
+
11
+ # Using pnpx (no install)
12
+ pnpx claudeup
13
+
14
+ # Using npm
15
+ npm install -g claudeup
16
+
17
+ # Using Bun
18
+ bun add -g claudeup
19
+ ```
20
+
21
+ ## Features
22
+
23
+ ### 1. MCP Server Setup
24
+ Configure Model Context Protocol servers with a curated list:
25
+ - **File System** - Read/write files, search directories
26
+ - **Database** - SQLite, PostgreSQL connections
27
+ - **Developer Tools** - GitHub, GitLab, Chrome DevTools, Puppeteer
28
+ - **API & Web** - HTTP requests, Brave Search
29
+ - **Productivity** - Google Drive, Slack, Memory
30
+ - **AI & Intelligence** - Claude Context (semantic search), Sequential Thinking
31
+
32
+ ### 2. Plugin Marketplaces
33
+ Add official and community plugin marketplaces:
34
+ - **Anthropic Official** - Official Claude Code plugins
35
+ - **MadAppGang** - Frontend, Backend, Code Analysis plugins
36
+
37
+ ### 3. Manage Plugins
38
+ Install and configure plugins from added marketplaces:
39
+ - Frontend Development (React/TypeScript)
40
+ - Code Analysis (Deep investigation)
41
+ - Bun Backend (TypeScript backend)
42
+ - Orchestration (Multi-agent patterns)
43
+ - Agent Development (Create agents)
44
+
45
+ ### 4. Status Line Configuration
46
+ Configure the Claude Code status line with presets:
47
+ - Minimal, Standard, Detailed
48
+ - Git-aware, Token-focused
49
+ - Time-tracking, Developer
50
+
51
+ ## Usage
52
+
53
+ ```bash
54
+ # Launch TUI
55
+ claudeup
56
+
57
+ # Or with npx
58
+ npx claudeup
59
+ ```
60
+
61
+ ### Navigation
62
+ - `↑/↓` or `j/k` - Move selection
63
+ - `Enter` - Select item
64
+ - `Escape/q` - Go back / Exit
65
+ - `?` - Show help
66
+ - `1-4` - Quick jump to screens
67
+
68
+ ## Development
69
+
70
+ ```bash
71
+ # Install dependencies
72
+ pnpm install
73
+
74
+ # Build
75
+ pnpm build
76
+
77
+ # Run in development
78
+ pnpm start:bun # With Bun
79
+ pnpm start # With Node
80
+ ```
81
+
82
+ ## Configuration Files
83
+
84
+ claudeup modifies these Claude Code configuration files:
85
+
86
+ - `.claude/settings.json` - Shared settings (plugins, marketplaces)
87
+ - `.claude/settings.local.json` - Local settings (MCP servers, allowMcp)
88
+
89
+ ## License
90
+
91
+ MIT
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+
3
+ import('../dist/index.js').catch((err) => {
4
+ console.error('Failed to start claudeup:', err.message);
5
+ process.exit(1);
6
+ });
@@ -0,0 +1,13 @@
1
+ export interface CliTool {
2
+ name: string;
3
+ displayName: string;
4
+ description: string;
5
+ installCommand: string;
6
+ checkCommand: string;
7
+ website: string;
8
+ category: 'ai-coding' | 'utility';
9
+ packageManager: 'npm' | 'pip';
10
+ packageName: string;
11
+ }
12
+ export declare const cliTools: CliTool[];
13
+ //# sourceMappingURL=cli-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-tools.d.ts","sourceRoot":"","sources":["../../src/data/cli-tools.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,WAAW,GAAG,SAAS,CAAC;IAClC,cAAc,EAAE,KAAK,GAAG,KAAK,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,QAAQ,EAAE,OAAO,EAyF7B,CAAC"}
@@ -0,0 +1,91 @@
1
+ export const cliTools = [
2
+ {
3
+ name: 'claude',
4
+ displayName: 'Claude Code',
5
+ description: 'Anthropic official agentic coding tool',
6
+ installCommand: 'npm install -g @anthropic-ai/claude-code',
7
+ checkCommand: 'claude --version',
8
+ website: 'https://claude.ai/code',
9
+ category: 'ai-coding',
10
+ packageManager: 'npm',
11
+ packageName: '@anthropic-ai/claude-code',
12
+ },
13
+ {
14
+ name: 'claudish',
15
+ displayName: 'Claudish',
16
+ description: 'Run Claude Code with OpenRouter models (Grok, GPT-5, Gemini)',
17
+ installCommand: 'npm install -g claudish',
18
+ checkCommand: 'claudish --version',
19
+ website: 'https://github.com/MadAppGang/claudish',
20
+ category: 'ai-coding',
21
+ packageManager: 'npm',
22
+ packageName: 'claudish',
23
+ },
24
+ {
25
+ name: 'codex',
26
+ displayName: 'OpenAI Codex',
27
+ description: 'Lightweight coding agent from OpenAI that runs in your terminal',
28
+ installCommand: 'npm install -g @openai/codex',
29
+ checkCommand: 'codex --version',
30
+ website: 'https://github.com/openai/codex',
31
+ category: 'ai-coding',
32
+ packageManager: 'npm',
33
+ packageName: '@openai/codex',
34
+ },
35
+ {
36
+ name: 'gemini',
37
+ displayName: 'Gemini CLI',
38
+ description: 'Google AI agent with 1M token context, free tier available',
39
+ installCommand: 'npm install -g @google/gemini-cli',
40
+ checkCommand: 'gemini --version',
41
+ website: 'https://github.com/google-gemini/gemini-cli',
42
+ category: 'ai-coding',
43
+ packageManager: 'npm',
44
+ packageName: '@google/gemini-cli',
45
+ },
46
+ {
47
+ name: 'qwen',
48
+ displayName: 'Qwen Code',
49
+ description: 'Alibaba coding agent optimized for Qwen3-Coder models',
50
+ installCommand: 'npm install -g @qwen-code/qwen-code',
51
+ checkCommand: 'qwen --version',
52
+ website: 'https://github.com/QwenLM/qwen-code',
53
+ category: 'ai-coding',
54
+ packageManager: 'npm',
55
+ packageName: '@qwen-code/qwen-code',
56
+ },
57
+ {
58
+ name: 'cline',
59
+ displayName: 'Cline',
60
+ description: 'Autonomous coding agent with plan & act, checkpoints, browser use',
61
+ installCommand: 'npm install -g cline',
62
+ checkCommand: 'cline --version',
63
+ website: 'https://cline.bot',
64
+ category: 'ai-coding',
65
+ packageManager: 'npm',
66
+ packageName: 'cline',
67
+ },
68
+ {
69
+ name: 'opencode',
70
+ displayName: 'OpenCode',
71
+ description: 'Open source AI coding agent trusted by 400k+ developers',
72
+ installCommand: 'npm install -g opencode-ai',
73
+ checkCommand: 'opencode --version',
74
+ website: 'https://opencode.ai',
75
+ category: 'ai-coding',
76
+ packageManager: 'npm',
77
+ packageName: 'opencode-ai',
78
+ },
79
+ {
80
+ name: 'aider',
81
+ displayName: 'Aider',
82
+ description: 'AI pair programming - works with Claude, GPT-4, local models',
83
+ installCommand: 'pip install aider-install && aider-install',
84
+ checkCommand: 'aider --version',
85
+ website: 'https://aider.chat',
86
+ category: 'ai-coding',
87
+ packageManager: 'pip',
88
+ packageName: 'aider-chat',
89
+ },
90
+ ];
91
+ //# sourceMappingURL=cli-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-tools.js","sourceRoot":"","sources":["../../src/data/cli-tools.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,MAAM,QAAQ,GAAc;IACjC;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE,wCAAwC;QACrD,cAAc,EAAE,0CAA0C;QAC1D,YAAY,EAAE,kBAAkB;QAChC,OAAO,EAAE,wBAAwB;QACjC,QAAQ,EAAE,WAAW;QACrB,cAAc,EAAE,KAAK;QACrB,WAAW,EAAE,2BAA2B;KACzC;IACD;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,8DAA8D;QAC3E,cAAc,EAAE,yBAAyB;QACzC,YAAY,EAAE,oBAAoB;QAClC,OAAO,EAAE,wCAAwC;QACjD,QAAQ,EAAE,WAAW;QACrB,cAAc,EAAE,KAAK;QACrB,WAAW,EAAE,UAAU;KACxB;IACD;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,cAAc;QAC3B,WAAW,EAAE,iEAAiE;QAC9E,cAAc,EAAE,8BAA8B;QAC9C,YAAY,EAAE,iBAAiB;QAC/B,OAAO,EAAE,iCAAiC;QAC1C,QAAQ,EAAE,WAAW;QACrB,cAAc,EAAE,KAAK;QACrB,WAAW,EAAE,eAAe;KAC7B;IACD;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,4DAA4D;QACzE,cAAc,EAAE,mCAAmC;QACnD,YAAY,EAAE,kBAAkB;QAChC,OAAO,EAAE,6CAA6C;QACtD,QAAQ,EAAE,WAAW;QACrB,cAAc,EAAE,KAAK;QACrB,WAAW,EAAE,oBAAoB;KAClC;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,WAAW;QACxB,WAAW,EAAE,uDAAuD;QACpE,cAAc,EAAE,qCAAqC;QACrD,YAAY,EAAE,gBAAgB;QAC9B,OAAO,EAAE,qCAAqC;QAC9C,QAAQ,EAAE,WAAW;QACrB,cAAc,EAAE,KAAK;QACrB,WAAW,EAAE,sBAAsB;KACpC;IACD;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,OAAO;QACpB,WAAW,EAAE,mEAAmE;QAChF,cAAc,EAAE,sBAAsB;QACtC,YAAY,EAAE,iBAAiB;QAC/B,OAAO,EAAE,mBAAmB;QAC5B,QAAQ,EAAE,WAAW;QACrB,cAAc,EAAE,KAAK;QACrB,WAAW,EAAE,OAAO;KACrB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,yDAAyD;QACtE,cAAc,EAAE,4BAA4B;QAC5C,YAAY,EAAE,oBAAoB;QAClC,OAAO,EAAE,qBAAqB;QAC9B,QAAQ,EAAE,WAAW;QACrB,cAAc,EAAE,KAAK;QACrB,WAAW,EAAE,aAAa;KAC3B;IACD;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,OAAO;QACpB,WAAW,EAAE,8DAA8D;QAC3E,cAAc,EAAE,4CAA4C;QAC5D,YAAY,EAAE,iBAAiB;QAC/B,OAAO,EAAE,oBAAoB;QAC7B,QAAQ,EAAE,WAAW;QACrB,cAAc,EAAE,KAAK;QACrB,WAAW,EAAE,YAAY;KAC1B;CACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Marketplace } from '../types/index.js';
2
+ export declare const defaultMarketplaces: Marketplace[];
3
+ export declare function getMarketplaceByName(name: string): Marketplace | undefined;
4
+ //# sourceMappingURL=marketplaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marketplaces.d.ts","sourceRoot":"","sources":["../../src/data/marketplaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,eAAO,MAAM,mBAAmB,EAAE,WAAW,EAqB5C,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAE1E"}
@@ -0,0 +1,26 @@
1
+ export const defaultMarketplaces = [
2
+ {
3
+ name: 'anthropic-plugins',
4
+ displayName: 'Anthropic Official',
5
+ source: {
6
+ source: 'github',
7
+ repo: 'anthropics/claude-code',
8
+ },
9
+ description: 'Official Anthropic plugins for Claude Code',
10
+ official: true,
11
+ },
12
+ {
13
+ name: 'mag-claude-plugins',
14
+ displayName: 'MadAppGang Plugins',
15
+ source: {
16
+ source: 'github',
17
+ repo: 'MadAppGang/claude-code',
18
+ },
19
+ description: 'Professional plugins for frontend, backend, and code analysis',
20
+ official: false,
21
+ },
22
+ ];
23
+ export function getMarketplaceByName(name) {
24
+ return defaultMarketplaces.find((m) => m.name === name);
25
+ }
26
+ //# sourceMappingURL=marketplaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marketplaces.js","sourceRoot":"","sources":["../../src/data/marketplaces.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAkB;IAChD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,oBAAoB;QACjC,MAAM,EAAE;YACN,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,wBAAwB;SAC/B;QACD,WAAW,EAAE,4CAA4C;QACzD,QAAQ,EAAE,IAAI;KACf;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,oBAAoB;QACjC,MAAM,EAAE;YACN,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,wBAAwB;SAC/B;QACD,WAAW,EAAE,+DAA+D;QAC5E,QAAQ,EAAE,KAAK;KAChB;CACF,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC1D,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { McpServer } from '../types/index.js';
2
+ export declare const curatedMcpServers: McpServer[];
3
+ export declare function getMcpServersByCategory(): Record<string, McpServer[]>;
4
+ export declare const categoryOrder: string[];
5
+ export declare function getCategoryDisplayName(category: string): string;
6
+ export declare function getCategoryIcon(category: string): string;
7
+ export declare function getAllMcpServers(): McpServer[];
8
+ //# sourceMappingURL=mcp-servers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-servers.d.ts","sourceRoot":"","sources":["../../src/data/mcp-servers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,eAAO,MAAM,iBAAiB,EAAE,SAAS,EA2XxC,CAAC;AAEF,wBAAgB,uBAAuB,IAAI,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CASrE;AAED,eAAO,MAAM,aAAa,UAQzB,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAW/D;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAWxD;AAED,wBAAgB,gBAAgB,IAAI,SAAS,EAAE,CAE9C"}