agents-reverse-engineer 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -30
- package/dist/cli/index.js +52 -7
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.d.ts +0 -5
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +10 -37
- package/dist/cli/init.js.map +1 -1
- package/dist/installer/banner.d.ts +52 -0
- package/dist/installer/banner.d.ts.map +1 -0
- package/dist/installer/banner.js +112 -0
- package/dist/installer/banner.js.map +1 -0
- package/dist/installer/index.d.ts +32 -0
- package/dist/installer/index.d.ts.map +1 -0
- package/dist/installer/index.js +288 -0
- package/dist/installer/index.js.map +1 -0
- package/dist/installer/operations.d.ts +73 -0
- package/dist/installer/operations.d.ts.map +1 -0
- package/dist/installer/operations.js +335 -0
- package/dist/installer/operations.js.map +1 -0
- package/dist/installer/paths.d.ts +50 -0
- package/dist/installer/paths.d.ts.map +1 -0
- package/dist/installer/paths.js +95 -0
- package/dist/installer/paths.js.map +1 -0
- package/dist/installer/prompts.d.ts +51 -0
- package/dist/installer/prompts.d.ts.map +1 -0
- package/dist/installer/prompts.js +196 -0
- package/dist/installer/prompts.js.map +1 -0
- package/dist/installer/types.d.ts +78 -0
- package/dist/installer/types.d.ts.map +1 -0
- package/dist/installer/types.js +8 -0
- package/dist/installer/types.js.map +1 -0
- package/dist/installer/uninstall.d.ts +32 -0
- package/dist/installer/uninstall.d.ts.map +1 -0
- package/dist/installer/uninstall.js +283 -0
- package/dist/installer/uninstall.js.map +1 -0
- package/dist/integration/generate.d.ts +3 -1
- package/dist/integration/generate.d.ts.map +1 -1
- package/dist/integration/generate.js +20 -4
- package/dist/integration/generate.js.map +1 -1
- package/dist/integration/templates.d.ts +12 -0
- package/dist/integration/templates.d.ts.map +1 -1
- package/dist/integration/templates.js +335 -16
- package/dist/integration/templates.js.map +1 -1
- package/dist/integration/types.d.ts +1 -1
- package/dist/integration/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
-
# AGENTS REVERSE ENGINEER
|
|
3
|
+
# AGENTS REVERSE ENGINEER (ARE)
|
|
4
4
|
|
|
5
5
|
**Reverse engineer your codebase into AI-friendly documentation.**
|
|
6
6
|
|
|
@@ -12,9 +12,11 @@
|
|
|
12
12
|
<br>
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
|
-
npx agents-reverse-engineer
|
|
15
|
+
npx agents-reverse-engineer
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
+
**Interactive installer with runtime and location selection.**
|
|
19
|
+
|
|
18
20
|
**Works on Mac, Windows, and Linux.**
|
|
19
21
|
|
|
20
22
|
<br>
|
|
@@ -40,7 +42,8 @@ AI coding assistants are powerful, but they don't know your codebase. Every sess
|
|
|
40
42
|
- **`.sum` files** — Per-file summaries with purpose, exports, dependencies
|
|
41
43
|
- **`AGENTS.md`** — Per-directory overviews with file organization (standard format)
|
|
42
44
|
- **`CLAUDE.md`** — Project entry point for Claude Code
|
|
43
|
-
- **`
|
|
45
|
+
- **`ARCHITECTURE.md`** — System design overview for complex projects
|
|
46
|
+
- **`STACK.md`** — Technology stack from package.json
|
|
44
47
|
|
|
45
48
|
The result: Your AI assistant understands your codebase from the first message.
|
|
46
49
|
|
|
@@ -55,21 +58,42 @@ Developers using AI coding assistants (Claude Code, OpenCode, Gemini CLI, or any
|
|
|
55
58
|
## Getting Started
|
|
56
59
|
|
|
57
60
|
```bash
|
|
58
|
-
npx agents-reverse-engineer
|
|
61
|
+
npx agents-reverse-engineer
|
|
59
62
|
```
|
|
60
63
|
|
|
64
|
+
The interactive installer prompts you to:
|
|
65
|
+
|
|
66
|
+
1. **Select runtime** — Claude Code, OpenCode, Gemini CLI, or all
|
|
67
|
+
2. **Select location** — Global (`~/.claude/`) or local (`./.claude/`)
|
|
68
|
+
|
|
61
69
|
This creates:
|
|
62
70
|
|
|
63
|
-
|
|
64
|
-
|
|
71
|
+
- **Config** — `.agents-reverse-engineer/config.yaml`
|
|
72
|
+
- **Commands** — `/are:generate`, `/are:update`, etc.
|
|
73
|
+
- **Session hook** — Auto-updates docs when session ends (Claude/Gemini)
|
|
65
74
|
|
|
66
|
-
|
|
75
|
+
### Non-Interactive Installation
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
# Install for Claude Code globally
|
|
79
|
+
npx are install --runtime claude --global
|
|
80
|
+
|
|
81
|
+
# Install for all runtimes locally
|
|
82
|
+
npx are install --runtime all --local
|
|
83
|
+
|
|
84
|
+
# Short flags
|
|
85
|
+
npx are install -r claude -g
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### After Installation
|
|
89
|
+
|
|
90
|
+
Discover your files and create the plan:
|
|
67
91
|
|
|
68
92
|
```bash
|
|
69
93
|
npx are discover --plan
|
|
70
94
|
```
|
|
71
95
|
|
|
72
|
-
|
|
96
|
+
Then in your AI assistant:
|
|
73
97
|
|
|
74
98
|
```
|
|
75
99
|
/are:generate
|
|
@@ -77,25 +101,33 @@ Finally, in your AI assistant:
|
|
|
77
101
|
|
|
78
102
|
The assistant reads the plan and generates all documentation.
|
|
79
103
|
|
|
80
|
-
|
|
104
|
+
### Uninstall
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
npx are uninstall
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Removes all installed files and hooks.
|
|
81
111
|
|
|
82
112
|
### Staying Updated
|
|
83
113
|
|
|
84
114
|
```bash
|
|
85
|
-
npx agents-reverse-engineer@latest
|
|
115
|
+
npx agents-reverse-engineer@latest
|
|
86
116
|
```
|
|
87
117
|
|
|
88
118
|
---
|
|
89
119
|
|
|
90
120
|
## How It Works
|
|
91
121
|
|
|
92
|
-
### 1.
|
|
122
|
+
### 1. Install
|
|
93
123
|
|
|
94
124
|
```bash
|
|
95
|
-
|
|
125
|
+
npx agents-reverse-engineer
|
|
96
126
|
```
|
|
97
127
|
|
|
98
|
-
|
|
128
|
+
Interactive installer creates configuration and commands for your chosen runtime(s).
|
|
129
|
+
|
|
130
|
+
**Runtimes:** Claude Code, OpenCode, Gemini CLI (or all at once)
|
|
99
131
|
|
|
100
132
|
---
|
|
101
133
|
|
|
@@ -137,25 +169,32 @@ Only regenerates documentation for files that changed since last run.
|
|
|
137
169
|
|
|
138
170
|
## Commands
|
|
139
171
|
|
|
140
|
-
| Command
|
|
141
|
-
|
|
|
142
|
-
| `are
|
|
143
|
-
| `are
|
|
144
|
-
| `are
|
|
145
|
-
| `are
|
|
146
|
-
| `are
|
|
172
|
+
| Command | Description |
|
|
173
|
+
| --------------------------------- | ------------------------------------ |
|
|
174
|
+
| `are` | Interactive installer (default) |
|
|
175
|
+
| `are install` | Install with prompts |
|
|
176
|
+
| `are install -r <runtime> -g` | Install to runtime globally |
|
|
177
|
+
| `are install -r <runtime> -l` | Install to runtime locally |
|
|
178
|
+
| `are uninstall` | Remove all installed files/hooks |
|
|
179
|
+
| `are init` | Create configuration file |
|
|
180
|
+
| `are discover` | List files that will be analyzed |
|
|
181
|
+
| `are discover --plan` | Create GENERATION-PLAN.md |
|
|
182
|
+
| `are discover --show-excluded` | Show excluded files with reasons |
|
|
183
|
+
| `are generate` | Generate all documentation |
|
|
184
|
+
| `are update` | Update changed files only |
|
|
185
|
+
| `are clean` | Remove all generated docs |
|
|
186
|
+
|
|
187
|
+
**Runtimes:** `claude`, `opencode`, `gemini`, `all`
|
|
147
188
|
|
|
148
189
|
### AI Assistant Commands
|
|
149
190
|
|
|
150
|
-
| Command | Description | Supported Runtimes
|
|
151
|
-
| --------------- | ------------------------------ |
|
|
152
|
-
| `/are:init` | Initialize config and commands | Claude
|
|
153
|
-
| `/are:
|
|
154
|
-
| `/are:
|
|
155
|
-
| `/are:
|
|
156
|
-
| `/are:clean` | Remove all generated docs | Claude
|
|
157
|
-
|
|
158
|
-
> OpenCode and Gemini CLI command support coming soon.
|
|
191
|
+
| Command | Description | Supported Runtimes |
|
|
192
|
+
| --------------- | ------------------------------ | ------------------------- |
|
|
193
|
+
| `/are:init` | Initialize config and commands | Claude, OpenCode, Gemini |
|
|
194
|
+
| `/are:discover` | Rediscover and regenerate plan | Claude, OpenCode, Gemini |
|
|
195
|
+
| `/are:generate` | Generate all documentation | Claude, OpenCode, Gemini |
|
|
196
|
+
| `/are:update` | Update changed files only | Claude, OpenCode, Gemini |
|
|
197
|
+
| `/are:clean` | Remove all generated docs | Claude, OpenCode, Gemini |
|
|
159
198
|
|
|
160
199
|
---
|
|
161
200
|
|
|
@@ -227,7 +266,8 @@ options:
|
|
|
227
266
|
|
|
228
267
|
- **Node.js 18+**
|
|
229
268
|
- **AI Coding Assistant** — One of:
|
|
230
|
-
- [Claude Code](https://claude.ai/claude-code) (full support)
|
|
269
|
+
- [Claude Code](https://claude.ai/claude-code) (full support + session hooks)
|
|
270
|
+
- [Gemini CLI](https://github.com/google-gemini/gemini-cli) (full support + session hooks)
|
|
231
271
|
- [OpenCode](https://github.com/opencode-ai/opencode) (AGENTS.md supported)
|
|
232
272
|
- Any assistant supporting `AGENTS.md` format
|
|
233
273
|
|
package/dist/cli/index.js
CHANGED
|
@@ -12,16 +12,25 @@ import { initCommand } from './init.js';
|
|
|
12
12
|
import { discoverCommand } from './discover.js';
|
|
13
13
|
import { generateCommand } from './generate.js';
|
|
14
14
|
import { updateCommand } from './update.js';
|
|
15
|
+
import { runInstaller, parseInstallerArgs } from '../installer/index.js';
|
|
15
16
|
const USAGE = `
|
|
16
17
|
agents-reverse-engineer - AI-friendly codebase documentation
|
|
17
18
|
|
|
18
19
|
Commands:
|
|
20
|
+
install Install commands and hooks to AI assistant
|
|
19
21
|
init Create default configuration
|
|
20
22
|
discover [path] Discover files to analyze (default: current directory)
|
|
21
23
|
generate [path] Generate documentation plan (default: current directory)
|
|
22
24
|
update [path] Update docs incrementally (default: current directory)
|
|
23
25
|
|
|
24
|
-
Options:
|
|
26
|
+
Install Options:
|
|
27
|
+
--runtime <name> Runtime to install (claude, opencode, gemini, all)
|
|
28
|
+
-g, --global Install to global config directory
|
|
29
|
+
-l, --local Install to current project directory
|
|
30
|
+
-u, --uninstall Remove installed files
|
|
31
|
+
--force Overwrite existing files
|
|
32
|
+
|
|
33
|
+
General Options:
|
|
25
34
|
--quiet, -q Suppress output except errors
|
|
26
35
|
--verbose, -v Show detailed output
|
|
27
36
|
--show-excluded List each excluded file (discover only)
|
|
@@ -31,12 +40,12 @@ Options:
|
|
|
31
40
|
--execute Output JSON execution plan for AI agents (generate)
|
|
32
41
|
--stream Output tasks as streaming JSON, one per line (generate)
|
|
33
42
|
--uncommitted Include uncommitted changes (update only)
|
|
34
|
-
--integration Generate AI assistant command files (init only)
|
|
35
43
|
--help, -h Show this help
|
|
36
44
|
|
|
37
45
|
Examples:
|
|
46
|
+
are install
|
|
47
|
+
are install --runtime claude -g
|
|
38
48
|
are init
|
|
39
|
-
are init --integration
|
|
40
49
|
are discover
|
|
41
50
|
are discover --plan
|
|
42
51
|
are generate --dry-run
|
|
@@ -70,7 +79,7 @@ function parseArgs(args) {
|
|
|
70
79
|
}
|
|
71
80
|
}
|
|
72
81
|
else if (arg.startsWith('-')) {
|
|
73
|
-
// Handle short flags (e.g., -q, -h, -v)
|
|
82
|
+
// Handle short flags (e.g., -q, -h, -v, -g, -l, -u)
|
|
74
83
|
for (const char of arg.slice(1)) {
|
|
75
84
|
switch (char) {
|
|
76
85
|
case 'q':
|
|
@@ -82,6 +91,15 @@ function parseArgs(args) {
|
|
|
82
91
|
case 'v':
|
|
83
92
|
flags.add('verbose');
|
|
84
93
|
break;
|
|
94
|
+
case 'g':
|
|
95
|
+
flags.add('global');
|
|
96
|
+
break;
|
|
97
|
+
case 'l':
|
|
98
|
+
flags.add('local');
|
|
99
|
+
break;
|
|
100
|
+
case 'u':
|
|
101
|
+
flags.add('uninstall');
|
|
102
|
+
break;
|
|
85
103
|
default:
|
|
86
104
|
// Unknown short flag - ignore
|
|
87
105
|
break;
|
|
@@ -114,22 +132,49 @@ function showUnknownCommand(command) {
|
|
|
114
132
|
console.error(`Run 'are --help' for usage information.`);
|
|
115
133
|
process.exit(1);
|
|
116
134
|
}
|
|
135
|
+
/**
|
|
136
|
+
* Check if command-line has installer-related flags.
|
|
137
|
+
*
|
|
138
|
+
* Used to detect direct installer invocation without 'install' command.
|
|
139
|
+
*/
|
|
140
|
+
function hasInstallerFlags(flags, values) {
|
|
141
|
+
return (flags.has('global') ||
|
|
142
|
+
flags.has('local') ||
|
|
143
|
+
flags.has('uninstall') ||
|
|
144
|
+
values.has('runtime'));
|
|
145
|
+
}
|
|
117
146
|
/**
|
|
118
147
|
* Main CLI entry point.
|
|
119
148
|
*/
|
|
120
149
|
async function main() {
|
|
121
150
|
const args = process.argv.slice(2);
|
|
122
151
|
const { command, positional, flags, values } = parseArgs(args);
|
|
123
|
-
// Handle help flag anywhere
|
|
124
|
-
if (flags.has('help')
|
|
152
|
+
// Handle help flag anywhere (but not if --help is for install command)
|
|
153
|
+
if (flags.has('help') && !command && !hasInstallerFlags(flags, values)) {
|
|
154
|
+
showHelp();
|
|
155
|
+
}
|
|
156
|
+
// No command and no args - show help
|
|
157
|
+
if (args.length === 0) {
|
|
125
158
|
showHelp();
|
|
126
159
|
}
|
|
160
|
+
// Direct installer invocation without 'install' command
|
|
161
|
+
// Supports: npx agents-reverse-engineer --runtime claude -g
|
|
162
|
+
if (!command && hasInstallerFlags(flags, values)) {
|
|
163
|
+
const installerArgs = parseInstallerArgs(args);
|
|
164
|
+
await runInstaller(installerArgs);
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
127
167
|
// Route to command handlers
|
|
128
168
|
switch (command) {
|
|
169
|
+
case 'install': {
|
|
170
|
+
// Re-parse args for installer-specific flags
|
|
171
|
+
const installerArgs = parseInstallerArgs(args);
|
|
172
|
+
await runInstaller(installerArgs);
|
|
173
|
+
break;
|
|
174
|
+
}
|
|
129
175
|
case 'init': {
|
|
130
176
|
const options = {
|
|
131
177
|
interactive: flags.has('interactive'),
|
|
132
|
-
integration: flags.has('integration'),
|
|
133
178
|
};
|
|
134
179
|
await initCommand(positional[0] || '.', options);
|
|
135
180
|
break;
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG;AAEH,OAAO,EAAE,WAAW,EAAoB,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAwB,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,eAAe,EAAwB,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,aAAa,EAA6B,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/init.d.ts
CHANGED
|
@@ -13,11 +13,6 @@ export interface InitOptions {
|
|
|
13
13
|
* @default false
|
|
14
14
|
*/
|
|
15
15
|
interactive?: boolean;
|
|
16
|
-
/**
|
|
17
|
-
* Generate integration files for detected AI assistant environments.
|
|
18
|
-
* @default false
|
|
19
|
-
*/
|
|
20
|
-
integration?: boolean;
|
|
21
16
|
}
|
|
22
17
|
/**
|
|
23
18
|
* Execute the `are init` command.
|
package/dist/cli/init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA4CnF"}
|
package/dist/cli/init.js
CHANGED
|
@@ -36,46 +36,19 @@ export async function initCommand(root, options) {
|
|
|
36
36
|
if (await configExists(resolvedRoot)) {
|
|
37
37
|
logger.warn(`Config already exists at ${configPath}`);
|
|
38
38
|
logger.info('Edit the file to customize exclusions and options.');
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
// Create default config
|
|
42
|
-
await writeDefaultConfig(resolvedRoot);
|
|
43
|
-
logger.info(`Created configuration at ${configPath}`);
|
|
44
|
-
logger.info('');
|
|
45
|
-
logger.info('Edit the file to customize:');
|
|
46
|
-
logger.info(' - exclude.patterns: Add custom glob patterns to exclude');
|
|
47
|
-
logger.info(' - exclude.vendorDirs: Modify vendor directories list');
|
|
48
|
-
logger.info(' - options.maxFileSize: Adjust large file threshold');
|
|
49
|
-
// Handle integration file generation
|
|
50
|
-
if (options.integration) {
|
|
51
|
-
const { generateIntegrationFiles } = await import('../integration/generate.js');
|
|
52
|
-
const results = await generateIntegrationFiles(resolvedRoot);
|
|
53
|
-
if (results.length === 0) {
|
|
54
|
-
logger.info('');
|
|
55
|
-
logger.info('No AI assistant environments detected.');
|
|
56
|
-
logger.info('Integration files will be created when .claude/ or .opencode/ exists.');
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
for (const result of results) {
|
|
60
|
-
logger.info('');
|
|
61
|
-
logger.info(`${result.environment} integration:`);
|
|
62
|
-
if (result.filesCreated.length > 0) {
|
|
63
|
-
logger.info(` Created: ${result.filesCreated.join(', ')}`);
|
|
64
|
-
}
|
|
65
|
-
if (result.filesSkipped.length > 0) {
|
|
66
|
-
logger.info(` Skipped (already exist): ${result.filesSkipped.join(', ')}`);
|
|
67
|
-
}
|
|
68
|
-
if (result.environment === 'claude') {
|
|
69
|
-
logger.info('');
|
|
70
|
-
logger.info('Note: Add SessionEnd hook to .claude/settings.json manually:');
|
|
71
|
-
logger.info(' "hooks": { "SessionEnd": [".claude/hooks/ar-session-end.js"] }');
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
39
|
}
|
|
76
40
|
else {
|
|
41
|
+
// Create default config
|
|
42
|
+
await writeDefaultConfig(resolvedRoot);
|
|
43
|
+
logger.info(`Created configuration at ${configPath}`);
|
|
44
|
+
logger.info('');
|
|
45
|
+
logger.info('Edit the file to customize:');
|
|
46
|
+
logger.info(' - exclude.patterns: Add custom glob patterns to exclude');
|
|
47
|
+
logger.info(' - exclude.vendorDirs: Modify vendor directories list');
|
|
48
|
+
logger.info(' - options.maxFileSize: Adjust large file threshold');
|
|
77
49
|
logger.info('');
|
|
78
|
-
logger.info('
|
|
50
|
+
logger.info('To install AI assistant commands, run:');
|
|
51
|
+
logger.info(' npx agents-reverse-engineer install');
|
|
79
52
|
}
|
|
80
53
|
}
|
|
81
54
|
catch (err) {
|
package/dist/cli/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAChG,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAanD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAY,EAAE,OAAoB;IAClE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IAEpE,MAAM,MAAM,GAAG,YAAY,CAAC;QAC1B,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,iCAAiC;QACjC,IAAI,MAAM,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,4BAA4B,UAAU,EAAE,CAAC,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,wBAAwB;YACxB,MAAM,kBAAkB,CAAC,YAAY,CAAC,CAAC;YAEvC,MAAM,CAAC,IAAI,CAAC,4BAA4B,UAAU,EAAE,CAAC,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YACzE,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YACtE,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;YACpE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,GAA4B,CAAC;QAE3C,mBAAmB;QACnB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACtD,MAAM,CAAC,KAAK,CAAC,oCAAoC,UAAU,EAAE,CAAC,CAAC;YAC/D,MAAM,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,cAAc;QACd,MAAM,CAAC,KAAK,CAAC,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ASCII banner and styled output for the installer
|
|
3
|
+
*
|
|
4
|
+
* Provides colored banner display, help text, and styled message helpers.
|
|
5
|
+
* Uses picocolors for terminal coloring.
|
|
6
|
+
*/
|
|
7
|
+
/** Package version - updated at build time */
|
|
8
|
+
export declare const VERSION = "0.2.0";
|
|
9
|
+
/**
|
|
10
|
+
* Display the ASCII banner at installer launch
|
|
11
|
+
*
|
|
12
|
+
* Shows big ASCII art "ARE" letters in green with version and tagline.
|
|
13
|
+
*/
|
|
14
|
+
export declare function displayBanner(): void;
|
|
15
|
+
/**
|
|
16
|
+
* Display help text showing usage, flags, and examples
|
|
17
|
+
*/
|
|
18
|
+
export declare function showHelp(): void;
|
|
19
|
+
/**
|
|
20
|
+
* Display a success message with green checkmark prefix
|
|
21
|
+
*
|
|
22
|
+
* @param msg - Message to display
|
|
23
|
+
*/
|
|
24
|
+
export declare function showSuccess(msg: string): void;
|
|
25
|
+
/**
|
|
26
|
+
* Display an error message with red X prefix
|
|
27
|
+
*
|
|
28
|
+
* @param msg - Message to display
|
|
29
|
+
*/
|
|
30
|
+
export declare function showError(msg: string): void;
|
|
31
|
+
/**
|
|
32
|
+
* Display a warning message with yellow exclamation prefix
|
|
33
|
+
*
|
|
34
|
+
* @param msg - Message to display
|
|
35
|
+
*/
|
|
36
|
+
export declare function showWarning(msg: string): void;
|
|
37
|
+
/**
|
|
38
|
+
* Display an info message with cyan arrow prefix
|
|
39
|
+
*
|
|
40
|
+
* @param msg - Message to display
|
|
41
|
+
*/
|
|
42
|
+
export declare function showInfo(msg: string): void;
|
|
43
|
+
/**
|
|
44
|
+
* Display post-install next steps
|
|
45
|
+
*
|
|
46
|
+
* Shows what to do after installation with helpful links.
|
|
47
|
+
*
|
|
48
|
+
* @param runtime - Which runtime was installed
|
|
49
|
+
* @param filesCreated - Number of files created
|
|
50
|
+
*/
|
|
51
|
+
export declare function showNextSteps(runtime: string, filesCreated: number): void;
|
|
52
|
+
//# sourceMappingURL=banner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../src/installer/banner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,8CAA8C;AAC9C,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAepC;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,IAAI,CAwB/B;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE3C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE1C;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAazE"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ASCII banner and styled output for the installer
|
|
3
|
+
*
|
|
4
|
+
* Provides colored banner display, help text, and styled message helpers.
|
|
5
|
+
* Uses picocolors for terminal coloring.
|
|
6
|
+
*/
|
|
7
|
+
import pc from 'picocolors';
|
|
8
|
+
/** Package version - updated at build time */
|
|
9
|
+
export const VERSION = '0.2.0';
|
|
10
|
+
/**
|
|
11
|
+
* Display the ASCII banner at installer launch
|
|
12
|
+
*
|
|
13
|
+
* Shows big ASCII art "ARE" letters in green with version and tagline.
|
|
14
|
+
*/
|
|
15
|
+
export function displayBanner() {
|
|
16
|
+
const art = pc.green;
|
|
17
|
+
const dim = pc.dim;
|
|
18
|
+
console.log();
|
|
19
|
+
console.log(art(' █████╗ ██████╗ ███████╗'));
|
|
20
|
+
console.log(art(' ██╔══██╗██╔══██╗██╔════╝'));
|
|
21
|
+
console.log(art(' ███████║██████╔╝█████╗ '));
|
|
22
|
+
console.log(art(' ██╔══██║██╔══██╗██╔══╝ '));
|
|
23
|
+
console.log(art(' ██║ ██║██║ ██║███████╗'));
|
|
24
|
+
console.log(art(' ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝'));
|
|
25
|
+
console.log();
|
|
26
|
+
console.log(dim(` agents-reverse-engineer v${VERSION}`));
|
|
27
|
+
console.log(dim(' AI-friendly codebase documentation'));
|
|
28
|
+
console.log();
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Display help text showing usage, flags, and examples
|
|
32
|
+
*/
|
|
33
|
+
export function showHelp() {
|
|
34
|
+
console.log(pc.bold('Usage:') + ' npx agents-reverse-engineer [options]');
|
|
35
|
+
console.log();
|
|
36
|
+
console.log(pc.bold('Options:'));
|
|
37
|
+
console.log(' --runtime <runtime> Select runtime: claude, opencode, gemini, or all');
|
|
38
|
+
console.log(' -g, --global Install to global config (~/.claude, etc.)');
|
|
39
|
+
console.log(' -l, --local Install to local project (./.claude, etc.)');
|
|
40
|
+
console.log(' -u, --uninstall Remove installed files');
|
|
41
|
+
console.log(' --force Overwrite existing files');
|
|
42
|
+
console.log(' -q, --quiet Suppress banner and info messages');
|
|
43
|
+
console.log(' -h, --help Show this help');
|
|
44
|
+
console.log();
|
|
45
|
+
console.log(pc.bold('Examples:'));
|
|
46
|
+
console.log(' npx agents-reverse-engineer');
|
|
47
|
+
console.log(' Interactive mode - prompts for runtime and location');
|
|
48
|
+
console.log();
|
|
49
|
+
console.log(' npx agents-reverse-engineer --runtime claude -g');
|
|
50
|
+
console.log(' Install Claude Code commands globally');
|
|
51
|
+
console.log();
|
|
52
|
+
console.log(' npx agents-reverse-engineer --runtime all -l');
|
|
53
|
+
console.log(' Install commands for all runtimes to local project');
|
|
54
|
+
console.log();
|
|
55
|
+
console.log(' npx agents-reverse-engineer --runtime claude -g -u');
|
|
56
|
+
console.log(' Uninstall global Claude Code commands');
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Display a success message with green checkmark prefix
|
|
60
|
+
*
|
|
61
|
+
* @param msg - Message to display
|
|
62
|
+
*/
|
|
63
|
+
export function showSuccess(msg) {
|
|
64
|
+
console.log(pc.green('✓') + ' ' + msg);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Display an error message with red X prefix
|
|
68
|
+
*
|
|
69
|
+
* @param msg - Message to display
|
|
70
|
+
*/
|
|
71
|
+
export function showError(msg) {
|
|
72
|
+
console.log(pc.red('✗') + ' ' + msg);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Display a warning message with yellow exclamation prefix
|
|
76
|
+
*
|
|
77
|
+
* @param msg - Message to display
|
|
78
|
+
*/
|
|
79
|
+
export function showWarning(msg) {
|
|
80
|
+
console.log(pc.yellow('!') + ' ' + msg);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Display an info message with cyan arrow prefix
|
|
84
|
+
*
|
|
85
|
+
* @param msg - Message to display
|
|
86
|
+
*/
|
|
87
|
+
export function showInfo(msg) {
|
|
88
|
+
console.log(pc.cyan('>') + ' ' + msg);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Display post-install next steps
|
|
92
|
+
*
|
|
93
|
+
* Shows what to do after installation with helpful links.
|
|
94
|
+
*
|
|
95
|
+
* @param runtime - Which runtime was installed
|
|
96
|
+
* @param filesCreated - Number of files created
|
|
97
|
+
*/
|
|
98
|
+
export function showNextSteps(runtime, filesCreated) {
|
|
99
|
+
console.log();
|
|
100
|
+
console.log(pc.bold('Installation complete!'));
|
|
101
|
+
console.log(pc.dim(`${filesCreated} files installed for ${runtime}`));
|
|
102
|
+
console.log();
|
|
103
|
+
console.log(pc.bold('Next steps:'));
|
|
104
|
+
console.log(' 1. Run ' + pc.cyan('/are:help') + ' in your AI assistant to verify');
|
|
105
|
+
console.log(' 2. Run ' + pc.cyan('/are:init') + ' to initialize a project');
|
|
106
|
+
console.log(' 3. Run ' + pc.cyan('/are:discover') + ' to create the generation plan');
|
|
107
|
+
console.log(' 4. Run ' + pc.cyan('/are:generate') + ' to generate documentation');
|
|
108
|
+
console.log(' 5. Run ' + pc.cyan('/are:update') + ' to update documentation after changes');
|
|
109
|
+
console.log();
|
|
110
|
+
console.log(pc.dim('Docs: https://github.com/GeoloeG-IsT/agents-reverse-engineer'));
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=banner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/installer/banner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Main installer entry point for agents-reverse-engineer
|
|
3
|
+
*
|
|
4
|
+
* Provides the runInstaller function for npx installation workflow.
|
|
5
|
+
* Supports interactive prompts and non-interactive flags for CI/scripted installs.
|
|
6
|
+
*/
|
|
7
|
+
import type { InstallerArgs, InstallerResult } from './types.js';
|
|
8
|
+
export type { InstallerArgs, InstallerResult, Runtime, Location, RuntimePaths } from './types.js';
|
|
9
|
+
export { getRuntimePaths, getAllRuntimes, resolveInstallPath, getSettingsPath } from './paths.js';
|
|
10
|
+
export { displayBanner, showHelp, showSuccess, showError, showWarning, showInfo, showNextSteps, VERSION } from './banner.js';
|
|
11
|
+
export { selectRuntime, selectLocation, confirmAction, isInteractive } from './prompts.js';
|
|
12
|
+
/**
|
|
13
|
+
* Parse command-line arguments for the installer
|
|
14
|
+
*
|
|
15
|
+
* Handles both short (-g, -l, -u, -h) and long (--global, --local, --uninstall, --help) flags.
|
|
16
|
+
* Uses pattern from cli/index.ts for consistency.
|
|
17
|
+
*
|
|
18
|
+
* @param args - Command line arguments (process.argv.slice(2))
|
|
19
|
+
* @returns Parsed installer arguments
|
|
20
|
+
*/
|
|
21
|
+
export declare function parseInstallerArgs(args: string[]): InstallerArgs;
|
|
22
|
+
/**
|
|
23
|
+
* Run the installer workflow
|
|
24
|
+
*
|
|
25
|
+
* This is the main entry point for the installation process.
|
|
26
|
+
* Supports both interactive mode (prompts) and non-interactive mode (flags).
|
|
27
|
+
*
|
|
28
|
+
* @param args - Parsed installer arguments
|
|
29
|
+
* @returns Array of installation results (one per runtime/location combination)
|
|
30
|
+
*/
|
|
31
|
+
export declare function runInstaller(args: InstallerArgs): Promise<InstallerResult[]>;
|
|
32
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +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,CAyChE;AAoCD;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAmDlF"}
|