Skip to content

Knuckles-Team/repository-manager

Repository files navigation

Repository Manager

PyPI - Version PyPI - Downloads GitHub Repo stars GitHub forks GitHub contributors PyPI - License GitHub

GitHub last commit (by committer) GitHub pull requests GitHub closed pull requests GitHub issues

GitHub top language GitHub language count GitHub repo size GitHub repo file count (file type) PyPI - Wheel PyPI - Implementation

Version: 1.0.35

Manage your Git projects

Run all Git supported tasks using Git Actions command

Run as an MCP Server for Agentic AI!

Using an an MCP Server:

AI Prompt:

Clone all the git projects located in the file "/home/genius/Development/repositories-list/repositories.txt" to my "/home/genius/Development" folder.
Afterwards, pull all the projects located in the "/home/genius/Development" repository folder.

AI Response:

All projects in "/home/genius/Development/repositories-list/repositories.txt" have been cloned to "/home/genius/Development"
and all projects in "/home/genius/Development" and been pulled from the repositories. Let me know if you need any further actions! 🚀.

This repository is actively maintained - Contributions are welcome!

Usage:
Short Flag Long Flag Description
-h --help See Usage
-b --default-branch Checkout default branch
-c --clone Clone projects specified
-d --directory Directory to clone/pull projects
-f --file File with repository links
-p --pull Pull projects in parent directory
-r --repositories Comma separated Git URLs
-t --threads Number of parallel threads - Default 4
Example:

Use in CLI

repository-manager \
    --clone  \
    --pull  \
    --directory '/home/user/Downloads'  \
    --file '/home/user/Downloads/repositories.txt'  \
    --repositories 'https://github.com/Knucklessg1/media-downloader,https://github.com/Knucklessg1/genius-bot' \
    --threads 8

Use in Python

from repository_manager import Git

gitlab = Git()

gitlab.set_repository_directory("<directory>")

gitlab.set_threads(threads=8)

gitlab.set_git_projects("<projects>")

gitlab.set_default_branch(set_to_default_branch=True)

gitlab.clone_projects_in_parallel()

gitlab.pull_projects_in_parallel()

Use with AI

Deploy MCP Server as a Service

docker pull knucklessg1/repository-manager:latest

Modify the compose.yml

services:
  repository-manager-mcp:
    image: knucklessg1/repository-manager:latest
    volumes:
      - development:/root/Development
    environment:
      - HOST=0.0.0.0
      - PORT=8001
    ports:
      - 8001:8001

Configure mcp.json

{
  "mcpServers": {
    "repository_manager": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "repository-manager",
        "repository-manager-mcp"
      ],
      "env": {
        "REPOSITORY_DIRECTORY": "/home/user/Development/",            // Optional - Can be specified at prompt
        "THREADS": "12",                                              // Optional - Can be specified at prompt
        "DEFAULT_BRANCH": "True",                                     // Optional - Can be specified at prompt
        "PROJECTS_FILE": "/home/user/Development/repositories.txt"    // Optional - Can be specified at prompt
      },
      "timeout": 300000
    }
  }
}
Installation Instructions:

Install Python Package

python -m pip install repository-manager

Geniusbot Application

Use with a GUI through Geniusbot

Visit our GitHub for more information

Installation Instructions with Geniusbot:

Install Python Package

python -m pip install geniusbot
Repository Owners:

GitHub followers GitHub User's stars

About

Manage your git repositories. Now supports Agentic AI MCP Server Integration!

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published