explainthisrepo 0.25.0 → 0.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +69 -13
- package/dist/native/win-x64/explainthisrepo.exe +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# ExplainThisRepo
|
|
2
2
|
|
|
3
|
-
_The fastest way to understand any codebase in plain English using real project signals. Not blind AI
|
|
3
|
+
_The fastest way to understand any codebase in plain English using real project signals. Not blind AI guessing._
|
|
4
4
|
|
|
5
5
|
ExplainThisRepo analyzes real project signals; configs, entrypoints, manifests, dependencies graph, file structure and high-signal files producing a clear, structured `EXPLAIN.md` that explains what the codebase actually does and how it is organized in plain English.
|
|
6
6
|
|
|
@@ -18,16 +18,19 @@ ExplainThisRepo analyzes real project signals; configs, entrypoints, manifests,
|
|
|
18
18
|
|
|
19
19
|
- Understand any GitHub repository in seconds
|
|
20
20
|
- Derives architectural summaries from repository structure and code signals.
|
|
21
|
-
Not blind AI
|
|
22
|
-
- Deterministic repo signal extractor that feeds LLMs correctly
|
|
21
|
+
Not blind AI guessing
|
|
22
|
+
- Deterministic repo signal extractor that feeds LLMs correctly. Signals first. LLM second
|
|
23
23
|
- Translates complex code structures into plain English
|
|
24
24
|
- Speeds up understanding of unfamiliar codebases
|
|
25
25
|
- Solves the "**garbage in, garbage out**" problem specifically for codebases
|
|
26
26
|
- Extract architecture signals from configs, entrypoints, and manifests
|
|
27
|
-
-
|
|
27
|
+
- System map that shows you where to start, what matters and what to ignore
|
|
28
|
+
- Works with GitHub repositories, Local repositories, GitHub directories, local directories, GitHub files and local files
|
|
29
|
+
- Supports private repositories and monorepos
|
|
28
30
|
- Zero-cloning and remote analysis
|
|
29
|
-
- Outputs the explanation to an `EXPLAIN.md` file in your current directory, prints it directly in the terminal, or a specified output file (`.txt`, `.pdf`, `.docx`)
|
|
31
|
+
- Outputs the explanation to an `EXPLAIN.md` file in your current directory, prints it directly in the terminal, or a specified output file (`.txt`, `.pdf`, `.docx`, `.md`)
|
|
30
32
|
- Multiple explanation modes (quick, simple, detailed)
|
|
33
|
+
- Additional tools: stack detection, repo map
|
|
31
34
|
|
|
32
35
|
## Installation
|
|
33
36
|
|
|
@@ -43,6 +46,7 @@ explainthisrepo owner/repo
|
|
|
43
46
|
# explainthisrepo ./path/to/directory
|
|
44
47
|
# explainthisrepo ./path/to/file.py
|
|
45
48
|
# explainthisrepo owner/repo/path/to/file.py
|
|
49
|
+
# explainthisrepo owner/repo/path/to/directory
|
|
46
50
|
```
|
|
47
51
|
|
|
48
52
|
Alternatively,
|
|
@@ -87,6 +91,7 @@ explainthisrepo owner/repo
|
|
|
87
91
|
# explainthisrepo ./path/to/directory
|
|
88
92
|
# explainthisrepo ./path/to/file.py
|
|
89
93
|
# explainthisrepo owner/repo/path/to/file.py
|
|
94
|
+
# explainthisrepo owner/repo/path/to/directory
|
|
90
95
|
</details>
|
|
91
96
|
</pre>
|
|
92
97
|
</code>
|
|
@@ -104,6 +109,7 @@ npx explainthisrepo owner/repo
|
|
|
104
109
|
# npx explainthisrepo ./path/to/directory
|
|
105
110
|
# npx explainthisrepo ./path/to/file.py
|
|
106
111
|
# npx explainthisrepo owner/repo/path/to/file.py
|
|
112
|
+
# npx explainthisrepo owner/repo/path/to/directory
|
|
107
113
|
</code>
|
|
108
114
|
</pre>
|
|
109
115
|
</details>
|
|
@@ -112,8 +118,8 @@ npx explainthisrepo owner/repo
|
|
|
112
118
|
|
|
113
119
|
ExplainThisRepo uses a hybrid architecture:
|
|
114
120
|
|
|
115
|
-
- Python → core
|
|
116
|
-
- npm →
|
|
121
|
+
- Python → core implementation (analysis, prompts, providers, output)
|
|
122
|
+
- npm → launches prebuilt native binaries (no Python install required)
|
|
117
123
|
- pip → installs the full Python package
|
|
118
124
|
|
|
119
125
|
> The npm and pip versions run the same core engine.
|
|
@@ -182,7 +188,7 @@ Run:
|
|
|
182
188
|
explainthisrepo init
|
|
183
189
|
```
|
|
184
190
|
|
|
185
|
-
For step-by-step instructions, see [docs/GITHUB_TOKEN.md](docs/GITHUB_TOKEN.md)
|
|
191
|
+
For step-by-step instructions, see [docs/GITHUB_TOKEN.md](https://github.com/calchiwo/ExplainThisRepo/blob/main/docs/GITHUB_TOKEN.md)
|
|
186
192
|
|
|
187
193
|
## Flag options
|
|
188
194
|
|
|
@@ -196,6 +202,8 @@ For step-by-step instructions, see [docs/GITHUB_TOKEN.md](docs/GITHUB_TOKEN.md)
|
|
|
196
202
|
|
|
197
203
|
- `--stack` → Tech stack breakdown from repo signals
|
|
198
204
|
|
|
205
|
+
- `--map` → System map for understanding a codebase before changing it
|
|
206
|
+
|
|
199
207
|
- `--version` → Check installed CLI version
|
|
200
208
|
|
|
201
209
|
- `--help` → Show usage guide
|
|
@@ -206,7 +214,7 @@ For step-by-step instructions, see [docs/GITHUB_TOKEN.md](docs/GITHUB_TOKEN.md)
|
|
|
206
214
|
|
|
207
215
|
- `--output` / `-o` → Specify output file or directory (default: `EXPLAIN.md`)
|
|
208
216
|
|
|
209
|
-
## Flexible
|
|
217
|
+
## Flexible Input Types
|
|
210
218
|
|
|
211
219
|
Accepts various formats for repository input, full GitHub URLs (with or without https), `owner/repo` format, issue links, query strings, and SSH clone links
|
|
212
220
|
|
|
@@ -216,13 +224,14 @@ explainthisrepo github.com/owner/repo
|
|
|
216
224
|
explainthisrepo https://github.com/owner/repo/issues/123
|
|
217
225
|
explainthisrepo https://github.com/owner/repo?tab=readme
|
|
218
226
|
explainthisrepo git@github.com:owner/repo.git
|
|
227
|
+
explainthisrepo owner/repo/path/to/directory
|
|
219
228
|
explainthisrepo owner/repo/path/to/file.py
|
|
220
229
|
explainthisrepo .
|
|
221
230
|
explainthisrepo ./path/to/directory
|
|
222
231
|
explainthisrepo ./path/to/file.py
|
|
223
232
|
```
|
|
224
233
|
|
|
225
|
-
|
|
234
|
+
GitHub inputs are normalized internally to `owner/repo`.
|
|
226
235
|
|
|
227
236
|
## CLI aliases
|
|
228
237
|
|
|
@@ -318,6 +327,26 @@ explainthisrepo owner/repo --stack
|
|
|
318
327
|
```
|
|
319
328
|

|
|
320
329
|
|
|
330
|
+
### Repo map
|
|
331
|
+
|
|
332
|
+
Navigation system map for understanding unfamiliar codebases that shows you where to start, what matters and what to ignore before touching it:
|
|
333
|
+
|
|
334
|
+
```bash
|
|
335
|
+
explainthisrepo owner/repo --map
|
|
336
|
+
explainthisrepo . --map
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
By default, repo map mode writes to `REPO_MAP.md`.
|
|
340
|
+
|
|
341
|
+
The map focuses on:
|
|
342
|
+
|
|
343
|
+
- where to start reading
|
|
344
|
+
- the likely main flow through the project
|
|
345
|
+
- important files and why they matter
|
|
346
|
+
- visible architecture boundaries
|
|
347
|
+
- files or folders to ignore first
|
|
348
|
+
- open questions that cannot be determined from repo signals
|
|
349
|
+
|
|
321
350
|
## Local Directory Analysis
|
|
322
351
|
|
|
323
352
|
ExplainThisRepo can analyze local directories directly in the terminal, using the same modes and output formats as GitHub repositories
|
|
@@ -334,6 +363,7 @@ explainthisrepo . --quick
|
|
|
334
363
|
explainthisrepo . --simple
|
|
335
364
|
explainthisrepo . --detailed
|
|
336
365
|
explainthisrepo . --stack
|
|
366
|
+
explainthisrepo . --map
|
|
337
367
|
```
|
|
338
368
|
|
|
339
369
|
When analyzing a local directory:
|
|
@@ -347,7 +377,7 @@ This allows analysis of projects directly from the local filesystem, without req
|
|
|
347
377
|
|
|
348
378
|
## File Analysis
|
|
349
379
|
|
|
350
|
-
|
|
380
|
+
ExplainThisRepo analyzes individual files directly
|
|
351
381
|
|
|
352
382
|
```bash
|
|
353
383
|
explainthisrepo ./path/to/file.py
|
|
@@ -384,9 +414,11 @@ explainthisrepo owner/repo/path/to/file.py --detailed
|
|
|
384
414
|
|
|
385
415
|
When analyzing a GitHub file:
|
|
386
416
|
- The file is fetched directly via the GitHub API
|
|
387
|
-
-
|
|
388
|
-
-
|
|
417
|
+
- Raw bytes are passed into a unified ingestion pipeline
|
|
418
|
+
- Binary detection, decoding, and size limits are handled in one place
|
|
419
|
+
- File ingestion is identical to local file analysis
|
|
389
420
|
- The explanation focuses on the file’s purpose, logic, and behavior
|
|
421
|
+
- This removes divergence between local and GitHub file handling
|
|
390
422
|
|
|
391
423
|
Input format must be:
|
|
392
424
|
|
|
@@ -399,6 +431,30 @@ This is different from local file analysis:
|
|
|
399
431
|
```bash
|
|
400
432
|
explainthisrepo ./path/to/file.py
|
|
401
433
|
```
|
|
434
|
+
|
|
435
|
+
## GitHub Directory Analysis
|
|
436
|
+
|
|
437
|
+
ExplainThisRepo can analyze a specific directory inside a GitHub repository without cloning it.
|
|
438
|
+
|
|
439
|
+
```bash
|
|
440
|
+
explainthisrepo owner/repo/path/to/directory
|
|
441
|
+
```
|
|
442
|
+
Supports all explanation modes:
|
|
443
|
+
```bash
|
|
444
|
+
explainthisrepo owner/repo/path/to/directory --quick
|
|
445
|
+
explainthisrepo owner/repo/path/to/directory --simple
|
|
446
|
+
explainthisrepo owner/repo/path/to/directory --detailed
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
When analyzing a GitHub directory:
|
|
450
|
+
|
|
451
|
+
- Directory contents are fetched via the GitHub API
|
|
452
|
+
- Only structure and metadata are used (no full repo fetch)
|
|
453
|
+
- Signals include files, subdirectories, and extension distribution
|
|
454
|
+
- The explanation focuses on the directory’s role and structure
|
|
455
|
+
|
|
456
|
+
`--stack` is not supported for directory targets.
|
|
457
|
+
|
|
402
458
|
### Custom output
|
|
403
459
|
|
|
404
460
|
`--output`, `-o` → Specify output file or directory (default: `EXPLAIN.md`)
|
|
Binary file
|