๐ Repo_Clone_System
Because typing the same clone location over and over again is a crime against productivity.
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): Runrepofrom 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): DedicatedBackups/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), openmemory.jsonin 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce2827fd0655fb9029764fa6e6cc6cfb0a6a810d7c36f769e6423bb1152cd493
|
|
| MD5 |
16c72b5763d0bdd5c9329abad7983eae
|
|
| BLAKE2b-256 |
6ec576b3a8d4a18ba392bb6cfa08936c48033a3d9b549e059afa72a051f29aca
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
repo_clone_system-0.3.0.tar.gz -
Subject digest:
ce2827fd0655fb9029764fa6e6cc6cfb0a6a810d7c36f769e6423bb1152cd493 - Sigstore transparency entry: 2343601063
- Sigstore integration time:
-
Permalink:
Mr-Anonymous-Guy/Repo_Cone_System@a7de893b2c148737e5006c1b1c3269b76ba19226 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/Mr-Anonymous-Guy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a7de893b2c148737e5006c1b1c3269b76ba19226 -
Trigger Event:
release
-
Statement type:
File details
Details for the file repo_clone_system-0.3.0-py3-none-any.whl.
File metadata
- Download URL: repo_clone_system-0.3.0-py3-none-any.whl
- Upload date:
- Size: 52.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50ffde284a5476188b948bbf4b8f3f6ca6fffb37f4ce2e61aa6842af9bea6e02
|
|
| MD5 |
b21e801fa6ebb111c9bc657a189ba3d9
|
|
| BLAKE2b-256 |
7e86b24acd6584ecf89aced1fea55220bb8fa994c6a353c607fffe1660039aff
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
repo_clone_system-0.3.0-py3-none-any.whl -
Subject digest:
50ffde284a5476188b948bbf4b8f3f6ca6fffb37f4ce2e61aa6842af9bea6e02 - Sigstore transparency entry: 2343601387
- Sigstore integration time:
-
Permalink:
Mr-Anonymous-Guy/Repo_Cone_System@a7de893b2c148737e5006c1b1c3269b76ba19226 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/Mr-Anonymous-Guy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a7de893b2c148737e5006c1b1c3269b76ba19226 -
Trigger Event:
release
-
Statement type: