claudedesk 3.8.6 → 4.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.
- package/.github/workflows/ci.yml +72 -0
- package/.github/workflows/release.yml +112 -0
- package/CHANGELOG.md +157 -0
- package/CONTRIBUTING.md +450 -0
- package/LICENSE +1 -1
- package/README.md +239 -1404
- package/SECURITY.md +88 -0
- package/dist/main/ansi-strip.js +25 -0
- package/dist/main/built-in-actions.js +137 -0
- package/dist/main/checkpoint-manager.js +308 -0
- package/dist/main/checkpoint-persistence.js +182 -0
- package/dist/main/cli-manager.js +156 -0
- package/dist/main/file-dragdrop-handler.js +168 -0
- package/dist/main/file-utils.js +211 -0
- package/dist/main/history-manager.js +752 -0
- package/dist/main/index.js +203 -0
- package/dist/main/ipc-handlers.js +534 -0
- package/dist/main/prompt-templates-manager.js +209 -0
- package/dist/main/quota-service.js +318 -0
- package/dist/main/session-manager.js +285 -0
- package/dist/main/session-persistence.js +121 -0
- package/dist/main/settings-persistence.js +335 -0
- package/dist/preload/index.js +253 -0
- package/dist/renderer/assets/index-B6x9OLWJ.css +32 -0
- package/dist/renderer/assets/index-CQJ-3uFX.js +12863 -0
- package/dist/renderer/index.html +14 -0
- package/dist/shared/ipc-types.js +86 -0
- package/dist/shared/types/checkpoint-types.js +5 -0
- package/dist/shared/types/history-types.js +5 -0
- package/dist/shared/types/prompt-templates.js +3 -0
- package/electron-builder.yml +54 -0
- package/package.json +37 -92
- package/postcss.config.js +6 -0
- package/resources/.gitkeep +0 -0
- package/resources/icon.svg +8 -0
- package/src/main/ansi-strip.ts +25 -0
- package/src/main/built-in-actions.ts +136 -0
- package/src/main/checkpoint-manager.ts +363 -0
- package/src/main/checkpoint-persistence.ts +158 -0
- package/src/main/cli-manager.ts +146 -0
- package/src/main/file-dragdrop-handler.ts +164 -0
- package/src/main/file-utils.ts +190 -0
- package/src/main/history-manager.ts +820 -0
- package/src/main/index.ts +194 -0
- package/src/main/ipc-handlers.ts +576 -0
- package/src/main/prompt-templates-manager.ts +211 -0
- package/src/main/quota-service.ts +388 -0
- package/src/main/session-manager.ts +366 -0
- package/src/main/session-persistence.ts +93 -0
- package/src/main/settings-persistence.ts +366 -0
- package/src/preload/index.ts +356 -0
- package/src/renderer/App.tsx +821 -0
- package/src/renderer/components/AboutDialog.tsx +322 -0
- package/src/renderer/components/CheckpointPanel.tsx +374 -0
- package/src/renderer/components/CommandPalette.tsx +465 -0
- package/src/renderer/components/DragDropContextMenu.tsx +233 -0
- package/src/renderer/components/DragDropOverlay.tsx +202 -0
- package/src/renderer/components/DragDropSettings.tsx +401 -0
- package/src/renderer/components/HistoryPanel.css +536 -0
- package/src/renderer/components/HistoryPanel.tsx +681 -0
- package/src/renderer/components/PaneHeader.tsx +251 -0
- package/src/renderer/components/PaneSessionPicker.tsx +206 -0
- package/src/renderer/components/SplitLayout.tsx +215 -0
- package/src/renderer/components/TemplateEditor.tsx +805 -0
- package/src/renderer/components/Terminal.tsx +693 -0
- package/src/renderer/components/TitleBarBranding.tsx +124 -0
- package/src/renderer/components/ui/BrandLogo.tsx +29 -0
- package/src/renderer/components/ui/BudgetPanel.tsx +1087 -0
- package/src/renderer/components/ui/BudgetSettings.tsx +1181 -0
- package/src/renderer/components/ui/CheckpointDialog.tsx +273 -0
- package/src/renderer/components/ui/ConfirmDialog.tsx +219 -0
- package/src/renderer/components/ui/ContextMenu.tsx +205 -0
- package/src/renderer/components/ui/EmptyState.tsx +116 -0
- package/src/renderer/components/ui/NewSessionDialog.tsx +921 -0
- package/src/renderer/components/ui/SettingsDialog.tsx +1384 -0
- package/src/renderer/components/ui/Tab.tsx +430 -0
- package/src/renderer/components/ui/TabBar.tsx +593 -0
- package/src/renderer/components/ui/index.ts +18 -0
- package/src/renderer/hooks/index.ts +2 -0
- package/src/renderer/hooks/useCheckpoints.ts +267 -0
- package/src/renderer/hooks/useCommandPalette.ts +146 -0
- package/src/renderer/hooks/useDragDrop.ts +134 -0
- package/src/renderer/hooks/useHistory.ts +190 -0
- package/src/renderer/hooks/useQuota.ts +84 -0
- package/src/renderer/hooks/useSessionManager.ts +199 -0
- package/src/renderer/hooks/useSplitView.ts +464 -0
- package/src/renderer/index.html +13 -0
- package/src/renderer/main.tsx +10 -0
- package/src/renderer/styles/globals.css +244 -0
- package/src/renderer/utils/fuzzy-search.ts +184 -0
- package/src/renderer/utils/toast.ts +83 -0
- package/src/renderer/utils/variable-resolver.ts +111 -0
- package/src/shared/ipc-types.ts +463 -0
- package/src/shared/types/checkpoint-types.ts +86 -0
- package/src/shared/types/history-types.ts +106 -0
- package/src/shared/types/prompt-templates.ts +60 -0
- package/tailwind.config.js +27 -0
- package/tsconfig.json +28 -0
- package/tsconfig.main.json +25 -0
- package/tsconfig.node.json +11 -0
- package/vite.config.ts +22 -0
- package/config/repos.example.json +0 -128
- package/config/settings.example.json +0 -87
- package/config/skills/code-review.md +0 -76
- package/config/skills/full-check.md +0 -26
- package/config/skills/lint-fix.md +0 -23
- package/dist/api/agent-routes.d.ts +0 -2
- package/dist/api/agent-routes.d.ts.map +0 -1
- package/dist/api/agent-routes.js +0 -435
- package/dist/api/agent-routes.js.map +0 -1
- package/dist/api/app-routes.d.ts +0 -2
- package/dist/api/app-routes.d.ts.map +0 -1
- package/dist/api/app-routes.js +0 -150
- package/dist/api/app-routes.js.map +0 -1
- package/dist/api/docker-routes.d.ts +0 -2
- package/dist/api/docker-routes.d.ts.map +0 -1
- package/dist/api/docker-routes.js +0 -167
- package/dist/api/docker-routes.js.map +0 -1
- package/dist/api/idea-routes.d.ts +0 -2
- package/dist/api/idea-routes.d.ts.map +0 -1
- package/dist/api/idea-routes.js +0 -176
- package/dist/api/idea-routes.js.map +0 -1
- package/dist/api/mcp-routes.d.ts +0 -2
- package/dist/api/mcp-routes.d.ts.map +0 -1
- package/dist/api/mcp-routes.js +0 -306
- package/dist/api/mcp-routes.js.map +0 -1
- package/dist/api/middleware.d.ts +0 -10
- package/dist/api/middleware.d.ts.map +0 -1
- package/dist/api/middleware.js +0 -298
- package/dist/api/middleware.js.map +0 -1
- package/dist/api/pin-auth.d.ts +0 -65
- package/dist/api/pin-auth.d.ts.map +0 -1
- package/dist/api/pin-auth.js +0 -218
- package/dist/api/pin-auth.js.map +0 -1
- package/dist/api/routes.d.ts +0 -2
- package/dist/api/routes.d.ts.map +0 -1
- package/dist/api/routes.js +0 -491
- package/dist/api/routes.js.map +0 -1
- package/dist/api/settings-routes.d.ts +0 -2
- package/dist/api/settings-routes.d.ts.map +0 -1
- package/dist/api/settings-routes.js +0 -797
- package/dist/api/settings-routes.js.map +0 -1
- package/dist/api/skill-routes.d.ts +0 -2
- package/dist/api/skill-routes.d.ts.map +0 -1
- package/dist/api/skill-routes.js +0 -88
- package/dist/api/skill-routes.js.map +0 -1
- package/dist/api/system-routes.d.ts +0 -5
- package/dist/api/system-routes.d.ts.map +0 -1
- package/dist/api/system-routes.js +0 -367
- package/dist/api/system-routes.js.map +0 -1
- package/dist/api/terminal-routes.d.ts +0 -2
- package/dist/api/terminal-routes.d.ts.map +0 -1
- package/dist/api/terminal-routes.js +0 -4440
- package/dist/api/terminal-routes.js.map +0 -1
- package/dist/api/tunnel-routes.d.ts +0 -2
- package/dist/api/tunnel-routes.d.ts.map +0 -1
- package/dist/api/tunnel-routes.js +0 -194
- package/dist/api/tunnel-routes.js.map +0 -1
- package/dist/api/workspace-routes.d.ts +0 -3
- package/dist/api/workspace-routes.d.ts.map +0 -1
- package/dist/api/workspace-routes.js +0 -871
- package/dist/api/workspace-routes.js.map +0 -1
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -418
- package/dist/cli.js.map +0 -1
- package/dist/client/assets/index-CY1_Wy-P.css +0 -1
- package/dist/client/assets/index-DeLzq_MS.js +0 -7858
- package/dist/client/favicon.svg +0 -37
- package/dist/client/icons/icon-192.svg +0 -5
- package/dist/client/icons/icon-512.svg +0 -5
- package/dist/client/icons/logo-with-message.png +0 -0
- package/dist/client/icons/logo.png +0 -0
- package/dist/client/index.html +0 -25
- package/dist/client/manifest.json +0 -62
- package/dist/client/sw.js +0 -243
- package/dist/config/agent-usage.d.ts +0 -35
- package/dist/config/agent-usage.d.ts.map +0 -1
- package/dist/config/agent-usage.js +0 -113
- package/dist/config/agent-usage.js.map +0 -1
- package/dist/config/mcp-catalog.d.ts +0 -18
- package/dist/config/mcp-catalog.d.ts.map +0 -1
- package/dist/config/mcp-catalog.js +0 -583
- package/dist/config/mcp-catalog.js.map +0 -1
- package/dist/config/mcp-servers.d.ts +0 -42
- package/dist/config/mcp-servers.d.ts.map +0 -1
- package/dist/config/mcp-servers.js +0 -158
- package/dist/config/mcp-servers.js.map +0 -1
- package/dist/config/repos.d.ts +0 -37
- package/dist/config/repos.d.ts.map +0 -1
- package/dist/config/repos.js +0 -461
- package/dist/config/repos.js.map +0 -1
- package/dist/config/settings.d.ts +0 -856
- package/dist/config/settings.d.ts.map +0 -1
- package/dist/config/settings.js +0 -668
- package/dist/config/settings.js.map +0 -1
- package/dist/config/skills.d.ts +0 -19
- package/dist/config/skills.d.ts.map +0 -1
- package/dist/config/skills.js +0 -201
- package/dist/config/skills.js.map +0 -1
- package/dist/config/workspaces.d.ts +0 -1038
- package/dist/config/workspaces.d.ts.map +0 -1
- package/dist/config/workspaces.js +0 -600
- package/dist/config/workspaces.js.map +0 -1
- package/dist/core/allocator-manager.d.ts +0 -98
- package/dist/core/allocator-manager.d.ts.map +0 -1
- package/dist/core/allocator-manager.js +0 -412
- package/dist/core/allocator-manager.js.map +0 -1
- package/dist/core/app-manager.d.ts +0 -85
- package/dist/core/app-manager.d.ts.map +0 -1
- package/dist/core/app-manager.js +0 -447
- package/dist/core/app-manager.js.map +0 -1
- package/dist/core/claude-invoker.d.ts +0 -50
- package/dist/core/claude-invoker.d.ts.map +0 -1
- package/dist/core/claude-invoker.js +0 -588
- package/dist/core/claude-invoker.js.map +0 -1
- package/dist/core/claude-session-reader.d.ts +0 -25
- package/dist/core/claude-session-reader.d.ts.map +0 -1
- package/dist/core/claude-session-reader.js +0 -184
- package/dist/core/claude-session-reader.js.map +0 -1
- package/dist/core/claude-usage-query.d.ts +0 -87
- package/dist/core/claude-usage-query.d.ts.map +0 -1
- package/dist/core/claude-usage-query.js +0 -307
- package/dist/core/claude-usage-query.js.map +0 -1
- package/dist/core/context-manager.d.ts +0 -85
- package/dist/core/context-manager.d.ts.map +0 -1
- package/dist/core/context-manager.js +0 -326
- package/dist/core/context-manager.js.map +0 -1
- package/dist/core/git-credential-helper.d.ts +0 -57
- package/dist/core/git-credential-helper.d.ts.map +0 -1
- package/dist/core/git-credential-helper.js +0 -182
- package/dist/core/git-credential-helper.js.map +0 -1
- package/dist/core/git-sandbox.d.ts +0 -140
- package/dist/core/git-sandbox.d.ts.map +0 -1
- package/dist/core/git-sandbox.js +0 -926
- package/dist/core/git-sandbox.js.map +0 -1
- package/dist/core/github-integration.d.ts +0 -95
- package/dist/core/github-integration.d.ts.map +0 -1
- package/dist/core/github-integration.js +0 -494
- package/dist/core/github-integration.js.map +0 -1
- package/dist/core/github-oauth.d.ts +0 -88
- package/dist/core/github-oauth.d.ts.map +0 -1
- package/dist/core/github-oauth.js +0 -245
- package/dist/core/github-oauth.js.map +0 -1
- package/dist/core/gitlab-integration.d.ts +0 -66
- package/dist/core/gitlab-integration.d.ts.map +0 -1
- package/dist/core/gitlab-integration.js +0 -353
- package/dist/core/gitlab-integration.js.map +0 -1
- package/dist/core/gitlab-oauth.d.ts +0 -100
- package/dist/core/gitlab-oauth.d.ts.map +0 -1
- package/dist/core/gitlab-oauth.js +0 -366
- package/dist/core/gitlab-oauth.js.map +0 -1
- package/dist/core/idea-manager.d.ts +0 -41
- package/dist/core/idea-manager.d.ts.map +0 -1
- package/dist/core/idea-manager.js +0 -674
- package/dist/core/idea-manager.js.map +0 -1
- package/dist/core/insights-extractor.d.ts +0 -68
- package/dist/core/insights-extractor.d.ts.map +0 -1
- package/dist/core/insights-extractor.js +0 -402
- package/dist/core/insights-extractor.js.map +0 -1
- package/dist/core/logger.d.ts +0 -27
- package/dist/core/logger.d.ts.map +0 -1
- package/dist/core/logger.js +0 -70
- package/dist/core/logger.js.map +0 -1
- package/dist/core/mcp-client.d.ts +0 -41
- package/dist/core/mcp-client.d.ts.map +0 -1
- package/dist/core/mcp-client.js +0 -190
- package/dist/core/mcp-client.js.map +0 -1
- package/dist/core/mcp-manager.d.ts +0 -62
- package/dist/core/mcp-manager.d.ts.map +0 -1
- package/dist/core/mcp-manager.js +0 -288
- package/dist/core/mcp-manager.js.map +0 -1
- package/dist/core/pipeline-monitor.d.ts +0 -81
- package/dist/core/pipeline-monitor.d.ts.map +0 -1
- package/dist/core/pipeline-monitor.js +0 -667
- package/dist/core/pipeline-monitor.js.map +0 -1
- package/dist/core/process-runner.d.ts +0 -27
- package/dist/core/process-runner.d.ts.map +0 -1
- package/dist/core/process-runner.js +0 -147
- package/dist/core/process-runner.js.map +0 -1
- package/dist/core/project-detector.d.ts +0 -30
- package/dist/core/project-detector.d.ts.map +0 -1
- package/dist/core/project-detector.js +0 -482
- package/dist/core/project-detector.js.map +0 -1
- package/dist/core/qr-generator.d.ts +0 -18
- package/dist/core/qr-generator.d.ts.map +0 -1
- package/dist/core/qr-generator.js +0 -61
- package/dist/core/qr-generator.js.map +0 -1
- package/dist/core/remote-tunnel-manager.d.ts +0 -59
- package/dist/core/remote-tunnel-manager.d.ts.map +0 -1
- package/dist/core/remote-tunnel-manager.js +0 -235
- package/dist/core/remote-tunnel-manager.js.map +0 -1
- package/dist/core/shared-docker-manager.d.ts +0 -41
- package/dist/core/shared-docker-manager.d.ts.map +0 -1
- package/dist/core/shared-docker-manager.js +0 -433
- package/dist/core/shared-docker-manager.js.map +0 -1
- package/dist/core/skill-executor.d.ts +0 -25
- package/dist/core/skill-executor.d.ts.map +0 -1
- package/dist/core/skill-executor.js +0 -171
- package/dist/core/skill-executor.js.map +0 -1
- package/dist/core/terminal-session.d.ts +0 -181
- package/dist/core/terminal-session.d.ts.map +0 -1
- package/dist/core/terminal-session.js +0 -3033
- package/dist/core/terminal-session.js.map +0 -1
- package/dist/core/token-encryption.d.ts +0 -35
- package/dist/core/token-encryption.d.ts.map +0 -1
- package/dist/core/token-encryption.js +0 -162
- package/dist/core/token-encryption.js.map +0 -1
- package/dist/core/token-estimator.d.ts +0 -66
- package/dist/core/token-estimator.d.ts.map +0 -1
- package/dist/core/token-estimator.js +0 -231
- package/dist/core/token-estimator.js.map +0 -1
- package/dist/core/tunnel-manager.d.ts +0 -35
- package/dist/core/tunnel-manager.d.ts.map +0 -1
- package/dist/core/tunnel-manager.js +0 -137
- package/dist/core/tunnel-manager.js.map +0 -1
- package/dist/core/update-checker.d.ts +0 -67
- package/dist/core/update-checker.d.ts.map +0 -1
- package/dist/core/update-checker.js +0 -334
- package/dist/core/update-checker.js.map +0 -1
- package/dist/core/usage-manager.d.ts +0 -57
- package/dist/core/usage-manager.d.ts.map +0 -1
- package/dist/core/usage-manager.js +0 -386
- package/dist/core/usage-manager.js.map +0 -1
- package/dist/core/ws-manager.d.ts +0 -46
- package/dist/core/ws-manager.d.ts.map +0 -1
- package/dist/core/ws-manager.js +0 -170
- package/dist/core/ws-manager.js.map +0 -1
- package/dist/index.d.ts +0 -8
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -370
- package/dist/index.js.map +0 -1
- package/dist/types.d.ts +0 -1403
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -201
- package/dist/types.js.map +0 -1
- package/dist/utils/encryption.d.ts +0 -30
- package/dist/utils/encryption.d.ts.map +0 -1
- package/dist/utils/encryption.js +0 -59
- package/dist/utils/encryption.js.map +0 -1
- package/dist/utils/prerequisite-checker.d.ts +0 -10
- package/dist/utils/prerequisite-checker.d.ts.map +0 -1
- package/dist/utils/prerequisite-checker.js +0 -61
- package/dist/utils/prerequisite-checker.js.map +0 -1
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
build:
|
|
11
|
+
name: Build and Test
|
|
12
|
+
runs-on: ${{ matrix.os }}
|
|
13
|
+
|
|
14
|
+
strategy:
|
|
15
|
+
matrix:
|
|
16
|
+
node-version: [18.x, 20.x]
|
|
17
|
+
os: [ubuntu-latest, windows-latest, macos-latest]
|
|
18
|
+
|
|
19
|
+
steps:
|
|
20
|
+
- uses: actions/checkout@v4
|
|
21
|
+
|
|
22
|
+
- name: Use Node.js ${{ matrix.node-version }}
|
|
23
|
+
uses: actions/setup-node@v4
|
|
24
|
+
with:
|
|
25
|
+
node-version: ${{ matrix.node-version }}
|
|
26
|
+
cache: 'npm'
|
|
27
|
+
|
|
28
|
+
- name: Install dependencies
|
|
29
|
+
run: npm ci
|
|
30
|
+
|
|
31
|
+
- name: Build TypeScript (main process)
|
|
32
|
+
run: npm run build:electron
|
|
33
|
+
|
|
34
|
+
- name: Build React app (renderer)
|
|
35
|
+
run: npm run build
|
|
36
|
+
|
|
37
|
+
- name: Run tests
|
|
38
|
+
run: npm test || echo "No tests configured yet"
|
|
39
|
+
|
|
40
|
+
package:
|
|
41
|
+
name: Package Electron App
|
|
42
|
+
runs-on: ${{ matrix.os }}
|
|
43
|
+
|
|
44
|
+
strategy:
|
|
45
|
+
matrix:
|
|
46
|
+
os: [ubuntu-latest, windows-latest, macos-latest]
|
|
47
|
+
|
|
48
|
+
steps:
|
|
49
|
+
- uses: actions/checkout@v4
|
|
50
|
+
|
|
51
|
+
- name: Setup Node.js
|
|
52
|
+
uses: actions/setup-node@v4
|
|
53
|
+
with:
|
|
54
|
+
node-version: '20.x'
|
|
55
|
+
cache: 'npm'
|
|
56
|
+
|
|
57
|
+
- name: Install dependencies
|
|
58
|
+
run: npm ci
|
|
59
|
+
|
|
60
|
+
- name: Package app
|
|
61
|
+
run: npm run package
|
|
62
|
+
|
|
63
|
+
- name: Upload build artifacts
|
|
64
|
+
uses: actions/upload-artifact@v4
|
|
65
|
+
with:
|
|
66
|
+
name: claudedesk-${{ matrix.os }}
|
|
67
|
+
path: |
|
|
68
|
+
release/**/*.exe
|
|
69
|
+
release/**/*.dmg
|
|
70
|
+
release/**/*.AppImage
|
|
71
|
+
release/**/*.deb
|
|
72
|
+
if-no-files-found: warn
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- 'v*'
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
build-and-release:
|
|
10
|
+
name: Build and Release
|
|
11
|
+
runs-on: ${{ matrix.os }}
|
|
12
|
+
permissions:
|
|
13
|
+
contents: write
|
|
14
|
+
|
|
15
|
+
strategy:
|
|
16
|
+
matrix:
|
|
17
|
+
include:
|
|
18
|
+
- os: windows-latest
|
|
19
|
+
platform: win
|
|
20
|
+
- os: macos-latest
|
|
21
|
+
platform: mac
|
|
22
|
+
- os: ubuntu-latest
|
|
23
|
+
platform: linux
|
|
24
|
+
|
|
25
|
+
steps:
|
|
26
|
+
- uses: actions/checkout@v4
|
|
27
|
+
|
|
28
|
+
- name: Setup Node.js
|
|
29
|
+
uses: actions/setup-node@v4
|
|
30
|
+
with:
|
|
31
|
+
node-version: '20.x'
|
|
32
|
+
cache: 'npm'
|
|
33
|
+
|
|
34
|
+
- name: Install dependencies
|
|
35
|
+
run: npm ci
|
|
36
|
+
|
|
37
|
+
- name: Build and package Electron app
|
|
38
|
+
run: npm run package:${{ matrix.platform }}
|
|
39
|
+
env:
|
|
40
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
41
|
+
|
|
42
|
+
- name: Upload artifacts
|
|
43
|
+
uses: actions/upload-artifact@v4
|
|
44
|
+
with:
|
|
45
|
+
name: claudedesk-${{ matrix.platform }}
|
|
46
|
+
path: |
|
|
47
|
+
release/**/*.exe
|
|
48
|
+
release/**/*.dmg
|
|
49
|
+
release/**/*.AppImage
|
|
50
|
+
release/**/*.deb
|
|
51
|
+
release/**/*.rpm
|
|
52
|
+
if-no-files-found: error
|
|
53
|
+
|
|
54
|
+
publish-npm:
|
|
55
|
+
name: Publish to npm
|
|
56
|
+
runs-on: ubuntu-latest
|
|
57
|
+
needs: build-and-release
|
|
58
|
+
|
|
59
|
+
steps:
|
|
60
|
+
- uses: actions/checkout@v4
|
|
61
|
+
|
|
62
|
+
- name: Setup Node.js
|
|
63
|
+
uses: actions/setup-node@v4
|
|
64
|
+
with:
|
|
65
|
+
node-version: '20.x'
|
|
66
|
+
registry-url: 'https://registry.npmjs.org'
|
|
67
|
+
|
|
68
|
+
- name: Install dependencies
|
|
69
|
+
run: npm ci
|
|
70
|
+
|
|
71
|
+
- name: Build
|
|
72
|
+
run: |
|
|
73
|
+
npm run build:electron
|
|
74
|
+
npm run build
|
|
75
|
+
|
|
76
|
+
- name: Publish to npm
|
|
77
|
+
run: npm publish
|
|
78
|
+
env:
|
|
79
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
80
|
+
|
|
81
|
+
create-release:
|
|
82
|
+
name: Create GitHub Release
|
|
83
|
+
runs-on: ubuntu-latest
|
|
84
|
+
needs: build-and-release
|
|
85
|
+
permissions:
|
|
86
|
+
contents: write
|
|
87
|
+
|
|
88
|
+
steps:
|
|
89
|
+
- uses: actions/checkout@v4
|
|
90
|
+
|
|
91
|
+
- name: Download all artifacts
|
|
92
|
+
uses: actions/download-artifact@v4
|
|
93
|
+
with:
|
|
94
|
+
path: artifacts
|
|
95
|
+
|
|
96
|
+
- name: Display artifact structure
|
|
97
|
+
run: ls -R artifacts/
|
|
98
|
+
|
|
99
|
+
- name: Create Release
|
|
100
|
+
uses: softprops/action-gh-release@v1
|
|
101
|
+
with:
|
|
102
|
+
generate_release_notes: true
|
|
103
|
+
draft: false
|
|
104
|
+
prerelease: false
|
|
105
|
+
files: |
|
|
106
|
+
artifacts/**/*.exe
|
|
107
|
+
artifacts/**/*.dmg
|
|
108
|
+
artifacts/**/*.AppImage
|
|
109
|
+
artifacts/**/*.deb
|
|
110
|
+
artifacts/**/*.rpm
|
|
111
|
+
env:
|
|
112
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to ClaudeDesk will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
### Planned
|
|
11
|
+
- Screenshot capture for README documentation
|
|
12
|
+
- Automated tests with Jest/Vitest
|
|
13
|
+
- Homebrew/Chocolatey packaging for easier installation
|
|
14
|
+
- Development dependency security updates (electron v40+, vite v7+)
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## [4.1.0] - 2026-02-08
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
- **Full 4-pane split view support** - Users can now split panes individually up to 4 total panes
|
|
22
|
+
- Added horizontal split button (⬌) to each pane header - splits pane left/right
|
|
23
|
+
- Added vertical split button (⬍) to each pane header - splits pane top/bottom
|
|
24
|
+
- Split buttons only appear when paneCount < 4
|
|
25
|
+
- Blue hover effect distinguishes split buttons from close button
|
|
26
|
+
- Enables complex layouts: 2x2 grids, 3-pane L-shapes, etc.
|
|
27
|
+
|
|
28
|
+
### Fixed
|
|
29
|
+
- **Split view limitation** - Previously, the toggle split button only supported switching between 1 and 2 panes. While the backend supported 4 panes, there was no UI to access this. Now users can create 3-4 pane layouts by splitting individual panes.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## [4.0.0] - 2026-02-08
|
|
34
|
+
|
|
35
|
+
### 🚨 BREAKING CHANGES
|
|
36
|
+
|
|
37
|
+
**Complete rewrite**: ClaudeDesk has been rebuilt from the ground up as an Electron desktop application.
|
|
38
|
+
|
|
39
|
+
**Previous versions (v3.x and below)** were a Docker-based web application. Version 4.0.0 is a **completely different product**:
|
|
40
|
+
- **Old (v3.8.6)**: Docker web app running on port 8787
|
|
41
|
+
- **New (v4.0.0)**: Electron desktop application with multi-session terminal
|
|
42
|
+
|
|
43
|
+
**Migration**: There is no migration path. This is a new application. If you need the old Docker version, install `claudedesk@3.8.6`.
|
|
44
|
+
|
|
45
|
+
### Added - Electron Desktop App
|
|
46
|
+
|
|
47
|
+
#### Core Features
|
|
48
|
+
- **Multi-session management** - Run multiple Claude Code sessions in tabbed interface
|
|
49
|
+
- **Split-view terminal** - Up to 4 terminal panes with flexible layouts
|
|
50
|
+
- **Directory locking** - Sessions locked to their creation directory, prevents accidental `cd` commands
|
|
51
|
+
- **Session persistence** - Automatic save/restore of session state across app restarts
|
|
52
|
+
- **xterm.js integration** - Full-featured terminal emulation with rich text support
|
|
53
|
+
|
|
54
|
+
#### Prompt Templates
|
|
55
|
+
- **Command palette** (Ctrl/Cmd+Shift+P) for quick access to prompt templates
|
|
56
|
+
- **Built-in templates** - Common tasks like code review, debugging, documentation
|
|
57
|
+
- **Custom templates** - Create and edit your own reusable prompts
|
|
58
|
+
- **Variable substitution** - Support for `{{clipboard}}`, `{{currentDir}}`, `{{selection}}`, `{{sessionName}}`
|
|
59
|
+
- **Fuzzy search** - Quick template filtering in command palette
|
|
60
|
+
- **Template editor** - In-app WYSIWYG template management
|
|
61
|
+
|
|
62
|
+
#### Workspace Management
|
|
63
|
+
- **Workspace system** - Save favorite directories for quick session creation
|
|
64
|
+
- **Per-session working directories** - Each session maintains its own cwd
|
|
65
|
+
- **Default permission modes** - Set preferred Claude access level per workspace
|
|
66
|
+
|
|
67
|
+
#### API Quota & Monitoring
|
|
68
|
+
- **Real-time quota display** - Integration with Claude API to show usage
|
|
69
|
+
- **Burn rate tracking** - Monitor spending over time
|
|
70
|
+
- **Budget settings** - Set custom budget limits and alerts
|
|
71
|
+
- **Session-level tracking** - Optional per-session quota monitoring
|
|
72
|
+
|
|
73
|
+
#### Session Features
|
|
74
|
+
- **Named sessions** - Organize sessions with custom names
|
|
75
|
+
- **Session history** - Searchable conversation logs
|
|
76
|
+
- **Session export** - Export conversations to markdown
|
|
77
|
+
- **Checkpoints** - Save and restore session states
|
|
78
|
+
- **Ctrl+C handling** - Graceful termination with confirmation dialog
|
|
79
|
+
- **Permission modes** - Ask, Auto-approve, or Auto-deny per session
|
|
80
|
+
|
|
81
|
+
#### UI/UX
|
|
82
|
+
- **Dark theme** - Tokyo Night inspired color scheme optimized for terminal use
|
|
83
|
+
- **JetBrains Mono font** - Monospace font for optimal code readability
|
|
84
|
+
- **Clickable links** - Automatic URL detection in terminal output
|
|
85
|
+
- **Copy/paste support** - Standard keyboard shortcuts
|
|
86
|
+
- **Terminal search** - Find text in terminal output
|
|
87
|
+
- **Loading indicators** - Clean session initialization with pattern detection
|
|
88
|
+
- **Responsive layout** - Adapts to window resizing
|
|
89
|
+
|
|
90
|
+
#### Settings & Customization
|
|
91
|
+
- **Settings dialog** - Centralized app configuration
|
|
92
|
+
- **Theme customization** - Adjust colors and terminal appearance
|
|
93
|
+
- **Keyboard shortcuts** - Configurable hotkeys
|
|
94
|
+
- **Auto-update settings** - Control update preferences
|
|
95
|
+
|
|
96
|
+
#### Technical
|
|
97
|
+
- **Electron 28** - Modern desktop app framework
|
|
98
|
+
- **React 18 + TypeScript** - Type-safe, maintainable UI code
|
|
99
|
+
- **node-pty** - Cross-platform PTY for shell spawning
|
|
100
|
+
- **IPC buffering** - Optimized terminal output with 16ms batching
|
|
101
|
+
- **State persistence** - Automatic saving of sessions and settings
|
|
102
|
+
- **Context bridge** - Secure renderer-main process communication
|
|
103
|
+
|
|
104
|
+
#### Platform Support
|
|
105
|
+
- **Windows** - PowerShell integration with directory locking
|
|
106
|
+
- **macOS** - Bash/Zsh support with PROMPT_COMMAND hooks
|
|
107
|
+
- **Linux** - Full compatibility with major distributions
|
|
108
|
+
|
|
109
|
+
### Security
|
|
110
|
+
- **Local-first architecture** - All data stored on user's machine
|
|
111
|
+
- **No telemetry** - Zero usage tracking or data collection
|
|
112
|
+
- **HTTPS-only API calls** - Secure communication with Anthropic API
|
|
113
|
+
- **Credential privacy** - Reads Claude CLI credentials locally, never logs or transmits them
|
|
114
|
+
- **Security policy** - Comprehensive SECURITY.md with vulnerability reporting guidelines
|
|
115
|
+
|
|
116
|
+
### Documentation
|
|
117
|
+
- **Comprehensive README** - Installation, features, quick start, and usage guide
|
|
118
|
+
- **LICENSE** - MIT license with full text
|
|
119
|
+
- **SECURITY.md** - Security policy and vulnerability reporting
|
|
120
|
+
- **CHANGELOG.md** - This file!
|
|
121
|
+
|
|
122
|
+
### Known Issues
|
|
123
|
+
- Development dependency vulnerabilities (electron, vite, electron-builder) - affects dev/build only, not distributed app
|
|
124
|
+
- Screenshot placeholders in README - to be added post-release
|
|
125
|
+
- No automated tests yet - planned for v1.1.0
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Version History
|
|
130
|
+
|
|
131
|
+
### Versioning Strategy
|
|
132
|
+
|
|
133
|
+
ClaudeDesk follows [Semantic Versioning](https://semver.org/):
|
|
134
|
+
- **Major (x.0.0)**: Breaking changes, major features, architectural changes
|
|
135
|
+
- **Minor (1.x.0)**: New features, non-breaking improvements
|
|
136
|
+
- **Patch (1.0.x)**: Bug fixes, security patches, minor tweaks
|
|
137
|
+
|
|
138
|
+
### Release Process
|
|
139
|
+
|
|
140
|
+
1. Update CHANGELOG.md with changes
|
|
141
|
+
2. Bump version in package.json
|
|
142
|
+
3. Create git tag: `git tag -a v1.0.0 -m "Release v1.0.0"`
|
|
143
|
+
4. Build packages: `npm run package`
|
|
144
|
+
5. Create GitHub Release with binaries and changelog
|
|
145
|
+
6. Announce on relevant communities
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Contributing
|
|
150
|
+
|
|
151
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on suggesting changes and additions to this changelog.
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
[Unreleased]: https://github.com/carloluisito/claudedesk/compare/v4.1.0...HEAD
|
|
156
|
+
[4.1.0]: https://github.com/carloluisito/claudedesk/compare/v4.0.0...v4.1.0
|
|
157
|
+
[4.0.0]: https://github.com/carloluisito/claudedesk/releases/tag/v4.0.0
|