Releases: calchiwo/ExplainThisRepo
ExplainThisRepo v0.3.1
Maintenance realease
What's Changed
- chore(deps): bump requests from 2.31.0 to 2.32.5 in #127
- chore(deps): bump google-generativeai from 0.5.4 to 0.8.6 in #128
- chore(deps): bump python-dotenv from 1.0.1 to 1.2.1 in #129
- chore(deps): bump rich from 13.7.1 to 14.3.2 in #130
This release improves stability and keep dependencies up to date
Full Changelog: v0.3.0...v0.3.1
ExplainThisRepo v0.3.0
What Changed
- Replaced manual sys.argv length-based parsing with argparse
- Introduced a mutually exclusive group for --quick, --simple, --detailed, and --stack
- Enabled order-independent CLI flags
- Removed brittle argument-length branching logic
- Standardized help output using argparse’s native system
- Added structured examples in CLI help output
- Improved repository argument validation with parser.error()
- Replaced silent repo reader failure with visible warning
- Cleaned up CLI control flow and validation structure
- Refactored CLI orchestration for long-term extensibility
What Was Fixed
- Fixed incorrect --doctor exit code logic
- Doctor now fails properly if Gemini endpoint is unreachable
- Prevented false-positive health checks
- Removed hidden error swallowing during repository file reads
- Eliminated flag parsing edge cases caused by positional assumptions
Full Changelog: v0.2.4...v0.3.0
ExplainThisRepo v0.2.4
This release focuses on developer workflow, project tooling, and reliability. No user-facing behavior changed. The goal was to make the project easier to develop, test, and maintain.
What improved
- Developer tooling foundation
- Added requirements-dev.txt
- Separated runtime dependencies from development tools
- Standardized local setup for contributors
Code quality workflow
- Linting support with pyflakes
- Formatting support with black
- Consistent structure for maintaining code style
Testing readiness
- Added pytest and pytest-cov
- Project is now ready for proper test coverage going forward
Packaging and release workflow
- Added support for build and twine
- Makes packaging and publishing predictable and repeatable
Makefile upgrades
-
Expanded Makefile to cover:
- setup
- lint
- format
- doctor
- build
- publish
- clean
-
Reduced manual steps in development and releases
Why this matters
This version strengthens the engineering backbone of ExplainThisRepo. Future features will ship faster, with better quality control and a smoother contributor experience.
What's Changed
- feat(python): Add URL and SSH repo input support by @calchiwo in #101
- Clarified repository input methods by @calchiwo in #102
- Enhance README with flexible repository input details by @calchiwo in #103
- Updated usage examples for ExplainThisRepo to use 'owner/repo' format. by @calchiwo in #104
- Updated contributing guidelines for clarity and consistency. by @calchiwo in #105
- chore: enhance Makefile with lint, format, doctor and release workflow. by @calchiwo in #106
Full Changelog: v0.2.3...v0.2.4
ExplainThisRepo v0.2.3
Improvement
- Input parsing layer rewritten for flexibility
- Strict GitHub domain validation added
- Query strings and URL fragments ignored
- Safe
.gitsuffix handling - SSH clone URL support
Repo input is now flexible. The CLI accepts GitHub link formats, not just owner/repo.
Newly supported
-
Full URLs
https://github.com/owner/repo -
URLs without scheme
github.com/owner/repo -
Issue and PR links
https://github.com/owner/repo/issues/123 -
URLs with query or fragment
?tab=readme,#readme -
SSH clone URLs
git@github.com:owner/repo.git -
Common
http/httpstypo cases
All inputs normalize internally to:
owner/repo
Technical
- Input parser upgraded
- Query and fragment stripped
.gitsuffix handled safely- Strict GitHub domain validation added
No change to engine, modes, or output.
Pure CLI usability upgrade.
Full Changelog: v0.2.2...v0.2.3
ExplainThisRepo v0.2.2
What's Changed
- Cleaner help banner output
- Tool name, version, and description now shown clearly
- Help command discoverability improved
Full Changelog: v0.2.1...v0.2.2
v0.2.1
ExplainThisRepo just leveled up from “AI that explains repos” → tool that understands repos.
This release introduces --stack, a deterministic tech stack detector for both the Node (npm) and Python (PyPI) CLIs.
New: --stack
Run:
explainthisrepo owner/repo --stackYou now get a structured stack breakdown like:
Stack summary for vercel/next.js
Languages:
- TypeScript
- JavaScript
Frameworks/Libraries:
- React
- Next.js
Tooling:
- ESLint
- Jest
Infrastructure / Deploy:
- Docker
- GitHub Actions
How it works:
--stack is not AI guessing.
It uses static repo signal analysis:
File extensions → languages
package.json, pyproject.toml, go.mod, etc → frameworks & tooling
Lockfiles → package managers
Config files → infra & deployment
GitHub Languages API → byte-level language detection
--
What changed
- Added stack_detector.py
- Added stack_printer.py
- Extended repo_reader to return tree + key files
- Added GitHub Languages API integration
- Added --stack flag (mutually exclusive with other modes)
Fixes:
- Fixed dataclass mutable default bug in Python ReadResult
- Prevented shared state across instances
- Hardened error handling for stack mode fetches
- Maintained backward compatibility with existing CLI flows
No impact to --quick, --simple, or default EXPLAIN.md generation
Why this matters:
ExplainThisRepo is now:
Not just a repo explainer
But a repo analysis CLI
This pushes the tool closer to developer infrastructure, not chatbot tooling.
Full Changelog: v0.2.0...v0.2.1
ExplainThisRepo v0.2.0
What’s new
Added --simple mode (2-step pipeline)
-
Generates the full repo explanation internally
-
Summarizes it into simple “Key points from the repo” format
-
Prints only the simple output (no EXPLAIN.md)
Usage
simple summary (no file)
explainthisrepo owner/repo --simpleone-sentence definition
explainthisrepo owner/repo --quickfull explanation to EXPLAIN.md
explainthisrepo owner/repo
explainthisrepo owner/repo --detailedInstall
pip install -U explainthisrepoFull Changelog: v0.1.9...v0.2.0
ExplainThisRepo v0.1.9
What's Changed
Python package metadata update:
- added classifiers in pyproject.toml (proper PyPI metadata)
- improved README badges (PyPI + npm + Node) in #68
- added MIT license badges in #69
No CLI behavior changes.
Full Changelog: v0.1.8...v0.1.9
ExplainThisRepo v0.1.8
v0.1.8 - PyPI: Repo code reading
This release upgrades the PyPI version of ExplainThisRepo from relying on README to actual repo understanding.
What changed
- Added repo reader: fetches repo structure + key files
- Explanations now include:
- repo tree context
- key file snippets (signal files)
- Better output even when README is weak or missing
Usage
pip install -U explainthisrepo
explainthisrepo owner/repo --detailedNotes
- Quick mode remains unchanged
- Repo reader failures do not crash the CLI (safe fallback)
Full Changelog: v0.1.7...v0.1.8
ExplainThisRepo v0.1.7
Changes
Refactor: moved --quick prompt logic out of cli.py into prompt.py
Cleaner separation of concerns:
cli.py = CLI flow only
prompt.py = prompt definitions only
Why
This makes the codebase easier to maintain and easier to extend (new modes/flags won’t clutter CLI logic).
What's Changed
- docs: add bug report issue templates by @calchiwo in #65
- docs: add feature request issue templates by @calchiwo in #66
- ci: add github actions build checks by @calchiwo in #67
Full Changelog: v0.1.6...v0.1.7