clavix 3.1.0 → 3.2.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.
@@ -103,6 +103,10 @@ export default class Init extends Command {
103
103
  name: 'Kilocode (.kilocode/workflows/)',
104
104
  value: 'kilocode',
105
105
  },
106
+ {
107
+ name: 'LLXPRT (.llxprt/commands/clavix/)',
108
+ value: 'llxprt',
109
+ },
106
110
  {
107
111
  name: 'Roocode (.roo/commands/)',
108
112
  value: 'roocode',
@@ -0,0 +1,27 @@
1
+ import { BaseAdapter } from './base-adapter.js';
2
+ import { CommandTemplate } from '../../types/agent.js';
3
+ /**
4
+ * LLXPRT adapter
5
+ * Commands stored as TOML files under .llxprt/commands/clavix by default
6
+ */
7
+ export declare class LlxprtAdapter extends BaseAdapter {
8
+ private readonly options;
9
+ readonly name = "llxprt";
10
+ readonly displayName = "LLXPRT";
11
+ readonly fileExtension = ".toml";
12
+ readonly features: {
13
+ supportsSubdirectories: boolean;
14
+ supportsFrontmatter: boolean;
15
+ argumentPlaceholder: string;
16
+ };
17
+ constructor(options?: {
18
+ useNamespace?: boolean;
19
+ });
20
+ get directory(): string;
21
+ detectProject(): Promise<boolean>;
22
+ getCommandPath(): string;
23
+ getTargetFilename(name: string): string;
24
+ protected formatCommand(template: CommandTemplate): string;
25
+ private getHomeDir;
26
+ }
27
+ //# sourceMappingURL=llxprt-adapter.d.ts.map
@@ -0,0 +1,54 @@
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';
5
+ /**
6
+ * LLXPRT adapter
7
+ * Commands stored as TOML files under .llxprt/commands/clavix by default
8
+ */
9
+ export class LlxprtAdapter extends BaseAdapter {
10
+ options;
11
+ name = 'llxprt';
12
+ displayName = 'LLXPRT';
13
+ fileExtension = '.toml';
14
+ features = {
15
+ supportsSubdirectories: true,
16
+ supportsFrontmatter: false,
17
+ argumentPlaceholder: '{{args}}',
18
+ };
19
+ constructor(options = {}) {
20
+ super();
21
+ this.options = options;
22
+ }
23
+ get directory() {
24
+ const useNamespace = this.options.useNamespace ?? true;
25
+ return useNamespace ? path.join('.llxprt', 'commands', 'clavix') : path.join('.llxprt', 'commands');
26
+ }
27
+ async detectProject() {
28
+ if (await FileSystem.exists('.llxprt')) {
29
+ return true;
30
+ }
31
+ const homePath = path.join(this.getHomeDir(), '.llxprt');
32
+ return await FileSystem.exists(homePath);
33
+ }
34
+ getCommandPath() {
35
+ return this.directory;
36
+ }
37
+ getTargetFilename(name) {
38
+ const commandPath = this.getCommandPath();
39
+ const namespaced = commandPath.endsWith(path.join('commands', 'clavix'));
40
+ const baseName = namespaced ? name : `clavix-${name}`;
41
+ return `${baseName}${this.fileExtension}`;
42
+ }
43
+ formatCommand(template) {
44
+ const description = template.description.trim().length > 0
45
+ ? `description = ${JSON.stringify(template.description)}\n\n`
46
+ : '';
47
+ const content = template.content.replace(/\{\{ARGS\}\}/g, '{{args}}');
48
+ return `${description}prompt = """\n${content}\n"""\n`;
49
+ }
50
+ getHomeDir() {
51
+ return process.env.CLAVIX_HOME_OVERRIDE || os.homedir();
52
+ }
53
+ }
54
+ //# sourceMappingURL=llxprt-adapter.js.map
@@ -14,6 +14,7 @@ import { GeminiAdapter } from './adapters/gemini-adapter.js';
14
14
  import { QwenAdapter } from './adapters/qwen-adapter.js';
15
15
  import { CodexAdapter } from './adapters/codex-adapter.js';
16
16
  import { AugmentAdapter } from './adapters/augment-adapter.js';
17
+ import { LlxprtAdapter } from './adapters/llxprt-adapter.js';
17
18
  /**
18
19
  * Agent Manager - handles agent detection and registration
19
20
  */
@@ -29,6 +30,7 @@ export class AgentManager {
29
30
  this.registerAdapter(new CrushAdapter());
30
31
  this.registerAdapter(new WindsurfAdapter());
31
32
  this.registerAdapter(new KilocodeAdapter());
33
+ this.registerAdapter(new LlxprtAdapter());
32
34
  this.registerAdapter(new ClineAdapter());
33
35
  this.registerAdapter(new RoocodeAdapter());
34
36
  this.registerAdapter(new AugmentAdapter());
@@ -37,5 +37,5 @@ export interface ManagedBlock {
37
37
  content: string;
38
38
  targetFile: string;
39
39
  }
40
- export type AgentType = 'agents-md' | 'amp' | 'augment' | 'claude-code' | 'cline' | 'codex' | 'codebuddy' | 'copilot-instructions' | 'crush' | 'cursor' | 'custom' | 'droid' | 'gemini' | 'kilocode' | 'octo-md' | 'opencode' | 'qwen' | 'roocode' | 'windsurf';
40
+ export type AgentType = 'agents-md' | 'amp' | 'augment' | 'claude-code' | 'cline' | 'codex' | 'codebuddy' | 'copilot-instructions' | 'crush' | 'cursor' | 'custom' | 'droid' | 'gemini' | 'kilocode' | 'llxprt' | 'octo-md' | 'opencode' | 'qwen' | 'roocode' | 'windsurf';
41
41
  //# sourceMappingURL=agent.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clavix",
3
- "version": "3.1.0",
3
+ "version": "3.2.0",
4
4
  "description": "Clavix Intelligence™ for AI coding. Automatically optimizes prompts with intent detection, quality assessment, and adaptive patterns—no framework to learn. Works with Claude Code, Cursor, Windsurf, and 19+ other AI coding tools.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",