+18
-15
@@ -12,4 +12,7 @@ /** | ||
| * | ||
| * `--with-skills[=all|core]` additionally installs the bundled TaskPod skill | ||
| * pack (general engineering skills) into `.claude/skills/` — see skill-pack.ts. | ||
| * The bundled TaskPod skill pack (general engineering skills, see | ||
| * skill-pack.ts) installs into `.claude/skills/` by default — silently, no | ||
| * flag, no prompt, same as the taskpod skill itself. `--no-skills` opts out; | ||
| * `--with-skills=all` upgrades to the full pack (`--with-skills[=core]` is an | ||
| * explicit no-op alias for the default). | ||
| * | ||
@@ -198,6 +201,7 @@ * Auth: by default no secret is written — `taskpod mcp` resolves the stored | ||
| /** | ||
| * Resolve `--with-skills[=all|core]` (or the TTY prompt, or the non-TTY | ||
| * default of core) into the pack variant to install — null installs nothing. | ||
| * Resolve `--with-skills[=all|core]` / `--no-skills` into the pack variant to | ||
| * install — null installs nothing. Default-on: with neither flag, the core | ||
| * pack installs silently (no prompt), same as the taskpod skill itself. | ||
| */ | ||
| async function selectSkillPack(args, sel) { | ||
| function selectSkillPack(args, sel) { | ||
| const flag = args.flags["with-skills"]; | ||
@@ -211,10 +215,6 @@ if (flag !== undefined) { | ||
| } | ||
| if (flagBool(args.flags, "no-skills")) | ||
| return null; | ||
| // The pack lands in .claude/skills/ — only meaningful for Claude Code. | ||
| if (!sel.claude) | ||
| return null; | ||
| // Non-interactive (CI, agents): install the core pack. | ||
| if (process.stdin.isTTY !== true) | ||
| return "core"; | ||
| const a = (await ask("Install the TaskPod skill pack (clean-code, pr-craft, verify-your-work…)? (Y/n) ")).toLowerCase(); | ||
| return a === "" || a === "y" || a === "yes" ? "core" : null; | ||
| return sel.claude ? "core" : null; | ||
| } | ||
@@ -269,3 +269,3 @@ // ─── apply ─────────────────────────────────────────────────────────────────── | ||
| const sel = await selectTools(args, cwd); | ||
| const skillPack = await selectSkillPack(args, sel); | ||
| const skillPack = selectSkillPack(args, sel); | ||
| await applySelection(sel, embedToken, cfg, cwd, skillPack); | ||
@@ -283,8 +283,11 @@ if (embedToken) { | ||
| * a successful run. No prompts, no secrets: configures the tools detected in | ||
| * the repo (defaulting to Claude Code) with the login-token auth model. | ||
| * the repo (defaulting to Claude Code) with the login-token auth model, and | ||
| * — same default-on rule as `agent-setup` itself — installs the core skill | ||
| * pack when Claude Code is in scope. | ||
| */ | ||
| export async function agentSetupAuto(cwd = process.cwd()) { | ||
| const cfg = readRepoConfig(cwd); | ||
| await applySelection(detectTools(cwd), null, cfg, cwd); | ||
| const sel = detectTools(cwd); | ||
| await applySelection(sel, null, cfg, cwd, sel.claude ? "core" : null); | ||
| info(color.dim("Re-run `taskpod agent-setup` any time — it updates in place, never duplicates.")); | ||
| } |
| /** | ||
| * The TaskPod skill pack — general engineering skills bundled with this | ||
| * package under `skills/` and installed into a repo's `.claude/skills/` by | ||
| * `taskpod agent-setup --with-skills`. | ||
| * `taskpod agent-setup` (default-on; `--no-skills` opts out, `--with-skills=all` | ||
| * upgrades to the full pack). | ||
| * | ||
@@ -6,0 +7,0 @@ * Two variants: |
+1
-1
@@ -27,3 +27,3 @@ /** | ||
| export const SERVER_NAME = "taskpod"; | ||
| export const SERVER_VERSION = "0.4.0"; | ||
| export const SERVER_VERSION = "0.4.1"; | ||
| export const allTools = [ | ||
@@ -30,0 +30,0 @@ ...teamTools, |
+3
-1
@@ -43,3 +43,5 @@ #!/usr/bin/env node | ||
| agent-setup connect Claude Code / Cursor / any MCP client to this project | ||
| [--with-skills[=all|core]] also install the TaskPod skill pack into .claude/skills/ | ||
| installed by default: the TaskPod skill pack into .claude/skills/ | ||
| [--no-skills] skip the skill pack | ||
| [--with-skills=all] upgrade to the full pack (--with-skills[=core] is a no-op) | ||
@@ -46,0 +48,0 @@ Context |
+1
-1
| { | ||
| "name": "taskpod", | ||
| "version": "0.4.0", | ||
| "version": "0.4.1", | ||
| "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", |
+8
-5
@@ -53,3 +53,3 @@ # taskpod | ||
| `agent-setup` can also install the **TaskPod skill pack** — a set of general engineering skills, shipped inside this package, that land in the repo's `.claude/skills/<name>/` and load automatically in Claude Code: | ||
| `agent-setup` installs the **TaskPod skill pack** by default — a set of general engineering skills, shipped inside this package, that land in the repo's `.claude/skills/<name>/` and load automatically in Claude Code: | ||
@@ -70,7 +70,8 @@ | Skill | What it teaches | | ||
| ```bash | ||
| npx taskpod agent-setup --with-skills # core: clean-code, design-patterns, pr-craft, verify-your-work, decompose-to-plan | ||
| npx taskpod agent-setup --with-skills=all # core + uxloom-journeys, java-annotations, coverage-first-review | ||
| npx taskpod agent-setup # installed by default: core pack — clean-code, design-patterns, pr-craft, verify-your-work, decompose-to-plan | ||
| npx taskpod agent-setup --with-skills=all # full pack: core + uxloom-journeys, java-annotations, coverage-first-review | ||
| npx taskpod agent-setup --no-skills # skip the skill pack entirely | ||
| ``` | ||
| On a terminal, `agent-setup` asks — `Install the TaskPod skill pack (clean-code, pr-craft, verify-your-work…)? (Y/n)` — after the tool prompts (default yes → core); non-interactive runs install core. The install is idempotent per file (each file written only when its content differs, reported as installed/updated/unchanged), and the CLAUDE.md TaskPod section lists the installed skills so agents know they're there. | ||
| The core pack installs silently — no flag, no prompt, same as the taskpod skill itself. `--no-skills` opts out; `--with-skills=all` upgrades to the full pack (`--with-skills[=core]` is an explicit no-op alias for the default). The install is idempotent per file (each file written only when its content differs, reported as installed/updated/unchanged), and the CLAUDE.md TaskPod section lists the installed skills so agents know they're there. | ||
@@ -98,3 +99,5 @@ **`taskpod sync` — the bidirectional central mind.** One command keeps you and the board in lockstep: | ||
| agent-setup connect Claude Code / Cursor / any MCP client to this project | ||
| [--with-skills[=all|core]] also install the TaskPod skill pack into .claude/skills/ | ||
| installed by default: the TaskPod skill pack into .claude/skills/ | ||
| [--no-skills] skip the skill pack | ||
| [--with-skills=all] upgrade to the full pack (--with-skills[=core] is a no-op) | ||
@@ -101,0 +104,0 @@ Context |
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.
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.
536315
0.13%4804
0.13%245
1.24%43
2.38%