explainthisrepo 0.22.0 → 0.23.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
@@ -3,6 +3,7 @@
3
3
  _The fastest way to understand any codebase in plain English using real project signals. Not blind AI summarization._
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 does and how it is organized in plain English.
6
+ This is a deterministic repo signal extractor that feeds LLMs correctly.
6
7
 
7
8
  [![PyPI Version](https://img.shields.io/pypi/v/explainthisrepo?color=blue)](https://pypi.org/project/explainthisrepo/)
8
9
  [![PyPI Downloads](https://static.pepy.tech/personalized-badge/explainthisrepo?period=total&units=INTERNATIONAL_SYSTEM&left_color=BLACK&right_color=GREEN&left_text=downloads)](https://pepy.tech/projects/explainthisrepo)
@@ -23,7 +24,7 @@ Not blind AI summarization.
23
24
  - Speeds up understanding of unfamiliar codebases
24
25
  - Extract architecture signals from configs, entrypoints, and manifests
25
26
  - Works with GitHub repositories, local directories, private repositories, individual files and monorepos
26
- - Outputs the explanation to an `EXPLAIN.md` file in your current directory or prints it directly in the terminal
27
+ - 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`, `.docs`)
27
28
  - Multiple explanation modes (quick, simple, detailed)
28
29
 
29
30
  ## Installation
@@ -194,8 +195,10 @@ explainthisrepo github.com/owner/repo
194
195
  explainthisrepo https://github.com/owner/repo/issues/123
195
196
  explainthisrepo https://github.com/owner/repo?tab=readme
196
197
  explainthisrepo git@github.com:owner/repo.git
198
+ explainthisrepo owner/repo/path/to/file.py
197
199
  explainthisrepo .
198
200
  explainthisrepo ./path/to/directory
201
+ explainthisrepo ./path/to/file.py
199
202
  ```
200
203
 
201
204
  All inputs are normalized internally to `owner/repo`.
@@ -343,9 +346,41 @@ When analyzing a file:
343
346
  - The explanation focuses on purpose, logic, and behavior
344
347
  - This makes it easy to understand unfamiliar files without scanning entire repositories.
345
348
 
349
+ ## GitHub File Analysis
350
+
351
+ ExplainThisRepo can analyze a single file directly from a GitHub repository without cloning it.
352
+
353
+ ```bash
354
+ explainthisrepo owner/repo/path/to/file.py
355
+ ```
356
+ Supports all explanation modes:
357
+
358
+ ```bash
359
+ explainthisrepo owner/repo/path/to/file.py --quick
360
+ explainthisrepo owner/repo/path/to/file.py --simple
361
+ explainthisrepo owner/repo/path/to/file.py --detailed
362
+ ```
363
+
364
+ When analyzing a GitHub file:
365
+ - The file is fetched directly via the GitHub API
366
+ - Only valid text files are processed (binary files are rejected)
367
+ - File size is capped to prevent unsafe or truncated analysis
368
+ - The explanation focuses on the file’s purpose, logic, and behavior
369
+
370
+ Input format must be:
371
+
372
+ ```bash
373
+ explainthisrepo owner/repo/path/to/file
374
+ ```
375
+
376
+ This is different from local file analysis:
377
+
378
+ ```bash
379
+ explainthisrepo ./path/to/file.py
380
+ ```
346
381
  ### Custom output
347
382
 
348
- - `--output`, `-o` → Specify output file or directory (default: `EXPLAIN.md`)
383
+ `--output`, `-o` → Specify output file or directory (default: `EXPLAIN.md`)
349
384
 
350
385
  Write to a specific file:
351
386
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "explainthisrepo",
3
- "version": "0.22.0",
3
+ "version": "0.23.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",