clavix 5.6.4 → 5.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/cli/commands/update.js +6 -0
  2. package/dist/cli/helpers/init/commands.d.ts +23 -0
  3. package/dist/cli/helpers/init/commands.js +39 -0
  4. package/dist/cli/helpers/init/config.d.ts +20 -0
  5. package/dist/cli/helpers/init/config.js +49 -0
  6. package/dist/cli/helpers/init/directories.d.ts +12 -0
  7. package/dist/cli/helpers/init/directories.js +17 -0
  8. package/dist/cli/helpers/init/documentation.d.ts +25 -0
  9. package/dist/cli/helpers/init/documentation.js +176 -0
  10. package/dist/cli/helpers/init/index.d.ts +20 -0
  11. package/dist/cli/helpers/init/index.js +20 -0
  12. package/dist/cli/helpers/init/integrations.d.ts +44 -0
  13. package/dist/cli/helpers/init/integrations.js +109 -0
  14. package/dist/cli/helpers/init/prompts.d.ts +31 -0
  15. package/dist/cli/helpers/init/prompts.js +97 -0
  16. package/dist/templates/agents/octo.md +1 -0
  17. package/dist/templates/agents/warp.md +1 -0
  18. package/package.json +3 -2
  19. package/dist/core/adapters/amp-adapter.d.ts +0 -30
  20. package/dist/core/adapters/amp-adapter.js +0 -35
  21. package/dist/core/adapters/augment-adapter.d.ts +0 -22
  22. package/dist/core/adapters/augment-adapter.js +0 -37
  23. package/dist/core/adapters/cline-adapter.d.ts +0 -37
  24. package/dist/core/adapters/cline-adapter.js +0 -45
  25. package/dist/core/adapters/codebuddy-adapter.d.ts +0 -27
  26. package/dist/core/adapters/codebuddy-adapter.js +0 -43
  27. package/dist/core/adapters/codex-adapter.d.ts +0 -27
  28. package/dist/core/adapters/codex-adapter.js +0 -40
  29. package/dist/core/adapters/crush-adapter.d.ts +0 -35
  30. package/dist/core/adapters/crush-adapter.js +0 -42
  31. package/dist/core/adapters/cursor-adapter.d.ts +0 -28
  32. package/dist/core/adapters/cursor-adapter.js +0 -33
  33. package/dist/core/adapters/droid-adapter.d.ts +0 -36
  34. package/dist/core/adapters/droid-adapter.js +0 -51
  35. package/dist/core/adapters/kilocode-adapter.d.ts +0 -37
  36. package/dist/core/adapters/kilocode-adapter.js +0 -42
  37. package/dist/core/adapters/opencode-adapter.d.ts +0 -36
  38. package/dist/core/adapters/opencode-adapter.js +0 -50
  39. package/dist/core/adapters/roocode-adapter.d.ts +0 -43
  40. package/dist/core/adapters/roocode-adapter.js +0 -62
  41. package/dist/core/adapters/windsurf-adapter.d.ts +0 -37
  42. package/dist/core/adapters/windsurf-adapter.js +0 -42
  43. package/dist/index 2.js +0 -13
  44. package/dist/index.d 2.ts +0 -4
@@ -1,51 +0,0 @@
1
- import { BaseAdapter } from './base-adapter.js';
2
- import { FileSystem } from '../../utils/file-system.js';
3
- /**
4
- * Droid CLI adapter (Factory.ai)
5
- * Commands stored in .factory/commands/ with YAML frontmatter
6
- * Uses $ARGUMENTS placeholder for command arguments
7
- */
8
- export class DroidAdapter extends BaseAdapter {
9
- name = 'droid';
10
- displayName = 'Droid CLI';
11
- directory = '.factory/commands';
12
- fileExtension = '.md';
13
- features = {
14
- supportsSubdirectories: false,
15
- supportsFrontmatter: true,
16
- frontmatterFields: ['description', 'argument-hint'],
17
- argumentPlaceholder: '$ARGUMENTS',
18
- commandFormat: { separator: '-' },
19
- };
20
- /**
21
- * Detect if Droid CLI is available in the project
22
- */
23
- async detectProject() {
24
- return await FileSystem.exists('.factory');
25
- }
26
- /**
27
- * Get command path for Droid CLI
28
- */
29
- getCommandPath() {
30
- return this.directory;
31
- }
32
- getTargetFilename(name) {
33
- return `clavix-${name}${this.fileExtension}`;
34
- }
35
- /**
36
- * Format command with YAML frontmatter for Droid CLI
37
- */
38
- formatCommand(template) {
39
- // Add YAML frontmatter
40
- const frontmatter = `---
41
- description: ${template.description}
42
- argument-hint: [prompt]
43
- ---
44
-
45
- `;
46
- // Replace generic argument placeholder with $ARGUMENTS
47
- const content = template.content.replace(/\{\{ARGS\}\}/g, '$ARGUMENTS');
48
- return frontmatter + content;
49
- }
50
- }
51
- //# sourceMappingURL=droid-adapter.js.map
@@ -1,37 +0,0 @@
1
- import { BaseAdapter } from './base-adapter.js';
2
- /**
3
- * Kilocode adapter
4
- * Workflows stored in .kilocode/workflows/ (flat structure, no subdirectories)
5
- * Slash command format: /[name.md] (includes .md extension)
6
- *
7
- * Features:
8
- * - Simple markdown with step-by-step instructions
9
- * - Supports built-in tools and MCP integrations
10
- * - Project-specific workflows only
11
- *
12
- * Reference: https://kilocode.ai/docs/features/slash-commands/workflows
13
- */
14
- export declare class KilocodeAdapter extends BaseAdapter {
15
- readonly name = "kilocode";
16
- readonly displayName = "Kilocode";
17
- readonly directory = ".kilocode/workflows";
18
- readonly fileExtension = ".md";
19
- readonly features: {
20
- supportsSubdirectories: boolean;
21
- supportsFrontmatter: boolean;
22
- commandFormat: {
23
- separator: "-";
24
- };
25
- };
26
- /**
27
- * Detect if Kilocode is available in the project
28
- * Checks for .kilocode directory
29
- */
30
- detectProject(): Promise<boolean>;
31
- /**
32
- * Get command path for Kilocode
33
- */
34
- getCommandPath(): string;
35
- getTargetFilename(name: string): string;
36
- }
37
- //# sourceMappingURL=kilocode-adapter.d.ts.map
@@ -1,42 +0,0 @@
1
- import { BaseAdapter } from './base-adapter.js';
2
- import { FileSystem } from '../../utils/file-system.js';
3
- /**
4
- * Kilocode adapter
5
- * Workflows stored in .kilocode/workflows/ (flat structure, no subdirectories)
6
- * Slash command format: /[name.md] (includes .md extension)
7
- *
8
- * Features:
9
- * - Simple markdown with step-by-step instructions
10
- * - Supports built-in tools and MCP integrations
11
- * - Project-specific workflows only
12
- *
13
- * Reference: https://kilocode.ai/docs/features/slash-commands/workflows
14
- */
15
- export class KilocodeAdapter extends BaseAdapter {
16
- name = 'kilocode';
17
- displayName = 'Kilocode';
18
- directory = '.kilocode/workflows';
19
- fileExtension = '.md';
20
- features = {
21
- supportsSubdirectories: false,
22
- supportsFrontmatter: false,
23
- commandFormat: { separator: '-' },
24
- };
25
- /**
26
- * Detect if Kilocode is available in the project
27
- * Checks for .kilocode directory
28
- */
29
- async detectProject() {
30
- return await FileSystem.exists('.kilocode');
31
- }
32
- /**
33
- * Get command path for Kilocode
34
- */
35
- getCommandPath() {
36
- return this.directory;
37
- }
38
- getTargetFilename(name) {
39
- return `clavix-${name}${this.fileExtension}`;
40
- }
41
- }
42
- //# sourceMappingURL=kilocode-adapter.js.map
@@ -1,36 +0,0 @@
1
- import { BaseAdapter } from './base-adapter.js';
2
- import { CommandTemplate } from '../../types/agent.js';
3
- /**
4
- * OpenCode adapter
5
- * Commands stored in .opencode/command/ with frontmatter
6
- * Uses $ARGUMENTS, $1, $2 placeholders
7
- */
8
- export declare class OpenCodeAdapter extends BaseAdapter {
9
- readonly name = "opencode";
10
- readonly displayName = "OpenCode";
11
- readonly directory = ".opencode/command";
12
- readonly fileExtension = ".md";
13
- readonly features: {
14
- supportsSubdirectories: boolean;
15
- supportsFrontmatter: boolean;
16
- frontmatterFields: string[];
17
- argumentPlaceholder: string;
18
- commandFormat: {
19
- separator: "-";
20
- };
21
- };
22
- /**
23
- * Detect if OpenCode is available in the project
24
- */
25
- detectProject(): Promise<boolean>;
26
- /**
27
- * Get command path for OpenCode
28
- */
29
- getCommandPath(): string;
30
- getTargetFilename(name: string): string;
31
- /**
32
- * Format command with frontmatter for OpenCode
33
- */
34
- protected formatCommand(template: CommandTemplate): string;
35
- }
36
- //# sourceMappingURL=opencode-adapter.d.ts.map
@@ -1,50 +0,0 @@
1
- import { BaseAdapter } from './base-adapter.js';
2
- import { FileSystem } from '../../utils/file-system.js';
3
- /**
4
- * OpenCode adapter
5
- * Commands stored in .opencode/command/ with frontmatter
6
- * Uses $ARGUMENTS, $1, $2 placeholders
7
- */
8
- export class OpenCodeAdapter extends BaseAdapter {
9
- name = 'opencode';
10
- displayName = 'OpenCode';
11
- directory = '.opencode/command';
12
- fileExtension = '.md';
13
- features = {
14
- supportsSubdirectories: false,
15
- supportsFrontmatter: true,
16
- frontmatterFields: ['description', 'agent', 'model'],
17
- argumentPlaceholder: '$ARGUMENTS',
18
- commandFormat: { separator: '-' },
19
- };
20
- /**
21
- * Detect if OpenCode is available in the project
22
- */
23
- async detectProject() {
24
- return await FileSystem.exists('.opencode');
25
- }
26
- /**
27
- * Get command path for OpenCode
28
- */
29
- getCommandPath() {
30
- return this.directory;
31
- }
32
- getTargetFilename(name) {
33
- return `clavix-${name}${this.fileExtension}`;
34
- }
35
- /**
36
- * Format command with frontmatter for OpenCode
37
- */
38
- formatCommand(template) {
39
- // Add frontmatter
40
- const frontmatter = `---
41
- description: ${template.description}
42
- ---
43
-
44
- `;
45
- // Replace generic argument placeholder with $ARGUMENTS
46
- const content = template.content.replace(/\{\{ARGS\}\}/g, '$ARGUMENTS');
47
- return frontmatter + content;
48
- }
49
- }
50
- //# sourceMappingURL=opencode-adapter.js.map
@@ -1,43 +0,0 @@
1
- import { BaseAdapter } from './base-adapter.js';
2
- import { CommandTemplate } from '../../types/agent.js';
3
- /**
4
- * Roocode adapter
5
- * Commands stored in .roo/commands/ (flat structure, no subdirectories)
6
- * Slash command format: /[name] (no .md extension, auto-converts to lowercase/dashes)
7
- *
8
- * Features:
9
- * - Supports optional frontmatter (description, argument-hint)
10
- * - Command names automatically processed: lowercase, spaces→dashes, special chars removed
11
- * - Project commands override global commands
12
- *
13
- * Reference: https://docs.roocode.com/features/slash-commands
14
- */
15
- export declare class RoocodeAdapter extends BaseAdapter {
16
- readonly name = "roocode";
17
- readonly displayName = "Roocode";
18
- readonly directory = ".roo/commands";
19
- readonly fileExtension = ".md";
20
- readonly features: {
21
- supportsSubdirectories: boolean;
22
- supportsFrontmatter: boolean;
23
- commandFormat: {
24
- separator: "-";
25
- };
26
- };
27
- /**
28
- * Detect if Roocode is available in the project
29
- * Checks for .roo directory
30
- */
31
- detectProject(): Promise<boolean>;
32
- /**
33
- * Get command path for Roocode
34
- */
35
- getCommandPath(): string;
36
- getTargetFilename(name: string): string;
37
- /**
38
- * Format command content for Roocode
39
- * Adds frontmatter with description and argument-hint if not already present
40
- */
41
- protected formatCommand(template: CommandTemplate): string;
42
- }
43
- //# sourceMappingURL=roocode-adapter.d.ts.map
@@ -1,62 +0,0 @@
1
- import { BaseAdapter } from './base-adapter.js';
2
- import { FileSystem } from '../../utils/file-system.js';
3
- /**
4
- * Roocode adapter
5
- * Commands stored in .roo/commands/ (flat structure, no subdirectories)
6
- * Slash command format: /[name] (no .md extension, auto-converts to lowercase/dashes)
7
- *
8
- * Features:
9
- * - Supports optional frontmatter (description, argument-hint)
10
- * - Command names automatically processed: lowercase, spaces→dashes, special chars removed
11
- * - Project commands override global commands
12
- *
13
- * Reference: https://docs.roocode.com/features/slash-commands
14
- */
15
- export class RoocodeAdapter extends BaseAdapter {
16
- name = 'roocode';
17
- displayName = 'Roocode';
18
- directory = '.roo/commands';
19
- fileExtension = '.md';
20
- features = {
21
- supportsSubdirectories: false,
22
- supportsFrontmatter: true,
23
- commandFormat: { separator: '-' },
24
- };
25
- /**
26
- * Detect if Roocode is available in the project
27
- * Checks for .roo directory
28
- */
29
- async detectProject() {
30
- return await FileSystem.exists('.roo');
31
- }
32
- /**
33
- * Get command path for Roocode
34
- */
35
- getCommandPath() {
36
- return this.directory;
37
- }
38
- getTargetFilename(name) {
39
- return `clavix-${name}${this.fileExtension}`;
40
- }
41
- /**
42
- * Format command content for Roocode
43
- * Adds frontmatter with description and argument-hint if not already present
44
- */
45
- formatCommand(template) {
46
- const content = template.content;
47
- // Check if frontmatter already exists
48
- if (content.trim().startsWith('---')) {
49
- // Frontmatter already exists, use as-is
50
- return content;
51
- }
52
- // Add Roocode-specific frontmatter
53
- const frontmatter = `---
54
- description: ${template.description || `Clavix ${template.name} command`}
55
- argument-hint: <prompt>
56
- ---
57
-
58
- `;
59
- return frontmatter + content;
60
- }
61
- }
62
- //# sourceMappingURL=roocode-adapter.js.map
@@ -1,37 +0,0 @@
1
- import { BaseAdapter } from './base-adapter.js';
2
- /**
3
- * Windsurf adapter
4
- * Workflows stored in .windsurf/workflows/ (supports subdirectories)
5
- * Slash command format: /[name] (no .md extension)
6
- *
7
- * Features:
8
- * - Supports subdirectories for workflow organization
9
- * - 12,000 character limit per workflow file
10
- * - Auto-discovers from workspace, subdirectories, and parent dirs up to git root
11
- *
12
- * Reference: https://docs.windsurf.com/windsurf/cascade/workflows
13
- */
14
- export declare class WindsurfAdapter extends BaseAdapter {
15
- readonly name = "windsurf";
16
- readonly displayName = "Windsurf";
17
- readonly directory = ".windsurf/workflows";
18
- readonly fileExtension = ".md";
19
- readonly features: {
20
- supportsSubdirectories: boolean;
21
- supportsFrontmatter: boolean;
22
- commandFormat: {
23
- separator: "-";
24
- };
25
- };
26
- /**
27
- * Detect if Windsurf is available in the project
28
- * Checks for .windsurf directory
29
- */
30
- detectProject(): Promise<boolean>;
31
- /**
32
- * Get command path for Windsurf
33
- */
34
- getCommandPath(): string;
35
- getTargetFilename(name: string): string;
36
- }
37
- //# sourceMappingURL=windsurf-adapter.d.ts.map
@@ -1,42 +0,0 @@
1
- import { BaseAdapter } from './base-adapter.js';
2
- import { FileSystem } from '../../utils/file-system.js';
3
- /**
4
- * Windsurf adapter
5
- * Workflows stored in .windsurf/workflows/ (supports subdirectories)
6
- * Slash command format: /[name] (no .md extension)
7
- *
8
- * Features:
9
- * - Supports subdirectories for workflow organization
10
- * - 12,000 character limit per workflow file
11
- * - Auto-discovers from workspace, subdirectories, and parent dirs up to git root
12
- *
13
- * Reference: https://docs.windsurf.com/windsurf/cascade/workflows
14
- */
15
- export class WindsurfAdapter extends BaseAdapter {
16
- name = 'windsurf';
17
- displayName = 'Windsurf';
18
- directory = '.windsurf/workflows';
19
- fileExtension = '.md';
20
- features = {
21
- supportsSubdirectories: true,
22
- supportsFrontmatter: false,
23
- commandFormat: { separator: '-' },
24
- };
25
- /**
26
- * Detect if Windsurf is available in the project
27
- * Checks for .windsurf directory
28
- */
29
- async detectProject() {
30
- return await FileSystem.exists('.windsurf');
31
- }
32
- /**
33
- * Get command path for Windsurf
34
- */
35
- getCommandPath() {
36
- return this.directory;
37
- }
38
- getTargetFilename(name) {
39
- return `clavix-${name}${this.fileExtension}`;
40
- }
41
- }
42
- //# sourceMappingURL=windsurf-adapter.js.map
package/dist/index 2.js DELETED
@@ -1,13 +0,0 @@
1
- #!/usr/bin/env node
2
- import { run, handle, settings } from '@oclif/core';
3
- // Disable debug mode (stack traces) unless explicitly requested via DEBUG env var
4
- if (!process.env.DEBUG) {
5
- settings.debug = false;
6
- }
7
- // Run if called directly
8
- if (import.meta.url === `file://${process.argv[1]}`) {
9
- run().catch(handle);
10
- }
11
- // Export for testing
12
- export { run };
13
- //# sourceMappingURL=index.js.map
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env node
2
- import { run } from '@oclif/core';
3
- export { run };
4
- //# sourceMappingURL=index.d.ts.map