Click the green "Use this template" button at the top of the page, then choose "Create a new repository".
This will create your own copy of this project, which you can modify freely — no need to fork!
A tool that allows users to duplicate GitHub repositories with an interactive menu. This tool is designed for easily creating new projects from template repositories.
-
GitHub CLI: This tool requires GitHub CLI (gh) for authentication and repository creation
GitHub CLI is the official command-line tool maintained by GitHub. It's recommended as the most secure and convenient way to interact with GitHub repositories.
Install GitHub CLI:
# For Ubuntu/Debian sudo apt install gh# For macOS with Homebrew brew install gh# For Windows # Download from: https://github.com/cli/cli/releases/latest
# For other Linux distributions # See: https://github.com/cli/cli/blob/trunk/docs/install_linux.md
-
Authenticate with GitHub CLI:
gh auth login
This will guide you through a secure OAuth-based authentication process. GitHub CLI uses secure authentication methods that don't require you to manually handle tokens or passwords.
This is the easiest way to use the tool - no Python or conda environment needed!
-
Download the latest release:
- 📥 Download Executable (Linux/macOS/WSL) (5.8 MB)
- For Linux/macOS: Use directly
- For Windows: Use WSL (Windows Subsystem for Linux) to run the Linux executable. No native Windows executable will be provided.
- 📥 Download Executable (Linux/macOS/WSL) (5.8 MB)
-
Move the downloaded executable to the directory where you want to duplicate the template repository
# For Linux/macOS - Example: if you want to create a new project in ~/projects/ mv ~/Downloads/github_repo_duplicator ~/projects/ cd ~/projects/ # For Windows WSL users - Example: accessing files from Windows Downloads folder # (Assuming your project folder is in your WSL home directory) cp /mnt/c/Users/YourUsername/Downloads/github_repo_duplicator ~/projects/ cd ~/projects/
-
Run the executable:
For Linux/macOS:
chmod +x github_repo_duplicator ./github_repo_duplicator
For Windows (WSL required):
# Inside your WSL terminal chmod +x github_repo_duplicator ./github_repo_duplicatorNote for Windows users: WSL is required to run this tool on Windows. If you don't have WSL set up yet, see Microsoft's WSL installation guide
Optional: Install the executable globally to run from anywhere:
chmod +x install_standalone.sh ./install_standalone.sh
This script will help you install the executable in your PATH. So, you can run it from anywhere.
-
For Windows users (WSL required):
# Inside your WSL terminal chmod +x github_repo_duplicator ./github_repo_duplicatorNote for Windows users: WSL is required to run this tool on Windows. If you don't have WSL set up yet, see Microsoft's WSL installation guide
# Clone the repository
git clone https://github.com/0-mostafa-rezaee-0/GitHub_Repo_Duplicator_for_Templates.git
# Change to the project directory
cd GitHub_Repo_Duplicator_for_Templates
# Set up and activate conda environment
conda env create -f environment/environment.yml
conda activate duplicator
# Install the package
pip install -e .
# To use the tool:
# 1. Navigate to the directory where you want to duplicate the template
# 2. Run the command (only works while conda environment is activated)
cd /path/to/your/target/directory
github-repo-duplicator
# When you're done using the tool, deactivate the conda environment
conda deactivate# Clone the repository
git clone https://github.com/0-mostafa-rezaee-0/GitHub_Repo_Duplicator_for_Templates.git
# Navigate to the directory where you want to duplicate the template
cd /path/to/your/target/directory
# Run the script
python3 /path/to/GitHub_Repo_Duplicator_for_Templates/scripts/run.pyIf you want to modify the list of template repositories, edit the get_default_repositories function in src/github_repo_duplicator/duplicator.py:
def get_default_repositories() -> List[str]:
return [
"https://github.com/0-mostafa-rezaee-0/0-Mostafa-Rezaee-0.git",
"https://github.com/0-mostafa-rezaee-0/Resume_CV_ATS-Friendly.git",
"https://github.com/0-mostafa-rezaee-0/GitHub_Repo_Duplicator_for_Templates.git",
"https://github.com/0-mostafa-rezaee-0/Docker_for_Data_Science_Projects.git",
"https://github.com/0-mostafa-rezaee-0/ML_API_with_FastAPI_and_Docker.git",
"https://github.com/0-mostafa-rezaee-0/ML_API_with_PostgreSQL_Integration.git",
"https://github.com/0-mostafa-rezaee-0/Batch_LLM_Inference_with_Ray_Data_LLM.git",
"https://github.com/0-mostafa-rezaee-0/SHG__Second_Harmonic_Generation.git",
"https://github.com/0-mostafa-rezaee-0/FORTRAN_Tutorial.git"
]-
GitHub Profile Template:
- Professional GitHub profile README template with skills table
- Customizable sections for your experience and projects
- Well-organized layout with modern formatting
- Perfect for showcasing your technical expertise
-
Resume CV ATS-Friendly:
- ATS-optimized resume template for technical roles
- Modern and clean design that passes automated screening
- Includes font strategy recommendations
- Detailed guidance for tech industry applications
-
GitHub Repo Duplicator for Templates:
- This template itself - allows you to create your own template duplicator
- Secure authentication via GitHub CLI
- Interactive CLI for easy template selection
-
Docker for Data Science Projects:
- A Docker-based alternative to Conda/venv for data science projects
- Uses Docker for reproducible development environments
- Includes Dockerfile and docker-compose.yml configuration
- Pre-configured directory structure (data, notebooks, scripts, figures)
- Perfect for teams that prefer containerization over traditional virtual environments
-
ML API with FastAPI and Docker:
- Create machine learning APIs with FastAPI framework
- Docker containerization for deployment
- Production-ready project structure
- Includes testing and documentation setup
-
ML API with PostgreSQL Integration:
- Build ML APIs with database integration
- PostgreSQL database configuration
- Sample models and database migration scripts
- Includes testing with database fixtures
-
Batch LLM Inference with Ray Data:
- Framework for processing large datasets with LLMs
- Parallel processing with Ray framework
- Scalable architecture for batch inference
- Optimized for performance with large language models
-
Second Harmonic Generation (SHG):
- Scientific computing template for optical research
- Simulation tools for nonlinear optics
- Visualization components for research output
- Academic-focused project structure
-
FORTRAN Tutorial:
- Educational template for FORTRAN programming
- Step-by-step examples and exercises
- Scientific computing focus
- Legacy code integration techniques
You can add your own template repositories to the list by modifying the get_default_repositories function as shown in the Developers section.
- Interactive menu to select template repositories:
- GitHub Profile Template: Professional GitHub profile README with skills table
- Resume CV ATS-Friendly: Resume template optimized for applicant tracking systems
- GitHub Repo Duplicator: This template itself - for creating template duplicators
- Docker for Data Science Projects: A Docker-based alternative to Conda/venv
- ML API with FastAPI and Docker: Template for creating ML APIs with FastAPI
- ML API with PostgreSQL Integration: Template for ML APIs with database integration
- Batch LLM Inference with Ray Data: Framework for processing data with LLMs
- Second Harmonic Generation (SHG): Scientific template for optical research
- FORTRAN Tutorial: Educational template for FORTRAN programming
- Automatically creates a new GitHub repository
- Clones the new repository to your current directory
- Cross-platform support (Windows, macOS, Linux)
- Supports both Zsh and Bash shells
- Integration with GitHub CLI for enhanced functionality (if available)
This tool uses GitHub CLI for authentication, which provides several security benefits:
- OAuth-based Authentication: Uses secure browser-based OAuth flow rather than password authentication
- No Password Storage: Never stores your GitHub password
- Token Management: Securely manages access tokens so you don't have to
- Automatic Expiry: Handles token expiration and refresh automatically
- Official Tool: Developed and maintained by GitHub, following security best practices
For the most secure experience, we recommend:
- Install GitHub CLI as shown in the Prerequisites section
- Authenticate with
gh auth login - Use this tool with GitHub CLI authentication
Note: GitHub no longer accepts password authentication for API access. Using GitHub CLI is the most user-friendly solution for secure authentication.
-
Download the latest release:
- 📥 Download Executable (Linux/macOS/WSL) (5.8 MB)
- For Linux/macOS: Use directly
- For Windows: Use WSL (Windows Subsystem for Linux) to run the Linux executable. No native Windows executable will be provided.
- 📥 Download Executable (Linux/macOS/WSL) (5.8 MB)
-
Move the downloaded executable to the directory where you want to duplicate the template repository
# For Linux/macOS - Example: if you want to create a new project in ~/projects/my-new-project mv ~/Downloads/github_repo_duplicator ~/projects/my-new-project/ cd ~/projects/my-new-project/ # For Windows WSL users - Example: accessing files from Windows Downloads folder # (Assuming your project folder is in your WSL home directory) cp /mnt/c/Users/YourUsername/Downloads/github_repo_duplicator ~/my-new-project/ cd ~/my-new-project/
-
Run the executable:
For Linux/macOS:
chmod +x github_repo_duplicator ./github_repo_duplicator
For Windows (WSL required):
# Inside your WSL terminal chmod +x github_repo_duplicator ./github_repo_duplicatorNote for Windows users: WSL is required to run this tool on Windows. If you don't have WSL set up yet, see Microsoft's WSL installation guide
Optional: Install the executable globally to run from anywhere:
chmod +x install_standalone.sh ./install_standalone.sh
This script will help you install the executable in your PATH. So, you can run it from anywhere.
-
Clone this repository:
git clone https://github.com/0-mostafa-rezaee-0/GitHub_Repo_Duplicator_for_Templates.git cd GitHub_Repo_Duplicator_for_Templates -
Set up and activate a conda environment (recommended):
conda env create -f environment/environment.yml conda activate duplicator
-
Install the package:
pip install -e . -
Navigate to the directory where you want to duplicate the template:
cd /path/to/your/target/directory -
Run the command (only works while conda environment is activated):
github-repo-duplicator
-
When you're done using the tool, deactivate the conda environment:
conda deactivate
-
Clone this repository:
git clone https://github.com/0-mostafa-rezaee-0/GitHub_Repo_Duplicator_for_Templates.git
-
Make sure you have Python 3.6+ installed:
python --version
-
Navigate to the directory where you want to duplicate the template:
cd /path/to/your/target/directory -
Run the script:
python /path/to/GitHub_Repo_Duplicator_for_Templates/scripts/run.py
-
For Linux/macOS users:
bash scripts/install.sh
-
For Windows users:
.\scripts\install.ps1
-
Clone this repository:
git clone https://github.com/0-mostafa-rezaee-0/GitHub_Repo_Duplicator_for_Templates.git cd GitHub_Repo_Duplicator_for_Templates -
Use Make to build the executable:
make build
-
Find the executable in the `
