@blxzer/cursor-trellis 0.3.4 → 0.3.5

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.
Files changed (95) hide show
  1. package/README.md +0 -13
  2. package/README.zh-CN.md +1 -1
  3. package/bin/cstl.js +1 -1
  4. package/bin/smart-search.js +1 -1
  5. package/dist/cli/index.d.ts.map +1 -1
  6. package/dist/cli/index.js +14 -2
  7. package/dist/cli/index.js.map +1 -1
  8. package/dist/commands/campaign/canvas-render.d.ts +68 -0
  9. package/dist/commands/campaign/canvas-render.d.ts.map +1 -0
  10. package/dist/commands/campaign/canvas-render.js +414 -0
  11. package/dist/commands/campaign/canvas-render.js.map +1 -0
  12. package/dist/commands/campaign/compose.d.ts +15 -0
  13. package/dist/commands/campaign/compose.d.ts.map +1 -0
  14. package/dist/commands/campaign/compose.js +110 -0
  15. package/dist/commands/campaign/compose.js.map +1 -0
  16. package/dist/commands/campaign/index.d.ts +13 -0
  17. package/dist/commands/campaign/index.d.ts.map +1 -0
  18. package/dist/commands/campaign/index.js +134 -0
  19. package/dist/commands/campaign/index.js.map +1 -0
  20. package/dist/commands/campaign/kind-map.d.ts +6 -0
  21. package/dist/commands/campaign/kind-map.d.ts.map +1 -0
  22. package/dist/commands/campaign/kind-map.js +21 -0
  23. package/dist/commands/campaign/kind-map.js.map +1 -0
  24. package/dist/commands/campaign/mcp-server.d.ts +6 -0
  25. package/dist/commands/campaign/mcp-server.d.ts.map +1 -0
  26. package/dist/commands/campaign/mcp-server.js +167 -0
  27. package/dist/commands/campaign/mcp-server.js.map +1 -0
  28. package/dist/commands/campaign/render.d.ts +5 -0
  29. package/dist/commands/campaign/render.d.ts.map +1 -0
  30. package/dist/commands/campaign/render.js +103 -0
  31. package/dist/commands/campaign/render.js.map +1 -0
  32. package/dist/commands/campaign/trellis-load.d.ts +13 -0
  33. package/dist/commands/campaign/trellis-load.d.ts.map +1 -0
  34. package/dist/commands/campaign/trellis-load.js +122 -0
  35. package/dist/commands/campaign/trellis-load.js.map +1 -0
  36. package/dist/commands/campaign/types.d.ts +61 -0
  37. package/dist/commands/campaign/types.d.ts.map +1 -0
  38. package/dist/commands/campaign/types.js +3 -0
  39. package/dist/commands/campaign/types.js.map +1 -0
  40. package/dist/commands/init.d.ts.map +1 -1
  41. package/dist/commands/init.js +11 -1
  42. package/dist/commands/init.js.map +1 -1
  43. package/dist/commands/rpc/client.d.ts +51 -0
  44. package/dist/commands/rpc/client.d.ts.map +1 -0
  45. package/dist/commands/rpc/client.js +147 -0
  46. package/dist/commands/rpc/client.js.map +1 -0
  47. package/dist/commands/rpc/index.d.ts +10 -0
  48. package/dist/commands/rpc/index.d.ts.map +1 -0
  49. package/dist/commands/rpc/index.js +157 -0
  50. package/dist/commands/rpc/index.js.map +1 -0
  51. package/dist/commands/rpc/serve.d.ts +23 -0
  52. package/dist/commands/rpc/serve.d.ts.map +1 -0
  53. package/dist/commands/rpc/serve.js +60 -0
  54. package/dist/commands/rpc/serve.js.map +1 -0
  55. package/dist/commands/rpc/smoke.d.ts +16 -0
  56. package/dist/commands/rpc/smoke.d.ts.map +1 -0
  57. package/dist/commands/rpc/smoke.js +92 -0
  58. package/dist/commands/rpc/smoke.js.map +1 -0
  59. package/dist/commands/sdk/index.d.ts +9 -0
  60. package/dist/commands/sdk/index.d.ts.map +1 -0
  61. package/dist/commands/sdk/index.js +58 -0
  62. package/dist/commands/sdk/index.js.map +1 -0
  63. package/dist/commands/sdk/run.d.ts +42 -0
  64. package/dist/commands/sdk/run.d.ts.map +1 -0
  65. package/dist/commands/sdk/run.js +245 -0
  66. package/dist/commands/sdk/run.js.map +1 -0
  67. package/dist/commands/sdk/status.d.ts +14 -0
  68. package/dist/commands/sdk/status.d.ts.map +1 -0
  69. package/dist/commands/sdk/status.js +69 -0
  70. package/dist/commands/sdk/status.js.map +1 -0
  71. package/dist/templates/common/bundled-skills/smart-search-cli/SKILL.md +35 -29
  72. package/dist/templates/common/bundled-skills/smart-search-cli/references/cli-contract.md +11 -25
  73. package/dist/templates/cursor/rules/retrieval-routing.mdc +1 -1
  74. package/dist/templates/markdown/agents.md +2 -0
  75. package/dist/templates/markdown/spec/guides/retrieval-daily-guide.md.txt +14 -0
  76. package/dist/templates/trellis/scripts/common/codebase_retrieval_router.py +14 -0
  77. package/dist/templates/trellis/scripts/common/parent_orchestration.py +341 -2
  78. package/dist/templates/trellis/scripts/common/task_map.py +638 -614
  79. package/dist/templates/trellis/scripts/common/task_store.py +47 -1
  80. package/dist/templates/trellis/scripts/task.py +32 -0
  81. package/dist/utils/codebase-retrieval-router.d.ts.map +1 -1
  82. package/dist/utils/codebase-retrieval-router.js +14 -0
  83. package/dist/utils/codebase-retrieval-router.js.map +1 -1
  84. package/dist/utils/cursor-sdk-gate.d.ts +10 -0
  85. package/dist/utils/cursor-sdk-gate.d.ts.map +1 -0
  86. package/dist/utils/cursor-sdk-gate.js +32 -0
  87. package/dist/utils/cursor-sdk-gate.js.map +1 -0
  88. package/dist/utils/project-capabilities.d.ts +30 -3
  89. package/dist/utils/project-capabilities.d.ts.map +1 -1
  90. package/dist/utils/project-capabilities.js +182 -11
  91. package/dist/utils/project-capabilities.js.map +1 -1
  92. package/dist/utils/readiness.d.ts.map +1 -1
  93. package/dist/utils/readiness.js +26 -0
  94. package/dist/utils/readiness.js.map +1 -1
  95. package/package.json +4 -3
@@ -1374,14 +1374,60 @@ def cmd_generate_child_prompt(args: argparse.Namespace) -> int:
1374
1374
 
1375
1375
  def cmd_parent_status(args: argparse.Namespace) -> int:
1376
1376
  """Show parent task-map orchestration status."""
1377
- from .parent_orchestration import build_parent_status
1377
+ import json
1378
+
1379
+ from .parent_orchestration import build_parent_status, build_parent_status_dict
1378
1380
 
1379
1381
  repo_root = get_repo_root()
1380
1382
  parent_dir = resolve_task_dir(args.parent_dir, repo_root)
1383
+ if getattr(args, "json", False):
1384
+ payload = build_parent_status_dict(parent_dir)
1385
+ if payload is None:
1386
+ print(
1387
+ json.dumps(
1388
+ {
1389
+ "error": "task-map.md missing or invalid",
1390
+ "path": str(parent_dir),
1391
+ }
1392
+ )
1393
+ )
1394
+ return 1
1395
+ print(json.dumps(payload, ensure_ascii=False, indent=2))
1396
+ return 0
1381
1397
  print(build_parent_status(parent_dir))
1382
1398
  return 0
1383
1399
 
1384
1400
 
1401
+
1402
+ def cmd_publish_pack(args: argparse.Namespace) -> int:
1403
+ """Publish HYBRID campaign PACK (ready list + child prompts)."""
1404
+ from .parent_orchestration import build_publish_pack
1405
+
1406
+ repo_root = get_repo_root()
1407
+ parent_dir = resolve_task_dir(args.parent_dir, repo_root)
1408
+ mode = getattr(args, "mode", "inline") or "inline"
1409
+ if mode not in ("inline", "subagent"):
1410
+ print(colored("Error: --mode must be inline or subagent", Colors.RED), file=sys.stderr)
1411
+ return 1
1412
+
1413
+ summary, errors = build_publish_pack(
1414
+ parent_dir,
1415
+ stage_id=getattr(args, "stage", None),
1416
+ mode=mode,
1417
+ dry_run=bool(getattr(args, "dry_run", False)),
1418
+ )
1419
+ if errors:
1420
+ for item in errors:
1421
+ print(f" - {item}", file=sys.stderr)
1422
+ print(colored("Error: publish-pack failed", Colors.RED), file=sys.stderr)
1423
+ return 1
1424
+ if summary is None:
1425
+ print(colored("Error: publish-pack produced no summary", Colors.RED), file=sys.stderr)
1426
+ return 1
1427
+ print(summary)
1428
+ return 0
1429
+
1430
+
1385
1431
  def cmd_review_child(args: argparse.Namespace) -> int:
1386
1432
  """Review child handoff and optionally advance parent integration states."""
1387
1433
  from .parent_orchestration import (
@@ -30,6 +30,7 @@ Usage:
30
30
  python task.py generate-child-prompt <parent-dir> <child-dir> [--mode inline|subagent]
31
31
  python task.py generate-dispatch-prompt <task-dir> <role> [--scope TEXT] [--finish] [--max-chars N]
32
32
  python task.py parent-status <parent-dir>
33
+ python task.py publish-pack <parent-dir> [--stage <id>] [--mode inline|subagent] [--dry-run]
33
34
  python task.py review-child <parent-dir> <child-dir> [--check] [--decision accept|changes|cancel|integrate-through]
34
35
  """
35
36
 
@@ -94,6 +95,7 @@ from common.task_store import (
94
95
  cmd_generate_dispatch_prompt,
95
96
  cmd_suggest_execution_strategy,
96
97
  cmd_parent_status,
98
+ cmd_publish_pack,
97
99
  cmd_review_child,
98
100
  )
99
101
  from common.task_context import (
@@ -573,6 +575,8 @@ Examples:
573
575
  python task.py integrate-child parent-task child-task integrated --evidence task-map.md --ref child-branch --execute-merge
574
576
  python task.py generate-child-prompt parent-task child-task --mode inline
575
577
  python task.py parent-status parent-task
578
+ python task.py publish-pack parent-task
579
+ python task.py publish-pack parent-task --stage stage-1 --dry-run
576
580
  python task.py review-child parent-task child-task --check
577
581
  python task.py review-child parent-task child-task --decision accept --ref child-branch
578
582
  python task.py list # List all active tasks
@@ -838,6 +842,33 @@ def main() -> int:
838
842
  # parent-status
839
843
  p_parent_status = subparsers.add_parser("parent-status", help="Show parent task-map orchestration status")
840
844
  p_parent_status.add_argument("parent_dir", help="Parent task directory")
845
+ p_parent_status.add_argument(
846
+ "--json",
847
+ action="store_true",
848
+ help="Emit machine-readable JSON snapshot (campaign UI / MCP)",
849
+ )
850
+
851
+ # publish-pack
852
+ p_publish_pack = subparsers.add_parser(
853
+ "publish-pack",
854
+ help="Publish HYBRID campaign PACK (stage ready list + child-prompts)",
855
+ )
856
+ p_publish_pack.add_argument("parent_dir", help="Parent task directory")
857
+ p_publish_pack.add_argument(
858
+ "--stage",
859
+ help="Restrict pack to one stage id from task-map stages:",
860
+ )
861
+ p_publish_pack.add_argument(
862
+ "--mode",
863
+ choices=["inline", "subagent"],
864
+ default="inline",
865
+ help="Prompt delivery mode forwarded to generate-child-prompt builder",
866
+ )
867
+ p_publish_pack.add_argument(
868
+ "--dry-run",
869
+ action="store_true",
870
+ help="Print ready/blocked summary without writing child-prompts/",
871
+ )
841
872
 
842
873
  # review-child
843
874
  p_review_child = subparsers.add_parser(
@@ -902,6 +933,7 @@ def main() -> int:
902
933
  "generate-dispatch-prompt": cmd_generate_dispatch_prompt,
903
934
  "suggest-execution-strategy": cmd_suggest_execution_strategy,
904
935
  "parent-status": cmd_parent_status,
936
+ "publish-pack": cmd_publish_pack,
905
937
  "review-child": cmd_review_child,
906
938
  "list": cmd_list,
907
939
  "list-archive": cmd_list_archive,
@@ -1 +1 @@
1
- {"version":3,"file":"codebase-retrieval-router.d.ts","sourceRoot":"","sources":["../../src/utils/codebase-retrieval-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codebase-retrieval-router.d.ts","sourceRoot":"","sources":["../../src/utils/codebase-retrieval-router.ts"],"names":[],"mappings":"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"}
@@ -62,6 +62,16 @@ const POLICY_SIGNALS = [
62
62
  /\bresponsibilit(y|ies)\b/i,
63
63
  /不能/,
64
64
  /规则/,
65
+ // Workflow / task-ladder docs (AGENTS.md, workflow.md) — not code-search first
66
+ /\bFull\s+Task\b/i,
67
+ /\bLite\s+Task\b/i,
68
+ /\bMicro-Grill\b/i,
69
+ /\bParent\s+Task\b/i,
70
+ /\bChild\s+Task\b/i,
71
+ /\bTriage\b/,
72
+ /\btask\s+ladder\b/i,
73
+ /任务阶梯/,
74
+ /工作流/,
65
75
  ];
66
76
  const CONCEPTUAL_SIGNALS = [
67
77
  /\bhow\s+does\b/i,
@@ -132,6 +142,10 @@ const EXACT_SYMBOL_SIGNALS = [
132
142
  /`[^`]+`/,
133
143
  /\b[\w.-]+\.(ts|tsx|js|jsx|py|rs|go|swift|kt|md|json|yaml|yml)\b/i,
134
144
  /\b(?:src|packages|extensions)\/[\w./-]+/i,
145
+ // Meta / router-implementation queries → lexical exact (not policy docs)
146
+ /检索(意图)?路由/,
147
+ /\bintent\s*rout(?:e|ing)?\b/i,
148
+ /codebase[_-]?retrieval[_-]?router/i,
135
149
  ];
136
150
  function normalizeQuery(query) {
137
151
  return query.replace(/\s+/g, " ").trim();
@@ -1 +1 @@
1
- {"version":3,"file":"codebase-retrieval-router.js","sourceRoot":"","sources":["../../src/utils/codebase-retrieval-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codebase-retrieval-router.js","sourceRoot":"","sources":["../../src/utils/codebase-retrieval-router.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Cursor SDK capability gate (productization): env probe + user-facing guidance.
3
+ * Never echoes the key value. Never writes secrets to the repo.
4
+ */
5
+ export declare function hasCursorApiKey(env?: NodeJS.ProcessEnv): boolean;
6
+ /** Multi-line guide for missing CURSOR_API_KEY (init/update / sdk status). */
7
+ export declare function cursorApiKeySetupGuide(): string;
8
+ export declare function formatCursorSdkSkippedMessage(): string;
9
+ export declare function formatCursorSdkEnabledMessage(): string;
10
+ //# sourceMappingURL=cursor-sdk-gate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor-sdk-gate.d.ts","sourceRoot":"","sources":["../../src/utils/cursor-sdk-gate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wBAAgB,eAAe,CAC7B,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAET;AAED,8EAA8E;AAC9E,wBAAgB,sBAAsB,IAAI,MAAM,CAS/C;AAED,wBAAgB,6BAA6B,IAAI,MAAM,CAKtD;AAED,wBAAgB,6BAA6B,IAAI,MAAM,CAMtD"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Cursor SDK capability gate (productization): env probe + user-facing guidance.
3
+ * Never echoes the key value. Never writes secrets to the repo.
4
+ */
5
+ export function hasCursorApiKey(env = process.env) {
6
+ return Boolean(env.CURSOR_API_KEY?.trim());
7
+ }
8
+ /** Multi-line guide for missing CURSOR_API_KEY (init/update / sdk status). */
9
+ export function cursorApiKeySetupGuide() {
10
+ return [
11
+ "Cursor SDK live capability requires CURSOR_API_KEY in the current process environment.",
12
+ "Set it for your shell/session (user-level env or secret store) — never commit the key to the repo.",
13
+ "PowerShell example: $env:CURSOR_API_KEY = '<your-key>'",
14
+ "Then re-run init/update capability selection, or: cstl sdk status",
15
+ "Reminder: SDK live billing/privacy is a separate channel from Cursor IDE Native API vs Cursor++ BYOK model routing.",
16
+ "Until a key is set, cstl sdk run --mock still works; --live will refuse.",
17
+ ].join("\n");
18
+ }
19
+ export function formatCursorSdkSkippedMessage() {
20
+ return [
21
+ "Skipped enabling capability `cursor-sdk` (CURSOR_API_KEY not set).",
22
+ cursorApiKeySetupGuide(),
23
+ ].join("\n");
24
+ }
25
+ export function formatCursorSdkEnabledMessage() {
26
+ return [
27
+ "Enabled capability `cursor-sdk` (CURSOR_API_KEY is present in this process).",
28
+ "Use `cstl sdk status` to re-check, and `cstl sdk run --task <path> --live` only after you accept billing/privacy risk.",
29
+ "Native vs BYOK IDE routing does not replace CURSOR_API_KEY for SDK live runs.",
30
+ ].join("\n");
31
+ }
32
+ //# sourceMappingURL=cursor-sdk-gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor-sdk-gate.js","sourceRoot":"","sources":["../../src/utils/cursor-sdk-gate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,UAAU,eAAe,CAC7B,MAAyB,OAAO,CAAC,GAAG;IAEpC,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,sBAAsB;IACpC,OAAO;QACL,wFAAwF;QACxF,oGAAoG;QACpG,wDAAwD;QACxD,mEAAmE;QACnE,qHAAqH;QACrH,0EAA0E;KAC3E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,6BAA6B;IAC3C,OAAO;QACL,oEAAoE;QACpE,sBAAsB,EAAE;KACzB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,6BAA6B;IAC3C,OAAO;QACL,8EAA8E;QAC9E,wHAAwH;QACxH,+EAA+E;KAChF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { AITool } from "../types/ai-tools.js";
2
- export declare const PROJECT_CAPABILITY_IDS: readonly ["codebase-retrieval", "github-mcp", "playwright-mcp"];
2
+ export declare const PROJECT_CAPABILITY_IDS: readonly ["codebase-retrieval", "github-mcp", "playwright-mcp", "cursor-sdk", "campaign-mcp"];
3
3
  export type ProjectCapabilityId = (typeof PROJECT_CAPABILITY_IDS)[number];
4
4
  export interface McpServerTemplate {
5
5
  name: string;
@@ -50,12 +50,39 @@ export declare function getProjectCapabilityChoices(): {
50
50
  id: ProjectCapabilityId;
51
51
  name: string;
52
52
  }[];
53
+ export type CursorSdkSelectionGateResult = {
54
+ selected: ProjectCapabilityId[];
55
+ skippedSdk: boolean;
56
+ enabledSdk: boolean;
57
+ message: string | null;
58
+ };
59
+ /**
60
+ * D1: keep `cursor-sdk` visible in UI, but drop it from the effective
61
+ * selection when CURSOR_API_KEY is missing (skip enablement + guidance).
62
+ */
63
+ export declare function applyCursorSdkSelectionGate(selected: readonly ProjectCapabilityId[], env?: NodeJS.ProcessEnv): CursorSdkSelectionGateResult;
53
64
  export declare function renderCapabilitiesJson(selected: readonly ProjectCapabilityId[], states?: Partial<Record<ProjectCapabilityId, StoredCapabilityState>>): string;
54
65
  export declare function getProjectCapability(id: ProjectCapabilityId): ProjectCapability;
55
66
  export declare function renderCapabilitiesMarkdown(selected: readonly ProjectCapabilityId[], states?: Partial<Record<ProjectCapabilityId, StoredCapabilityState>>): string;
56
67
  export declare function applyCodexCapabilityConfig(baseContent: string, selected: readonly ProjectCapabilityId[]): string;
57
- export declare function renderMcpJson(selected: readonly ProjectCapabilityId[]): string;
58
- export declare function buildProjectCapabilityTemplates(selected: readonly ProjectCapabilityId[], platforms: Iterable<AITool>, states?: Partial<Record<ProjectCapabilityId, StoredCapabilityState>>): Map<string, string>;
68
+ /** MCP server names declared by any registry capability (Trellis-managed keys). */
69
+ export declare function managedMcpServerNames(): string[];
70
+ export type McpServerEntry = {
71
+ command: string;
72
+ args: string[];
73
+ [key: string]: unknown;
74
+ };
75
+ export declare function loadExistingMcpServers(cwd: string): Record<string, McpServerEntry>;
76
+ /**
77
+ * Render `.cursor/mcp.json`.
78
+ * When `existing` is provided (M1), upsert Trellis-managed servers from
79
+ * selection, remove managed names not in selection, preserve non-managed keys.
80
+ */
81
+ export declare function renderMcpJson(selected: readonly ProjectCapabilityId[], existing?: Record<string, McpServerEntry> | null): string;
82
+ export declare function buildProjectCapabilityTemplates(selected: readonly ProjectCapabilityId[], platforms: Iterable<AITool>, states?: Partial<Record<ProjectCapabilityId, StoredCapabilityState>>, options?: {
83
+ cwd?: string;
84
+ existingMcpServers?: Record<string, McpServerEntry> | null;
85
+ }): Map<string, string>;
59
86
  export declare function writeProjectCapabilityFiles(cwd: string, selected: readonly ProjectCapabilityId[], platforms: Iterable<AITool>): Promise<void>;
60
87
  export declare function loadStoredCapabilityStates(cwd: string): Partial<Record<ProjectCapabilityId, StoredCapabilityState>>;
61
88
  export declare function loadProjectCapabilities(cwd: string): ProjectCapabilityId[];
@@ -1 +1 @@
1
- {"version":3,"file":"project-capabilities.d.ts","sourceRoot":"","sources":["../../src/utils/project-capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-capabilities.d.ts","sourceRoot":"","sources":["../../src/utils/project-capabilities.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
+ import { formatCursorSdkEnabledMessage, formatCursorSdkSkippedMessage, hasCursorApiKey, } from "./cursor-sdk-gate.js";
3
4
  import { ensureDir, writeFile } from "./file-writer.js";
4
5
  export const PROJECT_CAPABILITY_IDS = [
5
6
  "codebase-retrieval",
6
7
  "github-mcp",
7
8
  "playwright-mcp",
9
+ "cursor-sdk",
10
+ "campaign-mcp",
8
11
  ];
9
12
  export const PROJECT_CAPABILITY_READINESS_STATUSES = [
10
13
  "pending",
@@ -187,6 +190,71 @@ export const PROJECT_CAPABILITIES = [
187
190
  },
188
191
  ],
189
192
  },
193
+ {
194
+ id: "cursor-sdk",
195
+ aliases: ["sdk", "cursor_sdk", "cursor-sdk-run"],
196
+ title: "Cursor SDK RUN",
197
+ description: "Optional Trellis↔Cursor SDK bridge (`cstl sdk run`). Enabled only when CURSOR_API_KEY is present; does not install packages into the consumer project.",
198
+ routing: "Use for explicit SDK RUN workers bound to a task path. Prefer `cstl sdk status` before `--live`. Do not treat SDK live as IDE Native/BYOK model routing.",
199
+ readiness: "`CURSOR_API_KEY` is visible in the Trellis process environment. `@cursor/sdk` is provided by the installed cursor-trellis CLI package.",
200
+ fallback: [
201
+ "Set CURSOR_API_KEY in your shell/session (never commit it), then re-select `cursor-sdk` or run `cstl sdk status`.",
202
+ "Use `cstl sdk run --mock` without a key for dogfood; `--live` requires the key and explicit acceptance of billing/privacy risk.",
203
+ ],
204
+ cliAutomationGuidance: [
205
+ {
206
+ command: "cstl sdk status",
207
+ use: "Check whether CURSOR_API_KEY is present and whether the cursor-sdk capability can be enabled.",
208
+ },
209
+ {
210
+ command: "cstl sdk run --task <path> --mock",
211
+ use: "Run the SDK bridge without calling @cursor/sdk (no API key required).",
212
+ },
213
+ {
214
+ command: "cstl sdk run --task <path> --live",
215
+ use: "Live Agent.prompt via @cursor/sdk after CURSOR_API_KEY is set and you accept billing/privacy risk.",
216
+ },
217
+ ],
218
+ mcpServers: [],
219
+ },
220
+ {
221
+ id: "campaign-mcp",
222
+ aliases: ["trellis-campaign", "campaign", "campaign-mcp"],
223
+ title: "Campaign MCP",
224
+ description: "Read-only trellis-campaign MCP (`cstl campaign mcp`) for campaign_status observation. Auto-merges into .cursor/mcp.json when selected.",
225
+ routing: "Use for in-session campaign observation. Set TRELLIS_CAMPAIGN_PARENT or pass --parent / tool args; this capability does not embed Parent paths into mcp.json.",
226
+ readiness: "`cstl` is available on PATH so the MCP stdio server can launch. Parent task directory is configured by the operator (env or args), not by Trellis writing secrets or paths into mcp.json.",
227
+ fallback: [
228
+ "Ensure `cstl` is on PATH (global install or project-linked CLI).",
229
+ "Set TRELLIS_CAMPAIGN_PARENT or run `cstl campaign mcp --parent <dir>` / pass parent to the MCP tool.",
230
+ "See docs/campaign-ui.md for CMD + MCP observation paths (Canvas is a separate capability/task).",
231
+ ],
232
+ cliAutomationGuidance: [
233
+ {
234
+ command: "cstl campaign status --parent <dir>",
235
+ use: "Compose campaign status without starting MCP.",
236
+ },
237
+ {
238
+ command: "cstl campaign mcp --parent <dir>",
239
+ use: "Run the trellis-campaign stdio MCP server.",
240
+ },
241
+ ],
242
+ mcpQueryGuidance: [
243
+ {
244
+ tool: "campaign_status",
245
+ use: "Read-only campaign snapshot (Trellis parent-status + optional RPC). Never auto-approves HITL gates.",
246
+ },
247
+ ],
248
+ mcpServers: [
249
+ {
250
+ name: "trellis-campaign",
251
+ // Match other optional MCP entries: npx -y <published package> …
252
+ // (Bare `cstl` breaks on Windows shims and unpublished global installs.)
253
+ command: "npx",
254
+ args: ["-y", "@blxzer/cursor-trellis", "campaign", "mcp"],
255
+ },
256
+ ],
257
+ },
190
258
  ];
191
259
  const CAPABILITY_BY_TOKEN = new Map();
192
260
  for (const capability of PROJECT_CAPABILITIES) {
@@ -291,6 +359,35 @@ export function getProjectCapabilityChoices() {
291
359
  name: `${capability.title} - ${capability.description}`,
292
360
  }));
293
361
  }
362
+ /**
363
+ * D1: keep `cursor-sdk` visible in UI, but drop it from the effective
364
+ * selection when CURSOR_API_KEY is missing (skip enablement + guidance).
365
+ */
366
+ export function applyCursorSdkSelectionGate(selected, env = process.env) {
367
+ const ordered = uniqueInRegistryOrder(selected);
368
+ if (!ordered.includes("cursor-sdk")) {
369
+ return {
370
+ selected: ordered,
371
+ skippedSdk: false,
372
+ enabledSdk: false,
373
+ message: null,
374
+ };
375
+ }
376
+ if (hasCursorApiKey(env)) {
377
+ return {
378
+ selected: ordered,
379
+ skippedSdk: false,
380
+ enabledSdk: true,
381
+ message: formatCursorSdkEnabledMessage(),
382
+ };
383
+ }
384
+ return {
385
+ selected: ordered.filter((id) => id !== "cursor-sdk"),
386
+ skippedSdk: true,
387
+ enabledSdk: false,
388
+ message: formatCursorSdkSkippedMessage(),
389
+ };
390
+ }
294
391
  export function renderCapabilitiesJson(selected, states) {
295
392
  const selectedIds = uniqueInRegistryOrder(selected);
296
393
  const selectedLookup = selectedSet(selectedIds);
@@ -483,32 +580,106 @@ export function applyCodexCapabilityConfig(baseContent, selected) {
483
580
  }
484
581
  return `${withoutExistingBlock}\n\n${block}\n`;
485
582
  }
486
- export function renderMcpJson(selected) {
487
- const servers = Object.fromEntries(uniqueMcpServers(selected).map((server) => [
583
+ /** MCP server names declared by any registry capability (Trellis-managed keys). */
584
+ export function managedMcpServerNames() {
585
+ const names = new Set();
586
+ for (const capability of PROJECT_CAPABILITIES) {
587
+ for (const server of capability.mcpServers) {
588
+ names.add(server.name);
589
+ }
590
+ }
591
+ return [...names];
592
+ }
593
+ export function loadExistingMcpServers(cwd) {
594
+ const filePath = path.join(cwd, ".cursor", "mcp.json");
595
+ if (!fs.existsSync(filePath)) {
596
+ return {};
597
+ }
598
+ try {
599
+ const parsed = JSON.parse(fs.readFileSync(filePath, "utf-8"));
600
+ if (!parsed.mcpServers ||
601
+ typeof parsed.mcpServers !== "object" ||
602
+ Array.isArray(parsed.mcpServers)) {
603
+ return {};
604
+ }
605
+ const result = {};
606
+ for (const [name, value] of Object.entries(parsed.mcpServers)) {
607
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
608
+ continue;
609
+ }
610
+ const entry = value;
611
+ if (typeof entry.command !== "string") {
612
+ continue;
613
+ }
614
+ const args = Array.isArray(entry.args)
615
+ ? entry.args.filter((item) => typeof item === "string")
616
+ : [];
617
+ result[name] = { ...entry, command: entry.command, args };
618
+ }
619
+ return result;
620
+ }
621
+ catch {
622
+ return {};
623
+ }
624
+ }
625
+ /**
626
+ * Render `.cursor/mcp.json`.
627
+ * When `existing` is provided (M1), upsert Trellis-managed servers from
628
+ * selection, remove managed names not in selection, preserve non-managed keys.
629
+ */
630
+ export function renderMcpJson(selected, existing) {
631
+ const desired = Object.fromEntries(uniqueMcpServers(selected).map((server) => [
488
632
  server.name,
489
633
  {
490
634
  command: server.command,
491
635
  args: server.args,
492
636
  },
493
637
  ]));
494
- return `${JSON.stringify({ mcpServers: servers }, null, 2)}\n`;
638
+ const merged = {
639
+ ...(existing ?? {}),
640
+ };
641
+ const managed = new Set(managedMcpServerNames());
642
+ for (const name of managed) {
643
+ if (!(name in desired)) {
644
+ delete merged[name];
645
+ }
646
+ }
647
+ for (const [name, server] of Object.entries(desired)) {
648
+ merged[name] = server;
649
+ }
650
+ return `${JSON.stringify({ mcpServers: merged }, null, 2)}\n`;
495
651
  }
496
- export function buildProjectCapabilityTemplates(selected, platforms, states) {
652
+ export function buildProjectCapabilityTemplates(selected, platforms, states, options) {
497
653
  const selectedIds = uniqueInRegistryOrder(selected);
498
654
  const files = new Map();
499
- if (selectedIds.length === 0) {
500
- return files;
501
- }
502
- files.set(CAPABILITIES_JSON_PATH, renderCapabilitiesJson(selectedIds, states));
503
- files.set(CAPABILITIES_MD_PATH, renderCapabilitiesMarkdown(selectedIds, states));
504
655
  const platformSet = new Set(platforms);
656
+ if (selectedIds.length > 0) {
657
+ files.set(CAPABILITIES_JSON_PATH, renderCapabilitiesJson(selectedIds, states));
658
+ files.set(CAPABILITIES_MD_PATH, renderCapabilitiesMarkdown(selectedIds, states));
659
+ }
505
660
  if (platformSet.has("cursor")) {
506
- files.set(".cursor/mcp.json", renderMcpJson(selectedIds));
661
+ const existing = options?.existingMcpServers !== undefined
662
+ ? options.existingMcpServers
663
+ : options?.cwd
664
+ ? loadExistingMcpServers(options.cwd)
665
+ : null;
666
+ const desiredServers = uniqueMcpServers(selectedIds);
667
+ const existingKeys = Object.keys(existing ?? {});
668
+ const mcpPathExists = typeof options?.cwd === "string" &&
669
+ fs.existsSync(path.join(options.cwd, ".cursor", "mcp.json"));
670
+ // Do not create an empty `.cursor/mcp.json` on fresh Cursor init with no
671
+ // MCP capabilities selected — that leaves a useless file and breaks
672
+ // uninstall "project is clean" expectations.
673
+ if (desiredServers.length > 0 ||
674
+ existingKeys.length > 0 ||
675
+ mcpPathExists) {
676
+ files.set(".cursor/mcp.json", renderMcpJson(selectedIds, existing));
677
+ }
507
678
  }
508
679
  return files;
509
680
  }
510
681
  export async function writeProjectCapabilityFiles(cwd, selected, platforms) {
511
- const files = buildProjectCapabilityTemplates(selected, platforms, loadStoredCapabilityStates(cwd));
682
+ const files = buildProjectCapabilityTemplates(selected, platforms, loadStoredCapabilityStates(cwd), { cwd });
512
683
  if (files.size === 0) {
513
684
  return;
514
685
  }