mewkit 1.9.3 → 1.9.4
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/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +4 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/memory.d.ts.map +1 -1
- package/dist/commands/memory.js.map +1 -1
- package/dist/commands/orchviz.d.ts.map +1 -1
- package/dist/commands/orchviz.js +2 -5
- package/dist/commands/orchviz.js.map +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +1 -3
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/upgrade.d.ts.map +1 -1
- package/dist/commands/upgrade.js +7 -4
- package/dist/commands/upgrade.js.map +1 -1
- package/dist/core/find-orphans.d.ts +10 -2
- package/dist/core/find-orphans.d.ts.map +1 -1
- package/dist/core/find-orphans.js +10 -2
- package/dist/core/find-orphans.js.map +1 -1
- package/dist/core/merge-settings.js.map +1 -1
- package/dist/migrate/codex-capabilities.d.ts.map +1 -1
- package/dist/migrate/codex-capabilities.js +3 -8
- package/dist/migrate/codex-capabilities.js.map +1 -1
- package/dist/migrate/config-merger/merge-single-sections.d.ts.map +1 -1
- package/dist/migrate/config-merger/merge-single-sections.js +2 -4
- package/dist/migrate/config-merger/merge-single-sections.js.map +1 -1
- package/dist/migrate/converters/claude-to-codex-hooks.d.ts.map +1 -1
- package/dist/migrate/converters/claude-to-codex-hooks.js +2 -6
- package/dist/migrate/converters/claude-to-codex-hooks.js.map +1 -1
- package/dist/migrate/converters/fm-to-codex-toml.d.ts.map +1 -1
- package/dist/migrate/converters/fm-to-codex-toml.js +5 -6
- package/dist/migrate/converters/fm-to-codex-toml.js.map +1 -1
- package/dist/migrate/converters/fm-to-json.d.ts.map +1 -1
- package/dist/migrate/converters/fm-to-json.js +5 -4
- package/dist/migrate/converters/fm-to-json.js.map +1 -1
- package/dist/migrate/converters/fm-to-yaml.d.ts.map +1 -1
- package/dist/migrate/converters/fm-to-yaml.js +4 -1
- package/dist/migrate/converters/fm-to-yaml.js.map +1 -1
- package/dist/migrate/converters/index.d.ts.map +1 -1
- package/dist/migrate/converters/index.js.map +1 -1
- package/dist/migrate/converters/md-strip.d.ts.map +1 -1
- package/dist/migrate/converters/md-strip.js +10 -8
- package/dist/migrate/converters/md-strip.js.map +1 -1
- package/dist/migrate/converters/md-to-kiro-steering.d.ts.map +1 -1
- package/dist/migrate/converters/md-to-kiro-steering.js.map +1 -1
- package/dist/migrate/converters/md-to-mdc.d.ts.map +1 -1
- package/dist/migrate/converters/md-to-mdc.js +1 -8
- package/dist/migrate/converters/md-to-mdc.js.map +1 -1
- package/dist/migrate/discovery/handlers-json-filter.d.ts.map +1 -1
- package/dist/migrate/discovery/handlers-json-filter.js.map +1 -1
- package/dist/migrate/discovery/index.d.ts +2 -2
- package/dist/migrate/discovery/index.d.ts.map +1 -1
- package/dist/migrate/discovery/index.js +2 -2
- package/dist/migrate/discovery/index.js.map +1 -1
- package/dist/migrate/discovery/skills-discovery.d.ts.map +1 -1
- package/dist/migrate/discovery/skills-discovery.js.map +1 -1
- package/dist/migrate/discovery/source-paths.d.ts.map +1 -1
- package/dist/migrate/discovery/source-paths.js +1 -2
- package/dist/migrate/discovery/source-paths.js.map +1 -1
- package/dist/migrate/hooks/codex-features-flag.d.ts.map +1 -1
- package/dist/migrate/hooks/codex-features-flag.js +10 -5
- package/dist/migrate/hooks/codex-features-flag.js.map +1 -1
- package/dist/migrate/hooks/codex-hook-wrapper.d.ts.map +1 -1
- package/dist/migrate/hooks/codex-hook-wrapper.js +6 -2
- package/dist/migrate/hooks/codex-hook-wrapper.js.map +1 -1
- package/dist/migrate/hooks/codex-path-safety.d.ts.map +1 -1
- package/dist/migrate/hooks/codex-path-safety.js +4 -2
- package/dist/migrate/hooks/codex-path-safety.js.map +1 -1
- package/dist/migrate/hooks/codex-toml-installer.d.ts.map +1 -1
- package/dist/migrate/hooks/codex-toml-installer.js +15 -5
- package/dist/migrate/hooks/codex-toml-installer.js.map +1 -1
- package/dist/migrate/hooks/hooks-settings-merger.d.ts.map +1 -1
- package/dist/migrate/hooks/hooks-settings-merger.js +61 -23
- package/dist/migrate/hooks/hooks-settings-merger.js.map +1 -1
- package/dist/migrate/hooks/index.d.ts +3 -3
- package/dist/migrate/hooks/index.d.ts.map +1 -1
- package/dist/migrate/hooks/index.js +3 -3
- package/dist/migrate/hooks/index.js.map +1 -1
- package/dist/migrate/hooks/opencode-config-installer.d.ts.map +1 -1
- package/dist/migrate/hooks/opencode-config-installer.js.map +1 -1
- package/dist/migrate/migrate-discover.d.ts.map +1 -1
- package/dist/migrate/migrate-discover.js +1 -3
- package/dist/migrate/migrate-discover.js.map +1 -1
- package/dist/migrate/migrate-mode-resolver.d.ts.map +1 -1
- package/dist/migrate/migrate-mode-resolver.js.map +1 -1
- package/dist/migrate/migrate-orchestrator.d.ts.map +1 -1
- package/dist/migrate/migrate-orchestrator.js +17 -9
- package/dist/migrate/migrate-orchestrator.js.map +1 -1
- package/dist/migrate/migrate-scope-resolver.d.ts.map +1 -1
- package/dist/migrate/migrate-scope-resolver.js +1 -6
- package/dist/migrate/migrate-scope-resolver.js.map +1 -1
- package/dist/migrate/migrate-ui-summary.d.ts.map +1 -1
- package/dist/migrate/migrate-ui-summary.js.map +1 -1
- package/dist/migrate/model-taxonomy.d.ts.map +1 -1
- package/dist/migrate/model-taxonomy.js.map +1 -1
- package/dist/migrate/portable-installer.d.ts.map +1 -1
- package/dist/migrate/portable-installer.js +19 -13
- package/dist/migrate/portable-installer.js.map +1 -1
- package/dist/migrate/provider-registry.d.ts.map +1 -1
- package/dist/migrate/provider-registry.js +608 -106
- package/dist/migrate/provider-registry.js.map +1 -1
- package/dist/migrate/reconcile/checksum-utils.d.ts.map +1 -1
- package/dist/migrate/reconcile/checksum-utils.js.map +1 -1
- package/dist/migrate/reconcile/conflict-resolver.d.ts.map +1 -1
- package/dist/migrate/reconcile/conflict-resolver.js.map +1 -1
- package/dist/migrate/reconcile/diff-display.d.ts.map +1 -1
- package/dist/migrate/reconcile/diff-display.js.map +1 -1
- package/dist/migrate/reconcile/index.d.ts +2 -2
- package/dist/migrate/reconcile/index.d.ts.map +1 -1
- package/dist/migrate/reconcile/index.js +2 -2
- package/dist/migrate/reconcile/index.js.map +1 -1
- package/dist/migrate/reconcile/output-sanitizer.d.ts.map +1 -1
- package/dist/migrate/reconcile/output-sanitizer.js +2 -9
- package/dist/migrate/reconcile/output-sanitizer.js.map +1 -1
- package/dist/migrate/reconcile/portable-registry.d.ts +18 -18
- package/dist/migrate/reconcile/portable-registry.d.ts.map +1 -1
- package/dist/migrate/reconcile/portable-registry.js +7 -6
- package/dist/migrate/reconcile/portable-registry.js.map +1 -1
- package/dist/migrate/reconcile/process-lock.d.ts.map +1 -1
- package/dist/migrate/reconcile/process-lock.js +1 -3
- package/dist/migrate/reconcile/process-lock.js.map +1 -1
- package/dist/migrate/reconcile/reconcile-state-builders.d.ts.map +1 -1
- package/dist/migrate/reconcile/reconcile-state-builders.js +53 -19
- package/dist/migrate/reconcile/reconcile-state-builders.js.map +1 -1
- package/dist/migrate/reconcile/reconcile-types.d.ts.map +1 -1
- package/dist/migrate/reconcile/reconcile-types.js +40 -20
- package/dist/migrate/reconcile/reconcile-types.js.map +1 -1
- package/dist/migrate/reconcile/reconciler.d.ts.map +1 -1
- package/dist/migrate/reconcile/reconciler.js +128 -66
- package/dist/migrate/reconcile/reconciler.js.map +1 -1
- package/dist/migrate/skill-directory-installer.d.ts.map +1 -1
- package/dist/migrate/skill-directory-installer.js +11 -2
- package/dist/migrate/skill-directory-installer.js.map +1 -1
- package/dist/orchviz/constants.d.ts.map +1 -1
- package/dist/orchviz/constants.js +4 -4
- package/dist/orchviz/constants.js.map +1 -1
- package/dist/orchviz/fs-utils.d.ts.map +1 -1
- package/dist/orchviz/fs-utils.js.map +1 -1
- package/dist/orchviz/overlay/gate-readers.d.ts.map +1 -1
- package/dist/orchviz/overlay/gate-readers.js.map +1 -1
- package/dist/orchviz/parser/handle-progress.d.ts.map +1 -1
- package/dist/orchviz/parser/handle-progress.js.map +1 -1
- package/dist/orchviz/parser/handle-text.d.ts.map +1 -1
- package/dist/orchviz/parser/handle-text.js +1 -3
- package/dist/orchviz/parser/handle-text.js.map +1 -1
- package/dist/orchviz/parser/handle-tool-result.d.ts.map +1 -1
- package/dist/orchviz/parser/handle-tool-result.js +3 -8
- package/dist/orchviz/parser/handle-tool-result.js.map +1 -1
- package/dist/orchviz/parser/handle-tool-use.d.ts.map +1 -1
- package/dist/orchviz/parser/handle-tool-use.js +1 -3
- package/dist/orchviz/parser/handle-tool-use.js.map +1 -1
- package/dist/orchviz/parser/index.d.ts.map +1 -1
- package/dist/orchviz/parser/index.js +1 -3
- package/dist/orchviz/parser/index.js.map +1 -1
- package/dist/orchviz/parser/label-helpers.d.ts.map +1 -1
- package/dist/orchviz/parser/label-helpers.js.map +1 -1
- package/dist/orchviz/parser/utils.d.ts.map +1 -1
- package/dist/orchviz/parser/utils.js +1 -3
- package/dist/orchviz/parser/utils.js.map +1 -1
- package/dist/orchviz/permission-detection.d.ts.map +1 -1
- package/dist/orchviz/permission-detection.js.map +1 -1
- package/dist/orchviz/plan/apply-todo-toggle.d.ts.map +1 -1
- package/dist/orchviz/plan/apply-todo-toggle.js.map +1 -1
- package/dist/orchviz/plan/collector.d.ts.map +1 -1
- package/dist/orchviz/plan/collector.js +2 -6
- package/dist/orchviz/plan/collector.js.map +1 -1
- package/dist/orchviz/plan/list-plans.d.ts.map +1 -1
- package/dist/orchviz/plan/list-plans.js +6 -11
- package/dist/orchviz/plan/list-plans.js.map +1 -1
- package/dist/orchviz/plan/parse-phase-file.d.ts.map +1 -1
- package/dist/orchviz/plan/parse-phase-file.js +1 -3
- package/dist/orchviz/plan/parse-phase-file.js.map +1 -1
- package/dist/orchviz/plan/types.d.ts.map +1 -1
- package/dist/orchviz/server/api-handlers.d.ts.map +1 -1
- package/dist/orchviz/server/api-handlers.js.map +1 -1
- package/dist/orchviz/server/index.d.ts.map +1 -1
- package/dist/orchviz/server/index.js +2 -5
- package/dist/orchviz/server/index.js.map +1 -1
- package/dist/orchviz/server/sse-handler.d.ts.map +1 -1
- package/dist/orchviz/server/sse-handler.js +1 -1
- package/dist/orchviz/server/sse-handler.js.map +1 -1
- package/dist/orchviz/server/static-handler.d.ts.map +1 -1
- package/dist/orchviz/server/static-handler.js +1 -3
- package/dist/orchviz/server/static-handler.js.map +1 -1
- package/dist/orchviz/server/write-handlers.d.ts.map +1 -1
- package/dist/orchviz/server/write-handlers.js +17 -3
- package/dist/orchviz/server/write-handlers.js.map +1 -1
- package/dist/orchviz/server/write-utils.d.ts.map +1 -1
- package/dist/orchviz/server/write-utils.js.map +1 -1
- package/dist/orchviz/session-discovery.d.ts.map +1 -1
- package/dist/orchviz/session-discovery.js.map +1 -1
- package/dist/orchviz/session-runtime.d.ts +1 -2
- package/dist/orchviz/session-runtime.d.ts.map +1 -1
- package/dist/orchviz/session-runtime.js.map +1 -1
- package/dist/orchviz/subagent-scanner.d.ts.map +1 -1
- package/dist/orchviz/subagent-scanner.js.map +1 -1
- package/dist/orchviz/subagent-watcher.d.ts.map +1 -1
- package/dist/orchviz/subagent-watcher.js +2 -3
- package/dist/orchviz/subagent-watcher.js.map +1 -1
- package/dist/orchviz/tool-input-data.d.ts.map +1 -1
- package/dist/orchviz/tool-input-data.js +1 -3
- package/dist/orchviz/tool-input-data.js.map +1 -1
- package/dist/orchviz/tool-summarizer.d.ts.map +1 -1
- package/dist/orchviz/tool-summarizer.js +1 -3
- package/dist/orchviz/tool-summarizer.js.map +1 -1
- package/package.json +1 -1
|
@@ -62,30 +62,104 @@ export const providers = {
|
|
|
62
62
|
name: "claude-code",
|
|
63
63
|
displayName: "Claude Code",
|
|
64
64
|
subagents: "full",
|
|
65
|
-
agents: {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
65
|
+
agents: {
|
|
66
|
+
projectPath: ".claude/agents",
|
|
67
|
+
globalPath: join(home, ".claude/agents"),
|
|
68
|
+
format: "direct-copy",
|
|
69
|
+
writeStrategy: "per-file",
|
|
70
|
+
fileExtension: ".md",
|
|
71
|
+
},
|
|
72
|
+
commands: {
|
|
73
|
+
projectPath: ".claude/commands",
|
|
74
|
+
globalPath: join(home, ".claude/commands"),
|
|
75
|
+
format: "direct-copy",
|
|
76
|
+
writeStrategy: "per-file",
|
|
77
|
+
fileExtension: ".md",
|
|
78
|
+
},
|
|
79
|
+
skills: {
|
|
80
|
+
projectPath: ".claude/skills",
|
|
81
|
+
globalPath: join(home, ".claude/skills"),
|
|
82
|
+
format: "direct-copy",
|
|
83
|
+
writeStrategy: "per-file",
|
|
84
|
+
fileExtension: ".md",
|
|
85
|
+
},
|
|
86
|
+
config: {
|
|
87
|
+
projectPath: "CLAUDE.md",
|
|
88
|
+
globalPath: join(home, ".claude/CLAUDE.md"),
|
|
89
|
+
format: "direct-copy",
|
|
90
|
+
writeStrategy: "single-file",
|
|
91
|
+
fileExtension: ".md",
|
|
92
|
+
},
|
|
93
|
+
rules: {
|
|
94
|
+
projectPath: ".claude/rules",
|
|
95
|
+
globalPath: join(home, ".claude/rules"),
|
|
96
|
+
format: "direct-copy",
|
|
97
|
+
writeStrategy: "per-file",
|
|
98
|
+
fileExtension: ".md",
|
|
99
|
+
},
|
|
100
|
+
hooks: {
|
|
101
|
+
projectPath: ".claude/hooks",
|
|
102
|
+
globalPath: join(home, ".claude/hooks"),
|
|
103
|
+
format: "direct-copy",
|
|
104
|
+
writeStrategy: "per-file",
|
|
105
|
+
fileExtension: "",
|
|
106
|
+
},
|
|
71
107
|
settingsJsonPath: { projectPath: ".claude/settings.json", globalPath: join(home, ".claude/settings.json") },
|
|
72
108
|
detect: async () => hasBinaryInPath("claude") ||
|
|
73
109
|
hasAnyInstallSignal([
|
|
74
|
-
join(cwd, ".claude/agents"),
|
|
75
|
-
join(cwd, ".claude/
|
|
76
|
-
join(
|
|
77
|
-
join(
|
|
110
|
+
join(cwd, ".claude/agents"),
|
|
111
|
+
join(cwd, ".claude/commands"),
|
|
112
|
+
join(cwd, ".claude/skills"),
|
|
113
|
+
join(cwd, ".claude/rules"),
|
|
114
|
+
join(cwd, ".claude/hooks"),
|
|
115
|
+
join(cwd, "CLAUDE.md"),
|
|
116
|
+
join(home, ".claude/agents"),
|
|
117
|
+
join(home, ".claude/commands"),
|
|
118
|
+
join(home, ".claude/skills"),
|
|
119
|
+
join(home, ".claude/rules"),
|
|
120
|
+
join(home, ".claude/hooks"),
|
|
121
|
+
join(home, ".claude/CLAUDE.md"),
|
|
78
122
|
]),
|
|
79
123
|
},
|
|
80
124
|
opencode: {
|
|
81
125
|
name: "opencode",
|
|
82
126
|
displayName: "OpenCode",
|
|
83
127
|
subagents: "full",
|
|
84
|
-
agents: {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
128
|
+
agents: {
|
|
129
|
+
projectPath: ".opencode/agents",
|
|
130
|
+
globalPath: join(home, ".config/opencode/agents"),
|
|
131
|
+
format: "fm-to-fm",
|
|
132
|
+
writeStrategy: "per-file",
|
|
133
|
+
fileExtension: ".md",
|
|
134
|
+
},
|
|
135
|
+
commands: {
|
|
136
|
+
projectPath: ".opencode/commands",
|
|
137
|
+
globalPath: join(home, ".config/opencode/commands"),
|
|
138
|
+
format: "fm-to-fm",
|
|
139
|
+
writeStrategy: "per-file",
|
|
140
|
+
fileExtension: ".md",
|
|
141
|
+
},
|
|
142
|
+
skills: {
|
|
143
|
+
projectPath: ".claude/skills",
|
|
144
|
+
globalPath: join(home, ".claude/skills"),
|
|
145
|
+
format: "direct-copy",
|
|
146
|
+
writeStrategy: "per-file",
|
|
147
|
+
fileExtension: ".md",
|
|
148
|
+
},
|
|
149
|
+
config: {
|
|
150
|
+
projectPath: "AGENTS.md",
|
|
151
|
+
globalPath: join(home, ".config/opencode/AGENTS.md"),
|
|
152
|
+
format: "md-strip",
|
|
153
|
+
writeStrategy: "merge-single",
|
|
154
|
+
fileExtension: ".md",
|
|
155
|
+
},
|
|
156
|
+
rules: {
|
|
157
|
+
projectPath: "AGENTS.md",
|
|
158
|
+
globalPath: join(home, ".config/opencode/AGENTS.md"),
|
|
159
|
+
format: "md-strip",
|
|
160
|
+
writeStrategy: "merge-single",
|
|
161
|
+
fileExtension: ".md",
|
|
162
|
+
},
|
|
89
163
|
hooks: null,
|
|
90
164
|
settingsJsonPath: null,
|
|
91
165
|
detect: async () => hasOpenCodeInstallSignal(),
|
|
@@ -94,54 +168,167 @@ export const providers = {
|
|
|
94
168
|
name: "github-copilot",
|
|
95
169
|
displayName: "GitHub Copilot",
|
|
96
170
|
subagents: "full",
|
|
97
|
-
agents: {
|
|
171
|
+
agents: {
|
|
172
|
+
projectPath: ".github/agents",
|
|
173
|
+
globalPath: null,
|
|
174
|
+
format: "fm-to-fm",
|
|
175
|
+
writeStrategy: "per-file",
|
|
176
|
+
fileExtension: ".agent.md",
|
|
177
|
+
},
|
|
98
178
|
commands: null,
|
|
99
|
-
skills: {
|
|
100
|
-
|
|
101
|
-
|
|
179
|
+
skills: {
|
|
180
|
+
projectPath: ".github/skills",
|
|
181
|
+
globalPath: null,
|
|
182
|
+
format: "direct-copy",
|
|
183
|
+
writeStrategy: "per-file",
|
|
184
|
+
fileExtension: ".md",
|
|
185
|
+
},
|
|
186
|
+
config: {
|
|
187
|
+
projectPath: ".github/copilot-instructions.md",
|
|
188
|
+
globalPath: null,
|
|
189
|
+
format: "md-strip",
|
|
190
|
+
writeStrategy: "single-file",
|
|
191
|
+
fileExtension: ".md",
|
|
192
|
+
},
|
|
193
|
+
rules: {
|
|
194
|
+
projectPath: ".github/instructions",
|
|
195
|
+
globalPath: null,
|
|
196
|
+
format: "md-strip",
|
|
197
|
+
writeStrategy: "per-file",
|
|
198
|
+
fileExtension: ".instructions.md",
|
|
199
|
+
},
|
|
102
200
|
hooks: null,
|
|
103
201
|
settingsJsonPath: null,
|
|
104
202
|
detect: async () => hasAnyInstallSignal([
|
|
105
|
-
join(cwd, ".github/agents"),
|
|
106
|
-
join(cwd, ".github/
|
|
203
|
+
join(cwd, ".github/agents"),
|
|
204
|
+
join(cwd, ".github/skills"),
|
|
205
|
+
join(cwd, ".github/instructions"),
|
|
206
|
+
join(cwd, ".github/copilot-instructions.md"),
|
|
107
207
|
]),
|
|
108
208
|
},
|
|
109
209
|
codex: {
|
|
110
210
|
name: "codex",
|
|
111
211
|
displayName: "Codex",
|
|
112
212
|
subagents: "full",
|
|
113
|
-
agents: {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
213
|
+
agents: {
|
|
214
|
+
projectPath: ".codex/agents",
|
|
215
|
+
globalPath: join(home, ".codex/agents"),
|
|
216
|
+
format: "fm-to-codex-toml",
|
|
217
|
+
writeStrategy: "codex-toml",
|
|
218
|
+
fileExtension: ".toml",
|
|
219
|
+
},
|
|
220
|
+
commands: {
|
|
221
|
+
projectPath: null,
|
|
222
|
+
globalPath: join(home, ".codex/prompts"),
|
|
223
|
+
format: "direct-copy",
|
|
224
|
+
writeStrategy: "per-file",
|
|
225
|
+
fileExtension: ".md",
|
|
226
|
+
nestedCommands: false,
|
|
227
|
+
},
|
|
228
|
+
skills: {
|
|
229
|
+
projectPath: ".agents/skills",
|
|
230
|
+
globalPath: join(home, ".agents/skills"),
|
|
231
|
+
format: "direct-copy",
|
|
232
|
+
writeStrategy: "per-file",
|
|
233
|
+
fileExtension: ".md",
|
|
234
|
+
},
|
|
235
|
+
config: {
|
|
236
|
+
projectPath: "AGENTS.md",
|
|
237
|
+
globalPath: join(home, ".codex/AGENTS.md"),
|
|
238
|
+
format: "md-strip",
|
|
239
|
+
writeStrategy: "merge-single",
|
|
240
|
+
fileExtension: ".md",
|
|
241
|
+
},
|
|
242
|
+
rules: {
|
|
243
|
+
projectPath: "AGENTS.md",
|
|
244
|
+
globalPath: join(home, ".codex/AGENTS.md"),
|
|
245
|
+
format: "md-strip",
|
|
246
|
+
writeStrategy: "merge-single",
|
|
247
|
+
fileExtension: ".md",
|
|
248
|
+
},
|
|
249
|
+
hooks: {
|
|
250
|
+
projectPath: ".codex/hooks",
|
|
251
|
+
globalPath: join(home, ".codex/hooks"),
|
|
252
|
+
format: "direct-copy",
|
|
253
|
+
writeStrategy: "codex-hooks",
|
|
254
|
+
fileExtension: "",
|
|
255
|
+
},
|
|
119
256
|
settingsJsonPath: { projectPath: ".codex/hooks.json", globalPath: join(home, ".codex/hooks.json") },
|
|
120
257
|
detect: async () => hasBinaryInPath("codex") ||
|
|
121
258
|
hasAnyInstallSignal([
|
|
122
|
-
join(cwd, ".codex/config.toml"),
|
|
123
|
-
join(cwd, ".codex/
|
|
124
|
-
join(
|
|
125
|
-
join(
|
|
259
|
+
join(cwd, ".codex/config.toml"),
|
|
260
|
+
join(cwd, ".codex/agents"),
|
|
261
|
+
join(cwd, ".codex/prompts"),
|
|
262
|
+
join(cwd, ".codex/hooks.json"),
|
|
263
|
+
join(home, ".codex/config.toml"),
|
|
264
|
+
join(home, ".codex/agents"),
|
|
265
|
+
join(home, ".codex/AGENTS.md"),
|
|
266
|
+
join(home, ".codex/instructions.md"),
|
|
267
|
+
join(home, ".codex/prompts"),
|
|
268
|
+
join(home, ".codex/hooks.json"),
|
|
126
269
|
]),
|
|
127
270
|
},
|
|
128
271
|
droid: {
|
|
129
272
|
name: "droid",
|
|
130
273
|
displayName: "Droid",
|
|
131
274
|
subagents: "full",
|
|
132
|
-
agents: {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
275
|
+
agents: {
|
|
276
|
+
projectPath: ".factory/droids",
|
|
277
|
+
globalPath: join(home, ".factory/droids"),
|
|
278
|
+
format: "direct-copy",
|
|
279
|
+
writeStrategy: "per-file",
|
|
280
|
+
fileExtension: ".md",
|
|
281
|
+
},
|
|
282
|
+
commands: {
|
|
283
|
+
projectPath: ".factory/commands",
|
|
284
|
+
globalPath: join(home, ".factory/commands"),
|
|
285
|
+
format: "direct-copy",
|
|
286
|
+
writeStrategy: "per-file",
|
|
287
|
+
fileExtension: ".md",
|
|
288
|
+
},
|
|
289
|
+
skills: {
|
|
290
|
+
projectPath: ".factory/skills",
|
|
291
|
+
globalPath: join(home, ".factory/skills"),
|
|
292
|
+
format: "direct-copy",
|
|
293
|
+
writeStrategy: "per-file",
|
|
294
|
+
fileExtension: ".md",
|
|
295
|
+
},
|
|
296
|
+
config: {
|
|
297
|
+
projectPath: "AGENTS.md",
|
|
298
|
+
globalPath: join(home, ".factory/AGENTS.md"),
|
|
299
|
+
format: "md-strip",
|
|
300
|
+
writeStrategy: "single-file",
|
|
301
|
+
fileExtension: ".md",
|
|
302
|
+
},
|
|
303
|
+
rules: {
|
|
304
|
+
projectPath: ".factory/rules",
|
|
305
|
+
globalPath: join(home, ".factory/rules"),
|
|
306
|
+
format: "md-strip",
|
|
307
|
+
writeStrategy: "per-file",
|
|
308
|
+
fileExtension: ".md",
|
|
309
|
+
},
|
|
310
|
+
hooks: {
|
|
311
|
+
projectPath: ".factory/hooks",
|
|
312
|
+
globalPath: join(home, ".factory/hooks"),
|
|
313
|
+
format: "direct-copy",
|
|
314
|
+
writeStrategy: "per-file",
|
|
315
|
+
fileExtension: "",
|
|
316
|
+
},
|
|
138
317
|
settingsJsonPath: { projectPath: ".factory/settings.json", globalPath: join(home, ".factory/settings.json") },
|
|
139
318
|
detect: async () => hasBinaryInPath("droid") ||
|
|
140
319
|
hasAnyInstallSignal([
|
|
141
|
-
join(cwd, ".factory/droids"),
|
|
142
|
-
join(cwd, ".factory/
|
|
143
|
-
join(
|
|
144
|
-
join(
|
|
320
|
+
join(cwd, ".factory/droids"),
|
|
321
|
+
join(cwd, ".factory/commands"),
|
|
322
|
+
join(cwd, ".factory/skills"),
|
|
323
|
+
join(cwd, ".factory/rules"),
|
|
324
|
+
join(cwd, ".factory/hooks"),
|
|
325
|
+
join(cwd, ".factory/settings.json"),
|
|
326
|
+
join(home, ".factory/droids"),
|
|
327
|
+
join(home, ".factory/commands"),
|
|
328
|
+
join(home, ".factory/skills"),
|
|
329
|
+
join(home, ".factory/rules"),
|
|
330
|
+
join(home, ".factory/hooks"),
|
|
331
|
+
join(home, ".factory/AGENTS.md"),
|
|
145
332
|
join(home, ".factory/settings.json"),
|
|
146
333
|
]),
|
|
147
334
|
},
|
|
@@ -149,11 +336,35 @@ export const providers = {
|
|
|
149
336
|
name: "cursor",
|
|
150
337
|
displayName: "Cursor",
|
|
151
338
|
subagents: "full",
|
|
152
|
-
agents: {
|
|
339
|
+
agents: {
|
|
340
|
+
projectPath: ".cursor/rules",
|
|
341
|
+
globalPath: join(home, ".cursor/rules"),
|
|
342
|
+
format: "fm-to-fm",
|
|
343
|
+
writeStrategy: "per-file",
|
|
344
|
+
fileExtension: ".mdc",
|
|
345
|
+
},
|
|
153
346
|
commands: null,
|
|
154
|
-
skills: {
|
|
155
|
-
|
|
156
|
-
|
|
347
|
+
skills: {
|
|
348
|
+
projectPath: ".agents/skills",
|
|
349
|
+
globalPath: join(home, ".cursor/skills"),
|
|
350
|
+
format: "direct-copy",
|
|
351
|
+
writeStrategy: "per-file",
|
|
352
|
+
fileExtension: ".md",
|
|
353
|
+
},
|
|
354
|
+
config: {
|
|
355
|
+
projectPath: ".cursor/rules/project-config.mdc",
|
|
356
|
+
globalPath: join(home, ".cursor/rules/project-config.mdc"),
|
|
357
|
+
format: "md-to-mdc",
|
|
358
|
+
writeStrategy: "single-file",
|
|
359
|
+
fileExtension: ".mdc",
|
|
360
|
+
},
|
|
361
|
+
rules: {
|
|
362
|
+
projectPath: ".cursor/rules",
|
|
363
|
+
globalPath: join(home, ".cursor/rules"),
|
|
364
|
+
format: "md-to-mdc",
|
|
365
|
+
writeStrategy: "per-file",
|
|
366
|
+
fileExtension: ".mdc",
|
|
367
|
+
},
|
|
157
368
|
hooks: null,
|
|
158
369
|
settingsJsonPath: null,
|
|
159
370
|
// Cursor v2.2+ moves toward .cursor/rules/<name>/RULE.md folder format. Per-file .mdc still works as of 2026-04. Track via drift detection.
|
|
@@ -164,116 +375,326 @@ export const providers = {
|
|
|
164
375
|
name: "roo",
|
|
165
376
|
displayName: "Roo Code",
|
|
166
377
|
subagents: "full",
|
|
167
|
-
agents: {
|
|
378
|
+
agents: {
|
|
379
|
+
projectPath: ".roomodes",
|
|
380
|
+
globalPath: join(home, ".roo/custom_modes.yaml"),
|
|
381
|
+
format: "fm-to-yaml",
|
|
382
|
+
writeStrategy: "yaml-merge",
|
|
383
|
+
fileExtension: ".yaml",
|
|
384
|
+
},
|
|
168
385
|
commands: null,
|
|
169
|
-
skills: {
|
|
170
|
-
|
|
171
|
-
|
|
386
|
+
skills: {
|
|
387
|
+
projectPath: ".roo/skills",
|
|
388
|
+
globalPath: join(home, ".roo/skills"),
|
|
389
|
+
format: "direct-copy",
|
|
390
|
+
writeStrategy: "per-file",
|
|
391
|
+
fileExtension: ".md",
|
|
392
|
+
},
|
|
393
|
+
config: {
|
|
394
|
+
projectPath: ".roo/rules/project-config.md",
|
|
395
|
+
globalPath: join(home, ".roo/rules/project-config.md"),
|
|
396
|
+
format: "md-strip",
|
|
397
|
+
writeStrategy: "single-file",
|
|
398
|
+
fileExtension: ".md",
|
|
399
|
+
},
|
|
400
|
+
rules: {
|
|
401
|
+
projectPath: ".roo/rules",
|
|
402
|
+
globalPath: join(home, ".roo/rules"),
|
|
403
|
+
format: "md-strip",
|
|
404
|
+
writeStrategy: "per-file",
|
|
405
|
+
fileExtension: ".md",
|
|
406
|
+
},
|
|
172
407
|
hooks: null,
|
|
173
408
|
settingsJsonPath: null,
|
|
174
409
|
detect: async () => hasAnyInstallSignal([
|
|
175
|
-
join(cwd, ".roomodes"),
|
|
176
|
-
join(
|
|
410
|
+
join(cwd, ".roomodes"),
|
|
411
|
+
join(cwd, ".roo/rules"),
|
|
412
|
+
join(cwd, ".roo/skills"),
|
|
413
|
+
join(home, ".roo/custom_modes.yaml"),
|
|
414
|
+
join(home, ".roo/rules"),
|
|
415
|
+
join(home, ".roo/skills"),
|
|
177
416
|
]),
|
|
178
417
|
},
|
|
179
418
|
kilo: {
|
|
180
419
|
name: "kilo",
|
|
181
420
|
displayName: "Kilo Code",
|
|
182
421
|
subagents: "full",
|
|
183
|
-
agents: {
|
|
422
|
+
agents: {
|
|
423
|
+
projectPath: ".kilocodemodes",
|
|
424
|
+
globalPath: join(home, ".kilocode/custom_modes.yaml"),
|
|
425
|
+
format: "fm-to-yaml",
|
|
426
|
+
writeStrategy: "yaml-merge",
|
|
427
|
+
fileExtension: ".yaml",
|
|
428
|
+
},
|
|
184
429
|
commands: null,
|
|
185
|
-
skills: {
|
|
186
|
-
|
|
187
|
-
|
|
430
|
+
skills: {
|
|
431
|
+
projectPath: ".kilocode/skills",
|
|
432
|
+
globalPath: join(home, ".kilocode/skills"),
|
|
433
|
+
format: "direct-copy",
|
|
434
|
+
writeStrategy: "per-file",
|
|
435
|
+
fileExtension: ".md",
|
|
436
|
+
},
|
|
437
|
+
config: {
|
|
438
|
+
projectPath: ".kilocode/rules/project-config.md",
|
|
439
|
+
globalPath: join(home, ".kilocode/rules/project-config.md"),
|
|
440
|
+
format: "md-strip",
|
|
441
|
+
writeStrategy: "single-file",
|
|
442
|
+
fileExtension: ".md",
|
|
443
|
+
},
|
|
444
|
+
rules: {
|
|
445
|
+
projectPath: ".kilocode/rules",
|
|
446
|
+
globalPath: join(home, ".kilocode/rules"),
|
|
447
|
+
format: "md-strip",
|
|
448
|
+
writeStrategy: "per-file",
|
|
449
|
+
fileExtension: ".md",
|
|
450
|
+
},
|
|
188
451
|
hooks: null,
|
|
189
452
|
settingsJsonPath: null,
|
|
190
453
|
detect: async () => hasAnyInstallSignal([
|
|
191
|
-
join(cwd, ".kilocodemodes"),
|
|
192
|
-
join(
|
|
454
|
+
join(cwd, ".kilocodemodes"),
|
|
455
|
+
join(cwd, ".kilocode/rules"),
|
|
456
|
+
join(cwd, ".kilocode/skills"),
|
|
457
|
+
join(home, ".kilocode/custom_modes.yaml"),
|
|
458
|
+
join(home, ".kilocode/rules"),
|
|
459
|
+
join(home, ".kilocode/skills"),
|
|
193
460
|
]),
|
|
194
461
|
},
|
|
195
462
|
kiro: {
|
|
196
463
|
name: "kiro",
|
|
197
464
|
displayName: "Kiro IDE",
|
|
198
465
|
subagents: "none",
|
|
199
|
-
agents: {
|
|
466
|
+
agents: {
|
|
467
|
+
projectPath: ".kiro/steering",
|
|
468
|
+
globalPath: null,
|
|
469
|
+
format: "md-to-kiro-steering",
|
|
470
|
+
writeStrategy: "per-file",
|
|
471
|
+
fileExtension: ".md",
|
|
472
|
+
},
|
|
200
473
|
commands: null,
|
|
201
|
-
skills: {
|
|
202
|
-
|
|
203
|
-
|
|
474
|
+
skills: {
|
|
475
|
+
projectPath: ".kiro/skills",
|
|
476
|
+
globalPath: null,
|
|
477
|
+
format: "direct-copy",
|
|
478
|
+
writeStrategy: "per-file",
|
|
479
|
+
fileExtension: ".md",
|
|
480
|
+
},
|
|
481
|
+
config: {
|
|
482
|
+
projectPath: ".kiro/steering/project.md",
|
|
483
|
+
globalPath: null,
|
|
484
|
+
format: "md-to-kiro-steering",
|
|
485
|
+
writeStrategy: "single-file",
|
|
486
|
+
fileExtension: ".md",
|
|
487
|
+
},
|
|
488
|
+
rules: {
|
|
489
|
+
projectPath: ".kiro/steering",
|
|
490
|
+
globalPath: null,
|
|
491
|
+
format: "md-to-kiro-steering",
|
|
492
|
+
writeStrategy: "per-file",
|
|
493
|
+
fileExtension: ".md",
|
|
494
|
+
},
|
|
204
495
|
hooks: null,
|
|
205
496
|
settingsJsonPath: null,
|
|
206
497
|
detect: async () => hasAnyInstallSignal([
|
|
207
|
-
join(cwd, ".kiro/steering"),
|
|
208
|
-
join(cwd, ".kiro/
|
|
498
|
+
join(cwd, ".kiro/steering"),
|
|
499
|
+
join(cwd, ".kiro/skills"),
|
|
500
|
+
join(cwd, ".kiro/hooks"),
|
|
501
|
+
join(cwd, ".kiro/agents"),
|
|
502
|
+
join(cwd, ".kiro/settings/mcp.json"),
|
|
209
503
|
]),
|
|
210
504
|
},
|
|
211
505
|
windsurf: {
|
|
212
506
|
name: "windsurf",
|
|
213
507
|
displayName: "Windsurf",
|
|
214
508
|
subagents: "none",
|
|
215
|
-
agents: {
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
509
|
+
agents: {
|
|
510
|
+
projectPath: ".windsurf/rules",
|
|
511
|
+
globalPath: join(home, ".codeium/windsurf/rules"),
|
|
512
|
+
format: "fm-strip",
|
|
513
|
+
writeStrategy: "per-file",
|
|
514
|
+
fileExtension: ".md",
|
|
515
|
+
charLimit: 12000,
|
|
516
|
+
},
|
|
517
|
+
commands: {
|
|
518
|
+
projectPath: ".windsurf/workflows",
|
|
519
|
+
globalPath: join(home, ".codeium/windsurf/workflows"),
|
|
520
|
+
format: "direct-copy",
|
|
521
|
+
writeStrategy: "per-file",
|
|
522
|
+
fileExtension: ".md",
|
|
523
|
+
nestedCommands: false,
|
|
524
|
+
},
|
|
525
|
+
skills: {
|
|
526
|
+
projectPath: ".agents/skills",
|
|
527
|
+
globalPath: join(home, ".agents/skills"),
|
|
528
|
+
format: "direct-copy",
|
|
529
|
+
writeStrategy: "per-file",
|
|
530
|
+
fileExtension: ".md",
|
|
531
|
+
},
|
|
532
|
+
config: {
|
|
533
|
+
projectPath: ".windsurf/rules/rules.md",
|
|
534
|
+
globalPath: join(home, ".codeium/windsurf/rules/rules.md"),
|
|
535
|
+
format: "md-strip",
|
|
536
|
+
writeStrategy: "single-file",
|
|
537
|
+
fileExtension: ".md",
|
|
538
|
+
charLimit: 6000,
|
|
539
|
+
},
|
|
540
|
+
rules: {
|
|
541
|
+
projectPath: ".windsurf/rules",
|
|
542
|
+
globalPath: join(home, ".codeium/windsurf/rules"),
|
|
543
|
+
format: "md-strip",
|
|
544
|
+
writeStrategy: "per-file",
|
|
545
|
+
fileExtension: ".md",
|
|
546
|
+
charLimit: 6000,
|
|
547
|
+
totalCharLimit: 12000,
|
|
548
|
+
},
|
|
220
549
|
hooks: null,
|
|
221
550
|
settingsJsonPath: null,
|
|
222
551
|
detect: async () => hasBinaryInPath("windsurf") ||
|
|
223
552
|
hasAnyInstallSignal([
|
|
224
|
-
join(cwd, ".windsurf/rules"),
|
|
225
|
-
join(
|
|
553
|
+
join(cwd, ".windsurf/rules"),
|
|
554
|
+
join(cwd, ".windsurf/workflows"),
|
|
555
|
+
join(home, ".codeium/windsurf/rules"),
|
|
556
|
+
join(home, ".codeium/windsurf/workflows"),
|
|
226
557
|
]),
|
|
227
558
|
},
|
|
228
559
|
goose: {
|
|
229
560
|
name: "goose",
|
|
230
561
|
displayName: "Goose",
|
|
231
562
|
subagents: "full",
|
|
232
|
-
agents: {
|
|
563
|
+
agents: {
|
|
564
|
+
projectPath: "AGENTS.md",
|
|
565
|
+
globalPath: null,
|
|
566
|
+
format: "fm-strip",
|
|
567
|
+
writeStrategy: "merge-single",
|
|
568
|
+
fileExtension: ".md",
|
|
569
|
+
},
|
|
233
570
|
commands: null,
|
|
234
|
-
skills: {
|
|
235
|
-
|
|
236
|
-
|
|
571
|
+
skills: {
|
|
572
|
+
projectPath: ".goose/skills",
|
|
573
|
+
globalPath: join(home, ".config/goose/skills"),
|
|
574
|
+
format: "direct-copy",
|
|
575
|
+
writeStrategy: "per-file",
|
|
576
|
+
fileExtension: ".md",
|
|
577
|
+
},
|
|
578
|
+
config: {
|
|
579
|
+
projectPath: ".goosehints",
|
|
580
|
+
globalPath: join(home, ".config/goose/.goosehints"),
|
|
581
|
+
format: "md-strip",
|
|
582
|
+
writeStrategy: "merge-single",
|
|
583
|
+
fileExtension: "",
|
|
584
|
+
},
|
|
585
|
+
rules: {
|
|
586
|
+
projectPath: ".goosehints",
|
|
587
|
+
globalPath: join(home, ".config/goose/.goosehints"),
|
|
588
|
+
format: "md-strip",
|
|
589
|
+
writeStrategy: "merge-single",
|
|
590
|
+
fileExtension: "",
|
|
591
|
+
},
|
|
237
592
|
hooks: null,
|
|
238
593
|
settingsJsonPath: null,
|
|
239
594
|
detect: async () => hasBinaryInPath("goose") ||
|
|
240
595
|
hasAnyInstallSignal([
|
|
241
|
-
join(cwd, ".goosehints"),
|
|
242
|
-
join(
|
|
596
|
+
join(cwd, ".goosehints"),
|
|
597
|
+
join(cwd, ".goose/skills"),
|
|
598
|
+
join(home, ".config/goose/.goosehints"),
|
|
599
|
+
join(home, ".config/goose/skills"),
|
|
243
600
|
]),
|
|
244
601
|
},
|
|
245
602
|
"gemini-cli": {
|
|
246
603
|
name: "gemini-cli",
|
|
247
604
|
displayName: "Gemini CLI",
|
|
248
605
|
subagents: "planned",
|
|
249
|
-
agents: {
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
606
|
+
agents: {
|
|
607
|
+
projectPath: "AGENTS.md",
|
|
608
|
+
globalPath: join(home, ".gemini/GEMINI.md"),
|
|
609
|
+
format: "fm-strip",
|
|
610
|
+
writeStrategy: "merge-single",
|
|
611
|
+
fileExtension: ".md",
|
|
612
|
+
},
|
|
613
|
+
commands: {
|
|
614
|
+
projectPath: ".gemini/commands",
|
|
615
|
+
globalPath: join(home, ".gemini/commands"),
|
|
616
|
+
format: "md-to-toml",
|
|
617
|
+
writeStrategy: "per-file",
|
|
618
|
+
fileExtension: ".toml",
|
|
619
|
+
},
|
|
620
|
+
skills: {
|
|
621
|
+
projectPath: ".agents/skills",
|
|
622
|
+
globalPath: join(home, ".agents/skills"),
|
|
623
|
+
format: "direct-copy",
|
|
624
|
+
writeStrategy: "per-file",
|
|
625
|
+
fileExtension: ".md",
|
|
626
|
+
},
|
|
627
|
+
config: {
|
|
628
|
+
projectPath: "GEMINI.md",
|
|
629
|
+
globalPath: join(home, ".gemini/GEMINI.md"),
|
|
630
|
+
format: "md-strip",
|
|
631
|
+
writeStrategy: "merge-single",
|
|
632
|
+
fileExtension: ".md",
|
|
633
|
+
},
|
|
634
|
+
rules: {
|
|
635
|
+
projectPath: "GEMINI.md",
|
|
636
|
+
globalPath: join(home, ".gemini/GEMINI.md"),
|
|
637
|
+
format: "md-strip",
|
|
638
|
+
writeStrategy: "merge-single",
|
|
639
|
+
fileExtension: ".md",
|
|
640
|
+
},
|
|
641
|
+
hooks: {
|
|
642
|
+
projectPath: ".gemini/hooks",
|
|
643
|
+
globalPath: join(home, ".gemini/hooks"),
|
|
644
|
+
format: "direct-copy",
|
|
645
|
+
writeStrategy: "per-file",
|
|
646
|
+
fileExtension: "",
|
|
647
|
+
},
|
|
255
648
|
settingsJsonPath: { projectPath: ".gemini/settings.json", globalPath: join(home, ".gemini/settings.json") },
|
|
256
649
|
detect: async () => hasBinaryInPath("gemini") ||
|
|
257
650
|
hasAnyInstallSignal([
|
|
258
|
-
join(cwd, ".gemini/commands"),
|
|
259
|
-
join(
|
|
651
|
+
join(cwd, ".gemini/commands"),
|
|
652
|
+
join(cwd, "GEMINI.md"),
|
|
653
|
+
join(home, ".gemini/commands"),
|
|
654
|
+
join(home, ".gemini/GEMINI.md"),
|
|
260
655
|
]),
|
|
261
656
|
},
|
|
262
657
|
amp: {
|
|
263
658
|
name: "amp",
|
|
264
659
|
displayName: "Amp",
|
|
265
660
|
subagents: "full",
|
|
266
|
-
agents: {
|
|
661
|
+
agents: {
|
|
662
|
+
projectPath: "AGENT.md",
|
|
663
|
+
globalPath: join(home, ".config/AGENT.md"),
|
|
664
|
+
format: "fm-strip",
|
|
665
|
+
writeStrategy: "merge-single",
|
|
666
|
+
fileExtension: ".md",
|
|
667
|
+
},
|
|
267
668
|
commands: null,
|
|
268
|
-
skills: {
|
|
269
|
-
|
|
270
|
-
|
|
669
|
+
skills: {
|
|
670
|
+
projectPath: ".agents/skills",
|
|
671
|
+
globalPath: join(home, ".config/agents/skills"),
|
|
672
|
+
format: "direct-copy",
|
|
673
|
+
writeStrategy: "per-file",
|
|
674
|
+
fileExtension: ".md",
|
|
675
|
+
},
|
|
676
|
+
config: {
|
|
677
|
+
projectPath: "AGENT.md",
|
|
678
|
+
globalPath: join(home, ".config/AGENT.md"),
|
|
679
|
+
format: "md-strip",
|
|
680
|
+
writeStrategy: "merge-single",
|
|
681
|
+
fileExtension: ".md",
|
|
682
|
+
},
|
|
683
|
+
rules: {
|
|
684
|
+
projectPath: ".amp/rules",
|
|
685
|
+
globalPath: join(home, ".config/amp/rules"),
|
|
686
|
+
format: "md-strip",
|
|
687
|
+
writeStrategy: "per-file",
|
|
688
|
+
fileExtension: ".md",
|
|
689
|
+
},
|
|
271
690
|
hooks: null,
|
|
272
691
|
settingsJsonPath: null,
|
|
273
692
|
detect: async () => hasBinaryInPath("amp") ||
|
|
274
693
|
hasAnyInstallSignal([
|
|
275
|
-
join(cwd, ".amp/rules"),
|
|
276
|
-
join(
|
|
694
|
+
join(cwd, ".amp/rules"),
|
|
695
|
+
join(cwd, "AGENT.md"),
|
|
696
|
+
join(home, ".config/amp/rules"),
|
|
697
|
+
join(home, ".config/AGENT.md"),
|
|
277
698
|
]),
|
|
278
699
|
},
|
|
279
700
|
antigravity: {
|
|
@@ -281,28 +702,81 @@ export const providers = {
|
|
|
281
702
|
displayName: "Antigravity",
|
|
282
703
|
subagents: "full",
|
|
283
704
|
agents: null,
|
|
284
|
-
commands: {
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
705
|
+
commands: {
|
|
706
|
+
projectPath: ".agent/workflows",
|
|
707
|
+
globalPath: null,
|
|
708
|
+
format: "direct-copy",
|
|
709
|
+
writeStrategy: "per-file",
|
|
710
|
+
fileExtension: ".md",
|
|
711
|
+
nestedCommands: false,
|
|
712
|
+
},
|
|
713
|
+
skills: {
|
|
714
|
+
projectPath: ".agent/skills",
|
|
715
|
+
globalPath: join(home, ".gemini/antigravity/skills"),
|
|
716
|
+
format: "direct-copy",
|
|
717
|
+
writeStrategy: "per-file",
|
|
718
|
+
fileExtension: ".md",
|
|
719
|
+
},
|
|
720
|
+
config: {
|
|
721
|
+
projectPath: "GEMINI.md",
|
|
722
|
+
globalPath: join(home, ".gemini/GEMINI.md"),
|
|
723
|
+
format: "md-strip",
|
|
724
|
+
writeStrategy: "single-file",
|
|
725
|
+
fileExtension: ".md",
|
|
726
|
+
},
|
|
727
|
+
rules: {
|
|
728
|
+
projectPath: ".agent/rules",
|
|
729
|
+
globalPath: null,
|
|
730
|
+
format: "md-strip",
|
|
731
|
+
writeStrategy: "per-file",
|
|
732
|
+
fileExtension: ".md",
|
|
733
|
+
},
|
|
288
734
|
hooks: null,
|
|
289
735
|
settingsJsonPath: null,
|
|
290
736
|
detect: async () => hasBinaryInPath("agy") ||
|
|
291
737
|
hasBinaryInPath("antigravity") ||
|
|
292
738
|
hasAnyInstallSignal([
|
|
293
|
-
join(cwd, ".agent/rules"),
|
|
294
|
-
join(cwd, "
|
|
739
|
+
join(cwd, ".agent/rules"),
|
|
740
|
+
join(cwd, ".agent/skills"),
|
|
741
|
+
join(cwd, ".agent/workflows"),
|
|
742
|
+
join(cwd, "GEMINI.md"),
|
|
743
|
+
join(home, ".gemini/antigravity"),
|
|
744
|
+
join(home, ".gemini/antigravity/skills"),
|
|
295
745
|
]),
|
|
296
746
|
},
|
|
297
747
|
cline: {
|
|
298
748
|
name: "cline",
|
|
299
749
|
displayName: "Cline",
|
|
300
750
|
subagents: "full",
|
|
301
|
-
agents: {
|
|
751
|
+
agents: {
|
|
752
|
+
projectPath: ".clinerules",
|
|
753
|
+
globalPath: null,
|
|
754
|
+
format: "fm-strip",
|
|
755
|
+
writeStrategy: "per-file",
|
|
756
|
+
fileExtension: ".md",
|
|
757
|
+
},
|
|
302
758
|
commands: null,
|
|
303
|
-
skills: {
|
|
304
|
-
|
|
305
|
-
|
|
759
|
+
skills: {
|
|
760
|
+
projectPath: ".cline/skills",
|
|
761
|
+
globalPath: join(home, ".cline/skills"),
|
|
762
|
+
format: "direct-copy",
|
|
763
|
+
writeStrategy: "per-file",
|
|
764
|
+
fileExtension: ".md",
|
|
765
|
+
},
|
|
766
|
+
config: {
|
|
767
|
+
projectPath: ".clinerules/project-config.md",
|
|
768
|
+
globalPath: null,
|
|
769
|
+
format: "md-strip",
|
|
770
|
+
writeStrategy: "single-file",
|
|
771
|
+
fileExtension: ".md",
|
|
772
|
+
},
|
|
773
|
+
rules: {
|
|
774
|
+
projectPath: ".clinerules",
|
|
775
|
+
globalPath: null,
|
|
776
|
+
format: "md-strip",
|
|
777
|
+
writeStrategy: "per-file",
|
|
778
|
+
fileExtension: ".md",
|
|
779
|
+
},
|
|
306
780
|
hooks: null,
|
|
307
781
|
settingsJsonPath: null,
|
|
308
782
|
detect: async () => hasAnyInstallSignal([join(cwd, ".clinerules"), join(cwd, ".cline/skills"), join(home, ".cline/skills")]),
|
|
@@ -311,16 +785,44 @@ export const providers = {
|
|
|
311
785
|
name: "openhands",
|
|
312
786
|
displayName: "OpenHands",
|
|
313
787
|
subagents: "full",
|
|
314
|
-
agents: {
|
|
788
|
+
agents: {
|
|
789
|
+
projectPath: ".openhands/skills",
|
|
790
|
+
globalPath: join(home, ".openhands/skills"),
|
|
791
|
+
format: "skill-md",
|
|
792
|
+
writeStrategy: "per-file",
|
|
793
|
+
fileExtension: ".md",
|
|
794
|
+
},
|
|
315
795
|
commands: null,
|
|
316
|
-
skills: {
|
|
317
|
-
|
|
318
|
-
|
|
796
|
+
skills: {
|
|
797
|
+
projectPath: ".openhands/skills",
|
|
798
|
+
globalPath: join(home, ".openhands/skills"),
|
|
799
|
+
format: "direct-copy",
|
|
800
|
+
writeStrategy: "per-file",
|
|
801
|
+
fileExtension: ".md",
|
|
802
|
+
},
|
|
803
|
+
config: {
|
|
804
|
+
projectPath: ".openhands/instructions.md",
|
|
805
|
+
globalPath: join(home, ".openhands/instructions.md"),
|
|
806
|
+
format: "md-strip",
|
|
807
|
+
writeStrategy: "single-file",
|
|
808
|
+
fileExtension: ".md",
|
|
809
|
+
},
|
|
810
|
+
rules: {
|
|
811
|
+
projectPath: ".openhands/rules",
|
|
812
|
+
globalPath: join(home, ".openhands/rules"),
|
|
813
|
+
format: "md-strip",
|
|
814
|
+
writeStrategy: "per-file",
|
|
815
|
+
fileExtension: ".md",
|
|
816
|
+
},
|
|
319
817
|
hooks: null,
|
|
320
818
|
settingsJsonPath: null,
|
|
321
819
|
detect: async () => hasAnyInstallSignal([
|
|
322
|
-
join(cwd, ".openhands/skills"),
|
|
323
|
-
join(
|
|
820
|
+
join(cwd, ".openhands/skills"),
|
|
821
|
+
join(cwd, ".openhands/rules"),
|
|
822
|
+
join(cwd, ".openhands/instructions.md"),
|
|
823
|
+
join(home, ".openhands/skills"),
|
|
824
|
+
join(home, ".openhands/rules"),
|
|
825
|
+
join(home, ".openhands/instructions.md"),
|
|
324
826
|
]),
|
|
325
827
|
},
|
|
326
828
|
};
|