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 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 summarization._
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 summarization.
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
- - Works with GitHub repositories, local directories, private repositories, individual files and monorepos
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 implementaion (analysis, prompts, providers, output)
119
- - npm → ships prebuilt native binaries (no Python required)
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 Repository and Local Directory Input
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
- All inputs are normalized internally to `owner/repo`.
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
  ![Stack detector Output](assets/stack-command-output.png)
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
- ExplanThisRepo analyzes individual files directly
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
- - Only valid text files are processed (binary files are rejected)
392
- - File size is capped to prevent unsafe or truncated analysis
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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "explainthisrepo",
3
- "version": "0.25.3",
3
+ "version": "0.26.0",
4
4
  "description": "The fastest way to understand any codebase in plain English. Not blind AI summarization",
5
5
  "license": "MIT",
6
6
  "type": "module",