agents-reverse-engineer 0.2.7 → 0.2.9
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 +7 -1
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +13 -6
- package/dist/installer/index.js.map +1 -1
- package/dist/installer/prompts.d.ts +4 -2
- package/dist/installer/prompts.d.ts.map +1 -1
- package/dist/installer/prompts.js +8 -4
- package/dist/installer/prompts.js.map +1 -1
- package/dist/installer/uninstall.d.ts +21 -0
- package/dist/installer/uninstall.d.ts.map +1 -1
- package/dist/installer/uninstall.js +96 -1
- package/dist/installer/uninstall.js.map +1 -1
- package/dist/integration/templates.d.ts +1 -32
- package/dist/integration/templates.d.ts.map +1 -1
- package/dist/integration/templates.js +126 -374
- package/dist/integration/templates.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -110,7 +110,13 @@ npx agents-reverse-engineer@latest --runtime all -l
|
|
|
110
110
|
npx agents-reverse-engineer@latest uninstall
|
|
111
111
|
```
|
|
112
112
|
|
|
113
|
-
Removes
|
|
113
|
+
Removes:
|
|
114
|
+
- Command files (`/are:*` commands)
|
|
115
|
+
- Session hooks (Claude/Gemini)
|
|
116
|
+
- ARE permissions from settings.json
|
|
117
|
+
- `.agents-reverse-engineer` folder (local installs only)
|
|
118
|
+
|
|
119
|
+
Use `--runtime` and `-g`/`-l` flags for specific targets.
|
|
114
120
|
|
|
115
121
|
### Checking Version
|
|
116
122
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAqB,MAAM,YAAY,CAAC;AAgBpF,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAClG,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClG,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7H,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE3F;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CAuChE;AAoCD;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAqB,MAAM,YAAY,CAAC;AAgBpF,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAClG,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClG,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7H,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE3F;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CAuChE;AAoCD;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAoDlF"}
|
package/dist/installer/index.js
CHANGED
|
@@ -8,7 +8,7 @@ import { getAllRuntimes } from './paths.js';
|
|
|
8
8
|
import { displayBanner, showHelp, showSuccess, showError, showWarning, showInfo, showNextSteps, } from './banner.js';
|
|
9
9
|
import { selectRuntime, selectLocation, isInteractive } from './prompts.js';
|
|
10
10
|
import { installFiles, verifyInstallation } from './operations.js';
|
|
11
|
-
import { uninstallFiles } from './uninstall.js';
|
|
11
|
+
import { uninstallFiles, deleteConfigFolder } from './uninstall.js';
|
|
12
12
|
export { getRuntimePaths, getAllRuntimes, resolveInstallPath, getSettingsPath } from './paths.js';
|
|
13
13
|
export { displayBanner, showHelp, showSuccess, showError, showWarning, showInfo, showNextSteps, VERSION } from './banner.js';
|
|
14
14
|
export { selectRuntime, selectLocation, confirmAction, isInteractive } from './prompts.js';
|
|
@@ -128,12 +128,13 @@ export async function runInstaller(args) {
|
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
130
|
// Interactive mode: prompt for missing values
|
|
131
|
+
const mode = args.uninstall ? 'uninstall' : 'install';
|
|
131
132
|
let selectedRuntime = runtimeArg;
|
|
132
133
|
if (!selectedRuntime && isInteractive()) {
|
|
133
|
-
selectedRuntime = await selectRuntime();
|
|
134
|
+
selectedRuntime = await selectRuntime(mode);
|
|
134
135
|
}
|
|
135
136
|
if (!location && isInteractive()) {
|
|
136
|
-
location = await selectLocation();
|
|
137
|
+
location = await selectLocation(mode);
|
|
137
138
|
}
|
|
138
139
|
// Safety check - should not reach here without values
|
|
139
140
|
if (!selectedRuntime || !location) {
|
|
@@ -184,9 +185,11 @@ async function runInstall(runtime, location, force, quiet) {
|
|
|
184
185
|
*/
|
|
185
186
|
function runUninstall(runtime, location, quiet) {
|
|
186
187
|
const results = uninstallFiles(runtime, location, false);
|
|
188
|
+
// Delete .agents-reverse-engineer config folder (local only)
|
|
189
|
+
const configDeleted = deleteConfigFolder(location, false);
|
|
187
190
|
// Display results
|
|
188
191
|
if (!quiet) {
|
|
189
|
-
displayUninstallResults(results);
|
|
192
|
+
displayUninstallResults(results, configDeleted);
|
|
190
193
|
}
|
|
191
194
|
return results;
|
|
192
195
|
}
|
|
@@ -241,8 +244,9 @@ function displayInstallResults(results) {
|
|
|
241
244
|
* Display uninstallation results with styled output
|
|
242
245
|
*
|
|
243
246
|
* @param results - Array of uninstallation results
|
|
247
|
+
* @param configDeleted - Whether the .agents-reverse-engineer folder was deleted
|
|
244
248
|
*/
|
|
245
|
-
function displayUninstallResults(results) {
|
|
249
|
+
function displayUninstallResults(results, configDeleted = false) {
|
|
246
250
|
console.log();
|
|
247
251
|
let totalDeleted = 0;
|
|
248
252
|
let hooksUnregistered = 0;
|
|
@@ -278,7 +282,10 @@ function displayUninstallResults(results) {
|
|
|
278
282
|
if (hooksUnregistered > 0) {
|
|
279
283
|
showSuccess(`Unregistered ${hooksUnregistered} session hook(s)`);
|
|
280
284
|
}
|
|
281
|
-
if (
|
|
285
|
+
if (configDeleted) {
|
|
286
|
+
showSuccess(`Removed .agents-reverse-engineer folder`);
|
|
287
|
+
}
|
|
288
|
+
if (totalDeleted === 0 && !configDeleted) {
|
|
282
289
|
showInfo('No files were removed');
|
|
283
290
|
}
|
|
284
291
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAsB,MAAM,YAAY,CAAC;AAChE,OAAO,EACL,aAAa,EACb,QAAQ,EACR,WAAW,EACX,SAAS,EACT,WAAW,EACX,QAAQ,EACR,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,cAAc,EAAiB,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAuB,MAAM,iBAAiB,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,15 +31,17 @@ export declare function selectOption<T>(prompt: string, options: SelectOption<T>
|
|
|
31
31
|
/**
|
|
32
32
|
* Prompt user to select a runtime
|
|
33
33
|
*
|
|
34
|
+
* @param mode - 'install' or 'uninstall' to customize prompt text
|
|
34
35
|
* @returns Selected runtime value
|
|
35
36
|
*/
|
|
36
|
-
export declare function selectRuntime(): Promise<Runtime>;
|
|
37
|
+
export declare function selectRuntime(mode?: 'install' | 'uninstall'): Promise<Runtime>;
|
|
37
38
|
/**
|
|
38
39
|
* Prompt user to select installation location
|
|
39
40
|
*
|
|
41
|
+
* @param mode - 'install' or 'uninstall' to customize prompt text
|
|
40
42
|
* @returns Selected location value
|
|
41
43
|
*/
|
|
42
|
-
export declare function selectLocation(): Promise<Location>;
|
|
44
|
+
export declare function selectLocation(mode?: 'install' | 'uninstall'): Promise<Location>;
|
|
43
45
|
/**
|
|
44
46
|
* Prompt user to confirm an action
|
|
45
47
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/installer/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEpD;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED;;GAEG;AACH,UAAU,YAAY,CAAC,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;CACV;AA6BD;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAClC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GACzB,OAAO,CAAC,CAAC,CAAC,CAKZ;AA6HD
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/installer/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEpD;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED;;GAEG;AACH,UAAU,YAAY,CAAC,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;CACV;AA6BD;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAClC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GACzB,OAAO,CAAC,CAAC,CAAC,CAKZ;AA6HD;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,IAAI,GAAE,SAAS,GAAG,WAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CAQ/F;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,IAAI,GAAE,SAAS,GAAG,WAAuB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAMjG;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAKrE"}
|
|
@@ -160,10 +160,12 @@ async function numberedSelect(prompt, options) {
|
|
|
160
160
|
/**
|
|
161
161
|
* Prompt user to select a runtime
|
|
162
162
|
*
|
|
163
|
+
* @param mode - 'install' or 'uninstall' to customize prompt text
|
|
163
164
|
* @returns Selected runtime value
|
|
164
165
|
*/
|
|
165
|
-
export async function selectRuntime() {
|
|
166
|
-
|
|
166
|
+
export async function selectRuntime(mode = 'install') {
|
|
167
|
+
const prompt = mode === 'uninstall' ? 'Select runtime to uninstall:' : 'Select runtime to install:';
|
|
168
|
+
return selectOption(prompt, [
|
|
167
169
|
{ label: 'Claude Code', value: 'claude' },
|
|
168
170
|
{ label: 'OpenCode', value: 'opencode' },
|
|
169
171
|
{ label: 'Gemini CLI', value: 'gemini' },
|
|
@@ -173,10 +175,12 @@ export async function selectRuntime() {
|
|
|
173
175
|
/**
|
|
174
176
|
* Prompt user to select installation location
|
|
175
177
|
*
|
|
178
|
+
* @param mode - 'install' or 'uninstall' to customize prompt text
|
|
176
179
|
* @returns Selected location value
|
|
177
180
|
*/
|
|
178
|
-
export async function selectLocation() {
|
|
179
|
-
|
|
181
|
+
export async function selectLocation(mode = 'install') {
|
|
182
|
+
const prompt = mode === 'uninstall' ? 'Select uninstallation location:' : 'Select installation location:';
|
|
183
|
+
return selectOption(prompt, [
|
|
180
184
|
{ label: 'Global (~/.claude, ~/.config/opencode, etc.)', value: 'global' },
|
|
181
185
|
{ label: 'Local (./.claude, ./.opencode, etc.)', value: 'local' },
|
|
182
186
|
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/installer/prompts.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/installer/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,4 +29,25 @@ export declare function uninstallFiles(runtime: Runtime, location: Location, dry
|
|
|
29
29
|
* @returns true if hook was removed, false if not found
|
|
30
30
|
*/
|
|
31
31
|
export declare function unregisterHooks(basePath: string, runtime: Exclude<Runtime, 'all'>, dryRun: boolean): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Unregister ARE permissions from Claude Code settings.json
|
|
34
|
+
*
|
|
35
|
+
* Removes all ARE-related bash command permissions from the allow list.
|
|
36
|
+
*
|
|
37
|
+
* @param basePath - Base installation path (e.g., ~/.claude)
|
|
38
|
+
* @param dryRun - If true, don't write changes
|
|
39
|
+
* @returns true if any permissions were removed, false if none found
|
|
40
|
+
*/
|
|
41
|
+
export declare function unregisterPermissions(basePath: string, dryRun: boolean): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Delete the .agents-reverse-engineer configuration folder
|
|
44
|
+
*
|
|
45
|
+
* Only applicable for local installations. Removes the entire folder
|
|
46
|
+
* including configuration files and generation plans.
|
|
47
|
+
*
|
|
48
|
+
* @param location - Installation location (only 'local' triggers deletion)
|
|
49
|
+
* @param dryRun - If true, don't actually delete
|
|
50
|
+
* @returns true if folder was deleted, false if not found or not local
|
|
51
|
+
*/
|
|
52
|
+
export declare function deleteConfigFolder(location: Location, dryRun: boolean): boolean;
|
|
32
53
|
//# sourceMappingURL=uninstall.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/installer/uninstall.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/installer/uninstall.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA4DrE;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,MAAM,GAAE,OAAe,GACtB,eAAe,EAAE,CAKnB;AAmID;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAChC,MAAM,EAAE,OAAO,GACd,OAAO,CAKT;AA4DD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAiDhF;AAqGD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAqB/E"}
|
|
@@ -4,10 +4,20 @@
|
|
|
4
4
|
* Handles removing installed command files, hooks, and hook registrations.
|
|
5
5
|
* Mirrors the installation logic in operations.ts for clean reversal.
|
|
6
6
|
*/
|
|
7
|
-
import { existsSync, unlinkSync, readFileSync, writeFileSync, readdirSync, rmdirSync } from 'node:fs';
|
|
7
|
+
import { existsSync, unlinkSync, readFileSync, writeFileSync, readdirSync, rmdirSync, rmSync } from 'node:fs';
|
|
8
8
|
import * as path from 'node:path';
|
|
9
9
|
import { resolveInstallPath, getAllRuntimes } from './paths.js';
|
|
10
10
|
import { getClaudeTemplates, getOpenCodeTemplates, getGeminiTemplates, } from '../integration/templates.js';
|
|
11
|
+
/**
|
|
12
|
+
* Permissions to remove during uninstall (must match operations.ts)
|
|
13
|
+
*/
|
|
14
|
+
const ARE_PERMISSIONS = [
|
|
15
|
+
'Bash(npx are init*)',
|
|
16
|
+
'Bash(npx are discover*)',
|
|
17
|
+
'Bash(npx are generate*)',
|
|
18
|
+
'Bash(npx are update*)',
|
|
19
|
+
'Bash(npx are clean*)',
|
|
20
|
+
];
|
|
11
21
|
/**
|
|
12
22
|
* Get templates for a specific runtime
|
|
13
23
|
*
|
|
@@ -99,6 +109,10 @@ function uninstallFilesForRuntime(runtime, location, dryRun) {
|
|
|
99
109
|
}
|
|
100
110
|
// Unregister hook from settings.json
|
|
101
111
|
hookUnregistered = unregisterHooks(basePath, runtime, dryRun);
|
|
112
|
+
// Unregister permissions from settings.json (Claude only)
|
|
113
|
+
if (runtime === 'claude') {
|
|
114
|
+
unregisterPermissions(basePath, dryRun);
|
|
115
|
+
}
|
|
102
116
|
}
|
|
103
117
|
// Remove VERSION file if exists
|
|
104
118
|
const versionPath = path.join(basePath, 'VERSION');
|
|
@@ -202,6 +216,54 @@ function unregisterClaudeHook(basePath, dryRun) {
|
|
|
202
216
|
}
|
|
203
217
|
return true;
|
|
204
218
|
}
|
|
219
|
+
/**
|
|
220
|
+
* Unregister ARE permissions from Claude Code settings.json
|
|
221
|
+
*
|
|
222
|
+
* Removes all ARE-related bash command permissions from the allow list.
|
|
223
|
+
*
|
|
224
|
+
* @param basePath - Base installation path (e.g., ~/.claude)
|
|
225
|
+
* @param dryRun - If true, don't write changes
|
|
226
|
+
* @returns true if any permissions were removed, false if none found
|
|
227
|
+
*/
|
|
228
|
+
export function unregisterPermissions(basePath, dryRun) {
|
|
229
|
+
const settingsPath = path.join(basePath, 'settings.json');
|
|
230
|
+
// Settings file must exist
|
|
231
|
+
if (!existsSync(settingsPath)) {
|
|
232
|
+
return false;
|
|
233
|
+
}
|
|
234
|
+
// Load settings
|
|
235
|
+
let settings;
|
|
236
|
+
try {
|
|
237
|
+
const content = readFileSync(settingsPath, 'utf-8');
|
|
238
|
+
settings = JSON.parse(content);
|
|
239
|
+
}
|
|
240
|
+
catch {
|
|
241
|
+
return false;
|
|
242
|
+
}
|
|
243
|
+
// Check if permissions.allow exists
|
|
244
|
+
if (!settings.permissions?.allow) {
|
|
245
|
+
return false;
|
|
246
|
+
}
|
|
247
|
+
const originalLength = settings.permissions.allow.length;
|
|
248
|
+
// Remove all ARE permissions
|
|
249
|
+
settings.permissions.allow = settings.permissions.allow.filter((perm) => !ARE_PERMISSIONS.includes(perm));
|
|
250
|
+
// Check if we actually removed something
|
|
251
|
+
if (settings.permissions.allow.length === originalLength) {
|
|
252
|
+
return false;
|
|
253
|
+
}
|
|
254
|
+
// Clean up empty structures
|
|
255
|
+
if (settings.permissions.allow.length === 0) {
|
|
256
|
+
delete settings.permissions.allow;
|
|
257
|
+
}
|
|
258
|
+
if (settings.permissions && Object.keys(settings.permissions).length === 0) {
|
|
259
|
+
delete settings.permissions;
|
|
260
|
+
}
|
|
261
|
+
// Write updated settings
|
|
262
|
+
if (!dryRun) {
|
|
263
|
+
writeFileSync(settingsPath, JSON.stringify(settings, null, 2), 'utf-8');
|
|
264
|
+
}
|
|
265
|
+
return true;
|
|
266
|
+
}
|
|
205
267
|
/**
|
|
206
268
|
* Unregister hook from Gemini CLI settings.json
|
|
207
269
|
*/
|
|
@@ -280,4 +342,37 @@ function cleanupEmptyDirs(dirPath) {
|
|
|
280
342
|
// Ignore errors - directory might be in use or we don't have permissions
|
|
281
343
|
}
|
|
282
344
|
}
|
|
345
|
+
/**
|
|
346
|
+
* Configuration directory name (matches config/loader.ts)
|
|
347
|
+
*/
|
|
348
|
+
const CONFIG_DIR = '.agents-reverse-engineer';
|
|
349
|
+
/**
|
|
350
|
+
* Delete the .agents-reverse-engineer configuration folder
|
|
351
|
+
*
|
|
352
|
+
* Only applicable for local installations. Removes the entire folder
|
|
353
|
+
* including configuration files and generation plans.
|
|
354
|
+
*
|
|
355
|
+
* @param location - Installation location (only 'local' triggers deletion)
|
|
356
|
+
* @param dryRun - If true, don't actually delete
|
|
357
|
+
* @returns true if folder was deleted, false if not found or not local
|
|
358
|
+
*/
|
|
359
|
+
export function deleteConfigFolder(location, dryRun) {
|
|
360
|
+
// Only delete for local installations
|
|
361
|
+
if (location !== 'local') {
|
|
362
|
+
return false;
|
|
363
|
+
}
|
|
364
|
+
const configPath = path.join(process.cwd(), CONFIG_DIR);
|
|
365
|
+
if (!existsSync(configPath)) {
|
|
366
|
+
return false;
|
|
367
|
+
}
|
|
368
|
+
if (!dryRun) {
|
|
369
|
+
try {
|
|
370
|
+
rmSync(configPath, { recursive: true, force: true });
|
|
371
|
+
}
|
|
372
|
+
catch {
|
|
373
|
+
return false;
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
return true;
|
|
377
|
+
}
|
|
283
378
|
//# sourceMappingURL=uninstall.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/installer/uninstall.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/installer/uninstall.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,54 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Template generators for AI coding assistant integration files
|
|
3
3
|
*
|
|
4
|
-
* Generates command file templates for Claude Code, OpenCode, and session hooks.
|
|
4
|
+
* Generates command file templates for Claude Code, OpenCode, Gemini CLI, and session hooks.
|
|
5
5
|
*/
|
|
6
6
|
import type { IntegrationTemplate } from './types.js';
|
|
7
7
|
/**
|
|
8
8
|
* Get Claude Code command file templates
|
|
9
|
-
*
|
|
10
|
-
* Returns templates for:
|
|
11
|
-
* - generate.md: Full documentation generation command
|
|
12
|
-
* - update.md: Incremental documentation update command
|
|
13
|
-
* - init.md: Initialize agents-reverse-engineer in a project
|
|
14
|
-
*
|
|
15
|
-
* @returns Array of Claude Code command templates
|
|
16
9
|
*/
|
|
17
10
|
export declare function getClaudeTemplates(): IntegrationTemplate[];
|
|
18
11
|
/**
|
|
19
12
|
* Get OpenCode command file templates
|
|
20
|
-
*
|
|
21
|
-
* Returns templates for:
|
|
22
|
-
* - are-generate.md: Full documentation generation command
|
|
23
|
-
* - are-update.md: Incremental documentation update command
|
|
24
|
-
*
|
|
25
|
-
* @returns Array of OpenCode command templates
|
|
26
13
|
*/
|
|
27
14
|
export declare function getOpenCodeTemplates(): IntegrationTemplate[];
|
|
28
15
|
/**
|
|
29
16
|
* Get Gemini CLI command file templates
|
|
30
|
-
*
|
|
31
|
-
* Returns templates for:
|
|
32
|
-
* - are-generate.md: Full documentation generation command
|
|
33
|
-
* - are-update.md: Incremental documentation update command
|
|
34
|
-
* - are-discover.md: Discover files and create execution plan
|
|
35
|
-
* - are-clean.md: Delete generated documentation artifacts
|
|
36
|
-
*
|
|
37
|
-
* @returns Array of Gemini CLI command templates
|
|
38
17
|
*/
|
|
39
18
|
export declare function getGeminiTemplates(): IntegrationTemplate[];
|
|
40
19
|
/**
|
|
41
20
|
* Get session-end hook template for automatic documentation updates
|
|
42
|
-
*
|
|
43
|
-
* The hook:
|
|
44
|
-
* - Checks ARE_DISABLE_HOOK env var for temporary disable
|
|
45
|
-
* - Checks config file for permanent disable (hook_enabled: false)
|
|
46
|
-
* - Checks git status and exits silently if no changes
|
|
47
|
-
* - Spawns are update --quiet in background (detached, unref'd)
|
|
48
|
-
*
|
|
49
|
-
* Uses CommonJS (require) since hooks run via node directly.
|
|
50
|
-
*
|
|
51
|
-
* @returns JavaScript hook code as a string
|
|
52
21
|
*/
|
|
53
22
|
export declare function getHookTemplate(): string;
|
|
54
23
|
//# sourceMappingURL=templates.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/integration/templates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/integration/templates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AA4WtD;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,mBAAmB,EAAE,CAE1D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,mBAAmB,EAAE,CAE5D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,mBAAmB,EAAE,CAE1D;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAyCxC"}
|
|
@@ -1,30 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Template generators for AI coding assistant integration files
|
|
3
3
|
*
|
|
4
|
-
* Generates command file templates for Claude Code, OpenCode, and session hooks.
|
|
4
|
+
* Generates command file templates for Claude Code, OpenCode, Gemini CLI, and session hooks.
|
|
5
5
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
* @returns Array of Claude Code command templates
|
|
15
|
-
*/
|
|
16
|
-
export function getClaudeTemplates() {
|
|
17
|
-
return [
|
|
18
|
-
{
|
|
19
|
-
filename: 'generate.md',
|
|
20
|
-
path: '.claude/commands/are/generate.md',
|
|
21
|
-
content: `---
|
|
22
|
-
name: are:generate
|
|
23
|
-
description: Generate AI-friendly documentation for the entire codebase
|
|
24
|
-
argument-hint: "[--budget N] [--dry-run]"
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
Generate comprehensive documentation for this codebase using agents-reverse-engineer.
|
|
6
|
+
// =============================================================================
|
|
7
|
+
// Shared Command Content
|
|
8
|
+
// =============================================================================
|
|
9
|
+
const COMMANDS = {
|
|
10
|
+
generate: {
|
|
11
|
+
description: 'Generate AI-friendly documentation for the entire codebase',
|
|
12
|
+
argumentHint: '[--budget N] [--dry-run]',
|
|
13
|
+
content: `Generate comprehensive documentation for this codebase using agents-reverse-engineer.
|
|
28
14
|
|
|
29
15
|
<execution>
|
|
30
16
|
## Phase 0: Check for Existing Plan
|
|
@@ -35,7 +21,7 @@ First, check if a resumable plan exists:
|
|
|
35
21
|
cat .agents-reverse-engineer/GENERATION-PLAN.md 2>/dev/null | head -20
|
|
36
22
|
\`\`\`
|
|
37
23
|
|
|
38
|
-
**If NO plan exists**: Run \`/are:discover\` first to create the GENERATION-PLAN.md, then return here.
|
|
24
|
+
**If NO plan exists**: Run \`/are:discover --plan\` first to create the GENERATION-PLAN.md, then return here.
|
|
39
25
|
|
|
40
26
|
**If plan exists**: Continue to **Resume Execution** below.
|
|
41
27
|
|
|
@@ -117,19 +103,12 @@ After all tasks complete:
|
|
|
117
103
|
- Report number of files analyzed
|
|
118
104
|
- Report number of directories documented
|
|
119
105
|
- Mark plan as complete (change header to show ✓ COMPLETE)
|
|
120
|
-
</execution
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
content: `---
|
|
127
|
-
name: are:update
|
|
128
|
-
description: Incrementally update documentation for changed files
|
|
129
|
-
argument-hint: "[--uncommitted] [--dry-run] [--verbose]"
|
|
130
|
-
---
|
|
131
|
-
|
|
132
|
-
Update documentation for files that changed since last run.
|
|
106
|
+
</execution>`,
|
|
107
|
+
},
|
|
108
|
+
update: {
|
|
109
|
+
description: 'Incrementally update documentation for changed files',
|
|
110
|
+
argumentHint: '[--uncommitted] [--dry-run] [--verbose]',
|
|
111
|
+
content: `Update documentation for files that changed since last run.
|
|
133
112
|
|
|
134
113
|
<execution>
|
|
135
114
|
Run the agents-reverse-engineer update command:
|
|
@@ -144,18 +123,12 @@ After completion, summarize:
|
|
|
144
123
|
- Any orphaned docs cleaned up
|
|
145
124
|
|
|
146
125
|
Use \`--uncommitted\` to include staged but uncommitted changes.
|
|
147
|
-
</execution
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
content: `---
|
|
154
|
-
name: are:init
|
|
155
|
-
description: Initialize agents-reverse-engineer configuration
|
|
156
|
-
---
|
|
157
|
-
|
|
158
|
-
Initialize agents-reverse-engineer configuration in this project.
|
|
126
|
+
</execution>`,
|
|
127
|
+
},
|
|
128
|
+
init: {
|
|
129
|
+
description: 'Initialize agents-reverse-engineer configuration',
|
|
130
|
+
argumentHint: '',
|
|
131
|
+
content: `Initialize agents-reverse-engineer configuration in this project.
|
|
159
132
|
|
|
160
133
|
<execution>
|
|
161
134
|
Run the agents-reverse-engineer init command:
|
|
@@ -171,48 +144,34 @@ To install commands and hooks, use the interactive installer:
|
|
|
171
144
|
\`\`\`bash
|
|
172
145
|
npx agents-reverse-engineer install
|
|
173
146
|
\`\`\`
|
|
174
|
-
</execution
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
content: `---
|
|
181
|
-
name: are:discover
|
|
182
|
-
description: Discover files to analyze (use --plan to create GENERATION-PLAN.md)
|
|
183
|
-
argument-hint: "[path] [--plan] [--show-excluded]"
|
|
184
|
-
---
|
|
185
|
-
|
|
186
|
-
Discover files that will be analyzed for documentation.
|
|
147
|
+
</execution>`,
|
|
148
|
+
},
|
|
149
|
+
discover: {
|
|
150
|
+
description: 'Discover files in codebase',
|
|
151
|
+
argumentHint: '[path] [--plan] [--show-excluded] [--quiet]',
|
|
152
|
+
content: `List files that would be analyzed for documentation.
|
|
187
153
|
|
|
188
154
|
<execution>
|
|
189
|
-
Run
|
|
155
|
+
**CRITICAL**: Run this command EXACTLY as shown. Do NOT add any flags unless the user explicitly provided them in $ARGUMENTS.
|
|
190
156
|
|
|
191
157
|
\`\`\`bash
|
|
192
158
|
npx agents-reverse-engineer@latest discover $ARGUMENTS
|
|
193
159
|
\`\`\`
|
|
194
160
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
Options (only use if user requests):
|
|
198
|
-
- \`--plan\` - Generate GENERATION-PLAN.md file
|
|
199
|
-
- \`--show-excluded\` - Show excluded files with reasons
|
|
200
|
-
- \`--quiet\` - Only show the summary count
|
|
201
|
-
|
|
202
|
-
After completion, summarize what was done based on the flags actually used.
|
|
203
|
-
</execution>
|
|
204
|
-
`,
|
|
205
|
-
},
|
|
206
|
-
{
|
|
207
|
-
filename: 'clean.md',
|
|
208
|
-
path: '.claude/commands/are/clean.md',
|
|
209
|
-
content: `---
|
|
210
|
-
name: are:clean
|
|
211
|
-
description: Delete all generated documentation artifacts (.sum, AGENTS.md, plan)
|
|
212
|
-
argument-hint: "[--dry-run]"
|
|
213
|
-
---
|
|
161
|
+
If $ARGUMENTS is empty, run: \`npx agents-reverse-engineer@latest discover\` (with NO additional flags)
|
|
214
162
|
|
|
215
|
-
|
|
163
|
+
Available flags (ONLY use if user requested):
|
|
164
|
+
- \`--plan\` - Generate GENERATION-PLAN.md
|
|
165
|
+
- \`--show-excluded\` - Show excluded files
|
|
166
|
+
- \`--quiet\` - Summary only
|
|
167
|
+
|
|
168
|
+
After completion: Report number of files found.
|
|
169
|
+
</execution>`,
|
|
170
|
+
},
|
|
171
|
+
clean: {
|
|
172
|
+
description: 'Delete all generated documentation artifacts (.sum, AGENTS.md, plan)',
|
|
173
|
+
argumentHint: '[--dry-run]',
|
|
174
|
+
content: `Remove all documentation artifacts generated by agents-reverse-engineer.
|
|
216
175
|
|
|
217
176
|
<execution>
|
|
218
177
|
## What Gets Deleted
|
|
@@ -254,19 +213,14 @@ Report:
|
|
|
254
213
|
- Root documents deleted
|
|
255
214
|
- Plan file deleted
|
|
256
215
|
|
|
257
|
-
Suggest running \`/are:discover\` to start fresh.
|
|
258
|
-
</execution
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
name: are:help
|
|
266
|
-
description: Show available ARE commands and usage guide
|
|
267
|
-
---
|
|
268
|
-
|
|
269
|
-
Show help for agents-reverse-engineer commands.
|
|
216
|
+
Suggest running \`/are:discover --plan\` to start fresh.
|
|
217
|
+
</execution>`,
|
|
218
|
+
},
|
|
219
|
+
help: {
|
|
220
|
+
description: 'Show available ARE commands and usage guide',
|
|
221
|
+
argumentHint: '',
|
|
222
|
+
// Content uses COMMAND_PREFIX placeholder, replaced per platform
|
|
223
|
+
content: `Show help for agents-reverse-engineer commands.
|
|
270
224
|
|
|
271
225
|
<execution>
|
|
272
226
|
Display the following help information:
|
|
@@ -275,19 +229,19 @@ Display the following help information:
|
|
|
275
229
|
|
|
276
230
|
| Command | Description |
|
|
277
231
|
|---------|-------------|
|
|
278
|
-
|
|
|
279
|
-
|
|
|
280
|
-
|
|
|
281
|
-
|
|
|
282
|
-
|
|
|
283
|
-
|
|
|
232
|
+
| \`COMMAND_PREFIXhelp\` | Show this help message |
|
|
233
|
+
| \`COMMAND_PREFIXinit\` | Initialize configuration file |
|
|
234
|
+
| \`COMMAND_PREFIXdiscover\` | Discover files (use --plan for GENERATION-PLAN.md) |
|
|
235
|
+
| \`COMMAND_PREFIXgenerate\` | Generate documentation from the plan |
|
|
236
|
+
| \`COMMAND_PREFIXupdate\` | Update docs for changed files only |
|
|
237
|
+
| \`COMMAND_PREFIXclean\` | Remove all generated documentation |
|
|
284
238
|
|
|
285
239
|
## Typical Workflow
|
|
286
240
|
|
|
287
|
-
1.
|
|
288
|
-
2.
|
|
289
|
-
3.
|
|
290
|
-
4.
|
|
241
|
+
1. **\`COMMAND_PREFIXinit\`** — Create \`.agents-reverse-engineer/config.yaml\`
|
|
242
|
+
2. **\`COMMAND_PREFIXdiscover --plan\`** — Scan codebase, create \`GENERATION-PLAN.md\`
|
|
243
|
+
3. **\`COMMAND_PREFIXgenerate\`** — Execute plan, generate \`.sum\` and \`AGENTS.md\` files
|
|
244
|
+
4. **\`COMMAND_PREFIXupdate\`** — After code changes, update only what changed
|
|
291
245
|
|
|
292
246
|
## Generated Files
|
|
293
247
|
|
|
@@ -301,287 +255,85 @@ Display the following help information:
|
|
|
301
255
|
|
|
302
256
|
- Docs: https://github.com/GeoloeG-IsT/agents-reverse-engineer
|
|
303
257
|
- Update: \`npx agents-reverse-engineer@latest\`
|
|
304
|
-
</execution
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
258
|
+
</execution>`,
|
|
259
|
+
},
|
|
260
|
+
};
|
|
261
|
+
const PLATFORM_CONFIGS = {
|
|
262
|
+
claude: {
|
|
263
|
+
commandPrefix: '/are:',
|
|
264
|
+
pathPrefix: '.claude/commands/are/',
|
|
265
|
+
filenameSeparator: '.',
|
|
266
|
+
usesName: true,
|
|
267
|
+
},
|
|
268
|
+
opencode: {
|
|
269
|
+
commandPrefix: '/are-',
|
|
270
|
+
pathPrefix: '.opencode/commands/',
|
|
271
|
+
filenameSeparator: '-',
|
|
272
|
+
extraFrontmatter: 'agent: build',
|
|
273
|
+
usesName: false,
|
|
274
|
+
},
|
|
275
|
+
gemini: {
|
|
276
|
+
commandPrefix: '/are-',
|
|
277
|
+
pathPrefix: '.gemini/commands/',
|
|
278
|
+
filenameSeparator: '-',
|
|
279
|
+
usesName: false,
|
|
280
|
+
},
|
|
281
|
+
};
|
|
282
|
+
function buildFrontmatter(platform, commandName, description, argumentHint) {
|
|
283
|
+
const config = PLATFORM_CONFIGS[platform];
|
|
284
|
+
const lines = ['---'];
|
|
285
|
+
if (config.usesName) {
|
|
286
|
+
lines.push(`name: are:${commandName}`);
|
|
287
|
+
}
|
|
288
|
+
lines.push(`description: ${description}`);
|
|
289
|
+
if (argumentHint) {
|
|
290
|
+
lines.push(`argument-hint: "${argumentHint}"`);
|
|
291
|
+
}
|
|
292
|
+
if (config.extraFrontmatter) {
|
|
293
|
+
lines.push(config.extraFrontmatter);
|
|
294
|
+
}
|
|
295
|
+
lines.push('---');
|
|
296
|
+
return lines.join('\n');
|
|
297
|
+
}
|
|
298
|
+
function buildTemplate(platform, commandName, command) {
|
|
299
|
+
const config = PLATFORM_CONFIGS[platform];
|
|
300
|
+
const filename = platform === 'claude' ? `${commandName}.md` : `are-${commandName}.md`;
|
|
301
|
+
const path = `${config.pathPrefix}${filename}`;
|
|
302
|
+
const frontmatter = buildFrontmatter(platform, commandName, command.description, command.argumentHint || undefined);
|
|
303
|
+
// Replace command prefix placeholder in help content
|
|
304
|
+
const content = command.content.replace(/COMMAND_PREFIX/g, config.commandPrefix);
|
|
305
|
+
return {
|
|
306
|
+
filename,
|
|
307
|
+
path,
|
|
308
|
+
content: `${frontmatter}\n\n${content}\n`,
|
|
309
|
+
};
|
|
310
|
+
}
|
|
311
|
+
function getTemplatesForPlatform(platform) {
|
|
312
|
+
return Object.entries(COMMANDS).map(([name, command]) => buildTemplate(platform, name, command));
|
|
313
|
+
}
|
|
314
|
+
// =============================================================================
|
|
315
|
+
// Public API
|
|
316
|
+
// =============================================================================
|
|
317
|
+
/**
|
|
318
|
+
* Get Claude Code command file templates
|
|
319
|
+
*/
|
|
320
|
+
export function getClaudeTemplates() {
|
|
321
|
+
return getTemplatesForPlatform('claude');
|
|
308
322
|
}
|
|
309
323
|
/**
|
|
310
324
|
* Get OpenCode command file templates
|
|
311
|
-
*
|
|
312
|
-
* Returns templates for:
|
|
313
|
-
* - are-generate.md: Full documentation generation command
|
|
314
|
-
* - are-update.md: Incremental documentation update command
|
|
315
|
-
*
|
|
316
|
-
* @returns Array of OpenCode command templates
|
|
317
325
|
*/
|
|
318
326
|
export function getOpenCodeTemplates() {
|
|
319
|
-
return
|
|
320
|
-
{
|
|
321
|
-
filename: 'are-generate.md',
|
|
322
|
-
path: '.opencode/commands/are-generate.md',
|
|
323
|
-
content: `---
|
|
324
|
-
description: Generate AI-friendly documentation for the entire codebase
|
|
325
|
-
agent: build
|
|
326
|
-
---
|
|
327
|
-
|
|
328
|
-
Generate comprehensive documentation for this codebase using agents-reverse-engineer.
|
|
329
|
-
|
|
330
|
-
Run: \`npx agents-reverse-engineer@latest generate $ARGUMENTS\`
|
|
331
|
-
|
|
332
|
-
Arguments supported:
|
|
333
|
-
- \`--budget N\` - Override token budget
|
|
334
|
-
- \`--dry-run\` - Show plan without writing files
|
|
335
|
-
- \`--verbose\` - Show detailed output
|
|
336
|
-
`,
|
|
337
|
-
},
|
|
338
|
-
{
|
|
339
|
-
filename: 'are-update.md',
|
|
340
|
-
path: '.opencode/commands/are-update.md',
|
|
341
|
-
content: `---
|
|
342
|
-
description: Incrementally update documentation for changed files
|
|
343
|
-
agent: build
|
|
344
|
-
---
|
|
345
|
-
|
|
346
|
-
Update documentation for files that changed since last run.
|
|
347
|
-
|
|
348
|
-
Run: \`npx agents-reverse-engineer@latest update $ARGUMENTS\`
|
|
349
|
-
|
|
350
|
-
Arguments supported:
|
|
351
|
-
- \`--uncommitted\` - Include staged but uncommitted changes
|
|
352
|
-
- \`--dry-run\` - Show plan without writing files
|
|
353
|
-
- \`--verbose\` - Show detailed output
|
|
354
|
-
`,
|
|
355
|
-
},
|
|
356
|
-
{
|
|
357
|
-
filename: 'are-discover.md',
|
|
358
|
-
path: '.opencode/commands/are-discover.md',
|
|
359
|
-
content: `---
|
|
360
|
-
description: Discover files to analyze (use --plan to create GENERATION-PLAN.md)
|
|
361
|
-
agent: build
|
|
362
|
-
---
|
|
363
|
-
|
|
364
|
-
Discover files that will be analyzed for documentation.
|
|
365
|
-
|
|
366
|
-
Run: \`npx agents-reverse-engineer@latest discover $ARGUMENTS\`
|
|
367
|
-
|
|
368
|
-
**IMPORTANT**: Pass $ARGUMENTS exactly as provided. Do NOT add flags the user did not request.
|
|
369
|
-
|
|
370
|
-
Options (only use if user requests):
|
|
371
|
-
- \`--plan\` - Generate GENERATION-PLAN.md file
|
|
372
|
-
- \`--show-excluded\` - Show excluded files with reasons
|
|
373
|
-
- \`--quiet\` - Only show the summary count
|
|
374
|
-
`,
|
|
375
|
-
},
|
|
376
|
-
{
|
|
377
|
-
filename: 'are-clean.md',
|
|
378
|
-
path: '.opencode/commands/are-clean.md',
|
|
379
|
-
content: `---
|
|
380
|
-
description: Delete all generated documentation artifacts (.sum, AGENTS.md, plan)
|
|
381
|
-
agent: build
|
|
382
|
-
---
|
|
383
|
-
|
|
384
|
-
Remove all documentation artifacts generated by agents-reverse-engineer.
|
|
385
|
-
|
|
386
|
-
Run: \`npx agents-reverse-engineer@latest clean $ARGUMENTS\`
|
|
387
|
-
|
|
388
|
-
Arguments supported:
|
|
389
|
-
- \`--dry-run\` - Preview what would be deleted without deleting
|
|
390
|
-
`,
|
|
391
|
-
},
|
|
392
|
-
{
|
|
393
|
-
filename: 'are-init.md',
|
|
394
|
-
path: '.opencode/commands/are-init.md',
|
|
395
|
-
content: `---
|
|
396
|
-
description: Initialize agents-reverse-engineer configuration
|
|
397
|
-
agent: build
|
|
398
|
-
---
|
|
399
|
-
|
|
400
|
-
Initialize agents-reverse-engineer configuration in this project.
|
|
401
|
-
|
|
402
|
-
Run: \`npx agents-reverse-engineer@latest init\`
|
|
403
|
-
|
|
404
|
-
This creates \`.agents-reverse-engineer.yaml\` configuration file.
|
|
405
|
-
|
|
406
|
-
To install commands and hooks, use the interactive installer:
|
|
407
|
-
\`npx agents-reverse-engineer install\`
|
|
408
|
-
`,
|
|
409
|
-
},
|
|
410
|
-
{
|
|
411
|
-
filename: 'are-help.md',
|
|
412
|
-
path: '.opencode/commands/are-help.md',
|
|
413
|
-
content: `---
|
|
414
|
-
description: Show available ARE commands and usage guide
|
|
415
|
-
agent: build
|
|
416
|
-
---
|
|
417
|
-
|
|
418
|
-
## agents-reverse-engineer (ARE) Commands
|
|
419
|
-
|
|
420
|
-
| Command | Description |
|
|
421
|
-
|---------|-------------|
|
|
422
|
-
| \`/are-help\` | Show this help message |
|
|
423
|
-
| \`/are-init\` | Initialize configuration file |
|
|
424
|
-
| \`/are-discover\` | Discover files and create GENERATION-PLAN.md |
|
|
425
|
-
| \`/are-generate\` | Generate documentation from the plan |
|
|
426
|
-
| \`/are-update\` | Update docs for changed files only |
|
|
427
|
-
| \`/are-clean\` | Remove all generated documentation |
|
|
428
|
-
|
|
429
|
-
## Typical Workflow
|
|
430
|
-
|
|
431
|
-
1. **\`/are-init\`** — Create \`.agents-reverse-engineer/config.yaml\`
|
|
432
|
-
2. **\`/are-discover\`** — Scan codebase, create \`GENERATION-PLAN.md\`
|
|
433
|
-
3. **\`/are-generate\`** — Execute plan, generate \`.sum\` and \`AGENTS.md\` files
|
|
434
|
-
4. **\`/are-update\`** — After code changes, update only what changed
|
|
435
|
-
|
|
436
|
-
## More Info
|
|
437
|
-
|
|
438
|
-
Docs: https://github.com/GeoloeG-IsT/agents-reverse-engineer
|
|
439
|
-
`,
|
|
440
|
-
},
|
|
441
|
-
];
|
|
327
|
+
return getTemplatesForPlatform('opencode');
|
|
442
328
|
}
|
|
443
329
|
/**
|
|
444
330
|
* Get Gemini CLI command file templates
|
|
445
|
-
*
|
|
446
|
-
* Returns templates for:
|
|
447
|
-
* - are-generate.md: Full documentation generation command
|
|
448
|
-
* - are-update.md: Incremental documentation update command
|
|
449
|
-
* - are-discover.md: Discover files and create execution plan
|
|
450
|
-
* - are-clean.md: Delete generated documentation artifacts
|
|
451
|
-
*
|
|
452
|
-
* @returns Array of Gemini CLI command templates
|
|
453
331
|
*/
|
|
454
332
|
export function getGeminiTemplates() {
|
|
455
|
-
return
|
|
456
|
-
{
|
|
457
|
-
filename: 'are-generate.md',
|
|
458
|
-
path: '.gemini/commands/are-generate.md',
|
|
459
|
-
content: `---
|
|
460
|
-
description: Generate AI-friendly documentation for the entire codebase
|
|
461
|
-
---
|
|
462
|
-
|
|
463
|
-
Generate comprehensive documentation for this codebase using agents-reverse-engineer.
|
|
464
|
-
|
|
465
|
-
Run: \`npx agents-reverse-engineer@latest generate $ARGUMENTS\`
|
|
466
|
-
|
|
467
|
-
Arguments supported:
|
|
468
|
-
- \`--budget N\` - Override token budget
|
|
469
|
-
- \`--dry-run\` - Show plan without writing files
|
|
470
|
-
- \`--verbose\` - Show detailed output
|
|
471
|
-
`,
|
|
472
|
-
},
|
|
473
|
-
{
|
|
474
|
-
filename: 'are-update.md',
|
|
475
|
-
path: '.gemini/commands/are-update.md',
|
|
476
|
-
content: `---
|
|
477
|
-
description: Incrementally update documentation for changed files
|
|
478
|
-
---
|
|
479
|
-
|
|
480
|
-
Update documentation for files that changed since last run.
|
|
481
|
-
|
|
482
|
-
Run: \`npx agents-reverse-engineer@latest update $ARGUMENTS\`
|
|
483
|
-
|
|
484
|
-
Arguments supported:
|
|
485
|
-
- \`--uncommitted\` - Include staged but uncommitted changes
|
|
486
|
-
- \`--dry-run\` - Show plan without writing files
|
|
487
|
-
- \`--verbose\` - Show detailed output
|
|
488
|
-
`,
|
|
489
|
-
},
|
|
490
|
-
{
|
|
491
|
-
filename: 'are-discover.md',
|
|
492
|
-
path: '.gemini/commands/are-discover.md',
|
|
493
|
-
content: `---
|
|
494
|
-
description: Discover files to analyze (use --plan to create GENERATION-PLAN.md)
|
|
495
|
-
---
|
|
496
|
-
|
|
497
|
-
Discover files that will be analyzed for documentation.
|
|
498
|
-
|
|
499
|
-
Run: \`npx agents-reverse-engineer@latest discover $ARGUMENTS\`
|
|
500
|
-
|
|
501
|
-
**IMPORTANT**: Pass $ARGUMENTS exactly as provided. Do NOT add flags the user did not request.
|
|
502
|
-
|
|
503
|
-
Options (only use if user requests):
|
|
504
|
-
- \`--plan\` - Generate GENERATION-PLAN.md file
|
|
505
|
-
- \`--show-excluded\` - Show excluded files with reasons
|
|
506
|
-
- \`--quiet\` - Only show the summary count
|
|
507
|
-
`,
|
|
508
|
-
},
|
|
509
|
-
{
|
|
510
|
-
filename: 'are-clean.md',
|
|
511
|
-
path: '.gemini/commands/are-clean.md',
|
|
512
|
-
content: `---
|
|
513
|
-
description: Delete all generated documentation artifacts (.sum, AGENTS.md, plan)
|
|
514
|
-
---
|
|
515
|
-
|
|
516
|
-
Remove all documentation artifacts generated by agents-reverse-engineer.
|
|
517
|
-
|
|
518
|
-
Run: \`npx agents-reverse-engineer@latest clean $ARGUMENTS\`
|
|
519
|
-
|
|
520
|
-
Arguments supported:
|
|
521
|
-
- \`--dry-run\` - Preview what would be deleted without deleting
|
|
522
|
-
`,
|
|
523
|
-
},
|
|
524
|
-
{
|
|
525
|
-
filename: 'are-init.md',
|
|
526
|
-
path: '.gemini/commands/are-init.md',
|
|
527
|
-
content: `---
|
|
528
|
-
description: Initialize agents-reverse-engineer configuration
|
|
529
|
-
---
|
|
530
|
-
|
|
531
|
-
Initialize agents-reverse-engineer configuration in this project.
|
|
532
|
-
|
|
533
|
-
Run: \`npx agents-reverse-engineer@latest init\`
|
|
534
|
-
|
|
535
|
-
This creates \`.agents-reverse-engineer.yaml\` configuration file.
|
|
536
|
-
|
|
537
|
-
To install commands and hooks, use the interactive installer:
|
|
538
|
-
\`npx agents-reverse-engineer install\`
|
|
539
|
-
`,
|
|
540
|
-
},
|
|
541
|
-
{
|
|
542
|
-
filename: 'are-help.md',
|
|
543
|
-
path: '.gemini/commands/are-help.md',
|
|
544
|
-
content: `---
|
|
545
|
-
description: Show available ARE commands and usage guide
|
|
546
|
-
---
|
|
547
|
-
|
|
548
|
-
## agents-reverse-engineer (ARE) Commands
|
|
549
|
-
|
|
550
|
-
| Command | Description |
|
|
551
|
-
|---------|-------------|
|
|
552
|
-
| \`/are-help\` | Show this help message |
|
|
553
|
-
| \`/are-init\` | Initialize configuration file |
|
|
554
|
-
| \`/are-discover\` | Discover files and create GENERATION-PLAN.md |
|
|
555
|
-
| \`/are-generate\` | Generate documentation from the plan |
|
|
556
|
-
| \`/are-update\` | Update docs for changed files only |
|
|
557
|
-
| \`/are-clean\` | Remove all generated documentation |
|
|
558
|
-
|
|
559
|
-
## Typical Workflow
|
|
560
|
-
|
|
561
|
-
1. **\`/are-init\`** — Create \`.agents-reverse-engineer/config.yaml\`
|
|
562
|
-
2. **\`/are-discover\`** — Scan codebase, create \`GENERATION-PLAN.md\`
|
|
563
|
-
3. **\`/are-generate\`** — Execute plan, generate \`.sum\` and \`AGENTS.md\` files
|
|
564
|
-
4. **\`/are-update\`** — After code changes, update only what changed
|
|
565
|
-
|
|
566
|
-
## More Info
|
|
567
|
-
|
|
568
|
-
Docs: https://github.com/GeoloeG-IsT/agents-reverse-engineer
|
|
569
|
-
`,
|
|
570
|
-
},
|
|
571
|
-
];
|
|
333
|
+
return getTemplatesForPlatform('gemini');
|
|
572
334
|
}
|
|
573
335
|
/**
|
|
574
336
|
* Get session-end hook template for automatic documentation updates
|
|
575
|
-
*
|
|
576
|
-
* The hook:
|
|
577
|
-
* - Checks ARE_DISABLE_HOOK env var for temporary disable
|
|
578
|
-
* - Checks config file for permanent disable (hook_enabled: false)
|
|
579
|
-
* - Checks git status and exits silently if no changes
|
|
580
|
-
* - Spawns are update --quiet in background (detached, unref'd)
|
|
581
|
-
*
|
|
582
|
-
* Uses CommonJS (require) since hooks run via node directly.
|
|
583
|
-
*
|
|
584
|
-
* @returns JavaScript hook code as a string
|
|
585
337
|
*/
|
|
586
338
|
export function getHookTemplate() {
|
|
587
339
|
return `#!/usr/bin/env node
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/integration/templates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/integration/templates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAEhF,MAAM,QAAQ,GAAG;IACf,QAAQ,EAAE;QACR,WAAW,EAAE,4DAA4D;QACzE,YAAY,EAAE,0BAA0B;QACxC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA6FA;KACV;IAED,MAAM,EAAE;QACN,WAAW,EAAE,sDAAsD;QACnE,YAAY,EAAE,yCAAyC;QACvD,OAAO,EAAE;;;;;;;;;;;;;;;aAeA;KACV;IAED,IAAI,EAAE;QACJ,WAAW,EAAE,kDAAkD;QAC/D,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE;;;;;;;;;;;;;;;;aAgBA;KACV;IAED,QAAQ,EAAE;QACR,WAAW,EAAE,4BAA4B;QACzC,YAAY,EAAE,6CAA6C;QAC3D,OAAO,EAAE;;;;;;;;;;;;;;;;;aAiBA;KACV;IAED,KAAK,EAAE;QACL,WAAW,EAAE,sEAAsE;QACnF,YAAY,EAAE,aAAa;QAC3B,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA2CA;KACV;IAED,IAAI,EAAE;QACJ,WAAW,EAAE,6CAA6C;QAC1D,YAAY,EAAE,EAAE;QAChB,iEAAiE;QACjE,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAmCA;KACV;CACO,CAAC;AAgBX,MAAM,gBAAgB,GAAqC;IACzD,MAAM,EAAE;QACN,aAAa,EAAE,OAAO;QACtB,UAAU,EAAE,uBAAuB;QACnC,iBAAiB,EAAE,GAAG;QACtB,QAAQ,EAAE,IAAI;KACf;IACD,QAAQ,EAAE;QACR,aAAa,EAAE,OAAO;QACtB,UAAU,EAAE,qBAAqB;QACjC,iBAAiB,EAAE,GAAG;QACtB,gBAAgB,EAAE,cAAc;QAChC,QAAQ,EAAE,KAAK;KAChB;IACD,MAAM,EAAE;QACN,aAAa,EAAE,OAAO;QACtB,UAAU,EAAE,mBAAmB;QAC/B,iBAAiB,EAAE,GAAG;QACtB,QAAQ,EAAE,KAAK;KAChB;CACF,CAAC;AAEF,SAAS,gBAAgB,CACvB,QAAkB,EAClB,WAAmB,EACnB,WAAmB,EACnB,YAAqB;IAErB,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;IAEtB,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,aAAa,WAAW,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,gBAAgB,WAAW,EAAE,CAAC,CAAC;IAE1C,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,mBAAmB,YAAY,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,aAAa,CACpB,QAAkB,EAClB,WAAmB,EACnB,OAAiD;IAEjD,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,QAAQ,GACZ,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,WAAW,KAAK,CAAC,CAAC,CAAC,OAAO,WAAW,KAAK,CAAC;IACxE,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,UAAU,GAAG,QAAQ,EAAE,CAAC;IAE/C,MAAM,WAAW,GAAG,gBAAgB,CAClC,QAAQ,EACR,WAAW,EACX,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,YAAY,IAAI,SAAS,CAClC,CAAC;IAEF,qDAAqD;IACrD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IAEjF,OAAO;QACL,QAAQ;QACR,IAAI;QACJ,OAAO,EAAE,GAAG,WAAW,OAAO,OAAO,IAAI;KAC1C,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAkB;IACjD,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CACtD,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CACvC,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,uBAAuB,CAAC,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,uBAAuB,CAAC,UAAU,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,uBAAuB,CAAC,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCR,CAAC;AACF,CAAC"}
|