clavix 1.5.3 → 1.7.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.
- package/README.md +69 -28
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +25 -2
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/core/adapters/base-adapter.d.ts.map +1 -1
- package/dist/core/adapters/base-adapter.js +15 -5
- package/dist/core/adapters/base-adapter.js.map +1 -1
- package/dist/core/adapters/cline-adapter.d.ts +33 -0
- package/dist/core/adapters/cline-adapter.d.ts.map +1 -0
- package/dist/core/adapters/cline-adapter.js +46 -0
- package/dist/core/adapters/cline-adapter.js.map +1 -0
- package/dist/core/adapters/crush-adapter.d.ts +35 -0
- package/dist/core/adapters/crush-adapter.d.ts.map +1 -0
- package/dist/core/adapters/crush-adapter.js +49 -0
- package/dist/core/adapters/crush-adapter.js.map +1 -0
- package/dist/core/adapters/kilocode-adapter.d.ts +33 -0
- package/dist/core/adapters/kilocode-adapter.d.ts.map +1 -0
- package/dist/core/adapters/kilocode-adapter.js +46 -0
- package/dist/core/adapters/kilocode-adapter.js.map +1 -0
- package/dist/core/adapters/roocode-adapter.d.ts +39 -0
- package/dist/core/adapters/roocode-adapter.d.ts.map +1 -0
- package/dist/core/adapters/roocode-adapter.js +65 -0
- package/dist/core/adapters/roocode-adapter.js.map +1 -0
- package/dist/core/adapters/windsurf-adapter.d.ts +33 -0
- package/dist/core/adapters/windsurf-adapter.d.ts.map +1 -0
- package/dist/core/adapters/windsurf-adapter.js +46 -0
- package/dist/core/adapters/windsurf-adapter.js.map +1 -0
- package/dist/core/agent-manager.d.ts.map +1 -1
- package/dist/core/agent-manager.js +10 -0
- package/dist/core/agent-manager.js.map +1 -1
- package/dist/templates/agents/agents.md +8 -169
- package/dist/templates/slash-commands/cline/archive.md +164 -0
- package/dist/templates/slash-commands/cline/deep.md +147 -0
- package/dist/templates/slash-commands/cline/fast.md +136 -0
- package/dist/templates/slash-commands/cline/implement.md +116 -0
- package/dist/templates/slash-commands/cline/plan.md +69 -0
- package/dist/templates/slash-commands/cline/prd.md +80 -0
- package/dist/templates/slash-commands/cline/start.md +66 -0
- package/dist/templates/slash-commands/cline/summarize.md +99 -0
- package/dist/templates/slash-commands/crush/archive.md +164 -0
- package/dist/templates/slash-commands/crush/deep.md +147 -0
- package/dist/templates/slash-commands/crush/fast.md +136 -0
- package/dist/templates/slash-commands/crush/implement.md +116 -0
- package/dist/templates/slash-commands/crush/plan.md +69 -0
- package/dist/templates/slash-commands/crush/prd.md +80 -0
- package/dist/templates/slash-commands/crush/start.md +66 -0
- package/dist/templates/slash-commands/crush/summarize.md +99 -0
- package/dist/templates/slash-commands/kilocode/archive.md +164 -0
- package/dist/templates/slash-commands/kilocode/deep.md +147 -0
- package/dist/templates/slash-commands/kilocode/fast.md +136 -0
- package/dist/templates/slash-commands/kilocode/implement.md +116 -0
- package/dist/templates/slash-commands/kilocode/plan.md +69 -0
- package/dist/templates/slash-commands/kilocode/prd.md +80 -0
- package/dist/templates/slash-commands/kilocode/start.md +66 -0
- package/dist/templates/slash-commands/kilocode/summarize.md +99 -0
- package/dist/templates/slash-commands/roocode/archive.md +164 -0
- package/dist/templates/slash-commands/roocode/deep.md +147 -0
- package/dist/templates/slash-commands/roocode/fast.md +136 -0
- package/dist/templates/slash-commands/roocode/implement.md +116 -0
- package/dist/templates/slash-commands/roocode/plan.md +69 -0
- package/dist/templates/slash-commands/roocode/prd.md +80 -0
- package/dist/templates/slash-commands/roocode/start.md +66 -0
- package/dist/templates/slash-commands/roocode/summarize.md +99 -0
- package/dist/templates/slash-commands/windsurf/archive.md +164 -0
- package/dist/templates/slash-commands/windsurf/deep.md +147 -0
- package/dist/templates/slash-commands/windsurf/fast.md +136 -0
- package/dist/templates/slash-commands/windsurf/implement.md +116 -0
- package/dist/templates/slash-commands/windsurf/plan.md +69 -0
- package/dist/templates/slash-commands/windsurf/prd.md +80 -0
- package/dist/templates/slash-commands/windsurf/start.md +66 -0
- package/dist/templates/slash-commands/windsurf/summarize.md +99 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,6 +6,51 @@
|
|
|
6
6
|
|
|
7
7
|
Clavix helps developers create better prompts and structured Product Requirements Documents (PRDs) for AI-assisted development tools like Claude Code. Using the CLEAR Framework (Concise, Logical, Explicit, Adaptive, Reflective) and Socratic questioning, Clavix ensures your requirements are clear, complete, and actionable.
|
|
8
8
|
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install -g clavix
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
**Troubleshooting:**
|
|
16
|
+
- If you encounter permission errors, use `sudo npm install -g clavix` (macOS/Linux)
|
|
17
|
+
- On Windows, run your terminal as Administrator
|
|
18
|
+
- Verify installation with `clavix version`
|
|
19
|
+
|
|
20
|
+
## Supported Providers
|
|
21
|
+
|
|
22
|
+
Clavix integrates seamlessly with multiple AI development tools:
|
|
23
|
+
|
|
24
|
+
### IDE & IDE Extensions
|
|
25
|
+
| Tool | Slash Commands | Directory | Status |
|
|
26
|
+
|------|----------------|-----------|--------|
|
|
27
|
+
| **Claude Code** | ✅ | `.claude/commands/clavix/` | Fully Supported |
|
|
28
|
+
| **Cursor** | ✅ | `.cursor/commands/` | Fully Supported |
|
|
29
|
+
| **Windsurf** | ✅ | `.windsurf/workflows/` | Fully Supported |
|
|
30
|
+
| **Kilocode** | ✅ | `.kilocode/workflows/` | Fully Supported |
|
|
31
|
+
| **Roocode** | ✅ | `.roo/commands/` | Fully Supported |
|
|
32
|
+
| **Cline** | ✅ | `.cline/workflows/` | Fully Supported |
|
|
33
|
+
|
|
34
|
+
### CLI Tools
|
|
35
|
+
| Tool | Slash Commands | Directory | Status |
|
|
36
|
+
|------|----------------|-----------|--------|
|
|
37
|
+
| **Droid CLI** | ✅ | `.factory/commands/` | Fully Supported |
|
|
38
|
+
| **OpenCode** | ✅ | `.opencode/command/` | Fully Supported |
|
|
39
|
+
| **Amp** | ✅ | `.agents/commands/` | Fully Supported |
|
|
40
|
+
| **Crush CLI** | ✅ | `.crush/commands/clavix/` | Fully Supported |
|
|
41
|
+
|
|
42
|
+
### Universal Adapters
|
|
43
|
+
| Tool | Slash Commands | Directory | Status |
|
|
44
|
+
|------|----------------|-----------|--------|
|
|
45
|
+
| **Universal (agents.md)** | ⚡ No slash commands | `AGENTS.md` | Fully Supported |
|
|
46
|
+
| **Octofriend** | ⚡ No slash commands | `OCTO.md` | Fully Supported |
|
|
47
|
+
|
|
48
|
+
**Key Features:**
|
|
49
|
+
- **Multi-Select Support** - Choose multiple tools during `clavix init`
|
|
50
|
+
- **Provider-Specific Formatting** - Commands generated in each tool's native format
|
|
51
|
+
- **Universal Fallback** - `agents.md` works with any tool
|
|
52
|
+
- **Managed Documentation** - Auto-inject and update instructions
|
|
53
|
+
|
|
9
54
|
## Why Clavix?
|
|
10
55
|
|
|
11
56
|
AI-assisted development tools produce better code when given better prompts. However, developers often struggle to write comprehensive, structured prompts that clearly communicate requirements, constraints, and success criteria. Clavix solves this by:
|
|
@@ -63,24 +108,23 @@ Lo, L. S. (2023). "The CLEAR Path: A Framework for Enhancing Information Literac
|
|
|
63
108
|
|
|
64
109
|
### 🤖 Multi-Provider AI Agent Integration
|
|
65
110
|
|
|
66
|
-
|
|
111
|
+
Clavix works with all major AI development tools (see [Supported Providers](#supported-providers) above).
|
|
67
112
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
113
|
+
**Available Slash Commands:**
|
|
114
|
+
- `/clavix:fast` - Quick CLEAR improvements
|
|
115
|
+
- `/clavix:deep` - Full CLEAR analysis
|
|
116
|
+
- `/clavix:prd` - Generate PRD
|
|
117
|
+
- `/clavix:plan` - Generate task breakdown
|
|
118
|
+
- `/clavix:implement` - Execute tasks
|
|
119
|
+
- `/clavix:archive` - Archive completed projects
|
|
120
|
+
- `/clavix:start` - Start conversational mode
|
|
121
|
+
- `/clavix:summarize` - Extract optimized prompts
|
|
76
122
|
|
|
77
|
-
**Features:**
|
|
78
|
-
-
|
|
79
|
-
-
|
|
80
|
-
-
|
|
81
|
-
-
|
|
82
|
-
- **Managed Documentation** - Auto-inject and update instructions in `AGENTS.md` and `CLAUDE.md` with safe managed blocks
|
|
83
|
-
- **Extensible Architecture** - Plugin-based adapter pattern for easy addition of new providers
|
|
123
|
+
**Integration Features:**
|
|
124
|
+
- Provider-specific command formatting (e.g., Crush CLI uses `$PROMPT` placeholder)
|
|
125
|
+
- Interactive multi-select during `clavix init`
|
|
126
|
+
- Automatic documentation injection with managed blocks
|
|
127
|
+
- Extensible plugin-based architecture for adding new providers
|
|
84
128
|
|
|
85
129
|
### ⚙️ Configuration & Management
|
|
86
130
|
|
|
@@ -117,17 +161,6 @@ Lo, L. S. (2023). "The CLEAR Path: A Framework for Enhancing Information Literac
|
|
|
117
161
|
- `clavix update` - Update managed blocks and slash commands
|
|
118
162
|
- `clavix version` - Display version information
|
|
119
163
|
|
|
120
|
-
## Installation
|
|
121
|
-
|
|
122
|
-
```bash
|
|
123
|
-
npm install -g clavix
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
**Troubleshooting:**
|
|
127
|
-
- If you encounter permission errors, use `sudo npm install -g clavix` (macOS/Linux)
|
|
128
|
-
- On Windows, run your terminal as Administrator
|
|
129
|
-
- Verify installation with `clavix version`
|
|
130
|
-
|
|
131
164
|
## Quick Start
|
|
132
165
|
|
|
133
166
|
### 1. Initialize in Your Project
|
|
@@ -646,4 +679,12 @@ MIT
|
|
|
646
679
|
|
|
647
680
|
---
|
|
648
681
|
|
|
649
|
-
|
|
682
|
+
## Star History
|
|
683
|
+
|
|
684
|
+
<a href="https://www.star-history.com/#Bob5k/Clavix&type=date&legend=top-left">
|
|
685
|
+
<picture>
|
|
686
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=Bob5k/Clavix&type=date&theme=dark&legend=top-left" />
|
|
687
|
+
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=Bob5k/Clavix&type=date&legend=top-left" />
|
|
688
|
+
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=Bob5k/Clavix&type=date&legend=top-left" />
|
|
689
|
+
</picture>
|
|
690
|
+
</a>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAatC,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,OAAO;IACvC,MAAM,CAAC,WAAW,SAA8C;IAEhE,MAAM,CAAC,QAAQ,WAEb;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAatC,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,OAAO;IACvC,MAAM,CAAC,WAAW,SAA8C;IAEhE,MAAM,CAAC,QAAQ,WAEb;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YAuMZ,wBAAwB;YAaxB,cAAc;YAWd,oBAAoB;YAqDpB,qBAAqB;YAoBrB,mBAAmB;YAYnB,kBAAkB;IAoChC,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,kBAAkB;CAI3B"}
|
|
@@ -76,15 +76,33 @@ class Init extends core_1.Command {
|
|
|
76
76
|
name: 'selectedProviders',
|
|
77
77
|
message: 'Which AI tools are you using?',
|
|
78
78
|
choices: [
|
|
79
|
+
// IDE & IDE Extensions
|
|
79
80
|
{
|
|
80
81
|
name: 'Claude Code (.claude/commands/clavix/)',
|
|
81
82
|
value: 'claude-code',
|
|
82
|
-
checked: true,
|
|
83
83
|
},
|
|
84
84
|
{
|
|
85
85
|
name: 'Cursor (.cursor/commands/)',
|
|
86
86
|
value: 'cursor',
|
|
87
87
|
},
|
|
88
|
+
{
|
|
89
|
+
name: 'Windsurf (.windsurf/workflows/)',
|
|
90
|
+
value: 'windsurf',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: 'Kilocode (.kilocode/workflows/)',
|
|
94
|
+
value: 'kilocode',
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
name: 'Roocode (.roo/commands/)',
|
|
98
|
+
value: 'roocode',
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
name: 'Cline (.cline/workflows/)',
|
|
102
|
+
value: 'cline',
|
|
103
|
+
},
|
|
104
|
+
new inquirer_1.default.Separator(),
|
|
105
|
+
// CLI Tools
|
|
88
106
|
{
|
|
89
107
|
name: 'Droid CLI (.factory/commands/)',
|
|
90
108
|
value: 'droid',
|
|
@@ -97,16 +115,21 @@ class Init extends core_1.Command {
|
|
|
97
115
|
name: 'Amp (.agents/commands/)',
|
|
98
116
|
value: 'amp',
|
|
99
117
|
},
|
|
118
|
+
{
|
|
119
|
+
name: 'Crush CLI (.crush/commands/clavix/)',
|
|
120
|
+
value: 'crush',
|
|
121
|
+
},
|
|
100
122
|
new inquirer_1.default.Separator(),
|
|
123
|
+
// Universal Adapters
|
|
101
124
|
{
|
|
102
125
|
name: 'agents.md (Universal - for tools without slash commands)',
|
|
103
126
|
value: 'agents-md',
|
|
104
|
-
checked: true,
|
|
105
127
|
},
|
|
106
128
|
{
|
|
107
129
|
name: 'Octofriend (OCTO.md - optimized for Octofriend)',
|
|
108
130
|
value: 'octo-md',
|
|
109
131
|
},
|
|
132
|
+
new inquirer_1.default.Separator(),
|
|
110
133
|
],
|
|
111
134
|
validate: (answer) => {
|
|
112
135
|
if (answer.length === 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,wDAAgC;AAChC,kDAA0B;AAC1B,2CAA6B;AAC7B,kDAA0B;AAC1B,4DAAwD;AACxD,0DAAsD;AACtD,iFAA4E;AAC5E,6EAAwE;AACxE,yDAAqD;AACrD,+CAAkE;AAGlE,MAAqB,IAAK,SAAQ,cAAO;IAOvC,KAAK,CAAC,GAAG;QACP,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;QAE7D,IAAI,CAAC;YACH,+BAA+B;YAC/B,IAAI,MAAM,wBAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;oBACvC;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,8CAA8C;wBACvD,OAAO,EAAE,KAAK;qBACf;iBACF,CAAC,CAAC;gBAEH,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC,CAAC;oBAC5D,OAAO;gBACT,CAAC;YACH,CAAC;YAED,kCAAkC;YAClC,MAAM,YAAY,GAAG,IAAI,4BAAY,EAAE,CAAC;YAExC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC;YAEjE,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;gBAClD;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,mBAAmB;oBACzB,OAAO,EAAE,+BAA+B;oBACxC,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,wCAAwC;4BAC9C,KAAK,EAAE,aAAa;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-adapter.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/base-adapter.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAI3B;;;GAGG;AACH,8BAAsB,WAAY,YAAW,YAAY;IACvD,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAErC,QAAQ,CAAC,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAC1C,QAAQ,CAAC,cAAc,IAAI,MAAM;IAEjC;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"base-adapter.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/base-adapter.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAI3B;;;GAGG;AACH,8BAAsB,WAAY,YAAW,YAAY;IACvD,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAErC,QAAQ,CAAC,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAC1C,QAAQ,CAAC,cAAc,IAAI,MAAM;IAEjC;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAkD3C;;;OAGG;IACG,gBAAgB,CAAC,SAAS,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBnE;;;;OAIG;IACH,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM;IAI1D;;;OAGG;IACG,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjE;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAG3C"}
|
|
@@ -53,14 +53,24 @@ class BaseAdapter {
|
|
|
53
53
|
// Check if parent directory exists
|
|
54
54
|
const parentDir = path.dirname(commandPath);
|
|
55
55
|
if (!(await file_system_1.FileSystem.exists(parentDir))) {
|
|
56
|
-
// Check if we can create parent
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
56
|
+
// Check if we can create parent by finding first existing ancestor
|
|
57
|
+
let ancestorDir = parentDir;
|
|
58
|
+
let canCreate = false;
|
|
59
|
+
// Walk up the directory tree until we find an existing directory
|
|
60
|
+
while (ancestorDir !== '.' && ancestorDir !== '/' && ancestorDir.length > 0) {
|
|
61
|
+
ancestorDir = path.dirname(ancestorDir);
|
|
62
|
+
if (await file_system_1.FileSystem.exists(ancestorDir)) {
|
|
63
|
+
canCreate = true;
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
60
66
|
}
|
|
61
|
-
|
|
67
|
+
// If we reached '.' or '/', it means we can create the directory
|
|
68
|
+
if (ancestorDir === '.' || ancestorDir === '/' || canCreate) {
|
|
62
69
|
warnings.push(`Parent directory ${parentDir} will be created`);
|
|
63
70
|
}
|
|
71
|
+
else {
|
|
72
|
+
errors.push(`Parent directory ${parentDir} does not exist and cannot be created`);
|
|
73
|
+
}
|
|
64
74
|
}
|
|
65
75
|
// Try to ensure directory exists
|
|
66
76
|
if (errors.length === 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-adapter.js","sourceRoot":"","sources":["../../../src/core/adapters/base-adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAQ7B,yDAAqD;AACrD,+CAAsD;AAEtD;;;GAGG;AACH,MAAsB,WAAW;IAU/B;;;OAGG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAE1C,mCAAmC;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAC,MAAM,wBAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YAC1C,
|
|
1
|
+
{"version":3,"file":"base-adapter.js","sourceRoot":"","sources":["../../../src/core/adapters/base-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { BaseAdapter } from './base-adapter';
|
|
2
|
+
/**
|
|
3
|
+
* Cline adapter
|
|
4
|
+
* Workflows stored in .cline/workflows/ (flat structure, no subdirectories)
|
|
5
|
+
* Slash command format: /<name.md> (includes .md extension with leading slash)
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Lives alongside Cline Rules
|
|
9
|
+
* - Clear step-by-step instructions in markdown
|
|
10
|
+
* - Supports built-in tools, CLI utilities, and MCP integrations
|
|
11
|
+
*
|
|
12
|
+
* Reference: https://docs.cline.bot/features/slash-commands/workflows
|
|
13
|
+
*/
|
|
14
|
+
export declare class ClineAdapter extends BaseAdapter {
|
|
15
|
+
readonly name = "cline";
|
|
16
|
+
readonly displayName = "Cline";
|
|
17
|
+
readonly directory = ".cline/workflows";
|
|
18
|
+
readonly fileExtension = ".md";
|
|
19
|
+
readonly features: {
|
|
20
|
+
supportsSubdirectories: boolean;
|
|
21
|
+
supportsFrontmatter: boolean;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Detect if Cline is available in the project
|
|
25
|
+
* Checks for .cline directory
|
|
26
|
+
*/
|
|
27
|
+
detectProject(): Promise<boolean>;
|
|
28
|
+
/**
|
|
29
|
+
* Get command path for Cline
|
|
30
|
+
*/
|
|
31
|
+
getCommandPath(): string;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=cline-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cline-adapter.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/cline-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C;;;;;;;;;;;GAWG;AACH,qBAAa,YAAa,SAAQ,WAAW;IAC3C,QAAQ,CAAC,IAAI,WAAW;IACxB,QAAQ,CAAC,WAAW,WAAW;IAC/B,QAAQ,CAAC,SAAS,sBAAsB;IACxC,QAAQ,CAAC,aAAa,SAAS;IAC/B,QAAQ,CAAC,QAAQ;;;MAGf;IAEF;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAIvC;;OAEG;IACH,cAAc,IAAI,MAAM;CAKzB"}
|
|
@@ -0,0 +1,46 @@
|
|
|
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");
|
|
6
|
+
/**
|
|
7
|
+
* Cline adapter
|
|
8
|
+
* Workflows stored in .cline/workflows/ (flat structure, no subdirectories)
|
|
9
|
+
* Slash command format: /<name.md> (includes .md extension with leading slash)
|
|
10
|
+
*
|
|
11
|
+
* Features:
|
|
12
|
+
* - Lives alongside Cline Rules
|
|
13
|
+
* - Clear step-by-step instructions in markdown
|
|
14
|
+
* - Supports built-in tools, CLI utilities, and MCP integrations
|
|
15
|
+
*
|
|
16
|
+
* Reference: https://docs.cline.bot/features/slash-commands/workflows
|
|
17
|
+
*/
|
|
18
|
+
class ClineAdapter extends base_adapter_1.BaseAdapter {
|
|
19
|
+
constructor() {
|
|
20
|
+
super(...arguments);
|
|
21
|
+
this.name = 'cline';
|
|
22
|
+
this.displayName = 'Cline';
|
|
23
|
+
this.directory = '.cline/workflows';
|
|
24
|
+
this.fileExtension = '.md';
|
|
25
|
+
this.features = {
|
|
26
|
+
supportsSubdirectories: false,
|
|
27
|
+
supportsFrontmatter: false,
|
|
28
|
+
};
|
|
29
|
+
// Uses default formatCommand and generateCommands from BaseAdapter
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Detect if Cline is available in the project
|
|
33
|
+
* Checks for .cline directory
|
|
34
|
+
*/
|
|
35
|
+
async detectProject() {
|
|
36
|
+
return await file_system_1.FileSystem.exists('.cline');
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Get command path for Cline
|
|
40
|
+
*/
|
|
41
|
+
getCommandPath() {
|
|
42
|
+
return this.directory;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.ClineAdapter = ClineAdapter;
|
|
46
|
+
//# sourceMappingURL=cline-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cline-adapter.js","sourceRoot":"","sources":["../../../src/core/adapters/cline-adapter.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAC7C,yDAAqD;AAErD;;;;;;;;;;;GAWG;AACH,MAAa,YAAa,SAAQ,0BAAW;IAA7C;;QACW,SAAI,GAAG,OAAO,CAAC;QACf,gBAAW,GAAG,OAAO,CAAC;QACtB,cAAS,GAAG,kBAAkB,CAAC;QAC/B,kBAAa,GAAG,KAAK,CAAC;QACtB,aAAQ,GAAG;YAClB,sBAAsB,EAAE,KAAK;YAC7B,mBAAmB,EAAE,KAAK;SAC3B,CAAC;QAiBF,mEAAmE;IACrE,CAAC;IAhBC;;;OAGG;IACH,KAAK,CAAC,aAAa;QACjB,OAAO,MAAM,wBAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;CAGF;AA1BD,oCA0BC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { BaseAdapter } from './base-adapter';
|
|
2
|
+
import { CommandTemplate } from '../../types/agent';
|
|
3
|
+
/**
|
|
4
|
+
* Crush CLI adapter
|
|
5
|
+
* Commands stored in .crush/commands/clavix/ (supports subdirectories)
|
|
6
|
+
* Uses $PROMPT placeholder for user input (Crush-specific syntax)
|
|
7
|
+
*
|
|
8
|
+
* Reference: https://github.com/charmbracelet/crush/blob/main/COMMANDS.md
|
|
9
|
+
*/
|
|
10
|
+
export declare class CrushAdapter extends BaseAdapter {
|
|
11
|
+
readonly name = "crush";
|
|
12
|
+
readonly displayName = "Crush CLI";
|
|
13
|
+
readonly directory = ".crush/commands/clavix";
|
|
14
|
+
readonly fileExtension = ".md";
|
|
15
|
+
readonly features: {
|
|
16
|
+
supportsSubdirectories: boolean;
|
|
17
|
+
supportsFrontmatter: boolean;
|
|
18
|
+
argumentPlaceholder: string;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Detect if Crush is available in the project
|
|
22
|
+
* Checks for .crush directory (project-level commands)
|
|
23
|
+
*/
|
|
24
|
+
detectProject(): Promise<boolean>;
|
|
25
|
+
/**
|
|
26
|
+
* Get command path for Crush
|
|
27
|
+
*/
|
|
28
|
+
getCommandPath(): string;
|
|
29
|
+
/**
|
|
30
|
+
* Format command content for Crush
|
|
31
|
+
* Replaces generic {{ARGS}} placeholder with Crush-specific $PROMPT
|
|
32
|
+
*/
|
|
33
|
+
protected formatCommand(template: CommandTemplate): string;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=crush-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crush-adapter.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/crush-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD;;;;;;GAMG;AACH,qBAAa,YAAa,SAAQ,WAAW;IAC3C,QAAQ,CAAC,IAAI,WAAW;IACxB,QAAQ,CAAC,WAAW,eAAe;IACnC,QAAQ,CAAC,SAAS,4BAA4B;IAC9C,QAAQ,CAAC,aAAa,SAAS;IAC/B,QAAQ,CAAC,QAAQ;;;;MAIf;IAEF;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAIvC;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;;OAGG;IACH,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM;CAI3D"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CrushAdapter = void 0;
|
|
4
|
+
const base_adapter_1 = require("./base-adapter");
|
|
5
|
+
const file_system_1 = require("../../utils/file-system");
|
|
6
|
+
/**
|
|
7
|
+
* Crush CLI adapter
|
|
8
|
+
* Commands stored in .crush/commands/clavix/ (supports subdirectories)
|
|
9
|
+
* Uses $PROMPT placeholder for user input (Crush-specific syntax)
|
|
10
|
+
*
|
|
11
|
+
* Reference: https://github.com/charmbracelet/crush/blob/main/COMMANDS.md
|
|
12
|
+
*/
|
|
13
|
+
class CrushAdapter extends base_adapter_1.BaseAdapter {
|
|
14
|
+
constructor() {
|
|
15
|
+
super(...arguments);
|
|
16
|
+
this.name = 'crush';
|
|
17
|
+
this.displayName = 'Crush CLI';
|
|
18
|
+
this.directory = '.crush/commands/clavix';
|
|
19
|
+
this.fileExtension = '.md';
|
|
20
|
+
this.features = {
|
|
21
|
+
supportsSubdirectories: true,
|
|
22
|
+
supportsFrontmatter: false,
|
|
23
|
+
argumentPlaceholder: '$PROMPT',
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Detect if Crush is available in the project
|
|
28
|
+
* Checks for .crush directory (project-level commands)
|
|
29
|
+
*/
|
|
30
|
+
async detectProject() {
|
|
31
|
+
return await file_system_1.FileSystem.exists('.crush');
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Get command path for Crush
|
|
35
|
+
*/
|
|
36
|
+
getCommandPath() {
|
|
37
|
+
return this.directory;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Format command content for Crush
|
|
41
|
+
* Replaces generic {{ARGS}} placeholder with Crush-specific $PROMPT
|
|
42
|
+
*/
|
|
43
|
+
formatCommand(template) {
|
|
44
|
+
// Replace Clavix generic placeholder with Crush placeholder
|
|
45
|
+
return template.content.replace(/\{\{ARGS\}\}/g, '$PROMPT');
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.CrushAdapter = CrushAdapter;
|
|
49
|
+
//# sourceMappingURL=crush-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crush-adapter.js","sourceRoot":"","sources":["../../../src/core/adapters/crush-adapter.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAE7C,yDAAqD;AAErD;;;;;;GAMG;AACH,MAAa,YAAa,SAAQ,0BAAW;IAA7C;;QACW,SAAI,GAAG,OAAO,CAAC;QACf,gBAAW,GAAG,WAAW,CAAC;QAC1B,cAAS,GAAG,wBAAwB,CAAC;QACrC,kBAAa,GAAG,KAAK,CAAC;QACtB,aAAQ,GAAG;YAClB,sBAAsB,EAAE,IAAI;YAC5B,mBAAmB,EAAE,KAAK;YAC1B,mBAAmB,EAAE,SAAS;SAC/B,CAAC;IAyBJ,CAAC;IAvBC;;;OAGG;IACH,KAAK,CAAC,aAAa;QACjB,OAAO,MAAM,wBAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;OAGG;IACO,aAAa,CAAC,QAAyB;QAC/C,4DAA4D;QAC5D,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;CACF;AAlCD,oCAkCC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { BaseAdapter } from './base-adapter';
|
|
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
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Detect if Kilocode is available in the project
|
|
25
|
+
* Checks for .kilocode directory
|
|
26
|
+
*/
|
|
27
|
+
detectProject(): Promise<boolean>;
|
|
28
|
+
/**
|
|
29
|
+
* Get command path for Kilocode
|
|
30
|
+
*/
|
|
31
|
+
getCommandPath(): string;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=kilocode-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kilocode-adapter.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/kilocode-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C;;;;;;;;;;;GAWG;AACH,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,WAAW,cAAc;IAClC,QAAQ,CAAC,SAAS,yBAAyB;IAC3C,QAAQ,CAAC,aAAa,SAAS;IAC/B,QAAQ,CAAC,QAAQ;;;MAGf;IAEF;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAIvC;;OAEG;IACH,cAAc,IAAI,MAAM;CAKzB"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KilocodeAdapter = void 0;
|
|
4
|
+
const base_adapter_1 = require("./base-adapter");
|
|
5
|
+
const file_system_1 = require("../../utils/file-system");
|
|
6
|
+
/**
|
|
7
|
+
* Kilocode adapter
|
|
8
|
+
* Workflows stored in .kilocode/workflows/ (flat structure, no subdirectories)
|
|
9
|
+
* Slash command format: /[name.md] (includes .md extension)
|
|
10
|
+
*
|
|
11
|
+
* Features:
|
|
12
|
+
* - Simple markdown with step-by-step instructions
|
|
13
|
+
* - Supports built-in tools and MCP integrations
|
|
14
|
+
* - Project-specific workflows only
|
|
15
|
+
*
|
|
16
|
+
* Reference: https://kilocode.ai/docs/features/slash-commands/workflows
|
|
17
|
+
*/
|
|
18
|
+
class KilocodeAdapter extends base_adapter_1.BaseAdapter {
|
|
19
|
+
constructor() {
|
|
20
|
+
super(...arguments);
|
|
21
|
+
this.name = 'kilocode';
|
|
22
|
+
this.displayName = 'Kilocode';
|
|
23
|
+
this.directory = '.kilocode/workflows';
|
|
24
|
+
this.fileExtension = '.md';
|
|
25
|
+
this.features = {
|
|
26
|
+
supportsSubdirectories: false,
|
|
27
|
+
supportsFrontmatter: false,
|
|
28
|
+
};
|
|
29
|
+
// Uses default formatCommand and generateCommands from BaseAdapter
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Detect if Kilocode is available in the project
|
|
33
|
+
* Checks for .kilocode directory
|
|
34
|
+
*/
|
|
35
|
+
async detectProject() {
|
|
36
|
+
return await file_system_1.FileSystem.exists('.kilocode');
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Get command path for Kilocode
|
|
40
|
+
*/
|
|
41
|
+
getCommandPath() {
|
|
42
|
+
return this.directory;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.KilocodeAdapter = KilocodeAdapter;
|
|
46
|
+
//# sourceMappingURL=kilocode-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kilocode-adapter.js","sourceRoot":"","sources":["../../../src/core/adapters/kilocode-adapter.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAC7C,yDAAqD;AAErD;;;;;;;;;;;GAWG;AACH,MAAa,eAAgB,SAAQ,0BAAW;IAAhD;;QACW,SAAI,GAAG,UAAU,CAAC;QAClB,gBAAW,GAAG,UAAU,CAAC;QACzB,cAAS,GAAG,qBAAqB,CAAC;QAClC,kBAAa,GAAG,KAAK,CAAC;QACtB,aAAQ,GAAG;YAClB,sBAAsB,EAAE,KAAK;YAC7B,mBAAmB,EAAE,KAAK;SAC3B,CAAC;QAiBF,mEAAmE;IACrE,CAAC;IAhBC;;;OAGG;IACH,KAAK,CAAC,aAAa;QACjB,OAAO,MAAM,wBAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;CAGF;AA1BD,0CA0BC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { BaseAdapter } from './base-adapter';
|
|
2
|
+
import { CommandTemplate } from '../../types/agent';
|
|
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
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Detect if Roocode is available in the project
|
|
26
|
+
* Checks for .roo directory
|
|
27
|
+
*/
|
|
28
|
+
detectProject(): Promise<boolean>;
|
|
29
|
+
/**
|
|
30
|
+
* Get command path for Roocode
|
|
31
|
+
*/
|
|
32
|
+
getCommandPath(): string;
|
|
33
|
+
/**
|
|
34
|
+
* Format command content for Roocode
|
|
35
|
+
* Adds frontmatter with description and argument-hint if not already present
|
|
36
|
+
*/
|
|
37
|
+
protected formatCommand(template: CommandTemplate): string;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=roocode-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roocode-adapter.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/roocode-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD;;;;;;;;;;;GAWG;AACH,qBAAa,cAAe,SAAQ,WAAW;IAC7C,QAAQ,CAAC,IAAI,aAAa;IAC1B,QAAQ,CAAC,WAAW,aAAa;IACjC,QAAQ,CAAC,SAAS,mBAAmB;IACrC,QAAQ,CAAC,aAAa,SAAS;IAC/B,QAAQ,CAAC,QAAQ;;;MAGf;IAEF;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAIvC;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;;OAGG;IACH,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM;CAmB3D"}
|