Skip to content

ghops Documentation

Welcome to the documentation for ghops - a powerful, modular CLI tool for managing GitHub repositories at scale.

What is ghops?

ghops (GitHub Operations) is a robust command-line tool that helps developers and organizations manage multiple GitHub repositories efficiently. Whether you're maintaining dozens of open source projects or managing repositories across a team, ghops provides automation, insights, and quality tooling to streamline your workflow.

๐ŸŽฏ Key Features

๐Ÿ—๏ธ Robust Architecture

  • Modular Design: Clean separation of concerns with dedicated command modules
  • Extensible: Easy to add new commands and functionality
  • Well-Tested: 86% test coverage with 138 comprehensive unit and integration tests
  • Error Resilient: Graceful handling of network failures and edge cases

๐Ÿš€ Repository Management

  • Clone all your GitHub repositories with a single command
  • Update multiple repositories simultaneously with smart conflict resolution
  • Track status across all your projects with detailed reporting and progress bars
  • Flexible repository discovery with configurable ignore patterns

๐Ÿ“ฆ PyPI Integration

  • Automatically detect Python packages from pyproject.toml, setup.py, and setup.cfg
  • Track PyPI publishing status and version information with real-time checking
  • Identify outdated packages that need updates
  • Performance optimized with optional checking for faster operations

๐Ÿ“ฑ Social Media Automation

  • Template-driven content generation for Twitter, LinkedIn, and Mastodon
  • Smart sampling of repositories with configurable filters
  • Dry-run support to preview posts before publishing
  • Rate limiting and posting frequency controls

๐ŸŒ GitHub Pages Detection

  • Multi-method detection for Jekyll, MkDocs, Sphinx, and custom configurations
  • Automatically build GitHub Pages URLs from repository metadata
  • Track which repositories have active documentation sites

๐Ÿ“„ License Management

  • GitHub API integration for license template fetching
  • Bulk license addition across multiple repositories
  • Template customization with automatic placeholder replacement
  • Support for all major open source licenses

โš™๏ธ Configuration Management

  • Support for both JSON and TOML configuration formats
  • Environment variable overrides for all settings
  • Intelligent merging of defaults, file settings, and overrides
  • Built-in configuration template generation

โšก Performance & Quality

  • Fast operations with real-time progress indicators
  • Configurable filtering and performance options
  • Rich console output with detailed statistics
  • Comprehensive error handling and logging

๐Ÿš€ Quick Start

# Install ghops
pip install ghops

# Generate configuration with examples
ghops config generate

# Clone all your repositories
ghops get

# Check status of all repositories
ghops status -r

# Sample repositories for social media (dry run)
ghops social sample --size 3
ghops social post --dry-run

Use Cases

Open Source Maintainers

  • Track all your projects in one place
  • Automate social media promotion of releases
  • Monitor PyPI package status across projects
  • Keep licenses up to date

Development Teams

  • Synchronize repository updates across team members
  • Track project health and activity
  • Maintain consistent licensing and documentation

Individual Developers

  • Organize and monitor personal projects
  • Automate promotion of your work
  • Track your open source contributions

Getting Started

  1. Installation - Install and configure ghops
  2. Basic Usage - Learn the core commands
  3. Configuration - Set up your preferences
  4. Advanced Features - Explore PyPI and social media features

Documentation Sections

Recent Updates

Version 0.6.0 ๐ŸŽ‰

Major Architecture & Quality Overhaul - This release represents a complete transformation of ghops into a robust, enterprise-ready tool.

๐Ÿ—๏ธ Complete Architecture Redesign

  • โœ… Modular Command Structure: Separated all commands into dedicated modules (ghops/commands/)
  • โœ… Clean Separation of Concerns: Utilities, configuration, and API integrations properly separated
  • โœ… Extensible Design: Easy to add new commands and features without breaking existing functionality
  • โœ… Import Optimization: Eliminated circular dependencies and improved startup time

๐Ÿงช Comprehensive Testing Framework

  • โœ… 138 Tests: Complete test coverage for all functionality
  • โœ… 86% Code Coverage: Robust testing of edge cases and error conditions
  • โœ… Unit & Integration Tests: Both isolated component testing and end-to-end workflows
  • โœ… Mock Testing: Reliable testing of external API interactions
  • โœ… Error Condition Testing: Comprehensive failure scenario coverage

โšก Performance & Reliability Enhancements

  • โœ… Optional API Checks: --no-pypi-check and --no-pages-check for faster operations
  • โœ… Robust Error Handling: Graceful handling of network failures and edge cases
  • โœ… Progress Indicators: Real-time progress bars for long-running operations
  • โœ… Concurrent Operations: Configurable parallel processing for better performance

๐Ÿ“ฑ Advanced Social Media Framework

  • โœ… Template-Driven Content: Customizable post templates for different content types
  • โœ… Multi-Platform Support: Twitter, LinkedIn, and Mastodon integration
  • โœ… Smart Sampling: Configurable repository filtering and random selection
  • โœ… Dry-Run Support: Preview posts before publishing
  • โœ… Rate Limiting: Built-in posting frequency controls and daily limits

โš™๏ธ Enhanced Configuration System

  • โœ… Multiple Formats: Support for both JSON and TOML configuration files
  • โœ… Environment Overrides: All settings controllable via environment variables
  • โœ… Intelligent Merging: Proper precedence of defaults, files, and overrides
  • โœ… Example Generation: ghops config generate creates comprehensive examples

๐Ÿ“„ Robust License Management

  • โœ… GitHub API Integration: Direct fetching of license templates from GitHub
  • โœ… Template Customization: Automatic placeholder replacement for author details
  • โœ… Bulk Operations: Add licenses to multiple repositories efficiently
  • โœ… All Major Licenses: Support for MIT, Apache, GPL, and many others

๐ŸŒ Enhanced GitHub Pages Detection

  • โœ… Multi-Method Detection: Scans for Jekyll, MkDocs, Sphinx, and custom configurations
  • โœ… URL Construction: Automatically builds Pages URLs from repository metadata
  • โœ… Documentation Tracking: Monitor which projects have active documentation

๐Ÿ“ฆ Improved PyPI Integration

  • โœ… Smart Package Detection: Enhanced scanning of pyproject.toml, setup.py, setup.cfg
  • โœ… Version Comparison: Track local vs published version differences
  • โœ… Performance Options: Optional PyPI checking for faster status operations
  • โœ… Error Resilience: Graceful handling of PyPI API issues

Version 0.5.x (Legacy)

  • โœ… PyPI Integration: Automatic detection and tracking of Python packages
  • โœ… Social Media Framework: Generate and post content about your projects
  • โœ… Configuration System: Flexible configuration with example generation
  • โœ… Performance Improvements: Progress bars and faster operations
  • โœ… Enhanced Status: Rich status reporting with PyPI and GitHub Pages info

Community and Support

License

This project is licensed under the MIT License. See the LICENSE file for details.


Ready to streamline your GitHub workflow? Get started with the installation guide!