@kendoo.agentdesk/agentdesk 0.6.5 → 0.6.7
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 +59 -42
- package/cli/login.mjs +5 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,17 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
AI team orchestrator for [Claude Code](https://claude.ai/code). Run collaborative agent sessions from your terminal and watch them live on [agentdesk.live](https://agentdesk.live).
|
|
4
4
|
|
|
5
|
-
AgentDesk spawns a team of
|
|
5
|
+
AgentDesk spawns a team of AI agents inside Claude Code that collaborate on your tasks. The default team includes 7 built-in agents, and you can add custom agents to fit your workflow.
|
|
6
|
+
|
|
7
|
+
### Built-in Agents
|
|
6
8
|
|
|
7
9
|
| Agent | Role |
|
|
8
10
|
|-------|------|
|
|
9
11
|
| Jane | Product Lead — facilitates, clarifies requirements, coordinates the team |
|
|
10
|
-
| Luna | UX/UI Designer — visual consistency, accessibility, interaction patterns |
|
|
11
|
-
| Mark | Content Writer — copy, tone, user-facing text |
|
|
12
|
-
| Sam | Architecture Auditor — code structure, separation of concerns |
|
|
13
12
|
| Dennis | Senior Developer — implements the solution |
|
|
14
|
-
|
|
|
13
|
+
| Sam | Architecture Auditor — code structure, separation of concerns |
|
|
14
|
+
| Bart | QA Engineer — edge cases, risks, acceptance criteria, screenshots |
|
|
15
15
|
| Vera | Test Engineer — unit tests, regression coverage |
|
|
16
|
+
| Luna | UX/UI Designer — visual consistency, accessibility, interaction patterns |
|
|
17
|
+
| Mark | Content Writer — copy, tone, user-facing text |
|
|
18
|
+
|
|
19
|
+
You can also add **custom agents** (e.g., a Security Engineer or DevOps specialist) via project settings.
|
|
16
20
|
|
|
17
21
|
## Getting Started
|
|
18
22
|
|
|
@@ -22,7 +26,7 @@ AgentDesk spawns a team of 7 specialized AI agents inside Claude Code that colla
|
|
|
22
26
|
npm i -g @kendoo.agentdesk/agentdesk
|
|
23
27
|
```
|
|
24
28
|
|
|
25
|
-
Requires [Node.js](https://nodejs.org/) 18+.
|
|
29
|
+
Requires [Claude Code](https://claude.ai/code) and [Node.js](https://nodejs.org/) 18+.
|
|
26
30
|
|
|
27
31
|
### 2. Sign in
|
|
28
32
|
|
|
@@ -38,7 +42,7 @@ Opens your browser to [agentdesk.live](https://agentdesk.live) where you sign up
|
|
|
38
42
|
agentdesk init
|
|
39
43
|
```
|
|
40
44
|
|
|
41
|
-
This detects your project, asks which task tracker you use (Linear, Jira, GitHub Issues, or none), and saves the config
|
|
45
|
+
This detects your project, asks which task tracker you use (Linear, Jira, GitHub Issues, or none), and saves the config.
|
|
42
46
|
|
|
43
47
|
### 4. Run a team session
|
|
44
48
|
|
|
@@ -55,70 +59,83 @@ agentdesk team -d "Fix the checkout total calculation"
|
|
|
55
59
|
agentdesk team -d "Add Google OAuth to the login page"
|
|
56
60
|
```
|
|
57
61
|
|
|
58
|
-
|
|
62
|
+
Watch the session live at [agentdesk.live](https://agentdesk.live). Each session gets a deep link you can share.
|
|
63
|
+
|
|
64
|
+
## Commands
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
agentdesk login Sign in to AgentDesk
|
|
68
|
+
agentdesk logout Sign out and remove credentials
|
|
69
|
+
agentdesk init Set up project and configure tracker
|
|
70
|
+
agentdesk team <TASK-ID> Run a team session on an existing task
|
|
71
|
+
agentdesk team -d "..." Describe what you want — task created automatically
|
|
72
|
+
agentdesk update Update to the latest version
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Options
|
|
76
|
+
|
|
77
|
+
| Flag | Description |
|
|
78
|
+
|------|-------------|
|
|
79
|
+
| `--description`, `-d` | Task description or requirements |
|
|
80
|
+
| `--cwd` | Working directory (defaults to current) |
|
|
59
81
|
|
|
60
82
|
## Configuration
|
|
61
83
|
|
|
62
|
-
|
|
84
|
+
Settings can be managed in two ways:
|
|
63
85
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}
|
|
69
|
-
```
|
|
86
|
+
1. **Web UI** — go to [agentdesk.live](https://agentdesk.live), select a project, and click the gear icon to configure tracker, team composition, custom agents, commands, and instructions.
|
|
87
|
+
2. **Local file** — `.agentdesk.json` in your project root. Local settings override server settings.
|
|
88
|
+
|
|
89
|
+
The CLI fetches settings from the server at runtime. If the server is unreachable, it falls back to `.agentdesk.json`.
|
|
70
90
|
|
|
71
91
|
### Task trackers
|
|
72
92
|
|
|
73
93
|
| Tracker | Config |
|
|
74
94
|
|---------|--------|
|
|
75
|
-
| Linear |
|
|
76
|
-
| Jira |
|
|
77
|
-
| GitHub Issues |
|
|
95
|
+
| Linear | Workspace slug (e.g., `kendoo`) |
|
|
96
|
+
| Jira | Base URL (e.g., `https://company.atlassian.net`) + project key |
|
|
97
|
+
| GitHub Issues | Repository (e.g., `owner/repo`) |
|
|
78
98
|
| None | No config needed — pass `-d "description"` when running a session |
|
|
79
99
|
|
|
80
|
-
###
|
|
100
|
+
### Custom agents
|
|
81
101
|
|
|
82
|
-
|
|
102
|
+
Add custom agents to your team via project settings (web UI or `.agentdesk.json`):
|
|
83
103
|
|
|
84
104
|
```json
|
|
85
105
|
{
|
|
86
106
|
"projectAgents": [
|
|
87
107
|
{
|
|
88
|
-
"name": "
|
|
89
|
-
"role": "
|
|
90
|
-
"when": "
|
|
91
|
-
"how": "Comment
|
|
108
|
+
"name": "Adam",
|
|
109
|
+
"role": "Security Engineer",
|
|
110
|
+
"when": "Review code before PR, participate in discussions",
|
|
111
|
+
"how": "Comment and review PR"
|
|
92
112
|
}
|
|
93
113
|
]
|
|
94
114
|
}
|
|
95
115
|
```
|
|
96
116
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
## Commands
|
|
100
|
-
|
|
101
|
-
```
|
|
102
|
-
agentdesk login Sign in to AgentDesk
|
|
103
|
-
agentdesk logout Sign out and remove credentials
|
|
104
|
-
agentdesk init Set up project and configure tracker
|
|
105
|
-
agentdesk team <TASK-ID> Run a team session on an existing task
|
|
106
|
-
agentdesk team -d "..." Describe what you want — task created automatically
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
### Options
|
|
117
|
+
After adding a custom agent, enable them in Team Composition (web UI) or add their name to the `"team"` array. Custom agents participate in all phases alongside built-in agents.
|
|
110
118
|
|
|
111
|
-
|
|
112
|
-
|------|-------------|
|
|
113
|
-
| `--description`, `-d` | Task description or requirements |
|
|
114
|
-
| `--cwd` | Working directory (defaults to current) |
|
|
119
|
+
AgentDesk also auto-discovers agents from `.claude/agents/`, `.claude/commands/`, `.mcp.json`, GitHub Actions workflows, Dependabot, and Renovate configs.
|
|
115
120
|
|
|
116
121
|
## How It Works
|
|
117
122
|
|
|
118
123
|
1. You run `agentdesk team TASK-ID` in your project directory
|
|
119
124
|
2. AgentDesk detects your project type, reads `CLAUDE.md`, and discovers existing agents
|
|
120
|
-
3.
|
|
125
|
+
3. The team collaborates in structured phases: **Intake** > **Brainstorm** > **Planning** > **Execution** > **Review**
|
|
121
126
|
4. The session streams live to [agentdesk.live](https://agentdesk.live) where you can watch and send messages to the team
|
|
127
|
+
5. For UI tasks, the team captures screenshots (desktop + mobile) and uploads them to your task tracker
|
|
128
|
+
6. Token usage is tracked and displayed per session
|
|
129
|
+
|
|
130
|
+
## Dashboard Features
|
|
131
|
+
|
|
132
|
+
- **Live sessions** — watch agents collaborate in real-time
|
|
133
|
+
- **Session deep links** — share a direct URL to any session
|
|
134
|
+
- **Project settings** — configure tracker, team, custom agents, and instructions per project
|
|
135
|
+
- **Account settings** — manage your API key and profile
|
|
136
|
+
- **Agent roster** — see each agent's role, participation rate, tag breakdown, and phase involvement
|
|
137
|
+
- **Token tracking** — input/output token counts per session
|
|
138
|
+
- **Auto-reconnect** — CLI reconnects automatically if the connection drops
|
|
122
139
|
|
|
123
140
|
## Requirements
|
|
124
141
|
|
package/cli/login.mjs
CHANGED
|
@@ -104,8 +104,8 @@ export async function runLogin() {
|
|
|
104
104
|
|
|
105
105
|
if (apiKey) {
|
|
106
106
|
// Save credentials
|
|
107
|
-
if (!existsSync(CONFIG_DIR)) mkdirSync(CONFIG_DIR, { recursive: true });
|
|
108
|
-
writeFileSync(CREDENTIALS_PATH, JSON.stringify({ apiKey, name, savedAt: Date.now() }, null, 2));
|
|
107
|
+
if (!existsSync(CONFIG_DIR)) mkdirSync(CONFIG_DIR, { recursive: true, mode: 0o700 });
|
|
108
|
+
writeFileSync(CREDENTIALS_PATH, JSON.stringify({ apiKey, name, savedAt: Date.now() }, null, 2), { mode: 0o600 });
|
|
109
109
|
|
|
110
110
|
res.writeHead(200, { "Content-Type": "text/html" });
|
|
111
111
|
res.end(`<html><body style="background:#0f172a;color:#e2e8f0;font-family:system-ui;display:flex;align-items:center;justify-content:center;height:100vh;margin:0"><div style="text-align:center"><h2 style="color:#2dd4bf">Logged in to AgentDesk</h2><p>You can close this tab and return to your terminal.</p></div></body></html>`);
|
|
@@ -145,11 +145,11 @@ export async function runLogin() {
|
|
|
145
145
|
console.log("");
|
|
146
146
|
console.log(" Waiting for authentication...");
|
|
147
147
|
|
|
148
|
-
// Open browser
|
|
149
|
-
const {
|
|
148
|
+
// Open browser (use execFile to avoid shell injection)
|
|
149
|
+
const { execFile } = await import("child_process");
|
|
150
150
|
const platform = process.platform;
|
|
151
151
|
const cmd = platform === "darwin" ? "open" : platform === "win32" ? "start" : "xdg-open";
|
|
152
|
-
|
|
152
|
+
execFile(cmd, [loginUrl], () => {});
|
|
153
153
|
|
|
154
154
|
// Timeout after 5 minutes
|
|
155
155
|
setTimeout(() => {
|