explainthisrepo 0.25.3 → 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 +41 -17
- 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
|
|
|
@@ -115,8 +118,8 @@ npx explainthisrepo owner/repo
|
|
|
115
118
|
|
|
116
119
|
ExplainThisRepo uses a hybrid architecture:
|
|
117
120
|
|
|
118
|
-
- Python → core
|
|
119
|
-
- npm →
|
|
121
|
+
- Python → core implementation (analysis, prompts, providers, output)
|
|
122
|
+
- npm → launches prebuilt native binaries (no Python install required)
|
|
120
123
|
- pip → installs the full Python package
|
|
121
124
|
|
|
122
125
|
> The npm and pip versions run the same core engine.
|
|
@@ -185,7 +188,7 @@ Run:
|
|
|
185
188
|
explainthisrepo init
|
|
186
189
|
```
|
|
187
190
|
|
|
188
|
-
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)
|
|
189
192
|
|
|
190
193
|
## Flag options
|
|
191
194
|
|
|
@@ -199,6 +202,8 @@ For step-by-step instructions, see [docs/GITHUB_TOKEN.md](docs/GITHUB_TOKEN.md)
|
|
|
199
202
|
|
|
200
203
|
- `--stack` → Tech stack breakdown from repo signals
|
|
201
204
|
|
|
205
|
+
- `--map` → System map for understanding a codebase before changing it
|
|
206
|
+
|
|
202
207
|
- `--version` → Check installed CLI version
|
|
203
208
|
|
|
204
209
|
- `--help` → Show usage guide
|
|
@@ -209,7 +214,7 @@ For step-by-step instructions, see [docs/GITHUB_TOKEN.md](docs/GITHUB_TOKEN.md)
|
|
|
209
214
|
|
|
210
215
|
- `--output` / `-o` → Specify output file or directory (default: `EXPLAIN.md`)
|
|
211
216
|
|
|
212
|
-
## Flexible
|
|
217
|
+
## Flexible Input Types
|
|
213
218
|
|
|
214
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
|
|
215
220
|
|
|
@@ -226,7 +231,7 @@ explainthisrepo ./path/to/directory
|
|
|
226
231
|
explainthisrepo ./path/to/file.py
|
|
227
232
|
```
|
|
228
233
|
|
|
229
|
-
|
|
234
|
+
GitHub inputs are normalized internally to `owner/repo`.
|
|
230
235
|
|
|
231
236
|
## CLI aliases
|
|
232
237
|
|
|
@@ -322,6 +327,26 @@ explainthisrepo owner/repo --stack
|
|
|
322
327
|
```
|
|
323
328
|

|
|
324
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
|
+
|
|
325
350
|
## Local Directory Analysis
|
|
326
351
|
|
|
327
352
|
ExplainThisRepo can analyze local directories directly in the terminal, using the same modes and output formats as GitHub repositories
|
|
@@ -338,6 +363,7 @@ explainthisrepo . --quick
|
|
|
338
363
|
explainthisrepo . --simple
|
|
339
364
|
explainthisrepo . --detailed
|
|
340
365
|
explainthisrepo . --stack
|
|
366
|
+
explainthisrepo . --map
|
|
341
367
|
```
|
|
342
368
|
|
|
343
369
|
When analyzing a local directory:
|
|
@@ -351,7 +377,7 @@ This allows analysis of projects directly from the local filesystem, without req
|
|
|
351
377
|
|
|
352
378
|
## File Analysis
|
|
353
379
|
|
|
354
|
-
|
|
380
|
+
ExplainThisRepo analyzes individual files directly
|
|
355
381
|
|
|
356
382
|
```bash
|
|
357
383
|
explainthisrepo ./path/to/file.py
|
|
@@ -388,9 +414,11 @@ explainthisrepo owner/repo/path/to/file.py --detailed
|
|
|
388
414
|
|
|
389
415
|
When analyzing a GitHub file:
|
|
390
416
|
- The file is fetched directly via the GitHub API
|
|
391
|
-
-
|
|
392
|
-
-
|
|
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
|
|
393
420
|
- The explanation focuses on the file’s purpose, logic, and behavior
|
|
421
|
+
- This removes divergence between local and GitHub file handling
|
|
394
422
|
|
|
395
423
|
Input format must be:
|
|
396
424
|
|
|
@@ -421,14 +449,10 @@ explainthisrepo owner/repo/path/to/directory --detailed
|
|
|
421
449
|
When analyzing a GitHub directory:
|
|
422
450
|
|
|
423
451
|
- Directory contents are fetched via the GitHub API
|
|
424
|
-
|
|
425
452
|
- Only structure and metadata are used (no full repo fetch)
|
|
426
|
-
|
|
427
453
|
- Signals include files, subdirectories, and extension distribution
|
|
428
|
-
|
|
429
454
|
- The explanation focuses on the directory’s role and structure
|
|
430
455
|
|
|
431
|
-
|
|
432
456
|
`--stack` is not supported for directory targets.
|
|
433
457
|
|
|
434
458
|
### Custom output
|
|
Binary file
|