GitBrowser is a powerful command-line tool designed to navigate and interact with GitHub repositories directly from your terminal. Browse, view, download, and clone repositories with simplicity and efficiency.
- Repository Exploration: Browse repositories and their file structures with an intuitive interface
- Content Viewing: View files with syntax highlighting directly in your terminal
- Smart Downloads: Download individual files or entire directories while preserving structure
- Repository Cloning: Clone repositories with a single command
- Offline Detection: Automatically detects internet connectivity and provides appropriate options
- Multilingual Support: Full support for English and Portuguese (easily extensible)
- Beautiful Interface: Colorful, intuitive terminal user interface with rich formatting
- Pagination: Efficiently navigate through long lists of repositories and files
- Local Caching: Speeds up repeated operations by caching repository data
-
Viewing and downloading specific files: Watch Demo
-
Cloning an entire repository: Watch Demo
- Python: 3.8 or higher
- Required libraries:
requests: For HTTP requestsbeautifulsoup4: For HTML parsingcolorama: For terminal text stylingpygments: For code syntax highlightingrich: For enhanced terminal renderingtqdm: For progress barsclick: For command-line interface
# Install from PyPI
pip install gitbrowser
# Or install from source
git clone https://github.com/SimpleDioney/gitbrowser.git
cd gitbrowser
pip install -e .# Start the interactive browser
gitbrowser
# Or directly browse a specific user's repositories
gitbrowser browse USERNAME# List repositories for a specific user
gitbrowser list microsoft
# View a specific file from a repository
gitbrowser view microsoft/vscode README.md
# Download a specific file
gitbrowser download microsoft/vscode package.json
# Clone a repository
gitbrowser clone microsoft/vscode- Authentication: Use GitHub tokens for accessing private repositories and increased API limits
- Custom Themes: Choose from built-in themes or create your own
- Configurable Settings: Customize behavior through configuration files
- Path Completion: Tab completion for repository and file paths
- Favorites: Save frequently accessed repositories for quick access
# Clone the repository
git clone https://github.com/SimpleDioney/gitbrowser.git
cd gitbrowser
# Install development dependencies
pip install -e ".[dev]"
# Run tests
pytestgitbrowser/: Main packageapi/: GitHub API interactionui/: User interface componentsmodels/: Data modelsservices/: Core functionalityutils/: Helper utilities
Contributions are welcome! To contribute:
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature
- Make your changes and add tests
- Ensure all tests pass and code is formatted according to the style guide
- Submit a pull request
Distributed under the MIT License. See LICENSE for more information.
To support continued development and improvements, consider becoming a sponsor:
- Exploração de Repositórios: Navegue por repositórios e suas estruturas de arquivos com uma interface intuitiva
- Visualização de Conteúdo: Veja arquivos com destaque de sintaxe diretamente no seu terminal
- Downloads Inteligentes: Baixe arquivos individuais ou diretórios inteiros preservando a estrutura
- Clonagem de Repositórios: Clone repositórios com um único comando
- Detecção Offline: Detecta automaticamente a conectividade com a internet e fornece opções apropriadas
- Suporte Multilíngue: Suporte completo para inglês e português (facilmente extensível)
- Interface Bonita: Interface de usuário de terminal colorida e intuitiva com formatação rica
- Paginação: Navegue eficientemente por longas listas de repositórios e arquivos
- Cache Local: Acelera operações repetidas com cache de dados de repositório
-
Visualizando e baixando arquivos específicos: Assista à Demonstração
-
Clonando um repositório inteiro: Assista à Demonstração
- Python: 3.8 ou superior
- Bibliotecas necessárias:
requests: Para requisições HTTPbeautifulsoup4: Para análise de HTMLcolorama: Para estilização de texto no terminalpygments: Para destaque de sintaxe de códigorich: Para renderização aprimorada de terminaltqdm: Para barras de progressoclick: Para interface de linha de comando
# Instale do PyPI
pip install gitbrowser
# Ou instale a partir do código-fonte
git clone https://github.com/SimpleDioney/gitbrowser.git
cd gitbrowser
pip install -e .# Inicie o navegador interativo
gitbrowser
# Ou navegue diretamente nos repositórios de um usuário específico
gitbrowser browse NOME_USUARIO# Liste repositórios para um usuário específico
gitbrowser list microsoft
# Visualize um arquivo específico de um repositório
gitbrowser view microsoft/vscode README.md
# Baixe um arquivo específico
gitbrowser download microsoft/vscode package.json
# Clone um repositório
gitbrowser clone microsoft/vscode- Autenticação: Use tokens GitHub para acessar repositórios privados e aumentar limites de API
- Temas Personalizados: Escolha entre temas integrados ou crie o seu próprio
- Configurações Personalizáveis: Personalize o comportamento através de arquivos de configuração
- Completamento de Caminho: Preenchimento automático para caminhos de repositório e arquivo
- Favoritos: Salve repositórios acessados frequentemente para acesso rápido
# Clone o repositório
git clone https://github.com/SimpleDioney/gitbrowser.git
cd gitbrowser
# Instale as dependências de desenvolvimento
pip install -e ".[dev]"
# Execute testes
pytestgitbrowser/: Pacote principalapi/: Interação com a API do GitHubui/: Componentes da interface do usuáriomodels/: Modelos de dadosservices/: Funcionalidade principalutils/: Utilitários auxiliares
Contribuições são bem-vindas! Para contribuir:
- Faça um fork do repositório
- Crie uma branch para sua feature:
git checkout -b feature/minha-feature
- Faça suas alterações e adicione testes
- Certifique-se de que todos os testes passam e o código está formatado de acordo com o guia de estilo
- Envie um pull request
Distribuído sob a Licença MIT. Veja LICENSE para mais informações.
Para apoiar o desenvolvimento contínuo e melhorias, considere se tornar um patrocinador:
