clavix 2.7.0 → 2.8.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 (165) hide show
  1. package/README.md +22 -8
  2. package/bin/clavix.js +12 -5
  3. package/dist/cli/commands/archive.d.ts +5 -4
  4. package/dist/cli/commands/archive.js +135 -161
  5. package/dist/cli/commands/config.d.ts +4 -4
  6. package/dist/cli/commands/config.js +66 -105
  7. package/dist/cli/commands/deep.d.ts +3 -3
  8. package/dist/cli/commands/deep.js +97 -103
  9. package/dist/cli/commands/execute.d.ts +4 -4
  10. package/dist/cli/commands/execute.js +57 -63
  11. package/dist/cli/commands/fast.d.ts +3 -3
  12. package/dist/cli/commands/fast.js +122 -128
  13. package/dist/cli/commands/implement.d.ts +4 -4
  14. package/dist/cli/commands/implement.js +84 -148
  15. package/dist/cli/commands/init.js +87 -126
  16. package/dist/cli/commands/list.d.ts +5 -5
  17. package/dist/cli/commands/list.js +72 -111
  18. package/dist/cli/commands/plan.d.ts +7 -7
  19. package/dist/cli/commands/plan.js +92 -131
  20. package/dist/cli/commands/prd.d.ts +4 -4
  21. package/dist/cli/commands/prd.js +76 -111
  22. package/dist/cli/commands/prompts/clear.d.ts +6 -6
  23. package/dist/cli/commands/prompts/clear.js +70 -76
  24. package/dist/cli/commands/prompts/list.js +37 -43
  25. package/dist/cli/commands/show.d.ts +4 -4
  26. package/dist/cli/commands/show.js +72 -111
  27. package/dist/cli/commands/start.d.ts +3 -3
  28. package/dist/cli/commands/start.js +63 -101
  29. package/dist/cli/commands/summarize.d.ts +4 -4
  30. package/dist/cli/commands/summarize.js +81 -120
  31. package/dist/cli/commands/task-complete.d.ts +4 -4
  32. package/dist/cli/commands/task-complete.js +86 -123
  33. package/dist/cli/commands/update.d.ts +3 -3
  34. package/dist/cli/commands/update.js +97 -130
  35. package/dist/cli/commands/version.js +13 -48
  36. package/dist/core/adapters/agents-md-generator.js +17 -50
  37. package/dist/core/adapters/amp-adapter.d.ts +1 -1
  38. package/dist/core/adapters/amp-adapter.js +13 -21
  39. package/dist/core/adapters/augment-adapter.d.ts +2 -2
  40. package/dist/core/adapters/augment-adapter.js +16 -56
  41. package/dist/core/adapters/base-adapter.d.ts +1 -1
  42. package/dist/core/adapters/base-adapter.js +11 -47
  43. package/dist/core/adapters/claude-code-adapter.d.ts +2 -2
  44. package/dist/core/adapters/claude-code-adapter.js +19 -60
  45. package/dist/core/adapters/cline-adapter.d.ts +1 -1
  46. package/dist/core/adapters/cline-adapter.js +13 -21
  47. package/dist/core/adapters/codebuddy-adapter.d.ts +2 -2
  48. package/dist/core/adapters/codebuddy-adapter.js +17 -57
  49. package/dist/core/adapters/codex-adapter.d.ts +2 -2
  50. package/dist/core/adapters/codex-adapter.js +16 -56
  51. package/dist/core/adapters/copilot-instructions-generator.js +18 -51
  52. package/dist/core/adapters/crush-adapter.d.ts +2 -2
  53. package/dist/core/adapters/crush-adapter.js +13 -20
  54. package/dist/core/adapters/cursor-adapter.d.ts +1 -1
  55. package/dist/core/adapters/cursor-adapter.js +12 -20
  56. package/dist/core/adapters/droid-adapter.d.ts +2 -2
  57. package/dist/core/adapters/droid-adapter.js +14 -21
  58. package/dist/core/adapters/gemini-adapter.d.ts +2 -2
  59. package/dist/core/adapters/gemini-adapter.js +16 -52
  60. package/dist/core/adapters/kilocode-adapter.d.ts +1 -1
  61. package/dist/core/adapters/kilocode-adapter.js +12 -20
  62. package/dist/core/adapters/octo-md-generator.js +17 -50
  63. package/dist/core/adapters/opencode-adapter.d.ts +2 -2
  64. package/dist/core/adapters/opencode-adapter.js +14 -21
  65. package/dist/core/adapters/qwen-adapter.d.ts +2 -2
  66. package/dist/core/adapters/qwen-adapter.js +16 -52
  67. package/dist/core/adapters/roocode-adapter.d.ts +2 -2
  68. package/dist/core/adapters/roocode-adapter.js +12 -19
  69. package/dist/core/adapters/warp-md-generator.js +17 -50
  70. package/dist/core/adapters/windsurf-adapter.d.ts +1 -1
  71. package/dist/core/adapters/windsurf-adapter.js +12 -20
  72. package/dist/core/agent-manager.d.ts +1 -1
  73. package/dist/core/agent-manager.js +34 -38
  74. package/dist/core/archive-manager.js +10 -46
  75. package/dist/core/config-manager.d.ts +2 -2
  76. package/dist/core/config-manager.js +3 -40
  77. package/dist/core/conversation-analyzer.d.ts +1 -1
  78. package/dist/core/conversation-analyzer.js +1 -5
  79. package/dist/core/doc-injector.js +23 -60
  80. package/dist/core/git-manager.js +11 -48
  81. package/dist/core/prd-generator.js +16 -51
  82. package/dist/core/prompt-manager.js +6 -42
  83. package/dist/core/prompt-optimizer.js +1 -5
  84. package/dist/core/question-engine.js +6 -45
  85. package/dist/core/session-manager.d.ts +1 -1
  86. package/dist/core/session-manager.js +11 -49
  87. package/dist/core/task-manager.d.ts +26 -0
  88. package/dist/core/task-manager.js +243 -101
  89. package/dist/index.d.ts +2 -1
  90. package/dist/index.js +8 -12
  91. package/dist/templates/agents/agents.md +31 -2
  92. package/dist/templates/agents/copilot-instructions.md +1 -1
  93. package/dist/templates/agents/octo.md +20 -1
  94. package/dist/templates/agents/warp.md +1 -1
  95. package/dist/templates/slash-commands/_canonical/implement.md +33 -11
  96. package/dist/types/agent.js +1 -2
  97. package/dist/types/config.js +3 -8
  98. package/dist/types/errors.js +7 -13
  99. package/dist/types/session.js +1 -2
  100. package/dist/utils/agent-error-messages.js +1 -5
  101. package/dist/utils/error-utils.js +5 -12
  102. package/dist/utils/file-system.js +20 -57
  103. package/dist/utils/legacy-command-cleanup.d.ts +1 -1
  104. package/dist/utils/legacy-command-cleanup.js +9 -45
  105. package/dist/utils/template-loader.d.ts +1 -1
  106. package/dist/utils/template-loader.js +9 -41
  107. package/dist/utils/toml-templates.js +1 -4
  108. package/package.json +12 -7
  109. package/dist/core/adapters 2/agents-md-generator.d.ts +0 -26
  110. package/dist/core/adapters 2/agents-md-generator.js +0 -102
  111. package/dist/core/adapters 2/amp-adapter.d.ts +0 -27
  112. package/dist/core/adapters 2/amp-adapter.js +0 -42
  113. package/dist/core/adapters 2/augment-adapter.d.ts +0 -22
  114. package/dist/core/adapters 2/augment-adapter.js +0 -77
  115. package/dist/core/adapters 2/base-adapter.d.ts +0 -45
  116. package/dist/core/adapters 2/base-adapter.js +0 -142
  117. package/dist/core/adapters 2/claude-code-adapter.d.ts +0 -32
  118. package/dist/core/adapters 2/claude-code-adapter.js +0 -116
  119. package/dist/core/adapters 2/cline-adapter.d.ts +0 -34
  120. package/dist/core/adapters 2/cline-adapter.js +0 -52
  121. package/dist/core/adapters 2/codebuddy-adapter.d.ts +0 -24
  122. package/dist/core/adapters 2/codebuddy-adapter.js +0 -82
  123. package/dist/core/adapters 2/codex-adapter.d.ts +0 -24
  124. package/dist/core/adapters 2/codex-adapter.js +0 -79
  125. package/dist/core/adapters 2/copilot-instructions-generator.d.ts +0 -26
  126. package/dist/core/adapters 2/copilot-instructions-generator.js +0 -104
  127. package/dist/core/adapters 2/crush-adapter.d.ts +0 -35
  128. package/dist/core/adapters 2/crush-adapter.js +0 -49
  129. package/dist/core/adapters 2/cursor-adapter.d.ts +0 -25
  130. package/dist/core/adapters 2/cursor-adapter.js +0 -40
  131. package/dist/core/adapters 2/droid-adapter.d.ts +0 -33
  132. package/dist/core/adapters 2/droid-adapter.js +0 -57
  133. package/dist/core/adapters 2/gemini-adapter.d.ts +0 -27
  134. package/dist/core/adapters 2/gemini-adapter.js +0 -90
  135. package/dist/core/adapters 2/kilocode-adapter.d.ts +0 -34
  136. package/dist/core/adapters 2/kilocode-adapter.js +0 -49
  137. package/dist/core/adapters 2/octo-md-generator.d.ts +0 -26
  138. package/dist/core/adapters 2/octo-md-generator.js +0 -102
  139. package/dist/core/adapters 2/opencode-adapter.d.ts +0 -33
  140. package/dist/core/adapters 2/opencode-adapter.js +0 -56
  141. package/dist/core/adapters 2/qwen-adapter.d.ts +0 -27
  142. package/dist/core/adapters 2/qwen-adapter.js +0 -90
  143. package/dist/core/adapters 2/roocode-adapter.d.ts +0 -40
  144. package/dist/core/adapters 2/roocode-adapter.js +0 -68
  145. package/dist/core/adapters 2/warp-md-generator.d.ts +0 -17
  146. package/dist/core/adapters 2/warp-md-generator.js +0 -88
  147. package/dist/core/adapters 2/windsurf-adapter.d.ts +0 -34
  148. package/dist/core/adapters 2/windsurf-adapter.js +0 -49
  149. package/dist/core/agent-manager 2.js +0 -126
  150. package/dist/core/agent-manager.d 2.ts +0 -51
  151. package/dist/core/archive-manager 2.js +0 -338
  152. package/dist/core/archive-manager.d 2.ts +0 -100
  153. package/dist/core/conversation-analyzer.d 2.ts +0 -86
  154. package/dist/core/doc-injector 2.js +0 -236
  155. package/dist/core/doc-injector.d 2.ts +0 -51
  156. package/dist/core/git-manager 2.js +0 -214
  157. package/dist/core/git-manager.d 2.ts +0 -100
  158. package/dist/core/prompt-optimizer 2.js +0 -963
  159. package/dist/core/prompt-optimizer.d 2.ts +0 -268
  160. package/dist/core/question-engine 2.js +0 -395
  161. package/dist/core/question-engine.d 2.ts +0 -167
  162. package/dist/core/session-manager 2.js +0 -403
  163. package/dist/core/session-manager.d 2.ts +0 -139
  164. package/dist/core/task-manager 2.js +0 -689
  165. package/dist/core/task-manager.d 2.ts +0 -155
@@ -1,66 +1,27 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.AugmentAdapter = void 0;
37
- const os = __importStar(require("os"));
38
- const path = __importStar(require("path"));
39
- const base_adapter_1 = require("./base-adapter");
40
- const file_system_1 = require("../../utils/file-system");
1
+ import * as os from 'os';
2
+ import * as path from 'path';
3
+ import { BaseAdapter } from './base-adapter.js';
4
+ import { FileSystem } from '../../utils/file-system.js';
41
5
  /**
42
6
  * Augment CLI adapter
43
7
  * Commands stored in .augment/commands/clavix with optional subdirectories
44
8
  */
45
- class AugmentAdapter extends base_adapter_1.BaseAdapter {
46
- constructor() {
47
- super(...arguments);
48
- this.name = 'augment';
49
- this.displayName = 'Augment CLI';
50
- this.directory = '.augment/commands/clavix';
51
- this.fileExtension = '.md';
52
- this.features = {
53
- supportsSubdirectories: true,
54
- supportsFrontmatter: true,
55
- frontmatterFields: ['description', 'argument-hint', 'model'],
56
- };
57
- }
9
+ export class AugmentAdapter extends BaseAdapter {
10
+ name = 'augment';
11
+ displayName = 'Augment CLI';
12
+ directory = '.augment/commands/clavix';
13
+ fileExtension = '.md';
14
+ features = {
15
+ supportsSubdirectories: true,
16
+ supportsFrontmatter: true,
17
+ frontmatterFields: ['description', 'argument-hint', 'model'],
18
+ };
58
19
  async detectProject() {
59
- if (await file_system_1.FileSystem.exists('.augment')) {
20
+ if (await FileSystem.exists('.augment')) {
60
21
  return true;
61
22
  }
62
23
  const homeAugmentDir = path.join(this.getHomeDir(), '.augment');
63
- return file_system_1.FileSystem.exists(homeAugmentDir);
24
+ return FileSystem.exists(homeAugmentDir);
64
25
  }
65
26
  getCommandPath() {
66
27
  return this.directory;
@@ -73,5 +34,4 @@ class AugmentAdapter extends base_adapter_1.BaseAdapter {
73
34
  return process.env.CLAVIX_HOME_OVERRIDE || os.homedir();
74
35
  }
75
36
  }
76
- exports.AugmentAdapter = AugmentAdapter;
77
37
  //# sourceMappingURL=augment-adapter.js.map
@@ -1,4 +1,4 @@
1
- import { AgentAdapter, CommandTemplate, ManagedBlock, ProviderFeatures, ValidationResult } from '../../types/agent';
1
+ import { AgentAdapter, CommandTemplate, ManagedBlock, ProviderFeatures, ValidationResult } from '../../types/agent.js';
2
2
  /**
3
3
  * Base adapter class with shared logic for all providers
4
4
  * Ensures consistency and reduces code duplication
@@ -1,47 +1,12 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.BaseAdapter = void 0;
37
- const path = __importStar(require("path"));
38
- const file_system_1 = require("../../utils/file-system");
39
- const errors_1 = require("../../types/errors");
1
+ import * as path from 'path';
2
+ import { FileSystem } from '../../utils/file-system.js';
3
+ import { IntegrationError } from '../../types/errors.js';
40
4
  /**
41
5
  * Base adapter class with shared logic for all providers
42
6
  * Ensures consistency and reduces code duplication
43
7
  */
44
- class BaseAdapter {
8
+ export class BaseAdapter {
9
+ features;
45
10
  /**
46
11
  * Determine the target filename for a generated command
47
12
  * Providers can override to customize filename conventions
@@ -59,14 +24,14 @@ class BaseAdapter {
59
24
  const commandPath = this.getCommandPath();
60
25
  // Check if parent directory exists
61
26
  const parentDir = path.dirname(commandPath);
62
- if (!(await file_system_1.FileSystem.exists(parentDir))) {
27
+ if (!(await FileSystem.exists(parentDir))) {
63
28
  // Check if we can create parent by finding first existing ancestor
64
29
  let ancestorDir = parentDir;
65
30
  let canCreate = false;
66
31
  // Walk up the directory tree until we find an existing directory
67
32
  while (ancestorDir !== '.' && ancestorDir !== '/' && ancestorDir.length > 0) {
68
33
  ancestorDir = path.dirname(ancestorDir);
69
- if (await file_system_1.FileSystem.exists(ancestorDir)) {
34
+ if (await FileSystem.exists(ancestorDir)) {
70
35
  canCreate = true;
71
36
  break;
72
37
  }
@@ -82,7 +47,7 @@ class BaseAdapter {
82
47
  // Try to ensure directory exists
83
48
  if (errors.length === 0) {
84
49
  try {
85
- await file_system_1.FileSystem.ensureDir(commandPath);
50
+ await FileSystem.ensureDir(commandPath);
86
51
  }
87
52
  catch (error) {
88
53
  errors.push(`Cannot create command directory: ${error}`);
@@ -102,17 +67,17 @@ class BaseAdapter {
102
67
  const commandPath = this.getCommandPath();
103
68
  try {
104
69
  // Ensure directory exists
105
- await file_system_1.FileSystem.ensureDir(commandPath);
70
+ await FileSystem.ensureDir(commandPath);
106
71
  // Generate each command file
107
72
  for (const template of templates) {
108
73
  const content = this.formatCommand(template);
109
74
  const filename = this.getTargetFilename(template.name);
110
75
  const filePath = path.join(commandPath, filename);
111
- await file_system_1.FileSystem.writeFileAtomic(filePath, content);
76
+ await FileSystem.writeFileAtomic(filePath, content);
112
77
  }
113
78
  }
114
79
  catch (error) {
115
- throw new errors_1.IntegrationError(`Failed to generate ${this.displayName} commands: ${error}`, `Ensure ${commandPath} is writable`);
80
+ throw new IntegrationError(`Failed to generate ${this.displayName} commands: ${error}`, `Ensure ${commandPath} is writable`);
116
81
  }
117
82
  }
118
83
  /**
@@ -138,5 +103,4 @@ class BaseAdapter {
138
103
  return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
139
104
  }
140
105
  }
141
- exports.BaseAdapter = BaseAdapter;
142
106
  //# sourceMappingURL=base-adapter.js.map
@@ -1,5 +1,5 @@
1
- import { BaseAdapter } from './base-adapter';
2
- import { ManagedBlock } from '../../types/agent';
1
+ import { BaseAdapter } from './base-adapter.js';
2
+ import { ManagedBlock } from '../../types/agent.js';
3
3
  /**
4
4
  * Claude Code agent adapter
5
5
  */
@@ -1,65 +1,25 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.ClaudeCodeAdapter = void 0;
37
- const path = __importStar(require("path"));
38
- const base_adapter_1 = require("./base-adapter");
39
- const file_system_1 = require("../../utils/file-system");
40
- const errors_1 = require("../../types/errors");
1
+ import * as path from 'path';
2
+ import { BaseAdapter } from './base-adapter.js';
3
+ import { FileSystem } from '../../utils/file-system.js';
4
+ import { IntegrationError } from '../../types/errors.js';
41
5
  /**
42
6
  * Claude Code agent adapter
43
7
  */
44
- class ClaudeCodeAdapter extends base_adapter_1.BaseAdapter {
45
- constructor() {
46
- super(...arguments);
47
- this.name = 'claude-code';
48
- this.displayName = 'Claude Code';
49
- this.directory = '.claude/commands/clavix';
50
- this.fileExtension = '.md';
51
- this.features = {
52
- supportsSubdirectories: true,
53
- supportsFrontmatter: false,
54
- };
55
- // escapeRegex is inherited from BaseAdapter
56
- }
8
+ export class ClaudeCodeAdapter extends BaseAdapter {
9
+ name = 'claude-code';
10
+ displayName = 'Claude Code';
11
+ directory = '.claude/commands/clavix';
12
+ fileExtension = '.md';
13
+ features = {
14
+ supportsSubdirectories: true,
15
+ supportsFrontmatter: false,
16
+ };
57
17
  /**
58
18
  * Detect if Claude Code is available in the project
59
19
  */
60
20
  async detectProject() {
61
21
  // Check if .claude directory exists
62
- return await file_system_1.FileSystem.exists('.claude');
22
+ return await FileSystem.exists('.claude');
63
23
  }
64
24
  /**
65
25
  * Get command path for Claude Code
@@ -78,7 +38,7 @@ class ClaudeCodeAdapter extends base_adapter_1.BaseAdapter {
78
38
  }
79
39
  }
80
40
  catch (error) {
81
- throw new errors_1.IntegrationError(`Failed to inject documentation: ${error}`, 'Ensure target files are writable');
41
+ throw new IntegrationError(`Failed to inject documentation: ${error}`, 'Ensure target files are writable');
82
42
  }
83
43
  }
84
44
  /**
@@ -88,13 +48,13 @@ class ClaudeCodeAdapter extends base_adapter_1.BaseAdapter {
88
48
  const fullPath = path.resolve(filePath);
89
49
  let fileContent = '';
90
50
  // Read existing file or create new
91
- if (await file_system_1.FileSystem.exists(fullPath)) {
92
- fileContent = await file_system_1.FileSystem.readFile(fullPath);
51
+ if (await FileSystem.exists(fullPath)) {
52
+ fileContent = await FileSystem.readFile(fullPath);
93
53
  }
94
54
  else {
95
55
  // Create parent directory if needed
96
56
  const dir = path.dirname(fullPath);
97
- await file_system_1.FileSystem.ensureDir(dir);
57
+ await FileSystem.ensureDir(dir);
98
58
  }
99
59
  const blockRegex = new RegExp(`${this.escapeRegex(startMarker)}[\\s\\S]*?${this.escapeRegex(endMarker)}`, 'g');
100
60
  const wrappedContent = `${startMarker}\n${content}\n${endMarker}`;
@@ -109,8 +69,7 @@ class ClaudeCodeAdapter extends base_adapter_1.BaseAdapter {
109
69
  }
110
70
  fileContent += wrappedContent + '\n';
111
71
  }
112
- await file_system_1.FileSystem.writeFileAtomic(fullPath, fileContent);
72
+ await FileSystem.writeFileAtomic(fullPath, fileContent);
113
73
  }
114
74
  }
115
- exports.ClaudeCodeAdapter = ClaudeCodeAdapter;
116
75
  //# sourceMappingURL=claude-code-adapter.js.map
@@ -1,4 +1,4 @@
1
- import { BaseAdapter } from './base-adapter';
1
+ import { BaseAdapter } from './base-adapter.js';
2
2
  /**
3
3
  * Cline adapter
4
4
  * Workflows stored in .cline/workflows/ (flat structure, no subdirectories)
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ClineAdapter = void 0;
4
- const base_adapter_1 = require("./base-adapter");
5
- const file_system_1 = require("../../utils/file-system");
1
+ import { BaseAdapter } from './base-adapter.js';
2
+ import { FileSystem } from '../../utils/file-system.js';
6
3
  /**
7
4
  * Cline adapter
8
5
  * Workflows stored in .cline/workflows/ (flat structure, no subdirectories)
@@ -15,28 +12,24 @@ const file_system_1 = require("../../utils/file-system");
15
12
  *
16
13
  * Reference: https://docs.cline.bot/features/slash-commands/workflows
17
14
  */
18
- class ClineAdapter extends base_adapter_1.BaseAdapter {
19
- constructor() {
20
- super(...arguments);
21
- this.name = 'cline';
22
- this.displayName = 'Cline';
23
- this.directory = '.clinerules/workflows';
24
- this.fileExtension = '.md';
25
- this.features = {
26
- supportsSubdirectories: false,
27
- supportsFrontmatter: false,
28
- };
29
- // Uses default formatCommand and generateCommands from BaseAdapter
30
- }
15
+ export class ClineAdapter extends BaseAdapter {
16
+ name = 'cline';
17
+ displayName = 'Cline';
18
+ directory = '.clinerules/workflows';
19
+ fileExtension = '.md';
20
+ features = {
21
+ supportsSubdirectories: false,
22
+ supportsFrontmatter: false,
23
+ };
31
24
  /**
32
25
  * Detect if Cline is available in the project
33
26
  * Checks for .cline directory
34
27
  */
35
28
  async detectProject() {
36
- if (await file_system_1.FileSystem.exists('.clinerules')) {
29
+ if (await FileSystem.exists('.clinerules')) {
37
30
  return true;
38
31
  }
39
- return await file_system_1.FileSystem.exists('.cline');
32
+ return await FileSystem.exists('.cline');
40
33
  }
41
34
  /**
42
35
  * Get command path for Cline
@@ -48,5 +41,4 @@ class ClineAdapter extends base_adapter_1.BaseAdapter {
48
41
  return `clavix-${name}${this.fileExtension}`;
49
42
  }
50
43
  }
51
- exports.ClineAdapter = ClineAdapter;
52
44
  //# sourceMappingURL=cline-adapter.js.map
@@ -1,5 +1,5 @@
1
- import { BaseAdapter } from './base-adapter';
2
- import { CommandTemplate } from '../../types/agent';
1
+ import { BaseAdapter } from './base-adapter.js';
2
+ import { CommandTemplate } from '../../types/agent.js';
3
3
  /**
4
4
  * CodeBuddy CLI adapter
5
5
  * Commands stored in .codebuddy/commands with YAML frontmatter
@@ -1,67 +1,28 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.CodeBuddyAdapter = void 0;
37
- const os = __importStar(require("os"));
38
- const path = __importStar(require("path"));
39
- const base_adapter_1 = require("./base-adapter");
40
- const file_system_1 = require("../../utils/file-system");
1
+ import * as os from 'os';
2
+ import * as path from 'path';
3
+ import { BaseAdapter } from './base-adapter.js';
4
+ import { FileSystem } from '../../utils/file-system.js';
41
5
  /**
42
6
  * CodeBuddy CLI adapter
43
7
  * Commands stored in .codebuddy/commands with YAML frontmatter
44
8
  */
45
- class CodeBuddyAdapter extends base_adapter_1.BaseAdapter {
46
- constructor() {
47
- super(...arguments);
48
- this.name = 'codebuddy';
49
- this.displayName = 'CodeBuddy';
50
- this.directory = '.codebuddy/commands';
51
- this.fileExtension = '.md';
52
- this.features = {
53
- supportsSubdirectories: false,
54
- supportsFrontmatter: true,
55
- argumentPlaceholder: '$1',
56
- frontmatterFields: ['description', 'argument-hint'],
57
- };
58
- }
9
+ export class CodeBuddyAdapter extends BaseAdapter {
10
+ name = 'codebuddy';
11
+ displayName = 'CodeBuddy';
12
+ directory = '.codebuddy/commands';
13
+ fileExtension = '.md';
14
+ features = {
15
+ supportsSubdirectories: false,
16
+ supportsFrontmatter: true,
17
+ argumentPlaceholder: '$1',
18
+ frontmatterFields: ['description', 'argument-hint'],
19
+ };
59
20
  async detectProject() {
60
- if (await file_system_1.FileSystem.exists('.codebuddy')) {
21
+ if (await FileSystem.exists('.codebuddy')) {
61
22
  return true;
62
23
  }
63
24
  const homePath = path.join(this.getHomeDir(), '.codebuddy');
64
- return await file_system_1.FileSystem.exists(homePath);
25
+ return await FileSystem.exists(homePath);
65
26
  }
66
27
  getCommandPath() {
67
28
  return this.directory;
@@ -78,5 +39,4 @@ class CodeBuddyAdapter extends base_adapter_1.BaseAdapter {
78
39
  return process.env.CLAVIX_HOME_OVERRIDE || os.homedir();
79
40
  }
80
41
  }
81
- exports.CodeBuddyAdapter = CodeBuddyAdapter;
82
42
  //# sourceMappingURL=codebuddy-adapter.js.map
@@ -1,5 +1,5 @@
1
- import { BaseAdapter } from './base-adapter';
2
- import { CommandTemplate } from '../../types/agent';
1
+ import { BaseAdapter } from './base-adapter.js';
2
+ import { CommandTemplate } from '../../types/agent.js';
3
3
  /**
4
4
  * Codex CLI adapter
5
5
  * Commands stored globally under ~/.codex/prompts
@@ -1,64 +1,25 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.CodexAdapter = void 0;
37
- const os = __importStar(require("os"));
38
- const path = __importStar(require("path"));
39
- const base_adapter_1 = require("./base-adapter");
40
- const file_system_1 = require("../../utils/file-system");
1
+ import * as os from 'os';
2
+ import * as path from 'path';
3
+ import { BaseAdapter } from './base-adapter.js';
4
+ import { FileSystem } from '../../utils/file-system.js';
41
5
  /**
42
6
  * Codex CLI adapter
43
7
  * Commands stored globally under ~/.codex/prompts
44
8
  */
45
- class CodexAdapter extends base_adapter_1.BaseAdapter {
46
- constructor() {
47
- super(...arguments);
48
- this.name = 'codex';
49
- this.displayName = 'Codex CLI';
50
- this.directory = '~/.codex/prompts';
51
- this.fileExtension = '.md';
52
- this.features = {
53
- supportsSubdirectories: false,
54
- supportsFrontmatter: true,
55
- argumentPlaceholder: '$ARGUMENTS',
56
- frontmatterFields: ['description', 'argument-hint'],
57
- };
58
- }
9
+ export class CodexAdapter extends BaseAdapter {
10
+ name = 'codex';
11
+ displayName = 'Codex CLI';
12
+ directory = '~/.codex/prompts';
13
+ fileExtension = '.md';
14
+ features = {
15
+ supportsSubdirectories: false,
16
+ supportsFrontmatter: true,
17
+ argumentPlaceholder: '$ARGUMENTS',
18
+ frontmatterFields: ['description', 'argument-hint'],
19
+ };
59
20
  async detectProject() {
60
21
  const codexDir = path.join(this.getHomeDir(), '.codex');
61
- return await file_system_1.FileSystem.exists(codexDir);
22
+ return await FileSystem.exists(codexDir);
62
23
  }
63
24
  getCommandPath() {
64
25
  return path.join(this.getHomeDir(), '.codex', 'prompts');
@@ -75,5 +36,4 @@ class CodexAdapter extends base_adapter_1.BaseAdapter {
75
36
  return process.env.CLAVIX_HOME_OVERRIDE || os.homedir();
76
37
  }
77
38
  }
78
- exports.CodexAdapter = CodexAdapter;
79
39
  //# sourceMappingURL=codex-adapter.js.map