Skip to main content

๐Ÿš€ Repo_Clone_System

Because typing the same clone location over and over again is a crime against productivity.

PyPI Version Python Versions License: MIT CI Tests Downloads

Repo_Clone_System is a professional, open-source Python CLI application designed to clone GitHub repositories while maintaining a smart memory of your workspace aliases, destination folders, and repository history. Launch repo from anywhere in your terminal!


๐Ÿ“ฝ๏ธ Interactive Terminal Preview

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ Repo_Clone_System v2.0.0                                     โ”‚
โ”‚ Type "help" to list commands or enter a GitHub URL.          โ”‚
โ”‚ Press Ctrl+C anytime to exit safely.                         โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

>

Shell-first Git-style hybrid CLI with prompt history, tab completion, direct GitHub URL auto-dispatch, and contextual sub-menus.


โœจ Features

  • ๐Ÿ’ผ Workspace Management Subsystem (repo workspace): Complete workspace isolation (Default, College, Office, Laptop, Personal, custom) with independent repositories, locations, aliases, settings, and statistics.
  • ๐Ÿ’ผ Multi-Profile Workspace Management: Switch profiles instantly (repo workspace switch <name>) with zero-restart hot-reloading.
  • ๐Ÿ”„ Sync Manager & Directory Synchronization: Configure default sync directories (repo workspace sync config <path>) supporting local folders, mapped drives, OneDrive, Dropbox, Google Drive, and custom directories.
  • ๐Ÿ”„ Incremental Exit Backups & 20-Backup Rotation: Automatically captures incremental backups on CLI exit if workspace changes are detected, keeping the 20 newest auto-backups while preserving manual exports indefinitely.
  • ๐Ÿ’ป Global Terminal Executable (repo): Run repo from any directory in your shell.
  • โšก CLI Subcommands: Execute direct actions like repo workspace, repo clone, repo repos, repo locations, repo alias, repo export, repo import, repo backups, repo config, repo doctor, repo memory, repo stats, repo update.
  • ๐ŸŽจ VS Codeโ€“Style Command Palette: Interactive palette with real-time prefix filtering and arrow key selection.
  • ๐Ÿ“ค Portable Export / Import: Easily transfer complete workspace configuration between computers (repo export / repo import).
  • ๐Ÿ”€ Smart Merge & Replace Import Modes:
    • Merge: Combines backup data with live memory, deduplicating repositories and locations.
    • Replace: Overwrites live memory state after creating an automatic timestamped pre-import safety backup.
  • ๐Ÿ“ Managed Backup Directory (repo backups): Dedicated Backups/ folder inside configuration directory storing interactive and automatic safety backups.
  • ๐Ÿท๏ธ Workspace Aliases: Assign shortcut names (work, learn, github) to frequently used directories for one-click cloning.
  • ๐Ÿ“ Smart Location Manager: Add, remove, rename, and verify saved clone destinations with automated missing folder cleanup.
  • ๐Ÿ“ฆ Repository Manager & Search: Track repository history with clone timestamps, fuzzy search (repo repos search react), and git reachability verification.
  • ๐Ÿฉบ System Doctor (repo doctor): Diagnostic health suite checking Git, Python, internet connection, GitHub reachability, and memory permissions.
  • โš™๏ธ Config Inspection: Inspect OS paths (repo config), open memory.json in default editor (--open), or view the config directory in file explorer (--folder).
  • ๐Ÿšช Safe Exit & Interruption Handling: Gracefully handles Ctrl+C and Ctrl+D/Ctrl+Z without showing tracebacks.

๐Ÿ“ฆ Storage & Backup Locations

Memory (memory.json), profiles, and managed backups are stored in your operating system's standard user configuration directory:

OS Memory Path Backups Directory
Windows %APPDATA%\RepoCloneSystem\memory.json %APPDATA%\RepoCloneSystem\Backups\
macOS ~/Library/Application Support/RepoCloneSystem/memory.json ~/Library/Application Support/RepoCloneSystem/Backups/
Linux ~/.config/repo-clone-system/memory.json ~/.config/repo-clone-system/Backups/

๐Ÿ“ฆ Installation

Production Installation (PyPI)

Install the official package via pip:

pip install repo-clone-system

Launch the CLI from any terminal:

repo

๐Ÿ’ผ Workspace Management Subsystem (repo workspace)

The Workspace Management Subsystem provides centralized control over backups, profiles, synchronization, system info, and cloud sync providers.

# Launch interactive Workspace Manager
repo workspace

# Direct Workspace Management Subcommands
repo workspace create <workspace_name>
repo workspace switch <workspace_name>
repo workspace rename <old_name> <new_name>
repo workspace remove <workspace_name>
repo workspace export [destination_folder_or_file]
repo workspace import [backup_file_path]

# Multi-Profile Management (Default, College, Office, Laptop, Personal, Custom)
repo workspace profile list
repo workspace profile switch <profile_name>
repo workspace profile create <profile_name>
repo workspace profile rename <old_name> <new_name>
repo workspace profile remove <profile_name>

# Sync Manager & Directory Synchronization
repo workspace sync config <sync_folder_path>
repo workspace sync export
repo workspace sync import
repo workspace sync status

# Backup Manager & Auto-Backup Rotation
repo workspace backup create
repo workspace backup restore
repo workspace backup list
repo workspace backup remove
repo workspace backup history

# Workspace Information & System Metrics
repo workspace info

๐Ÿ“ค Export & Import Usage

Export Configuration

Export your complete setup to a portable JSON backup file:

# Export to current directory with timestamped filename (e.g. workspace-backup-2026-08-05-18-42-10.json)
repo export

# Export to a custom backup directory (prompts to create folder if missing)
repo export D:\Backups

# Export to a specific file path
repo export "D:\Backups\my-setup-backup.json"

# View export history log
repo export history

Import Configuration

Import a configuration backup file interactively:

# Interactive mode (prompts for backup file path)
repo import

# Import specific backup file
repo import backup.json
repo import D:\Backups\my-setup-backup.json

Import Modes:

  • Merge: Combines repositories, locations, and aliases without creating duplicates.
  • Replace: Creates an automatic safety backup (auto-backup-before-import-*.json), then overwrites live memory.

Manage Backups

Browse and manage backups stored in the system Backups/ folder:

# Interactive backup browser (inspect backup details, version, schema)
repo backups

# Interactively select and remove a backup file
repo backups remove

# Display export history
repo backups history

โ–ถ๏ธ Command Reference

Command Subcommands / Flags Description Example
repo โ€” Opens interactive Command Palette repo
repo workspace create, switch, rename, remove, export, import, backup, sync, info Workspace Management Subsystem repo workspace info
repo clone โ€” Starts repository clone workflow repo clone
repo export [path], history Export complete configuration to JSON repo export D:\Backups
repo import [path] Import backup file (Merge or Replace) repo import backup.json
repo backups remove, history Browse managed backups & export history repo backups
repo repos add, remove, search <q>, verify Manage saved repositories & check reachability repo repos search react
repo locations add, remove, rename, verify Manage destination folders & cleanup missing repo locations verify
repo alias add <name> <path>, remove, rename Manage workspace shortcut aliases repo alias add work D:\Projects
repo memory backup, restore Storage metrics, backup creation & restore repo memory backup
repo config --open, --folder Inspect system paths, open editor or explorer repo config --open
repo doctor โ€” Run system health diagnostic checks repo doctor
repo stats โ€” Display memory statistics repo stats
repo update โ€” Query PyPI for version updates repo update
repo help โ€” Display command reference repo help
repo clear โ€” Reset memory history repo clear
repo exit โ€” Gracefully exit repo exit

๐Ÿ“ Repository Structure

Repo_Clone_System/
โ”‚
โ”œโ”€โ”€ .github/                      # GitHub workflows, templates, and dependabot
โ”‚   โ”œโ”€โ”€ ISSUE_TEMPLATE/
โ”‚   โ”œโ”€โ”€ DISCUSSION_TEMPLATE/
โ”‚   โ””โ”€โ”€ workflows/
โ”‚
โ”œโ”€โ”€ docs/                         # Developer & API documentation
โ”‚   โ””โ”€โ”€ index.md
โ”‚
โ”œโ”€โ”€ scripts/                      # Developer automation & pre-push scripts
โ”‚   โ”œโ”€โ”€ dev.py
โ”‚   โ”œโ”€โ”€ install_hooks.py
โ”‚   โ””โ”€โ”€ pre_push.py
โ”‚
โ”œโ”€โ”€ src/
โ”‚   โ””โ”€โ”€ repo_clone_system/        # Core package code
โ”‚       โ”œโ”€โ”€ core/                 # Git execution & path validation
โ”‚       โ”œโ”€โ”€ services/             # Workspace, Profile, Sync, Backup, Config, Location, Repo, Alias, Doctor services
โ”‚       โ”‚   โ””โ”€โ”€ sync_providers/   # LocalFolder & Cloud Sync Providers architecture
โ”‚       โ”œโ”€โ”€ storage/              # OS-dependent config path & profile-aware memory binding
โ”‚       โ””โ”€โ”€ ui/                   # Workspace UI menus, Command Palette & terminal interaction
โ”‚
โ”œโ”€โ”€ tests/                        # Pytest unit test suite (43 tests)
โ”œโ”€โ”€ app.py                        # Dev launcher
โ”œโ”€โ”€ pyproject.toml                # PEP 621 packaging metadata
โ””โ”€โ”€ README.md                     # Package documentation

๐Ÿ—บ๏ธ Roadmap

  • Modern src/ layout & PyPI distribution packaging (v0.1.0)
  • VS Code-style Command Palette with live prefix filtering
  • CLI Subcommands (repo clone, repo repos, repo stats, etc.)
  • Global interruption handling (Ctrl+C / Ctrl+D)
  • Workspace Management Subsystem & Multi-Profile Workspaces (v0.2.0)
  • Workspace Sync Manager & Pluggable Provider Architecture (v0.2.0)
  • Automatic Exit Incremental Backups & 20-Backup Rotation (v0.2.0)
  • Workspace Aliases & Location Manager (v0.2.0)
  • Portable Import / Export Backup System (v0.2.0)
  • System Doctor & Diagnostic Suite (v0.2.0)
  • Repository Fuzzy Search & Reachability Verification (v0.2.0)
  • SSH & Private Repository authentication helper
  • GitHub CLI (gh) integration for automatic fork-and-clone

๐Ÿš€ Automated Publishing

Releases are published to PyPI automatically via PyPI Trusted Publishing (OIDC).

  • No API Keys or Secrets Required: Authentication uses short-lived OpenID Connect (OIDC) JWT tokens.
  • Automatic Releases: Publishing triggers automatically whenever a new GitHub Release is published.

๐Ÿค Contributing

Contributions are welcome! Please read CONTRIBUTING.md and our CODE_OF_CONDUCT.md before submitting a pull request.

git clone https://github.com/Mr-Anonymous-Guy/Repo_Cone_System.git
cd Repo_Cone_System
pip install -e ".[dev]"
python scripts/dev.py

๐Ÿ“œ License

Distributed under the MIT License.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

repo_clone_system-0.3.0.tar.gz (52.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

repo_clone_system-0.3.0-py3-none-any.whl (52.5 kB view details)

Uploaded Python 3

File details

Details for the file repo_clone_system-0.3.0.tar.gz.

File metadata

  • Download URL: repo_clone_system-0.3.0.tar.gz
  • Upload date:
  • Size: 52.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for repo_clone_system-0.3.0.tar.gz
Algorithm Hash digest
SHA256 ce2827fd0655fb9029764fa6e6cc6cfb0a6a810d7c36f769e6423bb1152cd493
MD5 16c72b5763d0bdd5c9329abad7983eae
BLAKE2b-256 6ec576b3a8d4a18ba392bb6cfa08936c48033a3d9b549e059afa72a051f29aca

See more details on using hashes here.

Provenance

The following attestation bundles were made for repo_clone_system-0.3.0.tar.gz:

Publisher: publish.yml on Mr-Anonymous-Guy/Repo_Cone_System

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file repo_clone_system-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for repo_clone_system-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 50ffde284a5476188b948bbf4b8f3f6ca6fffb37f4ce2e61aa6842af9bea6e02
MD5 b21e801fa6ebb111c9bc657a189ba3d9
BLAKE2b-256 7e86b24acd6584ecf89aced1fea55220bb8fa994c6a353c607fffe1660039aff

See more details on using hashes here.

Provenance

The following attestation bundles were made for repo_clone_system-0.3.0-py3-none-any.whl:

Publisher: publish.yml on Mr-Anonymous-Guy/Repo_Cone_System

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page