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.
Files changed (46) hide show
  1. package/README.md +70 -30
  2. package/dist/cli/index.js +52 -7
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/cli/init.d.ts +0 -5
  5. package/dist/cli/init.d.ts.map +1 -1
  6. package/dist/cli/init.js +10 -37
  7. package/dist/cli/init.js.map +1 -1
  8. package/dist/installer/banner.d.ts +52 -0
  9. package/dist/installer/banner.d.ts.map +1 -0
  10. package/dist/installer/banner.js +112 -0
  11. package/dist/installer/banner.js.map +1 -0
  12. package/dist/installer/index.d.ts +32 -0
  13. package/dist/installer/index.d.ts.map +1 -0
  14. package/dist/installer/index.js +288 -0
  15. package/dist/installer/index.js.map +1 -0
  16. package/dist/installer/operations.d.ts +73 -0
  17. package/dist/installer/operations.d.ts.map +1 -0
  18. package/dist/installer/operations.js +335 -0
  19. package/dist/installer/operations.js.map +1 -0
  20. package/dist/installer/paths.d.ts +50 -0
  21. package/dist/installer/paths.d.ts.map +1 -0
  22. package/dist/installer/paths.js +95 -0
  23. package/dist/installer/paths.js.map +1 -0
  24. package/dist/installer/prompts.d.ts +51 -0
  25. package/dist/installer/prompts.d.ts.map +1 -0
  26. package/dist/installer/prompts.js +196 -0
  27. package/dist/installer/prompts.js.map +1 -0
  28. package/dist/installer/types.d.ts +78 -0
  29. package/dist/installer/types.d.ts.map +1 -0
  30. package/dist/installer/types.js +8 -0
  31. package/dist/installer/types.js.map +1 -0
  32. package/dist/installer/uninstall.d.ts +32 -0
  33. package/dist/installer/uninstall.d.ts.map +1 -0
  34. package/dist/installer/uninstall.js +283 -0
  35. package/dist/installer/uninstall.js.map +1 -0
  36. package/dist/integration/generate.d.ts +3 -1
  37. package/dist/integration/generate.d.ts.map +1 -1
  38. package/dist/integration/generate.js +20 -4
  39. package/dist/integration/generate.js.map +1 -1
  40. package/dist/integration/templates.d.ts +12 -0
  41. package/dist/integration/templates.d.ts.map +1 -1
  42. package/dist/integration/templates.js +335 -16
  43. package/dist/integration/templates.js.map +1 -1
  44. package/dist/integration/types.d.ts +1 -1
  45. package/dist/integration/types.d.ts.map +1 -1
  46. 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 init --integration
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
- - **`CODEX.md`** — Project entry point for OpenCode *(coming soon)*
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 init --integration
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
- 1. **Config** — `.agents-reverse-engineer/config.yaml`
64
- 2. **Commands** — `.claude/commands/are/` for Claude Code (other runtimes coming soon)
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
- Then discover your files and create the plan:
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
- Finally, in your AI assistant:
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
- > **Note:** The generated `AGENTS.md` files work with any AI assistant that supports this format. The `/are:*` commands currently target Claude Code, with OpenCode and Gemini CLI support planned.
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 init --integration
115
+ npx agents-reverse-engineer@latest
86
116
  ```
87
117
 
88
118
  ---
89
119
 
90
120
  ## How It Works
91
121
 
92
- ### 1. Initialize
122
+ ### 1. Install
93
123
 
94
124
  ```bash
95
- are init --integration
125
+ npx agents-reverse-engineer
96
126
  ```
97
127
 
98
- Creates configuration and Claude Code commands in your project.
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 | Description |
141
- | ------------------------------ | -------------------------------- |
142
- | `are init` | Create configuration file |
143
- | `are init --integration` | Also create Claude Code commands |
144
- | `are discover` | List files that will be analyzed |
145
- | `are discover --plan` | Create GENERATION-PLAN.md |
146
- | `are discover --show-excluded` | Show excluded files with reasons |
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 Code |
153
- | `/are:generate` | Generate all documentation | Claude Code |
154
- | `/are:update` | Update changed files only | Claude Code |
155
- | `/are:discover` | Rediscover and regenerate plan | Claude Code |
156
- | `/are:clean` | Remove all generated docs | Claude Code |
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') || args.length === 0) {
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;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
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;AACvE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEzE,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCb,CAAC;AAEF;;;;;GAKG;AACH,SAAS,SAAS,CAAC,IAAc;IAM/B,IAAI,OAA2B,CAAC;IAChC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9B,qDAAqD;YACrD,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxD,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAClC,CAAC,EAAE,CAAC,CAAC,iBAAiB;YACxB,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,oDAAoD;YACpD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChC,QAAQ,IAAI,EAAE,CAAC;oBACb,KAAK,GAAG;wBACN,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBACnB,MAAM;oBACR,KAAK,GAAG;wBACN,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBAClB,MAAM;oBACR,KAAK,GAAG;wBACN,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wBACrB,MAAM;oBACR,KAAK,GAAG;wBACN,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBACpB,MAAM;oBACR,KAAK,GAAG;wBACN,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBACnB,MAAM;oBACR,KAAK,GAAG;wBACN,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;wBACvB,MAAM;oBACR;wBACE,8BAA8B;wBAC9B,MAAM;gBACV,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACpB,yCAAyC;YACzC,OAAO,GAAG,GAAG,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,+CAA+C;YAC/C,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,OAAe;IACzC,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;IACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,KAAkB,EAAE,MAA2B;IACxE,OAAO,CACL,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;QACnB,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;QAClB,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;QACtB,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CACtB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/D,uEAAuE;IACvE,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;QACvE,QAAQ,EAAE,CAAC;IACb,CAAC;IAED,qCAAqC;IACrC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,QAAQ,EAAE,CAAC;IACb,CAAC;IAED,wDAAwD;IACxD,4DAA4D;IAC5D,IAAI,CAAC,OAAO,IAAI,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;QACjD,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,YAAY,CAAC,aAAa,CAAC,CAAC;QAClC,OAAO;IACT,CAAC;IAED,4BAA4B;IAC5B,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,6CAA6C;YAC7C,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,YAAY,CAAC,aAAa,CAAC,CAAC;YAClC,MAAM;QACR,CAAC;QAED,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,OAAO,GAAgB;gBAC3B,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC;aACtC,CAAC;YACF,MAAM,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM;QACR,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,OAAO,GAAoB;gBAC/B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;gBACzB,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC;gBACxC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;gBAC5B,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;aACxB,CAAC;YACF,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM;QACR,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,OAAO,GAAoB;gBAC/B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;gBACzB,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;gBAC7B,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;gBAC5B,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC9E,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;gBAC7B,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;aAC5B,CAAC;YACF,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM;QACR,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,OAAO,GAAyB;gBACpC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC;gBACrC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;gBACzB,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;gBAC7B,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;gBAC5B,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;aAC/E,CAAC;YACF,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM;QACR,CAAC;QAED;YACE,IAAI,OAAO,EAAE,CAAC;gBACZ,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;YACD,QAAQ,EAAE,CAAC;IACf,CAAC;AACH,CAAC;AAED,0CAA0C;AAC1C,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;IAC1B,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -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.
@@ -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;IACtB;;;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,CAyEnF"}
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('Run with --integration to set up AI assistant commands');
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) {
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
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"}