claude-queue 1.2.2 → 1.3.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/dist/mcp/index.js CHANGED
@@ -36,6 +36,17 @@ async function httpPatch(url, body) {
36
36
  }
37
37
  return response.json();
38
38
  }
39
+ async function httpPut(url, body) {
40
+ const response = await fetch(`${KANBAN_URL}${url}`, {
41
+ method: "PUT",
42
+ headers: { "Content-Type": "application/json" },
43
+ body: JSON.stringify(body)
44
+ });
45
+ if (!response.ok) {
46
+ throw new Error(`HTTP ${response.status}: ${await response.text()}`);
47
+ }
48
+ return response.json();
49
+ }
39
50
 
40
51
  // src/handlers/watch.ts
41
52
  async function handleWatch(args) {
@@ -374,6 +385,21 @@ Run one of the commands above to start working on that project's queue.`
374
385
  };
375
386
  }
376
387
 
388
+ // src/handlers/project-prompt.ts
389
+ async function handleSetProjectPrompt(args) {
390
+ const projectId = args?.projectId;
391
+ const prompt = args?.prompt;
392
+ await httpPut(`/api/prompts/project/${projectId}`, { content: prompt });
393
+ return {
394
+ content: [
395
+ {
396
+ type: "text",
397
+ text: `Project prompt updated for ${projectId}.`
398
+ }
399
+ ]
400
+ };
401
+ }
402
+
377
403
  // src/index.ts
378
404
  var server = new McpServer({
379
405
  name: "claude-queue",
@@ -531,6 +557,19 @@ server.registerTool(
531
557
  return await handleListProjects();
532
558
  }
533
559
  );
560
+ server.registerTool(
561
+ "queue_set_project_prompt",
562
+ {
563
+ description: "Set a brief project prompt (1-2 sentences) that provides context for all tasks. Used during planning to capture the project's purpose.",
564
+ inputSchema: {
565
+ projectId: z.string().describe("Project ID (e.g., kbn-a3x9)"),
566
+ prompt: z.string().max(300).describe("Brief project context (1-2 sentences, max 300 chars)")
567
+ }
568
+ },
569
+ async (args) => {
570
+ return await handleSetProjectPrompt(args);
571
+ }
572
+ );
534
573
  async function main() {
535
574
  const transport = new StdioServerTransport();
536
575
  await server.connect(transport);
@@ -52,8 +52,12 @@ When invoked with `/queue plan <project-id>`:
52
52
  5. **Propose the plan**: Present a comprehensive plan document capturing everything discussed. Ask if it captures their intent correctly.
53
53
  6. **Refine until approved**: If the user wants changes, refine the plan. Repeat until they're happy.
54
54
  7. **Create/update CLAUDE.md**: Once approved, write the plan to CLAUDE.md in the project directory. This provides context for all future sessions.
55
- 8. **Break into tasks**: Derive task titles and detailed descriptions from the plan
56
- 9. **Ready to start?**: Ask "Ready to start? (or should I just add these to backlog for later?)"
55
+ 8. **Set project prompt**: Call `queue_set_project_prompt` with a brief 1-2 sentence summary of what the project is about
56
+ 9. **Break into tasks**: Create focused, actionable tasks:
57
+ - Avoid overly broad tasks - each should be completable in a single session
58
+ - Include enough context in descriptions so the task can be understood without CLAUDE.md
59
+ - Mention relevant files or components when helpful
60
+ 10. **Ready to start?**: Ask "Ready to start? (or should I just add these to backlog for later?)"
57
61
  - If user wants to start: Create tasks in "ready", then proceed to **Work Mode** and begin the main loop
58
62
  - If user wants backlog: Create tasks in "backlog", inform them they can start later by running `/queue <project-id>`
59
63
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-queue",
3
- "version": "1.2.2",
3
+ "version": "1.3.0",
4
4
  "description": "A local kanban board for managing Claude Code projects",
5
5
  "type": "module",
6
6
  "bin": {