claude-ws 0.1.7 → 0.1.9
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 +51 -34
- package/bin/claudekanban.js +34 -11
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -1,47 +1,64 @@
|
|
|
1
1
|
# Claude Workspace
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**Visual workspace for Claude Code with Kanban board, code editor, and Git integration.**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Local-first SQLite database. Real-time streaming. Plugin system for custom agents and skills.
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
## Why Claude Workspace?
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
### ✨ Intuitive Management
|
|
21
|
-
Drag-and-drop across columns. Watch responses stream live. Navigate conversation history. File browser with git status. Everything where you expect it.
|
|
22
|
-
|
|
23
|
-
### 🔌 Flexible Plugins
|
|
24
|
-
Agent Factory manages Claude skills, commands, and agents per project. Install what you need. Your toolkit, your rules.
|
|
25
|
-
|
|
26
|
-
### 🔋 Powered by Claude Code
|
|
27
|
-
Native CLI integration. Real-time streaming. File attachments. Full persistence. All the power, none of the friction.
|
|
11
|
+
| Feature | Benefit |
|
|
12
|
+
|---------|---------|
|
|
13
|
+
| 🌍 **Work Everywhere** | SQLite-based local storage—no cloud dependency, works offline anywhere |
|
|
14
|
+
| ⚡ **Consistent Performance** | Lightweight footprint, instant startup, responsive UI on any connection |
|
|
15
|
+
| 🎯 **Unique Workflow** | Conversation checkpoints—rewind, branch, and continue at any point |
|
|
16
|
+
| ✨ **Intuitive Management** | Drag-and-drop Kanban, live streaming, file browser with Git status |
|
|
17
|
+
| 🔌 **Flexible Plugins** | Agent Factory—install only the skills and agents your project needs |
|
|
18
|
+
| 🔋 **Claude Code Native** | Full CLI integration with real-time streaming and file attachments |
|
|
28
19
|
|
|
29
20
|
---
|
|
30
21
|
|
|
31
22
|
## Features
|
|
32
23
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
24
|
+
**Task Management**
|
|
25
|
+
- Kanban board: To Do → In Progress → In Review → Done → Cancelled
|
|
26
|
+
- Drag-and-drop task cards with auto-save
|
|
27
|
+
- Full conversation history per task
|
|
28
|
+
|
|
29
|
+
**AI Interaction**
|
|
30
|
+
- Real-time streaming of Claude responses via Socket.io
|
|
31
|
+
- Checkpoints: Save and rewind to any conversation state
|
|
32
|
+
- File attachments for context
|
|
33
|
+
- Custom commands: `/cook`, `/plan`, `/fix`, `/brainstorm`
|
|
34
|
+
- Detachable chat window
|
|
35
|
+
|
|
36
|
+
**Code Editor**
|
|
37
|
+
- Tabbed CodeMirror editor with syntax highlighting
|
|
38
|
+
- AI-powered inline code suggestions
|
|
39
|
+
- Go-to-definition navigation
|
|
40
|
+
- Multi-file editing
|
|
41
|
+
|
|
42
|
+
**File System**
|
|
43
|
+
- Interactive file tree browser
|
|
44
|
+
- Unified search (files + content)
|
|
45
|
+
- File preview
|
|
46
|
+
|
|
47
|
+
**Git Integration**
|
|
48
|
+
- Full Git workflow: status, stage, commit, diff
|
|
49
|
+
- Visual Git graph
|
|
50
|
+
- Checkpoint Git snapshots for time-travel debugging
|
|
51
|
+
|
|
52
|
+
**Agent Factory**
|
|
53
|
+
- Plugin system for Claude skills, commands, agents
|
|
54
|
+
- Dependency management
|
|
55
|
+
- Per-project plugin installation
|
|
56
|
+
|
|
57
|
+
**Developer Tools**
|
|
58
|
+
- Background shell process manager
|
|
59
|
+
- Terminal output streaming
|
|
60
|
+
- Multi-project workspace support
|
|
61
|
+
- Themes: Light, Dark, VS Code variants, Dracula
|
|
45
62
|
|
|
46
63
|
---
|
|
47
64
|
|
|
@@ -52,7 +69,7 @@ Native CLI integration. Real-time streaming. File attachments. Full persistence.
|
|
|
52
69
|
**Prerequisites:** Node.js 20+, pnpm 9+, [Claude Code CLI](https://docs.anthropic.com/en/docs/claude-code)
|
|
53
70
|
|
|
54
71
|
```bash
|
|
55
|
-
npx
|
|
72
|
+
npx claude-ws
|
|
56
73
|
```
|
|
57
74
|
|
|
58
75
|
The first run will:
|
|
@@ -63,8 +80,8 @@ The first run will:
|
|
|
63
80
|
### Option 2: Install globally
|
|
64
81
|
|
|
65
82
|
```bash
|
|
66
|
-
npm install -g
|
|
67
|
-
|
|
83
|
+
npm install -g claude-ws
|
|
84
|
+
claude-ws
|
|
68
85
|
```
|
|
69
86
|
|
|
70
87
|
### Option 3: Development from source
|
package/bin/claudekanban.js
CHANGED
|
@@ -35,27 +35,48 @@ async function startServer() {
|
|
|
35
35
|
|
|
36
36
|
const serverPath = path.join(packageRoot, 'server.ts');
|
|
37
37
|
const nextBuildDir = path.join(packageRoot, '.next');
|
|
38
|
+
const nodeModulesDir = path.join(packageRoot, 'node_modules');
|
|
39
|
+
|
|
40
|
+
// Check if dependencies are installed
|
|
41
|
+
if (!fs.existsSync(nodeModulesDir) || !fs.existsSync(path.join(nodeModulesDir, 'next'))) {
|
|
42
|
+
console.log('[Claude Workspace] Installing dependencies...');
|
|
43
|
+
const { execSync } = require('child_process');
|
|
44
|
+
|
|
45
|
+
let installCmd = 'npm install --production=false';
|
|
46
|
+
try {
|
|
47
|
+
execSync('which pnpm', { stdio: 'ignore' });
|
|
48
|
+
installCmd = 'pnpm install --no-frozen-lockfile';
|
|
49
|
+
} catch {
|
|
50
|
+
// pnpm not found, use npm
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
try {
|
|
54
|
+
execSync(installCmd, {
|
|
55
|
+
cwd: packageRoot,
|
|
56
|
+
stdio: 'inherit',
|
|
57
|
+
env: { ...process.env }
|
|
58
|
+
});
|
|
59
|
+
} catch (error) {
|
|
60
|
+
console.error('[Claude Workspace] Failed to install dependencies:', error.message);
|
|
61
|
+
process.exit(1);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
38
64
|
|
|
39
65
|
// Check if .next directory exists, if not, build it first
|
|
40
66
|
if (!fs.existsSync(nextBuildDir)) {
|
|
41
|
-
console.log('[Claude Workspace]
|
|
67
|
+
console.log('[Claude Workspace] Building production bundle...');
|
|
42
68
|
console.log('[Claude Workspace] This may take a minute...');
|
|
43
69
|
console.log('');
|
|
44
70
|
|
|
45
71
|
const { execSync } = require('child_process');
|
|
46
72
|
try {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
buildCmd = 'pnpm run build';
|
|
52
|
-
} catch {
|
|
53
|
-
// pnpm not found, use npm
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
execSync(buildCmd, {
|
|
73
|
+
const nextBin = path.join(packageRoot, 'node_modules', '.bin', 'next');
|
|
74
|
+
|
|
75
|
+
// Run next build using local binary directly
|
|
76
|
+
execSync(`"${nextBin}" build`, {
|
|
57
77
|
cwd: packageRoot,
|
|
58
78
|
stdio: 'inherit',
|
|
79
|
+
shell: true,
|
|
59
80
|
env: {
|
|
60
81
|
...process.env,
|
|
61
82
|
NODE_ENV: 'production',
|
|
@@ -70,6 +91,8 @@ async function startServer() {
|
|
|
70
91
|
console.error('[Claude Workspace] Please ensure all dependencies are installed');
|
|
71
92
|
process.exit(1);
|
|
72
93
|
}
|
|
94
|
+
} else {
|
|
95
|
+
console.log('[Claude Workspace] Using cached build from:', nextBuildDir);
|
|
73
96
|
}
|
|
74
97
|
|
|
75
98
|
// Try to find tsx binary in different possible locations
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-ws",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.9",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A beautifully crafted workspace interface for Claude Code with real-time streaming and local SQLite database",
|
|
6
6
|
"keywords": [
|
|
@@ -65,7 +65,8 @@
|
|
|
65
65
|
"version:patch": "npm version patch --no-git-tag-version",
|
|
66
66
|
"version:minor": "npm version minor --no-git-tag-version",
|
|
67
67
|
"version:major": "npm version major --no-git-tag-version",
|
|
68
|
-
"
|
|
68
|
+
"prepublishOnly": "pnpm run build",
|
|
69
|
+
"publish:npm": "npm publish --access public"
|
|
69
70
|
},
|
|
70
71
|
"dependencies": {
|
|
71
72
|
"@anthropic-ai/claude-agent-sdk": "^0.2.5",
|