@slope-dev/slope 1.13.1 → 1.15.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 (192) hide show
  1. package/README.md +118 -189
  2. package/dist/adapters.d.ts +3 -0
  3. package/dist/adapters.d.ts.map +1 -1
  4. package/dist/adapters.js +2 -0
  5. package/dist/adapters.js.map +1 -1
  6. package/dist/cli/commands/context.d.ts +2 -0
  7. package/dist/cli/commands/context.d.ts.map +1 -0
  8. package/dist/cli/commands/context.js +190 -0
  9. package/dist/cli/commands/context.js.map +1 -0
  10. package/dist/cli/commands/distill.d.ts.map +1 -1
  11. package/dist/cli/commands/distill.js +13 -4
  12. package/dist/cli/commands/distill.js.map +1 -1
  13. package/dist/cli/commands/enrich.d.ts +2 -0
  14. package/dist/cli/commands/enrich.d.ts.map +1 -0
  15. package/dist/cli/commands/enrich.js +140 -0
  16. package/dist/cli/commands/enrich.js.map +1 -0
  17. package/dist/cli/commands/guard.d.ts +19 -0
  18. package/dist/cli/commands/guard.d.ts.map +1 -1
  19. package/dist/cli/commands/guard.js +87 -1
  20. package/dist/cli/commands/guard.js.map +1 -1
  21. package/dist/cli/commands/hook.d.ts +1 -0
  22. package/dist/cli/commands/hook.d.ts.map +1 -1
  23. package/dist/cli/commands/hook.js +2 -0
  24. package/dist/cli/commands/hook.js.map +1 -1
  25. package/dist/cli/commands/index-cmd.d.ts +2 -0
  26. package/dist/cli/commands/index-cmd.d.ts.map +1 -0
  27. package/dist/cli/commands/index-cmd.js +296 -0
  28. package/dist/cli/commands/index-cmd.js.map +1 -0
  29. package/dist/cli/commands/init.d.ts +4 -2
  30. package/dist/cli/commands/init.d.ts.map +1 -1
  31. package/dist/cli/commands/init.js +204 -145
  32. package/dist/cli/commands/init.js.map +1 -1
  33. package/dist/cli/commands/initiative.d.ts +2 -0
  34. package/dist/cli/commands/initiative.d.ts.map +1 -0
  35. package/dist/cli/commands/initiative.js +207 -0
  36. package/dist/cli/commands/initiative.js.map +1 -0
  37. package/dist/cli/commands/metaphor.d.ts +3 -0
  38. package/dist/cli/commands/metaphor.d.ts.map +1 -0
  39. package/dist/cli/commands/metaphor.js +100 -0
  40. package/dist/cli/commands/metaphor.js.map +1 -0
  41. package/dist/cli/commands/prep.d.ts +2 -0
  42. package/dist/cli/commands/prep.d.ts.map +1 -0
  43. package/dist/cli/commands/prep.js +94 -0
  44. package/dist/cli/commands/prep.js.map +1 -0
  45. package/dist/cli/commands/roadmap.d.ts.map +1 -1
  46. package/dist/cli/commands/roadmap.js +83 -44
  47. package/dist/cli/commands/roadmap.js.map +1 -1
  48. package/dist/cli/commands/store.d.ts +2 -0
  49. package/dist/cli/commands/store.d.ts.map +1 -0
  50. package/dist/cli/commands/store.js +270 -0
  51. package/dist/cli/commands/store.js.map +1 -0
  52. package/dist/cli/guards/stop-check.d.ts +1 -1
  53. package/dist/cli/guards/stop-check.d.ts.map +1 -1
  54. package/dist/cli/guards/stop-check.js +14 -2
  55. package/dist/cli/guards/stop-check.js.map +1 -1
  56. package/dist/cli/index.js +60 -1
  57. package/dist/cli/index.js.map +1 -1
  58. package/dist/cli/interactive-init.d.ts +19 -0
  59. package/dist/cli/interactive-init.d.ts.map +1 -0
  60. package/dist/cli/interactive-init.js +132 -0
  61. package/dist/cli/interactive-init.js.map +1 -0
  62. package/dist/cli/registry.d.ts.map +1 -1
  63. package/dist/cli/registry.js +8 -0
  64. package/dist/cli/registry.js.map +1 -1
  65. package/dist/cli/store.d.ts +9 -0
  66. package/dist/cli/store.d.ts.map +1 -1
  67. package/dist/cli/store.js +29 -0
  68. package/dist/cli/store.js.map +1 -1
  69. package/dist/cli/template-generator.d.ts +1 -1
  70. package/dist/cli/template-generator.d.ts.map +1 -1
  71. package/dist/cli/template-generator.js +5 -3
  72. package/dist/cli/template-generator.js.map +1 -1
  73. package/dist/core/adapters/claude-code.d.ts +3 -0
  74. package/dist/core/adapters/claude-code.d.ts.map +1 -1
  75. package/dist/core/adapters/claude-code.js +17 -2
  76. package/dist/core/adapters/claude-code.js.map +1 -1
  77. package/dist/core/adapters/cline.d.ts +36 -0
  78. package/dist/core/adapters/cline.d.ts.map +1 -0
  79. package/dist/core/adapters/cline.js +279 -0
  80. package/dist/core/adapters/cline.js.map +1 -0
  81. package/dist/core/adapters/cursor.d.ts +3 -0
  82. package/dist/core/adapters/cursor.d.ts.map +1 -1
  83. package/dist/core/adapters/cursor.js +5 -0
  84. package/dist/core/adapters/cursor.js.map +1 -1
  85. package/dist/core/adapters/generic.d.ts +3 -0
  86. package/dist/core/adapters/generic.d.ts.map +1 -1
  87. package/dist/core/adapters/generic.js +5 -0
  88. package/dist/core/adapters/generic.js.map +1 -1
  89. package/dist/core/adapters/windsurf.d.ts +3 -0
  90. package/dist/core/adapters/windsurf.d.ts.map +1 -1
  91. package/dist/core/adapters/windsurf.js +5 -0
  92. package/dist/core/adapters/windsurf.js.map +1 -1
  93. package/dist/core/config.d.ts +8 -0
  94. package/dist/core/config.d.ts.map +1 -1
  95. package/dist/core/config.js +9 -0
  96. package/dist/core/config.js.map +1 -1
  97. package/dist/core/context.d.ts +20 -0
  98. package/dist/core/context.d.ts.map +1 -0
  99. package/dist/core/context.js +59 -0
  100. package/dist/core/context.js.map +1 -0
  101. package/dist/core/embedding-client.d.ts +11 -0
  102. package/dist/core/embedding-client.d.ts.map +1 -0
  103. package/dist/core/embedding-client.js +92 -0
  104. package/dist/core/embedding-client.js.map +1 -0
  105. package/dist/core/embedding-store.d.ts +44 -0
  106. package/dist/core/embedding-store.d.ts.map +1 -0
  107. package/dist/core/embedding-store.js +7 -0
  108. package/dist/core/embedding-store.js.map +1 -0
  109. package/dist/core/embedding.d.ts +32 -0
  110. package/dist/core/embedding.d.ts.map +1 -0
  111. package/dist/core/embedding.js +114 -0
  112. package/dist/core/embedding.js.map +1 -0
  113. package/dist/core/enrich.d.ts +76 -0
  114. package/dist/core/enrich.d.ts.map +1 -0
  115. package/dist/core/enrich.js +115 -0
  116. package/dist/core/enrich.js.map +1 -0
  117. package/dist/core/harness.d.ts +6 -0
  118. package/dist/core/harness.d.ts.map +1 -1
  119. package/dist/core/harness.js +1 -1
  120. package/dist/core/harness.js.map +1 -1
  121. package/dist/core/index.d.ts +30 -8
  122. package/dist/core/index.d.ts.map +1 -1
  123. package/dist/core/index.js +26 -5
  124. package/dist/core/index.js.map +1 -1
  125. package/dist/core/initiative.d.ts +72 -0
  126. package/dist/core/initiative.d.ts.map +1 -0
  127. package/dist/core/initiative.js +421 -0
  128. package/dist/core/initiative.js.map +1 -0
  129. package/dist/core/interview-engine.d.ts +34 -0
  130. package/dist/core/interview-engine.d.ts.map +1 -0
  131. package/dist/core/interview-engine.js +195 -0
  132. package/dist/core/interview-engine.js.map +1 -0
  133. package/dist/core/interview-steps.d.ts +27 -0
  134. package/dist/core/interview-steps.d.ts.map +1 -0
  135. package/dist/core/interview-steps.js +157 -0
  136. package/dist/core/interview-steps.js.map +1 -0
  137. package/dist/core/interview.d.ts +20 -0
  138. package/dist/core/interview.d.ts.map +1 -1
  139. package/dist/core/interview.js +62 -35
  140. package/dist/core/interview.js.map +1 -1
  141. package/dist/core/metaphor-preview.d.ts +34 -0
  142. package/dist/core/metaphor-preview.d.ts.map +1 -0
  143. package/dist/core/metaphor-preview.js +94 -0
  144. package/dist/core/metaphor-preview.js.map +1 -0
  145. package/dist/core/metaphor.d.ts +14 -0
  146. package/dist/core/metaphor.d.ts.map +1 -1
  147. package/dist/core/metaphor.js +14 -0
  148. package/dist/core/metaphor.js.map +1 -1
  149. package/dist/core/plugins.d.ts +12 -0
  150. package/dist/core/plugins.d.ts.map +1 -1
  151. package/dist/core/plugins.js +58 -1
  152. package/dist/core/plugins.js.map +1 -1
  153. package/dist/core/prep.d.ts +88 -0
  154. package/dist/core/prep.d.ts.map +1 -0
  155. package/dist/core/prep.js +302 -0
  156. package/dist/core/prep.js.map +1 -0
  157. package/dist/core/roadmap.d.ts.map +1 -1
  158. package/dist/core/roadmap.js +5 -4
  159. package/dist/core/roadmap.js.map +1 -1
  160. package/dist/core/roles.d.ts +3 -0
  161. package/dist/core/roles.d.ts.map +1 -1
  162. package/dist/core/roles.js +36 -0
  163. package/dist/core/roles.js.map +1 -1
  164. package/dist/core/store-health.d.ts +11 -0
  165. package/dist/core/store-health.d.ts.map +1 -0
  166. package/dist/core/store-health.js +26 -0
  167. package/dist/core/store-health.js.map +1 -0
  168. package/dist/core/store.d.ts +11 -1
  169. package/dist/core/store.d.ts.map +1 -1
  170. package/dist/core/store.js.map +1 -1
  171. package/dist/mcp/index.d.ts +2 -2
  172. package/dist/mcp/index.d.ts.map +1 -1
  173. package/dist/mcp/index.js +103 -6
  174. package/dist/mcp/index.js.map +1 -1
  175. package/dist/mcp/index.test.js +7 -4
  176. package/dist/mcp/index.test.js.map +1 -1
  177. package/dist/mcp/registry.d.ts +1 -1
  178. package/dist/mcp/registry.d.ts.map +1 -1
  179. package/dist/mcp/registry.js +47 -3
  180. package/dist/mcp/registry.js.map +1 -1
  181. package/dist/mcp/sandbox.d.ts.map +1 -1
  182. package/dist/mcp/sandbox.js +18 -1
  183. package/dist/mcp/sandbox.js.map +1 -1
  184. package/dist/store/index.d.ts +34 -3
  185. package/dist/store/index.d.ts.map +1 -1
  186. package/dist/store/index.js +220 -4
  187. package/dist/store/index.js.map +1 -1
  188. package/dist/store-pg/index.d.ts +3 -0
  189. package/dist/store-pg/index.d.ts.map +1 -1
  190. package/dist/store-pg/index.js +74 -1
  191. package/dist/store-pg/index.js.map +1 -1
  192. package/package.json +14 -7
@@ -0,0 +1,132 @@
1
+ // SLOPE — Rich Interactive Init (powered by @clack/prompts)
2
+ // Renders interview steps as select menus, text inputs, and confirm dialogs.
3
+ import * as p from '@clack/prompts';
4
+ import { buildInterviewContext } from '../core/interview-engine.js';
5
+ import { generateInterviewSteps } from '../core/interview-steps.js';
6
+ import { initFromAnswers } from '../core/interview.js';
7
+ import { formatPreviewText } from '../core/metaphor-preview.js';
8
+ // Ensure built-in metaphors are registered
9
+ import '../core/metaphors/index.js';
10
+ /**
11
+ * Render a single interview step using the appropriate @clack/prompts widget.
12
+ */
13
+ export async function renderStep(step, _answers) {
14
+ switch (step.type) {
15
+ case 'text':
16
+ return p.text({
17
+ message: step.question,
18
+ placeholder: step.description,
19
+ defaultValue: typeof step.default === 'string' ? step.default : undefined,
20
+ validate: step.validate
21
+ ? (v) => step.validate(v) ?? undefined
22
+ : undefined,
23
+ });
24
+ case 'select':
25
+ return p.select({
26
+ message: step.question,
27
+ options: (step.options ?? []).map((o) => ({
28
+ value: o.value,
29
+ label: o.hint ? `${o.label} ${o.hint}` : o.label,
30
+ hint: o.description,
31
+ })),
32
+ initialValue: typeof step.default === 'string' ? step.default : undefined,
33
+ });
34
+ case 'multiselect':
35
+ return p.multiselect({
36
+ message: step.question,
37
+ options: (step.options ?? []).map((o) => ({
38
+ value: o.value,
39
+ label: o.hint ? `${o.label} ${o.hint}` : o.label,
40
+ hint: o.description,
41
+ })),
42
+ initialValues: Array.isArray(step.default) ? step.default : [],
43
+ required: false,
44
+ });
45
+ case 'confirm':
46
+ return p.confirm({
47
+ message: step.question,
48
+ initialValue: typeof step.default === 'boolean' ? step.default : false,
49
+ });
50
+ default:
51
+ return p.text({ message: step.question });
52
+ }
53
+ }
54
+ /**
55
+ * Build a summary string from collected answers and context.
56
+ */
57
+ export function buildSummary(answers, _ctx) {
58
+ const lines = [];
59
+ lines.push(`Project: ${answers['project-name'] ?? '(not set)'}`);
60
+ lines.push(`Metaphor: ${answers['metaphor'] ?? 'golf'}`);
61
+ const repoUrl = String(answers['repo-url'] ?? '').trim();
62
+ if (repoUrl)
63
+ lines.push(`Repo: ${repoUrl}`);
64
+ lines.push(`Sprint: ${answers['sprint-number'] ?? '1'}`);
65
+ const platformsRaw = answers['platforms'];
66
+ const platforms = Array.isArray(platformsRaw) ? platformsRaw : undefined;
67
+ if (platforms && platforms.length > 0) {
68
+ lines.push(`Platforms: ${platforms.join(', ')}`);
69
+ }
70
+ const team = String(answers['team-members'] ?? '').trim();
71
+ if (team)
72
+ lines.push(`Team: ${team}`);
73
+ const vision = String(answers['vision'] ?? '').trim();
74
+ if (vision)
75
+ lines.push(`Vision: ${vision}`);
76
+ return lines.join('\n');
77
+ }
78
+ /**
79
+ * Run the full interactive init flow using @clack/prompts.
80
+ */
81
+ export async function runInteractiveCli(cwd) {
82
+ p.intro('slope init');
83
+ // 1. Lightweight detection with spinner
84
+ const s = p.spinner();
85
+ s.start('Detecting project info...');
86
+ const ctx = buildInterviewContext(cwd);
87
+ s.stop('Project detected');
88
+ // 2. Walk through interview steps
89
+ const steps = generateInterviewSteps(ctx);
90
+ const answers = {};
91
+ for (const step of steps) {
92
+ if (step.condition && !step.condition(answers))
93
+ continue;
94
+ const value = await renderStep(step, answers);
95
+ if (p.isCancel(value)) {
96
+ p.cancel('Init cancelled.');
97
+ process.exit(0);
98
+ }
99
+ answers[step.id] = value;
100
+ // Show metaphor preview after selection
101
+ if (step.id === 'metaphor' && value !== 'custom') {
102
+ const opt = step.options?.find((o) => o.value === value);
103
+ const preview = opt?.preview;
104
+ if (preview) {
105
+ p.note(formatPreviewText(preview), `${preview.name} Preview`);
106
+ }
107
+ }
108
+ }
109
+ // 3. Summary + confirm
110
+ p.note(buildSummary(answers, ctx), 'Init Summary');
111
+ const confirmed = await p.confirm({ message: 'Create project?' });
112
+ if (!confirmed || p.isCancel(confirmed)) {
113
+ p.cancel('Init cancelled.');
114
+ process.exit(0);
115
+ }
116
+ // 4. Run init with spinner
117
+ s.start('Initializing project...');
118
+ const platformsVal = answers.platforms;
119
+ const result = await initFromAnswers(cwd, answers, Array.isArray(platformsVal) ? platformsVal : undefined);
120
+ s.stop('Project initialized');
121
+ if (!result.success) {
122
+ p.log.error('Initialization failed:');
123
+ for (const e of result.errors) {
124
+ p.log.error(` ${e.field}: ${e.message}`);
125
+ }
126
+ process.exit(1);
127
+ }
128
+ // 5. Print what was created
129
+ p.note(result.filesCreated.map((f) => ` ${f}`).join('\n'), 'Files created');
130
+ p.outro('Done! Run `slope briefing` to get started.');
131
+ }
132
+ //# sourceMappingURL=interactive-init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive-init.js","sourceRoot":"","sources":["../../src/cli/interactive-init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/cli/registry.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,GAAG,EAAE,MAAM,CAAC;IACZ,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,QAAQ,EAAE,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;CACzE;AAED,qGAAqG;AACrG,eAAO,MAAM,oBAAoB,2BAA4B,CAAC;AAE9D,eAAO,MAAM,oBAAoB,EAAE,SAAS,cAAc,EAuCzD,CAAC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/cli/registry.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,GAAG,EAAE,MAAM,CAAC;IACZ,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,QAAQ,EAAE,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;CACzE;AAED,qGAAqG;AACrG,eAAO,MAAM,oBAAoB,2BAA4B,CAAC;AAE9D,eAAO,MAAM,oBAAoB,EAAE,SAAS,cAAc,EAgDzD,CAAC"}
@@ -30,11 +30,19 @@ export const CLI_COMMAND_REGISTRY = [
30
30
  { cmd: 'distill', desc: 'Promote event patterns to common issues', category: 'tooling' },
31
31
  { cmd: 'map', desc: 'Generate/update codebase map', category: 'tooling' },
32
32
  { cmd: 'flows', desc: 'Manage user flow definitions', category: 'tooling' },
33
+ { cmd: 'metaphor', desc: 'Manage metaphor display themes', category: 'tooling' },
33
34
  { cmd: 'plugin', desc: 'Manage custom plugins', category: 'tooling' },
35
+ { cmd: 'store', desc: 'Store diagnostics and management', category: 'tooling' },
34
36
  { cmd: 'escalate', desc: 'Escalate issues based on severity triggers', category: 'tooling' },
35
37
  { cmd: 'transcript', desc: 'View session transcript data', category: 'tooling' },
36
38
  // ── Planning ───────────────────────────────────────────────────
37
39
  { cmd: 'roadmap', desc: 'Strategic planning and roadmap tools', category: 'planning' },
38
40
  { cmd: 'vision', desc: 'Display project vision document', category: 'planning' },
41
+ { cmd: 'initiative', desc: 'Multi-sprint initiative orchestration', category: 'planning' },
42
+ // ── Indexing ──────────────────────────────────────────────────────
43
+ { cmd: 'index-cmd', desc: 'Semantic embedding index management', category: 'tooling' },
44
+ { cmd: 'context', desc: 'Semantic context search for agents', category: 'tooling' },
45
+ { cmd: 'prep', desc: 'Generate execution plan for a ticket', category: 'tooling' },
46
+ { cmd: 'enrich', desc: 'Batch-enrich backlog with file context', category: 'tooling' },
39
47
  ];
40
48
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/cli/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/cli/registry.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,12 @@
1
1
  import type { SlopeStore } from '../core/index.js';
2
+ /** Store info from config — no store connection required */
3
+ export interface StoreInfo {
4
+ type: string;
5
+ path?: string;
6
+ sanitizedUrl?: string;
7
+ projectId?: string;
8
+ }
9
+ /** Read store info from config without opening the store */
10
+ export declare function getStoreInfo(cwd?: string): StoreInfo;
2
11
  export declare function resolveStore(cwd?: string): Promise<SlopeStore>;
3
12
  //# sourceMappingURL=store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/cli/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,wBAAsB,YAAY,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,UAAU,CAAC,CAyBnF"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/cli/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,4DAA4D;AAC5D,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,4DAA4D;AAC5D,wBAAgB,YAAY,CAAC,GAAG,GAAE,MAAsB,GAAG,SAAS,CAyBnE;AAED,wBAAsB,YAAY,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,UAAU,CAAC,CAyBnF"}
package/dist/cli/store.js CHANGED
@@ -1,4 +1,33 @@
1
1
  import { loadConfig } from './config.js';
2
+ /** Read store info from config without opening the store */
3
+ export function getStoreInfo(cwd = process.cwd()) {
4
+ const config = loadConfig(cwd);
5
+ const type = config.store ?? 'sqlite';
6
+ if (type === 'sqlite') {
7
+ return { type, path: config.store_path ?? '.slope/slope.db' };
8
+ }
9
+ if (type === 'postgres') {
10
+ const url = config.postgres?.connectionString;
11
+ let sanitizedUrl;
12
+ if (url) {
13
+ try {
14
+ const parsed = new URL(url);
15
+ if (parsed.password)
16
+ parsed.password = '***';
17
+ sanitizedUrl = parsed.toString();
18
+ }
19
+ catch {
20
+ sanitizedUrl = '(invalid URL)';
21
+ }
22
+ }
23
+ return {
24
+ type,
25
+ sanitizedUrl,
26
+ projectId: config.postgres?.projectId ?? config.projectId,
27
+ };
28
+ }
29
+ return { type };
30
+ }
2
31
  export async function resolveStore(cwd = process.cwd()) {
3
32
  const config = loadConfig(cwd);
4
33
  const storeType = config.store ?? 'sqlite';
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/cli/store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IAC5D,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC;IAC3C,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC1D,OAAO,WAAW,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,IAAI,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YACrE,OAAO,mBAAmB,CAAC;gBACzB,gBAAgB,EAAE,MAAM,CAAC,QAAQ,EAAE,gBAAgB;gBACnD,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,IAAI,MAAM,CAAC,SAAS;aAC1D,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAK,GAA6B,CAAC,IAAI,KAAK,kBAAkB;gBAC1D,CAAC,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC;gBACzE,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;YACvF,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IACD,qDAAqD;IACrD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IACpC,OAAO,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/cli/store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAUzC,4DAA4D;AAC5D,MAAM,UAAU,YAAY,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IACtD,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC;IACtC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,IAAI,iBAAiB,EAAE,CAAC;IAChE,CAAC;IACD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;QAC9C,IAAI,YAAgC,CAAC;QACrC,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC5B,IAAI,MAAM,CAAC,QAAQ;oBAAE,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAC7C,YAAY,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY,GAAG,eAAe,CAAC;YACjC,CAAC;QACH,CAAC;QACD,OAAO;YACL,IAAI;YACJ,YAAY;YACZ,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,IAAI,MAAM,CAAC,SAAS;SAC1D,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IAC5D,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC;IAC3C,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC1D,OAAO,WAAW,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,IAAI,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YACrE,OAAO,mBAAmB,CAAC;gBACzB,gBAAgB,EAAE,MAAM,CAAC,QAAQ,EAAE,gBAAgB;gBACnD,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,IAAI,MAAM,CAAC,SAAS;aAC1D,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAK,GAA6B,CAAC,IAAI,KAAK,kBAAkB;gBAC1D,CAAC,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC;gBACzE,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;YACvF,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IACD,qDAAqD;IACrD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IACpC,OAAO,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;AAC7C,CAAC"}
@@ -10,6 +10,6 @@ export declare function generateOpenCodePlugin(): string;
10
10
  export declare function generateCursorSprintChecklist(m: MetaphorDefinition): string;
11
11
  export declare function generateCursorCommitDiscipline(m: MetaphorDefinition): string;
12
12
  export declare function generateCursorReviewLoop(): string;
13
- export declare function generateCursorrules(m: MetaphorDefinition): string;
13
+ export declare function generateCursorrules(m: MetaphorDefinition, harness?: 'cursor' | 'windsurf'): string;
14
14
  export declare function generateGenericChecklist(m: MetaphorDefinition): string;
15
15
  //# sourceMappingURL=template-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"template-generator.d.ts","sourceRoot":"","sources":["../../src/cli/template-generator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAmB3D,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CA2BpE;AAID,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAoErE;AAID,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAwCtE;AAID,wBAAgB,kBAAkB,IAAI,MAAM,CAyC3C;AAID,wBAAgB,2BAA2B,IAAI,MAAM,CA+BpD;AAED,wBAAgB,iCAAiC,IAAI,MAAM,CAmC1D;AAID,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAqD9D;AAID,wBAAgB,sBAAsB,IAAI,MAAM,CA+B/C;AAID,wBAAgB,6BAA6B,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAsD3E;AAED,wBAAgB,8BAA8B,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAyC5E;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CAmCjD;AAID,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CA0CjE;AAID,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAgCtE"}
1
+ {"version":3,"file":"template-generator.d.ts","sourceRoot":"","sources":["../../src/cli/template-generator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAmB3D,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CA2BpE;AAID,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAoErE;AAID,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAwCtE;AAID,wBAAgB,kBAAkB,IAAI,MAAM,CAyC3C;AAID,wBAAgB,2BAA2B,IAAI,MAAM,CA+BpD;AAED,wBAAgB,iCAAiC,IAAI,MAAM,CAmC1D;AAID,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAqD9D;AAID,wBAAgB,sBAAsB,IAAI,MAAM,CA+B/C;AAID,wBAAgB,6BAA6B,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAsD3E;AAED,wBAAgB,8BAA8B,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAyC5E;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CAmCjD;AAID,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,kBAAkB,EAAE,OAAO,GAAE,QAAQ,GAAG,UAAqB,GAAG,MAAM,CA4C5G;AAID,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAgCtE"}
@@ -484,10 +484,12 @@ Delta review of Round 2 changes. Expected outcome: approval with minor notes.
484
484
  `;
485
485
  }
486
486
  // --- Cursor .cursorrules (project root context file) ---
487
- export function generateCursorrules(m) {
487
+ export function generateCursorrules(m, harness = 'cursor') {
488
488
  const r = routineNames(m);
489
489
  const clubs = m.clubs;
490
490
  const results = m.shotResults;
491
+ const mcpPath = harness === 'windsurf' ? '.windsurf/mcp.json' : '.cursor/mcp.json';
492
+ const rulesPath = harness === 'windsurf' ? '.windsurf/rules/' : '.cursor/rules/';
491
493
  return `# SLOPE Project
492
494
 
493
495
  This project uses the SLOPE framework for sprint tracking.
@@ -499,7 +501,7 @@ This project uses the SLOPE framework for sprint tracking.
499
501
  - \`slope briefing\` — ${r.briefing.toLowerCase()}
500
502
 
501
503
  ## MCP Tools
502
- A SLOPE MCP server is configured in \`.cursor/mcp.json\`. Two tools:
504
+ A SLOPE MCP server is configured in \`${mcpPath}\`. Two tools:
503
505
  - \`search\` — discover API functions, types, constants
504
506
  - \`execute\` — run JS with full SLOPE API in sandbox
505
507
 
@@ -523,7 +525,7 @@ A SLOPE MCP server is configured in \`.cursor/mcp.json\`. Two tools:
523
525
 
524
526
  ## ${r.scorecard}s
525
527
  Stored in docs/retros/sprint-N.json. See .slope/config.json for configuration.
526
- See .cursor/rules/ for detailed checklists.
528
+ See ${rulesPath} for detailed checklists.
527
529
  `;
528
530
  }
529
531
  // --- Generic checklist ---
@@ -1 +1 @@
1
- {"version":3,"file":"template-generator.js","sourceRoot":"","sources":["../../src/cli/template-generator.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,wEAAwE;AACxE,kFAAkF;AAIlF,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAE1E,gDAAgD;AAEhD,SAAS,YAAY,CAAC,CAAqB;IACzC,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAI,yBAAyB;IAC3E,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAK,2BAA2B;IAC9E,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,oCAAoC;IACvF,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAK,4BAA4B;IAC/E,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;AACjF,CAAC;AAED,uDAAuD;AAEvD,MAAM,UAAU,sBAAsB,CAAC,CAAqB;IAC1D,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1B,OAAO;;;;;0BAKiB,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE;kCACpB,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;;yBAElC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE;;;;;;;;UAQvC,CAAC,CAAC,MAAM;UACR,CAAC,CAAC,MAAM;WACP,CAAC,CAAC,MAAM,0BAA0B,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;;;;KAIjE,CAAC,CAAC,SAAS;;CAEf,CAAC;AACF,CAAC;AAED,gCAAgC;AAEhC,MAAM,UAAU,uBAAuB,CAAC,CAAqB;IAC3D,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IACtB,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC;IAE9B,OAAO;;wEAE+D,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,sEAAsE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc;;;;;;;;;;;;;SAavM,CAAC,CAAC,MAAM;;;;;;uBAMM,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,oCAAoC,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;;;WAGlG,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,QAAQ;;SAEtD,CAAC,CAAC,MAAM;;;;oDAImC,KAAK,CAAC,MAAM,iBAAiB,KAAK,CAAC,SAAS,qBAAqB,KAAK,CAAC,UAAU,gBAAgB,KAAK,CAAC,KAAK,aAAa,KAAK,CAAC,MAAM;;4DAE7H,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;;;UAG3E,CAAC,CAAC,MAAM;;;;iBAID,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,0BAA0B,OAAO,CAAC,OAAO,mBAAmB,OAAO,CAAC,KAAK,wBAAwB,OAAO,CAAC,WAAW;;;;;;UAMjJ,CAAC,CAAC,MAAM;;;;kEAIgD,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE;uBACnE,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;;;;;;;;;eASzE,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE;kEACuB,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE;;CAE7F,CAAC;AACF,CAAC;AAED,iCAAiC;AAEjC,MAAM,UAAU,wBAAwB,CAAC,CAAqB;IAC5D,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAE1B,OAAO;;;;;;;;;;;;;;;;;;;;;yCAqBgC,CAAC,CAAC,MAAM,8DAA8D,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE;;;;;;;;;;;;;;;CAepI,CAAC;AACF,CAAC;AAED,2BAA2B;AAE3B,MAAM,UAAU,kBAAkB;IAChC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCR,CAAC;AACF,CAAC;AAED,gCAAgC;AAEhC,MAAM,UAAU,2BAA2B;IACzC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BR,CAAC;AACF,CAAC;AAED,MAAM,UAAU,iCAAiC;IAC/C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCR,CAAC;AACF,CAAC;AAED,6BAA6B;AAE7B,MAAM,UAAU,gBAAgB,CAAC,CAAqB;IACpD,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IACtB,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC;IAE9B,OAAO;;;;;0BAKiB,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE;kCACpB,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;;yBAElC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE;;;;;;;;UAQvC,CAAC,CAAC,MAAM;UACR,CAAC,CAAC,MAAM;WACP,CAAC,CAAC,MAAM,0BAA0B,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;;;IAGlE,KAAK,CAAC,MAAM;IACZ,KAAK,CAAC,SAAS;IACf,KAAK,CAAC,UAAU;IAChB,KAAK,CAAC,KAAK;IACX,KAAK,CAAC,MAAM;;KAEX,CAAC,CAAC,MAAM;IACT,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,OAAO;;;;;;;;;;;;;;;KAed,CAAC,CAAC,SAAS;;CAEf,CAAC;AACF,CAAC;AAED,0BAA0B;AAE1B,MAAM,UAAU,sBAAsB;IACpC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BR,CAAC;AACF,CAAC;AAED,+BAA+B;AAE/B,MAAM,UAAU,6BAA6B,CAAC,CAAqB;IACjE,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IACtB,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC;IAE9B,OAAO;;;;;;;;wEAQ+D,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,sEAAsE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc;;;;;;;;;;;SAWvM,CAAC,CAAC,MAAM;;;;;;uBAMM,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,oCAAoC,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;;WAElG,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,QAAQ;;SAEtD,CAAC,CAAC,MAAM;;gCAEe,KAAK,CAAC,MAAM,iBAAiB,KAAK,CAAC,SAAS,qBAAqB,KAAK,CAAC,UAAU,gBAAgB,KAAK,CAAC,KAAK,aAAa,KAAK,CAAC,MAAM;;4DAEzG,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;;UAE3E,CAAC,CAAC,MAAM;;iBAED,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,OAAO,CAAC,WAAW,eAAe,OAAO,CAAC,KAAK,cAAc,OAAO,CAAC,OAAO;;;;;UAKjH,CAAC,CAAC,MAAM;;uBAEK,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;;;eAGzE,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE;CAC1C,CAAC;AACF,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,CAAqB;IAClE,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAE1B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;uCAyB8B,CAAC,CAAC,MAAM;;;;;;;;;;;;CAY9C,CAAC;AACF,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCR,CAAC;AACF,CAAC;AAED,0DAA0D;AAE1D,MAAM,UAAU,mBAAmB,CAAC,CAAqB;IACvD,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IACtB,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC;IAE9B,OAAO;;;;;0BAKiB,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE;kCACpB,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;;yBAElC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE;;;;;;;;UAQvC,CAAC,CAAC,MAAM;UACR,CAAC,CAAC,MAAM;WACP,CAAC,CAAC,MAAM,0BAA0B,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;;;IAGlE,KAAK,CAAC,MAAM;IACZ,KAAK,CAAC,SAAS;IACf,KAAK,CAAC,UAAU;IAChB,KAAK,CAAC,KAAK;IACX,KAAK,CAAC,MAAM;;KAEX,CAAC,CAAC,MAAM;IACT,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,OAAO;;;KAGd,CAAC,CAAC,SAAS;;;CAGf,CAAC;AACF,CAAC;AAED,4BAA4B;AAE5B,MAAM,UAAU,wBAAwB,CAAC,CAAqB;IAC5D,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IAEtB,OAAO;;;;;;;;SAQA,CAAC,CAAC,MAAM;;qBAEI,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;SACrC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE;;;iCAGA,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM;qBAC9F,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE;;UAEjC,CAAC,CAAC,MAAM;WACP,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;;;4BAGR,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE;;;;;;CAMvD,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"template-generator.js","sourceRoot":"","sources":["../../src/cli/template-generator.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,9 @@ export declare class ClaudeCodeAdapter implements HarnessAdapter {
5
5
  readonly id: "claude-code";
6
6
  readonly displayName = "Claude Code";
7
7
  readonly toolNames: ToolNameMap;
8
+ readonly supportedEvents: Set<string>;
9
+ readonly supportsContextInjection = true;
10
+ hooksConfigPath(cwd: string): string | null;
8
11
  formatPreToolOutput(result: GuardResult): PreToolUseOutput;
9
12
  formatPostToolOutput(result: GuardResult): PostToolUseOutput;
10
13
  formatStopOutput(result: GuardResult): StopOutput;
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/claude-code.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEpH,kFAAkF;AAClF,qBAAa,iBAAkB,YAAW,cAAc;IACtD,QAAQ,CAAC,EAAE,EAAG,aAAa,CAAU;IACrC,QAAQ,CAAC,WAAW,iBAAiB;IACrC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAqB;IAEpD,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,gBAAgB;IAW1D,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,iBAAiB;IAsB5D,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,UAAU;IAOjD,mBAAmB,CACjB,MAAM,EAAE,kBAAkB,EAAE,EAC5B,eAAe,EAAE,MAAM,GACtB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,aAAa,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC,CAAC;IA+BzI,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI;IA0D9D,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAG7B;AAED,yBAAyB;AACzB,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
1
+ {"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/claude-code.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEpH,kFAAkF;AAClF,qBAAa,iBAAkB,YAAW,cAAc;IACtD,QAAQ,CAAC,EAAE,EAAG,aAAa,CAAU;IACrC,QAAQ,CAAC,WAAW,iBAAiB;IACrC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAqB;IACpD,QAAQ,CAAC,eAAe,cAAgE;IACxF,QAAQ,CAAC,wBAAwB,QAAQ;IAEzC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI3C,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,gBAAgB;IAW1D,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,iBAAiB;IAsB5D,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,UAAU;IAOjD,mBAAmB,CACjB,MAAM,EAAE,kBAAkB,EAAE,EAC5B,eAAe,EAAE,MAAM,GACtB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,aAAa,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC,CAAC;IA+BzI,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI;IAmE9D,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAG7B;AAED,yBAAyB;AACzB,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
@@ -7,6 +7,11 @@ export class ClaudeCodeAdapter {
7
7
  id = 'claude-code';
8
8
  displayName = 'Claude Code';
9
9
  toolNames = CLAUDE_CODE_TOOLS;
10
+ supportedEvents = new Set(['PreToolUse', 'PostToolUse', 'Stop', 'PreCompact']);
11
+ supportsContextInjection = true;
12
+ hooksConfigPath(cwd) {
13
+ return join(cwd, '.claude', 'settings.json');
14
+ }
10
15
  formatPreToolOutput(result) {
11
16
  return {
12
17
  hookSpecificOutput: {
@@ -111,9 +116,19 @@ export class ClaudeCodeAdapter {
111
116
  for (const entry of entries) {
112
117
  const entryWithMatcher = entry;
113
118
  const existing = existingHooks[event];
114
- const isDuplicate = existing.some(e => e.matcher === entryWithMatcher.matcher &&
119
+ // Find an existing entry with the same matcher that already has SLOPE hooks
120
+ const matchingEntry = existing.find(e => e.matcher === entryWithMatcher.matcher &&
115
121
  e.hooks?.some(h => h.command?.includes('slope-guard.sh')));
116
- if (!isDuplicate) {
122
+ if (matchingEntry?.hooks) {
123
+ // Merge individual hook commands that don't already exist
124
+ for (const hook of entryWithMatcher.hooks) {
125
+ const hookExists = matchingEntry.hooks.some(h => h.command === hook.command);
126
+ if (!hookExists) {
127
+ matchingEntry.hooks.push(hook);
128
+ }
129
+ }
130
+ }
131
+ else {
117
132
  existingHooks[event].push(entry);
118
133
  }
119
134
  }
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../src/core/adapters/claude-code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../src/core/adapters/claude-code.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { HarnessAdapter, ToolNameMap } from '../harness.js';
2
+ import type { GuardResult, AnyGuardDefinition } from '../guard.js';
3
+ /**
4
+ * Cline hook output protocol.
5
+ * Source: src/core/hooks/hook-factory.ts (validateHookOutput)
6
+ */
7
+ export interface ClineHookOutput {
8
+ cancel?: boolean;
9
+ /** Injected into agent's live context. Truncated to 50KB by Cline. */
10
+ contextModification?: string;
11
+ /** User-visible denial message when cancel is true. */
12
+ errorMessage?: string;
13
+ }
14
+ /** Cline adapter — formats guard output for Cline's per-event script protocol. */
15
+ export declare class ClineAdapter implements HarnessAdapter {
16
+ readonly id: "cline";
17
+ readonly displayName = "Cline";
18
+ readonly toolNames: ToolNameMap;
19
+ readonly supportedEvents: Set<string>;
20
+ readonly supportsContextInjection = true;
21
+ hooksConfigPath(_cwd: string): string | null;
22
+ formatPreToolOutput(result: GuardResult): ClineHookOutput;
23
+ formatPostToolOutput(result: GuardResult): ClineHookOutput;
24
+ formatStopOutput(result: GuardResult): ClineHookOutput;
25
+ /**
26
+ * Generate per-event dispatcher script content for a set of guards.
27
+ * Cline has no hooks.json — each event has a single script that must handle
28
+ * all guards for that event, including tool name filtering.
29
+ */
30
+ generateHooksConfig(guards: AnyGuardDefinition[], guardScriptPath: string): Record<string, string>;
31
+ installGuards(cwd: string, guards: AnyGuardDefinition[]): void;
32
+ detect(cwd: string): boolean;
33
+ }
34
+ /** Singleton instance */
35
+ export declare const clineAdapter: ClineAdapter;
36
+ //# sourceMappingURL=cline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cline.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/cline.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAkBnE;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sEAAsE;IACtE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAeD,kFAAkF;AAClF,qBAAa,YAAa,YAAW,cAAc;IACjD,QAAQ,CAAC,EAAE,EAAG,OAAO,CAAU;IAC/B,QAAQ,CAAC,WAAW,WAAW;IAC/B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAe;IAC9C,QAAQ,CAAC,eAAe,cAAgE;IACxF,QAAQ,CAAC,wBAAwB,QAAQ;IAEzC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAM5C,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,eAAe;IAezD,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,eAAe;IAc1D,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,eAAe;IAUtD;;;;OAIG;IACH,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAuJlG,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI;IAsC9D,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAK7B;AAED,yBAAyB;AACzB,eAAO,MAAM,YAAY,cAAqB,CAAC"}