A CLI tool for managing GitHub repositories and generating digest summaries, implemented with Typer.
- Repository Digest Generation: Creates digests of repositories and stores them in the
digests/
directory. - Repository Management: Add, remove, update, or list repositories stored locally in the
repositories/
directory. - Custom Filtering: Uses an LLM (Language Learning Model) for advanced filtering of repository contents based on user prompts.
- HTML Reports: Generates user-friendly HTML reports summarizing repository statistics and digest contents.
- Python 3.12 or above
git
installed and accessible in your system path
-
Clone the repository:
git clone https://github.com/<your-username>/repo-digest-tool.git cd repo-digest-tool
-
Install dependencies:
pip install -r requirements.txt
-
Optional: Install as a package for easier access:
pip install -e .
Here’s a quick overview of the commands:
repo add <repo_url> [--branch <branch>] [--force]
- Adds a repository to local storage.
- Example:
repo add https://github.com/honojs/hono repo add https://github.com/honojs/hono --branch develop --force
repo remove <repo_url>
- Removes a repository from local storage.
- Example:
repo remove https://github.com/honojs/hono
repo list
- Lists all repositories stored locally.
- Example:
repo list
repo digest <repo_url> [--branch <branch>] [--prompt <prompt>] [--force]
- Generates a digest for a repository. Optional: specify a branch or a custom LLM filtering prompt.
- Example:
repo digest https://github.com/honojs/hono repo digest https://github.com/honojs/hono --prompt "Focus on APIs"
repo clear [--all | --author <author>]
- Clears repositories from local storage. Either all or selectively by author.
- Example:
repo clear --all repo clear --author honojs
repo update <repo_url>
- Updates a repository by pulling the latest changes.
- Example:
repo update https://github.com/honojs/hono
-
Basic Functionality:
- Repository management (
add
,remove
,list
). - Digest generation.
- Repository management (
-
Digest Extensions:
- LLM filtering with custom prompts.
- HTML report generation.
-
Testing and Documentation:
- Unit tests for all commands.
- Comprehensive documentation.
-
Future Enhancements:
- Multi-language report support.
- Integration with other platforms (e.g., GitLab).
This project is licensed under the MIT License. See the LICENSE file for details.
Contributions are welcome! Please fork the repository and submit a pull request.