@planu/cli 0.77.0 → 0.79.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.
Files changed (125) hide show
  1. package/dist/cli/commands/serve.d.ts.map +1 -1
  2. package/dist/cli/commands/serve.js +1 -1
  3. package/dist/cli/commands/serve.js.map +1 -1
  4. package/dist/config/contradiction-patterns.json +83 -0
  5. package/dist/config/estimation-tables.json +49 -0
  6. package/dist/config/license-plans.json +6 -1
  7. package/dist/engine/ci-generator/local-script.d.ts +8 -0
  8. package/dist/engine/ci-generator/local-script.d.ts.map +1 -0
  9. package/dist/engine/ci-generator/local-script.js +177 -0
  10. package/dist/engine/ci-generator/local-script.js.map +1 -0
  11. package/dist/engine/ci-generator/planu-steps.d.ts.map +1 -1
  12. package/dist/engine/ci-generator/planu-steps.js +37 -22
  13. package/dist/engine/ci-generator/planu-steps.js.map +1 -1
  14. package/dist/engine/config-loader.d.ts +73 -0
  15. package/dist/engine/config-loader.d.ts.map +1 -0
  16. package/dist/engine/config-loader.js +246 -0
  17. package/dist/engine/config-loader.js.map +1 -0
  18. package/dist/engine/config-schemas.d.ts +64 -0
  19. package/dist/engine/config-schemas.d.ts.map +1 -0
  20. package/dist/engine/config-schemas.js +55 -0
  21. package/dist/engine/config-schemas.js.map +1 -0
  22. package/dist/engine/telemetry/index.d.ts +3 -0
  23. package/dist/engine/telemetry/index.d.ts.map +1 -0
  24. package/dist/engine/telemetry/index.js +4 -0
  25. package/dist/engine/telemetry/index.js.map +1 -0
  26. package/dist/engine/telemetry/telemetry-client.d.ts +7 -0
  27. package/dist/engine/telemetry/telemetry-client.d.ts.map +1 -0
  28. package/dist/engine/telemetry/telemetry-client.js +29 -0
  29. package/dist/engine/telemetry/telemetry-client.js.map +1 -0
  30. package/dist/engine/telemetry/telemetry-store.d.ts +11 -0
  31. package/dist/engine/telemetry/telemetry-store.d.ts.map +1 -0
  32. package/dist/engine/telemetry/telemetry-store.js +55 -0
  33. package/dist/engine/telemetry/telemetry-store.js.map +1 -0
  34. package/dist/index.js +12 -2
  35. package/dist/index.js.map +1 -1
  36. package/dist/storage/ideas-store.d.ts +15 -0
  37. package/dist/storage/ideas-store.d.ts.map +1 -0
  38. package/dist/storage/ideas-store.js +37 -0
  39. package/dist/storage/ideas-store.js.map +1 -0
  40. package/dist/tools/capture-idea-handler.d.ts +4 -0
  41. package/dist/tools/capture-idea-handler.d.ts.map +1 -0
  42. package/dist/tools/capture-idea-handler.js +39 -0
  43. package/dist/tools/capture-idea-handler.js.map +1 -0
  44. package/dist/tools/ci-planu-handler.d.ts +2 -2
  45. package/dist/tools/ci-planu-handler.d.ts.map +1 -1
  46. package/dist/tools/ci-planu-handler.js +55 -22
  47. package/dist/tools/ci-planu-handler.js.map +1 -1
  48. package/dist/tools/configure-telemetry.d.ts +3 -0
  49. package/dist/tools/configure-telemetry.d.ts.map +1 -0
  50. package/dist/tools/configure-telemetry.js +55 -0
  51. package/dist/tools/configure-telemetry.js.map +1 -0
  52. package/dist/tools/discard-idea-handler.d.ts +4 -0
  53. package/dist/tools/discard-idea-handler.d.ts.map +1 -0
  54. package/dist/tools/discard-idea-handler.js +27 -0
  55. package/dist/tools/discard-idea-handler.js.map +1 -0
  56. package/dist/tools/git/cleanup-ops.d.ts +15 -0
  57. package/dist/tools/git/cleanup-ops.d.ts.map +1 -0
  58. package/dist/tools/git/cleanup-ops.js +417 -0
  59. package/dist/tools/git/cleanup-ops.js.map +1 -0
  60. package/dist/tools/init-project/handler.d.ts.map +1 -1
  61. package/dist/tools/init-project/handler.js +22 -0
  62. package/dist/tools/init-project/handler.js.map +1 -1
  63. package/dist/tools/init-project/result-builder.d.ts.map +1 -1
  64. package/dist/tools/init-project/result-builder.js +5 -1
  65. package/dist/tools/init-project/result-builder.js.map +1 -1
  66. package/dist/tools/license-gate.d.ts +6 -0
  67. package/dist/tools/license-gate.d.ts.map +1 -1
  68. package/dist/tools/license-gate.js +14 -0
  69. package/dist/tools/license-gate.js.map +1 -1
  70. package/dist/tools/list-backlog-handler.d.ts +4 -0
  71. package/dist/tools/list-backlog-handler.d.ts.map +1 -0
  72. package/dist/tools/list-backlog-handler.js +60 -0
  73. package/dist/tools/list-backlog-handler.js.map +1 -0
  74. package/dist/tools/manage-git.d.ts.map +1 -1
  75. package/dist/tools/manage-git.js +3 -0
  76. package/dist/tools/manage-git.js.map +1 -1
  77. package/dist/tools/promote-idea-handler.d.ts +4 -0
  78. package/dist/tools/promote-idea-handler.d.ts.map +1 -0
  79. package/dist/tools/promote-idea-handler.js +51 -0
  80. package/dist/tools/promote-idea-handler.js.map +1 -0
  81. package/dist/tools/register-backlog-tools.d.ts +3 -0
  82. package/dist/tools/register-backlog-tools.d.ts.map +1 -0
  83. package/dist/tools/register-backlog-tools.js +81 -0
  84. package/dist/tools/register-backlog-tools.js.map +1 -0
  85. package/dist/tools/register-ci-tools.d.ts.map +1 -1
  86. package/dist/tools/register-ci-tools.js +8 -0
  87. package/dist/tools/register-ci-tools.js.map +1 -1
  88. package/dist/tools/register-telemetry-tools.d.ts +3 -0
  89. package/dist/tools/register-telemetry-tools.d.ts.map +1 -0
  90. package/dist/tools/register-telemetry-tools.js +19 -0
  91. package/dist/tools/register-telemetry-tools.js.map +1 -0
  92. package/dist/tools/schemas/infra.d.ts +1 -1
  93. package/dist/tools/schemas/lifecycle.d.ts +1 -0
  94. package/dist/tools/schemas/lifecycle.d.ts.map +1 -1
  95. package/dist/tools/schemas/lifecycle.js +2 -1
  96. package/dist/tools/schemas/lifecycle.js.map +1 -1
  97. package/dist/tools/update-status-actions.d.ts.map +1 -1
  98. package/dist/tools/update-status-actions.js +12 -0
  99. package/dist/tools/update-status-actions.js.map +1 -1
  100. package/dist/types/ci.d.ts +16 -1
  101. package/dist/types/ci.d.ts.map +1 -1
  102. package/dist/types/common/tech-enums.d.ts +1 -1
  103. package/dist/types/common/tech-enums.d.ts.map +1 -1
  104. package/dist/types/estimation.d.ts +34 -0
  105. package/dist/types/estimation.d.ts.map +1 -1
  106. package/dist/types/git.d.ts +24 -0
  107. package/dist/types/git.d.ts.map +1 -1
  108. package/dist/types/ideas.d.ts +37 -0
  109. package/dist/types/ideas.d.ts.map +1 -0
  110. package/dist/types/ideas.js +3 -0
  111. package/dist/types/ideas.js.map +1 -0
  112. package/dist/types/index.d.ts +2 -0
  113. package/dist/types/index.d.ts.map +1 -1
  114. package/dist/types/index.js +2 -0
  115. package/dist/types/index.js.map +1 -1
  116. package/dist/types/project/planu-config.d.ts +2 -0
  117. package/dist/types/project/planu-config.d.ts.map +1 -1
  118. package/dist/types/telemetry.d.ts +24 -0
  119. package/dist/types/telemetry.d.ts.map +1 -0
  120. package/dist/types/telemetry.js +3 -0
  121. package/dist/types/telemetry.js.map +1 -0
  122. package/package.json +1 -1
  123. package/src/config/contradiction-patterns.json +83 -0
  124. package/src/config/estimation-tables.json +49 -0
  125. package/src/config/license-plans.json +6 -1
@@ -69,6 +69,20 @@ export function invalidateTierCache() {
69
69
  cachedTier = null;
70
70
  cacheTimestamp = 0;
71
71
  }
72
+ /**
73
+ * Synchronous tier estimate based on environment variables only — no disk I/O.
74
+ * Used at server startup to set the display name before async validation runs.
75
+ * Returns 'enterprise' for owner token, 'pro' if a license key env var is set, 'free' otherwise.
76
+ */
77
+ export function getTierSync() {
78
+ if (checkOwnerOverride()) {
79
+ return 'enterprise';
80
+ }
81
+ if (process.env.SDD_LICENSE_KEY?.trim()) {
82
+ return 'pro';
83
+ }
84
+ return 'free';
85
+ }
72
86
  // ---------------------------------------------------------------------------
73
87
  // Per-session license resolution (hosted multi-tenant mode)
74
88
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"license-gate.js","sourceRoot":"","sources":["../../src/tools/license-gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"license-gate.js","sourceRoot":"","sources":["../../src/tools/license-gate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { ToolResult, ListBacklogInput } from '../types/index.js';
2
+ /** Handle list_backlog tool call. */
3
+ export declare function handleListBacklog(input: ListBacklogInput): Promise<ToolResult>;
4
+ //# sourceMappingURL=list-backlog-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-backlog-handler.d.ts","sourceRoot":"","sources":["../../src/tools/list-backlog-handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAY,MAAM,mBAAmB,CAAC;AAkChF,qCAAqC;AACrC,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAiCpF"}
@@ -0,0 +1,60 @@
1
+ import { loadIdeas } from '../storage/ideas-store.js';
2
+ const STATUS_LABELS = {
3
+ new: 'New',
4
+ 'in-review': 'In Review',
5
+ converted: 'Converted',
6
+ discarded: 'Discarded',
7
+ };
8
+ function isExpired(idea) {
9
+ if (!idea.expiresAt) {
10
+ return false;
11
+ }
12
+ return new Date(idea.expiresAt) < new Date();
13
+ }
14
+ function formatIdea(idea) {
15
+ const expiredFlag = isExpired(idea) ? ' ⚠️ expired' : '';
16
+ const status = STATUS_LABELS[idea.status];
17
+ const tags = idea.tags.length > 0 ? ` [${idea.tags.join(', ')}]` : '';
18
+ return `- **${idea.id}**${expiredFlag}: ${idea.title}${tags} (${status})`;
19
+ }
20
+ /** Group ideas by first tag (or "untagged" if no tags). */
21
+ function groupByTag(ideas) {
22
+ const groups = new Map();
23
+ for (const idea of ideas) {
24
+ const key = idea.tags[0] ?? 'untagged';
25
+ const group = groups.get(key) ?? [];
26
+ group.push(idea);
27
+ groups.set(key, group);
28
+ }
29
+ return groups;
30
+ }
31
+ /** Handle list_backlog tool call. */
32
+ export async function handleListBacklog(input) {
33
+ const { projectPath, status, tag } = input;
34
+ const all = await loadIdeas(projectPath);
35
+ let filtered = all;
36
+ if (status) {
37
+ filtered = filtered.filter((i) => i.status === status);
38
+ }
39
+ if (tag) {
40
+ filtered = filtered.filter((i) => i.tags.includes(tag));
41
+ }
42
+ if (filtered.length === 0) {
43
+ return {
44
+ content: [{ type: 'text', text: 'No ideas found matching the given filters.' }],
45
+ };
46
+ }
47
+ const groups = groupByTag(filtered);
48
+ const lines = [`## Ideas Backlog (${filtered.length} idea${filtered.length !== 1 ? 's' : ''})`, ''];
49
+ for (const [groupTag, groupIdeas] of groups) {
50
+ lines.push(`### ${groupTag}`);
51
+ for (const idea of groupIdeas) {
52
+ lines.push(formatIdea(idea));
53
+ }
54
+ lines.push('');
55
+ }
56
+ return {
57
+ content: [{ type: 'text', text: lines.join('\n') }],
58
+ };
59
+ }
60
+ //# sourceMappingURL=list-backlog-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-backlog-handler.js","sourceRoot":"","sources":["../../src/tools/list-backlog-handler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"manage-git.d.ts","sourceRoot":"","sources":["../../src/tools/manage-git.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAUpE,wBAAsB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAoEjF"}
1
+ {"version":3,"file":"manage-git.d.ts","sourceRoot":"","sources":["../../src/tools/manage-git.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAWpE,wBAAsB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAuEjF"}
@@ -6,6 +6,7 @@ import { handleSetupHooks } from './git/hook-ops.js';
6
6
  import { handleSyncBranch, handleCheckGitflow, handleResolveConflict } from './git/sync-ops.js';
7
7
  import { handleBreakingCheck } from './git/breaking-ops.js';
8
8
  import { handleRelease, handleHotfix, handlePromote } from './git/release-ops.js';
9
+ import { handleCleanup } from './git/cleanup-ops.js';
9
10
  export async function handleManageGit(params) {
10
11
  const { projectId, action, specId, config, files } = params;
11
12
  try {
@@ -40,6 +41,8 @@ export async function handleManageGit(params) {
40
41
  return await handlePromote(projectId, config);
41
42
  case 'auto-setup':
42
43
  return await handleAutoSetup(projectId, specId, config);
44
+ case 'cleanup':
45
+ return await handleCleanup(projectId, config);
43
46
  default:
44
47
  return {
45
48
  content: [
@@ -1 +1 @@
1
- {"version":3,"file":"manage-git.js","sourceRoot":"","sources":["../../src/tools/manage-git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manage-git.js","sourceRoot":"","sources":["../../src/tools/manage-git.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { ToolResult, PromoteIdeaInput } from '../types/index.js';
2
+ /** Handle promote_idea tool call. */
3
+ export declare function handlePromoteIdea(input: PromoteIdeaInput): Promise<ToolResult>;
4
+ //# sourceMappingURL=promote-idea-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promote-idea-handler.d.ts","sourceRoot":"","sources":["../../src/tools/promote-idea-handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAUtE,qCAAqC;AACrC,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAkDpF"}
@@ -0,0 +1,51 @@
1
+ import { loadIdeas, updateIdea } from '../storage/ideas-store.js';
2
+ import { handleCreateSpec } from './create-spec.js';
3
+ /** Extract specId from create_spec response text (format: "SPEC-NNN"). */
4
+ function extractSpecId(text) {
5
+ const match = /SPEC-\d+/.exec(text);
6
+ return match?.[0];
7
+ }
8
+ /** Handle promote_idea tool call. */
9
+ export async function handlePromoteIdea(input) {
10
+ const { projectPath, ideaId } = input;
11
+ const ideas = await loadIdeas(projectPath);
12
+ const idea = ideas.find((i) => i.id === ideaId);
13
+ if (!idea) {
14
+ return {
15
+ content: [{ type: 'text', text: `Idea not found: ${ideaId}` }],
16
+ isError: true,
17
+ };
18
+ }
19
+ if (idea.status !== 'new' && idea.status !== 'in-review') {
20
+ return {
21
+ content: [
22
+ {
23
+ type: 'text',
24
+ text: `Cannot promote idea with status "${idea.status}". Only "new" or "in-review" ideas can be promoted.`,
25
+ },
26
+ ],
27
+ isError: true,
28
+ };
29
+ }
30
+ const createResult = await handleCreateSpec({
31
+ title: idea.title,
32
+ description: idea.description,
33
+ projectPath,
34
+ tags: idea.tags,
35
+ });
36
+ const resultText = createResult.content
37
+ .map((c) => c.text)
38
+ .join('\n');
39
+ const specId = extractSpecId(resultText);
40
+ await updateIdea(projectPath, ideaId, {
41
+ status: 'converted',
42
+ specId,
43
+ });
44
+ const confirmation = specId
45
+ ? `Idea "${idea.title}" promoted to spec ${specId}.`
46
+ : `Idea "${idea.title}" promoted to spec.`;
47
+ return {
48
+ content: [{ type: 'text', text: confirmation }],
49
+ };
50
+ }
51
+ //# sourceMappingURL=promote-idea-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promote-idea-handler.js","sourceRoot":"","sources":["../../src/tools/promote-idea-handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,0EAA0E;AAC1E,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,qCAAqC;AACrC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAAuB;IAC7D,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAEtC,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IAEhD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,MAAM,EAAE,EAAE,CAAC;YAC9D,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QACzD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,oCAAoC,IAAI,CAAC,MAAM,qDAAqD;iBAC3G;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC;QAC1C,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO;SACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAClB,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IAEzC,MAAM,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE;QACpC,MAAM,EAAE,WAAW;QACnB,MAAM;KACP,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,MAAM;QACzB,CAAC,CAAC,SAAS,IAAI,CAAC,KAAK,sBAAsB,MAAM,GAAG;QACpD,CAAC,CAAC,SAAS,IAAI,CAAC,KAAK,qBAAqB,CAAC;IAE7C,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;KAChD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ export declare function registerBacklogTools(server: McpServer): void;
3
+ //# sourceMappingURL=register-backlog-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-backlog-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-backlog-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAczE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAkG5D"}
@@ -0,0 +1,81 @@
1
+ import { z } from 'zod';
2
+ import { safeLicensed } from './safe-handler.js';
3
+ import { handleCaptureIdea } from './capture-idea-handler.js';
4
+ import { handleListBacklog } from './list-backlog-handler.js';
5
+ import { handlePromoteIdea } from './promote-idea-handler.js';
6
+ import { handleDiscardIdea } from './discard-idea-handler.js';
7
+ export function registerBacklogTools(server) {
8
+ server.registerTool('capture_idea', {
9
+ description: 'Capture a lightweight idea or future possibility without creating a full spec. ' +
10
+ 'Use when the user expresses non-urgent ideas (e.g. "sería bueno", "a futuro", "what if"). ' +
11
+ 'Ideas expire after 90 days and can later be promoted to a spec with promote_idea.',
12
+ inputSchema: {
13
+ projectId: z.string().min(1).describe('Project ID.'),
14
+ projectPath: z.string().min(1).describe('Absolute path to the project root.'),
15
+ title: z.string().min(3).max(200).describe('Short title for the idea.'),
16
+ description: z
17
+ .string()
18
+ .min(5)
19
+ .max(2000)
20
+ .describe('Detailed description of the idea or future possibility.'),
21
+ tags: z
22
+ .array(z.string().max(50))
23
+ .max(10)
24
+ .optional()
25
+ .describe('Optional tags to group related ideas (e.g. ["ux", "performance"]).'),
26
+ },
27
+ annotations: { readOnlyHint: false },
28
+ }, safeLicensed('capture_idea', async (args) => handleCaptureIdea(args)));
29
+ server.registerTool('list_backlog', {
30
+ description: 'List all captured ideas in the project backlog. ' +
31
+ 'Optionally filter by status or tag. Groups results by tag. ' +
32
+ 'Expired ideas are shown with a ⚠️ indicator.',
33
+ inputSchema: {
34
+ projectId: z.string().min(1).describe('Project ID.'),
35
+ projectPath: z.string().min(1).describe('Absolute path to the project root.'),
36
+ status: z
37
+ .enum(['new', 'in-review', 'converted', 'discarded'])
38
+ .optional()
39
+ .describe('Filter by idea status. Valid values: new | in-review | converted | discarded'),
40
+ tag: z
41
+ .string()
42
+ .max(50)
43
+ .optional()
44
+ .describe('Filter by a specific tag (exact match).'),
45
+ },
46
+ annotations: { readOnlyHint: true },
47
+ }, safeLicensed('list_backlog', async (args) => handleListBacklog(args)));
48
+ server.registerTool('promote_idea', {
49
+ description: 'Promote a backlog idea to a full spec by calling create_spec internally. ' +
50
+ 'Only ideas with status "new" or "in-review" can be promoted. ' +
51
+ 'After promotion the idea is marked as "converted" with the resulting specId.',
52
+ inputSchema: {
53
+ projectId: z.string().min(1).describe('Project ID.'),
54
+ projectPath: z.string().min(1).describe('Absolute path to the project root.'),
55
+ ideaId: z
56
+ .string()
57
+ .min(1)
58
+ .describe('ID of the idea to promote (e.g. "idea-20260321-001").'),
59
+ },
60
+ annotations: { readOnlyHint: false },
61
+ }, safeLicensed('promote_idea', async (args) => handlePromoteIdea(args)));
62
+ server.registerTool('discard_idea', {
63
+ description: 'Mark a backlog idea as discarded with a reason. ' +
64
+ 'Idempotent — calling this on an already-discarded idea is safe and returns a confirmation.',
65
+ inputSchema: {
66
+ projectId: z.string().min(1).describe('Project ID.'),
67
+ projectPath: z.string().min(1).describe('Absolute path to the project root.'),
68
+ ideaId: z
69
+ .string()
70
+ .min(1)
71
+ .describe('ID of the idea to discard (e.g. "idea-20260321-001").'),
72
+ reason: z
73
+ .string()
74
+ .min(3)
75
+ .max(500)
76
+ .describe('Reason for discarding the idea (shown in backlog history).'),
77
+ },
78
+ annotations: { readOnlyHint: false, destructiveHint: true },
79
+ }, safeLicensed('discard_idea', async (args) => handleDiscardIdea(args)));
80
+ }
81
+ //# sourceMappingURL=register-backlog-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-backlog-tools.js","sourceRoot":"","sources":["../../src/tools/register-backlog-tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"register-ci-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-ci-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA0HvD"}
1
+ {"version":3,"file":"register-ci-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-ci-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsIvD"}
@@ -88,6 +88,14 @@ export function registerCITools(server) {
88
88
  .max(4096)
89
89
  .optional()
90
90
  .describe('Working directory for monorepo projects (default: ".")'),
91
+ includeGithubActions: z
92
+ .boolean()
93
+ .optional()
94
+ .describe('Include GitHub Actions workflow YAML (default: true). Set false for users without GitHub billing — a local planu-check.sh script is always generated regardless.'),
95
+ gitHook: z
96
+ .boolean()
97
+ .optional()
98
+ .describe('Mark for git pre-push hook integration in the output instructions (default: false)'),
91
99
  },
92
100
  annotations: { readOnlyHint: true },
93
101
  }, safeLicensed('generate_planu_ci', (args) => Promise.resolve(handleGeneratePlanuCI(args))));
@@ -1 +1 @@
1
- {"version":3,"file":"register-ci-tools.js","sourceRoot":"","sources":["../../src/tools/register-ci-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register-ci-tools.js","sourceRoot":"","sources":["../../src/tools/register-ci-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ export declare function registerTelemetryTools(server: McpServer): void;
3
+ //# sourceMappingURL=register-telemetry-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-telemetry-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-telemetry-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuB9D"}
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod';
2
+ import { safeTracked } from './safe-handler.js';
3
+ import { handleConfigureTelemetry } from './configure-telemetry.js';
4
+ export function registerTelemetryTools(server) {
5
+ server.registerTool('configure_telemetry', {
6
+ description: 'Enable, disable, or check the status of anonymous opt-in telemetry. ' +
7
+ 'Telemetry is OFF by default. When enabled, only anonymous usage events are sent ' +
8
+ '(tool names, stack info) — no paths, emails, or personal data. ' +
9
+ 'A random installation ID is generated locally and is the only identifier used.',
10
+ inputSchema: {
11
+ projectId: z.string().min(1).describe('Project ID (used for context only).'),
12
+ action: z
13
+ .enum(['enable', 'disable', 'status'])
14
+ .describe('Action to perform: "enable" to opt in, "disable" to opt out, "status" to check current state.'),
15
+ },
16
+ annotations: { title: 'Configure Telemetry', readOnlyHint: false },
17
+ }, safeTracked('configure_telemetry', async (args) => handleConfigureTelemetry(args)));
18
+ }
19
+ //# sourceMappingURL=register-telemetry-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-telemetry-tools.js","sourceRoot":"","sources":["../../src/tools/register-telemetry-tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAGpE,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,WAAW,EACT,sEAAsE;YACtE,kFAAkF;YAClF,iEAAiE;YACjE,gFAAgF;QAClF,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qCAAqC,CAAC;YAC5E,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;iBACrC,QAAQ,CACP,+FAA+F,CAChG;SACJ;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,KAAK,EAAE;KACnE,EACD,WAAW,CAAC,qBAAqB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAChD,wBAAwB,CAAC,IAA+B,CAAC,CAC1D,CACF,CAAC;AACJ,CAAC"}
@@ -13,11 +13,11 @@ export declare const OrchestrateActionEnum: z.ZodEnum<{
13
13
  journal: "journal";
14
14
  }>;
15
15
  export declare const ManageContextActionEnum: z.ZodEnum<{
16
+ cleanup: "cleanup";
16
17
  load: "load";
17
18
  delete: "delete";
18
19
  list: "list";
19
20
  save: "save";
20
- cleanup: "cleanup";
21
21
  }>;
22
22
  export declare const ContextBudgetActionEnum: z.ZodEnum<{
23
23
  status: "status";
@@ -37,6 +37,7 @@ export declare const GitActionEnum: z.ZodEnum<{
37
37
  hotfix: "hotfix";
38
38
  promote: "promote";
39
39
  "auto-setup": "auto-setup";
40
+ cleanup: "cleanup";
40
41
  }>;
41
42
  export declare const DevLifecycleCategoryEnum: z.ZodEnum<{
42
43
  search: "search";
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../src/tools/schemas/lifecycle.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;EAyB/B,CAAC;AACJ,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;EAoBvB,CAAC;AACJ,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BlC,CAAC;AACJ,eAAO,MAAM,cAAc;;;;;;;;;EAIxB,CAAC;AACJ,eAAO,MAAM,YAAY;;;;;EAEqD,CAAC"}
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../src/tools/schemas/lifecycle.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;EAyB/B,CAAC;AACJ,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;EAqBvB,CAAC;AACJ,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BlC,CAAC;AACJ,eAAO,MAAM,cAAc;;;;;;;;;EAIxB,CAAC;AACJ,eAAO,MAAM,YAAY;;;;;EAEqD,CAAC"}
@@ -41,8 +41,9 @@ export const GitActionEnum = z
41
41
  'hotfix',
42
42
  'promote',
43
43
  'auto-setup',
44
+ 'cleanup',
44
45
  ])
45
- .describe('Git action: create-branch | generate-pr | link-commits | generate-changelog | setup-hooks | check-branch | status | sync-branch | check-gitflow | resolve-conflict | breaking-check | release | hotfix | promote | auto-setup');
46
+ .describe('Git action: create-branch | generate-pr | link-commits | generate-changelog | setup-hooks | check-branch | status | sync-branch | check-gitflow | resolve-conflict | breaking-check | release | hotfix | promote | auto-setup | cleanup');
46
47
  export const DevLifecycleCategoryEnum = z
47
48
  .enum([
48
49
  'project_management',
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../src/tools/schemas/lifecycle.ts"],"names":[],"mappings":"AAAA,wFAAwF;AAExF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,IAAI,CAAC;IACJ,YAAY;IACZ,eAAe;IACf,QAAQ;IACR,aAAa;IACb,WAAW;IACX,YAAY;IACZ,KAAK;IACL,kBAAkB;IAClB,kBAAkB;IAClB,cAAc;IACd,eAAe;IACf,eAAe;IACf,SAAS;IACT,cAAc;IACd,2BAA2B;IAC3B,cAAc;IACd,2BAA2B;IAC3B,mBAAmB;IACnB,oBAAoB;IACpB,oBAAoB;CACrB,CAAC;KACD,QAAQ,CACP,+UAA+U,CAChV,CAAC;AACJ,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,IAAI,CAAC;IACJ,eAAe;IACf,aAAa;IACb,cAAc;IACd,oBAAoB;IACpB,aAAa;IACb,cAAc;IACd,QAAQ;IACR,aAAa;IACb,eAAe;IACf,kBAAkB;IAClB,gBAAgB;IAChB,SAAS;IACT,QAAQ;IACR,SAAS;IACT,YAAY;CACb,CAAC;KACD,QAAQ,CACP,+NAA+N,CAChO,CAAC;AACJ,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,IAAI,CAAC;IACJ,oBAAoB;IACpB,iBAAiB;IACjB,OAAO;IACP,SAAS;IACT,gBAAgB;IAChB,QAAQ;IACR,cAAc;IACd,UAAU;IACV,eAAe;IACf,eAAe;IACf,WAAW;IACX,SAAS;IACT,UAAU;IACV,mBAAmB;IACnB,oBAAoB;IACpB,yBAAyB;IACzB,kBAAkB;IAClB,OAAO;IACP,UAAU;IACV,kBAAkB;IAClB,gBAAgB;IAChB,KAAK;IACL,MAAM;IACN,eAAe;IACf,oBAAoB;CACrB,CAAC;KACD,QAAQ,CACP,oYAAoY,CACrY,CAAC;AACJ,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;KAC7F,QAAQ,CACP,2FAA2F,CAC5F,CAAC;AACJ,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,IAAI,CAAC,CAAC,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;KACjE,QAAQ,CAAC,iEAAiE,CAAC,CAAC"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../src/tools/schemas/lifecycle.ts"],"names":[],"mappings":"AAAA,wFAAwF;AAExF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,IAAI,CAAC;IACJ,YAAY;IACZ,eAAe;IACf,QAAQ;IACR,aAAa;IACb,WAAW;IACX,YAAY;IACZ,KAAK;IACL,kBAAkB;IAClB,kBAAkB;IAClB,cAAc;IACd,eAAe;IACf,eAAe;IACf,SAAS;IACT,cAAc;IACd,2BAA2B;IAC3B,cAAc;IACd,2BAA2B;IAC3B,mBAAmB;IACnB,oBAAoB;IACpB,oBAAoB;CACrB,CAAC;KACD,QAAQ,CACP,+UAA+U,CAChV,CAAC;AACJ,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,IAAI,CAAC;IACJ,eAAe;IACf,aAAa;IACb,cAAc;IACd,oBAAoB;IACpB,aAAa;IACb,cAAc;IACd,QAAQ;IACR,aAAa;IACb,eAAe;IACf,kBAAkB;IAClB,gBAAgB;IAChB,SAAS;IACT,QAAQ;IACR,SAAS;IACT,YAAY;IACZ,SAAS;CACV,CAAC;KACD,QAAQ,CACP,yOAAyO,CAC1O,CAAC;AACJ,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,IAAI,CAAC;IACJ,oBAAoB;IACpB,iBAAiB;IACjB,OAAO;IACP,SAAS;IACT,gBAAgB;IAChB,QAAQ;IACR,cAAc;IACd,UAAU;IACV,eAAe;IACf,eAAe;IACf,WAAW;IACX,SAAS;IACT,UAAU;IACV,mBAAmB;IACnB,oBAAoB;IACpB,yBAAyB;IACzB,kBAAkB;IAClB,OAAO;IACP,UAAU;IACV,kBAAkB;IAClB,gBAAgB;IAChB,KAAK;IACL,MAAM;IACN,eAAe;IACf,oBAAoB;CACrB,CAAC;KACD,QAAQ,CACP,oYAAoY,CACrY,CAAC;AACJ,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;KAC7F,QAAQ,CACP,2FAA2F,CAC5F,CAAC;AACJ,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,IAAI,CAAC,CAAC,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;KACjE,QAAQ,CAAC,iEAAiE,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"update-status-actions.d.ts","sourceRoot":"","sources":["../../src/tools/update-status-actions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAO/D,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IACT,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC,CA0CD;AAED,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,OAAO,CAAC;IACT,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACrD,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC,CAAC,CA6DD;AAED;;;GAGG;AACH,wBAAsB,6BAA6B,CACjD,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAWlC"}
1
+ {"version":3,"file":"update-status-actions.d.ts","sourceRoot":"","sources":["../../src/tools/update-status-actions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAQ/D,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IACT,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC,CA0CD;AAED,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,OAAO,CAAC;IACT,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACrD,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC,CAAC,CAwED;AAED;;;GAGG;AACH,wBAAsB,6BAA6B,CACjD,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAWlC"}
@@ -3,6 +3,7 @@ import { handleCreateBranch } from './git/branch-ops.js';
3
3
  import { handleGeneratePr } from './git/pr-ops.js';
4
4
  import { handleValidate } from './validate.js';
5
5
  import { checkConstitutionCompliance } from './create-spec-tech.js';
6
+ import { cleanupSpecOnDone } from './git/cleanup-ops.js';
6
7
  export async function runImplementingActions(projectId, specId) {
7
8
  let autoBranch;
8
9
  let protectedBranchWarning = null;
@@ -99,6 +100,17 @@ export async function runDoneActions(projectId, specId, gitBranch) {
99
100
  catch {
100
101
  // Validation is best-effort — continue with transition
101
102
  }
103
+ // AC-01: Cleanup worktree, local branch, and remote branch for done spec (best-effort)
104
+ try {
105
+ const { resolveProjectPath } = await import('./git/git-helpers.js');
106
+ const projectPath = await resolveProjectPath(projectId);
107
+ void cleanupSpecOnDone(projectPath, specId, gitBranch).catch(() => {
108
+ /* best-effort — never blocks status transition */
109
+ });
110
+ }
111
+ catch {
112
+ // Project path unavailable — skip cleanup silently
113
+ }
102
114
  return { mergeWarning, prSuggestion, validationWarning, uncommittedWarning };
103
115
  }
104
116
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"update-status-actions.js","sourceRoot":"","sources":["../../src/tools/update-status-actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-status-actions.js","sourceRoot":"","sources":["../../src/tools/update-status-actions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,SAAiB,EACjB,MAAc;IAMd,IAAI,UAA8B,CAAC;IACnC,IAAI,sBAAsB,GAAkB,IAAI,CAAC;IAEjD,iCAAiC;IACjC,IAAI,CAAC;QACH,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACjF,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;QACpF,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QACtE,IAAI,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9C,sBAAsB,GAAG,kCAAkC,aAAa,4CAA4C,CAAC;QACvH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,8BAA8B;IAChC,CAAC;IAED,qBAAqB;IACrB,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7D,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACjE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,CAElE,CAAC;gBACF,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;YACrC,CAAC;YAAC,MAAM,CAAC;gBACP,qBAAqB;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,UAAU;QACV,sBAAsB;QACtB,WAAW,EAAE;YACX,qEAAqE;YACrE,2CAA2C;SAC5C;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,SAAiB,EACjB,MAAc,EACd,SAA6B;IAO7B,IAAI,YAAY,GAAkB,IAAI,CAAC;IACvC,IAAI,YAAY,GAA2C,IAAI,CAAC;IAChE,IAAI,iBAAiB,GAAkB,IAAI,CAAC;IAC5C,IAAI,kBAAkB,GAAkB,IAAI,CAAC;IAE7C,gCAAgC;IAChC,IAAI,CAAC;QACH,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACjF,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;QACxE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,kBAAkB,GAAG,oIAAoI,MAAM,eAAe,CAAC;QACjL,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iDAAiD;IACnD,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,kCAAkC;QAClC,IAAI,CAAC;YACH,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YACjF,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACxD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;YAChF,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YACzF,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxC,YAAY,GAAG,WAAW,SAAS,gFAAgF,CAAC;YACtH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,+CAA+C;QACjD,CAAC;QAED,6CAA6C;QAC7C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC3D,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,CAG1D,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,+BAA+B;QACjC,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAuB,CAAC;YAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC;YAClC,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;gBACf,iBAAiB,GAAG,qBAAqB,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC;YACrG,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uDAAuD;IACzD,CAAC;IAED,uFAAuF;IACvF,IAAI,CAAC;QACH,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACpE,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACxD,KAAK,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAChE,kDAAkD;QACpD,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,mDAAmD;IACrD,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAC;AAC/E,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,SAAiB,EACjB,KAAa,EACb,IAAc;IAEd,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACrE,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1D,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,2BAA2B,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,8DAA8D;QAC9D,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
@@ -111,6 +111,10 @@ export interface GeneratePlanuCIInput {
111
111
  postComment?: boolean;
112
112
  badge?: boolean;
113
113
  workingDirectory?: string;
114
+ /** Include GitHub Actions workflow YAML (default: true). Set false for local-only users without billing. */
115
+ includeGithubActions?: boolean;
116
+ /** Install the local script as a git pre-push hook (default: false). */
117
+ gitHook?: boolean;
114
118
  }
115
119
  /** Result of generating a planu-check CI workflow */
116
120
  export interface GeneratePlanuCIResult {
@@ -119,14 +123,25 @@ export interface GeneratePlanuCIResult {
119
123
  planuConfigYaml: string;
120
124
  badgeMarkdown: string;
121
125
  features: PlanuCIFeature[];
126
+ /** Bash script content for planu-check.sh (always generated). */
127
+ localScript: string;
128
+ /** Path where planu-check.sh should be saved. */
129
+ localScriptPath: string;
122
130
  }
123
131
  /** Features included in the generated planu CI workflow */
124
- export type PlanuCIFeature = 'validate' | 'detect-drift' | 'pr-comment' | 'fail-on-drift' | 'badge' | 'planu-config';
132
+ export type PlanuCIFeature = 'validate' | 'detect-drift' | 'pr-comment' | 'fail-on-drift' | 'badge' | 'planu-config' | 'local-script' | 'git-hook';
125
133
  /** Options for including a Planu drift detection job in the workflow. */
126
134
  export interface DriftJobOptions {
127
135
  specsDir: string;
128
136
  threshold: CISeverityThreshold;
129
137
  }
138
+ /** Options for generating the local planu-check.sh script (SPEC-201) */
139
+ export interface LocalScriptOptions {
140
+ specsDir: string;
141
+ detectDrift: boolean;
142
+ failOnDrift: boolean;
143
+ severityThreshold: CISeverityThreshold;
144
+ }
130
145
  /** Options for generating a .planu.yml config file */
131
146
  export interface PlanuConfigOptions {
132
147
  specsDir: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ci.d.ts","sourceRoot":"","sources":["../../src/types/ci.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ci.d.ts","sourceRoot":"","sources":["../../src/types/ci.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ export type SubAgentFramework = 'claude-agent-sdk' | 'crewai' | 'langgraph' | 'a
15
15
  export type AuditCategory = 'solid' | 'clean-code' | 'architecture' | 'security' | 'performance' | 'error-handling' | 'testing' | 'dry' | 'project-rules' | 'quality';
16
16
  export type DiagramType = 'data-flow' | 'sequence' | 'er' | 'component' | 'architecture' | 'state-machine' | 'dependency' | 'deployment' | 'class' | 'gantt' | 'pie';
17
17
  export type DocumentationType = 'user-guide' | 'api-reference' | 'readme' | 'setup-guide' | 'changelog' | 'onboarding' | 'faq' | 'architecture-doc' | 'deployment-guide' | 'database-doc' | 'help-articles' | 'release-notes' | 'runbook' | 'security-doc' | 'architecture-decision-log' | 'contributing' | 'bounded-context-map' | 'mobile-distribution-guide' | 'executive-summary' | 'per-spec-executive' | 'per-spec-technical';
18
- export type GitAction = 'create-branch' | 'generate-pr' | 'link-commits' | 'generate-changelog' | 'setup-hooks' | 'check-branch' | 'status' | 'sync-branch' | 'check-gitflow' | 'resolve-conflict' | 'breaking-check' | 'release' | 'hotfix' | 'promote' | 'auto-setup';
18
+ export type GitAction = 'create-branch' | 'generate-pr' | 'link-commits' | 'generate-changelog' | 'setup-hooks' | 'check-branch' | 'status' | 'sync-branch' | 'check-gitflow' | 'resolve-conflict' | 'breaking-check' | 'release' | 'hotfix' | 'promote' | 'auto-setup' | 'cleanup';
19
19
  export type DevLifecycleCategory = 'project_management' | 'version_control' | 'ci_cd' | 'caching' | 'message_queues' | 'search' | 'file_storage' | 'realtime' | 'feature_flags' | 'observability' | 'analytics' | 'testing' | 'security' | 'api_documentation' | 'design_prototyping' | 'email_sms_notifications' | 'payments_billing' | 'ai_ml' | 'cdn_edge' | 'containerization' | 'scheduled_jobs' | 'cms' | 'i18n' | 'rate_limiting' | 'linting_formatting';
20
20
  export type LinterTool = 'eslint' | 'biome' | 'prettier' | 'stylelint' | 'oxlint' | 'ruff' | 'pylint' | 'flake8' | 'black' | 'isort' | 'mypy' | 'golangci-lint' | 'gofmt' | 'govet' | 'clippy' | 'rustfmt' | 'checkstyle' | 'spotless' | 'ktlint' | 'detekt' | 'phpstan' | 'php-cs-fixer' | 'phpcs' | 'rubocop' | 'dotnet-format' | 'roslyn-analyzers' | 'dart-analyze' | 'dart-format' | 'swiftlint' | 'swiftformat' | 'periphery' | 'android-lint' | 'editorconfig' | 'commitlint' | 'markdownlint' | 'hadolint' | 'actionlint' | 'shellcheck' | 'sqlfluff';
21
21
  //# sourceMappingURL=tech-enums.d.ts.map