+1
-1
@@ -27,3 +27,3 @@ /** | ||
| export const SERVER_NAME = "taskpod"; | ||
| export const SERVER_VERSION = "0.4.2"; | ||
| export const SERVER_VERSION = "0.4.3"; | ||
| export const allTools = [ | ||
@@ -30,0 +30,0 @@ ...teamTools, |
+8
-1
@@ -49,3 +49,3 @@ #!/usr/bin/env node | ||
| sync [--note "..."] push new .taskpod/learnings.md entries ↑ + pull context ↓ | ||
| pull sync .taskpod/ (context, board, mine, deps, learnings, skill) | ||
| pull sync .taskpod/ (context, board, mine, deps, resources, learnings, skill) | ||
| status your tasks + board summary + sync age | ||
@@ -104,2 +104,9 @@ mine [--blocked] just your tasks | ||
| return runMcp(argv.slice(1)); | ||
| // `taskpod <cmd> --help` must NEVER execute the command (init/sync mutate | ||
| // state). Print the usage lines for that command and exit. | ||
| if (argv.includes("--help") || argv.includes("-h")) { | ||
| const lines = USAGE.split("\n").filter((l) => l.trim().startsWith(command)); | ||
| print(lines.length ? lines.join("\n") : USAGE); | ||
| return; | ||
| } | ||
| const args = parseArgs(argv.slice(1)); | ||
@@ -106,0 +113,0 @@ switch (command) { |
@@ -53,3 +53,3 @@ import { z } from "zod"; | ||
| name: "update_task", | ||
| description: "Update any field of a task — status, priority, description, assignee, due date, title, story points, sprint, or board column. Use this to track progress.", | ||
| description: "Update any field of a task — status, priority, description, assignee, due date, ETA, title, story points, sprint, or board column. Use this to track progress.", | ||
| inputSchema: z.object({ | ||
@@ -64,2 +64,8 @@ taskId: z.string().describe("Task ID (internal cuid)"), | ||
| dueDate: z.string().optional().describe("ISO date string or null to remove"), | ||
| etaAt: z.string() | ||
| .refine((v) => !isNaN(Date.parse(v)), { message: "etaAt must be an ISO date/date-time string" }) | ||
| .nullable().optional() | ||
| .describe("Estimated completion date in ISO format (e.g. '2026-05-01' or '2026-05-01T17:00:00Z'), or null to clear"), | ||
| etaConfidence: z.enum(["LOW", "MEDIUM", "HIGH"]).nullable().optional() | ||
| .describe("Confidence in the ETA (LOW/MEDIUM/HIGH), or null to clear"), | ||
| folderId: z.string().optional(), | ||
@@ -66,0 +72,0 @@ storyPoints: z.number().int().min(0).max(100).nullable().optional().describe("Estimated effort in story points (integer 0–100), or null to clear"), |
+1
-1
| { | ||
| "name": "taskpod", | ||
| "version": "0.4.2", | ||
| "version": "0.4.3", | ||
| "description": "The Taskpod developer CLI and MCP server — sync project context to your machine and AI, and manage teams, projects, and tasks from any MCP client.", | ||
@@ -5,0 +5,0 @@ "type": "module", |
+4
-2
@@ -107,3 +107,3 @@ # taskpod | ||
| show <ticket> full task detail | ||
| resources [--json] list the project's resources (repos, docs, designs…) | ||
| resources [--json] list this project's resources, grouped by type | ||
| setup [--clone] clone repos + list every resource to get you working | ||
@@ -119,3 +119,3 @@ doctor health check: local git vs board drift | ||
| handoff <ticket> --to-agent [name] hand to an agent (needs acceptance criteria) | ||
| handoff <ticket> --to-human --needs "..." hand back to a human | ||
| handoff <ticket> --to-human --needs "..." hand back to a human (Needs You) | ||
@@ -127,2 +127,4 @@ Other | ||
| **Help is always safe.** `taskpod <cmd> --help` (or `-h`) prints that command's usage lines and exits — it never executes the command, so `taskpod sync --help` won't sync and `taskpod init --help` won't create anything. | ||
| **Config & credentials.** A committed `taskpod.json` in the repo records `{ apiBase, projectId, projectKey }`. Your token is stored separately in `~/.config/taskpod/credentials.json` (mode `0600`) — never in the repo. Override with `TASKPOD_API_URL` / `TASKPOD_TOKEN`. | ||
@@ -129,0 +131,0 @@ |
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
537580
0.2%4809
0.27%247
0.82%