DEV Community

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

Posted on

1

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!

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (1)

Collapse
 
tyler36 profile image
tyler36 •

Thank you for the article.

This project is open source and available on GitHub.

github.com/ShreyashPG/my-github-ma... displays as 404.

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more

đź‘‹ Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay