DEV Community

Cover image for Simplify GitHub Workflow Management with My-GitHub-Manager
Shreyas Ghanekar
Shreyas Ghanekar

Posted on

Simplify GitHub Workflow Management with My-GitHub-Manager

Simplify GitHub Workflow Management with My-GitHub-Manager

Managing repositories, collaborators, and actions on GitHub can be a daunting task, especially when you have multiple projects to juggle. Introducing my-github-manager, a robust command-line tool designed to streamline your GitHub workflows with ease and efficiency.

Why My-GitHub-Manager?

GitHub provides a feature-rich platform for developers, but managing repositories programmatically can save a significant amount of time, especially for repetitive tasks. My-GitHub-Manager leverages the GitHub API to provide a seamless experience for repository management, collaborator tracking, workflow monitoring, and more.

Key Features:

  • List Users with Read Access: Identify collaborators who have read access to a repository.
  • List Repository Packages: Quickly fetch the packages associated with a repository.
  • Monitor Workflows and Actions: Retrieve workflows and actions to track automation within your repository.
  • Track Repository Projects: Access repository projects to keep an overview of ongoing development efforts.
  • Manage Discussions, Issues, and Pull Requests: Stay on top of repository activity with detailed information about discussions, issues, and pull requests.

  • Commit History: Review commit history to ensure consistent development practices.

  • Repository Invitations and Emails: Easily manage repository invitations and associated email addresses.

  • User Management: Follow users, list public repositories of any user, and fetch detailed profile data.

Getting Started

Installation

You can install my-github-manager globally using npm:

npm install -g my-github-manager
Enter fullscreen mode Exit fullscreen mode

Prerequisites

GitHub Personal Access Token (PAT): Ensure you have a PAT with the following scopes:

repo

repo:status
repo_deployment
public_repo
repo:invite
security_events
read:user
user:email

You can create a PAT by navigating to your GitHub Developer Settings.

jq: Install jq for parsing JSON responses:

sudo apt-get install jq  # For Debian/Ubuntu
brew install jq          # For macOS
Enter fullscreen mode Exit fullscreen mode

Usage

Run the tool with:

my-github-manager

The tool will prompt you to enter your GitHub username and PAT for authentication. Once authenticated, you can navigate through the interactive menu to perform various actions.

Highlighted Commands

List Collaborators with Read Access
Identify collaborators with pull access to your repository:

my-github-manager
Select "List users with read access"

Fetch Repository Packages

List all packages in a repository:

my-github-manager
Select "List packages in the repository"

Monitor Workflows and Actions

Retrieve workflows and actions for automation insights:

my-github-manager
Select "List workflows" or "List actions"

Manage Repository Discussions
Fetch and view repository discussions to stay updated:

my-github-manager
Select "List discussions"

Advanced Error Handling and Retry Mechanism

My-GitHub-Manager ensures robust error handling. For example, if a request fails due to an incorrect repository name or an expired PAT, the tool prompts you to retry the operation with corrected inputs.

Why Developers Love It

  • Interactive Menu: Navigate through repository management tasks effortlessly.
  • Error Feedback: Receive detailed error messages with actionable suggestions.

Customizable: Easily extend the script to add more GitHub API endpoints.

Open Source and Contributions

This project is open source and available on GitHub. Contributions are welcome! Feel free to raise issues, suggest features, or submit pull requests.

Conclusion

My-GitHub-Manager is your go-to tool for simplifying GitHub management tasks. With its interactive features and seamless integration with the GitHub API, it saves time and boosts productivity for developers.

Try my-github-manager today and revolutionize the way you manage your GitHub repositories!

Top comments (0)