Skip to main content

🚀 Motorgit

🌟 Overview

Motorgit is a smart tool designed to automate GitHub repository creations and updates with a single command. It simplifies the workflow for developers by integrating common tasks into a streamlined command-line interface.

📋 Table of Contents

  1. ✨ Features
  2. ⚙️ Installation
  3. 📚 Usage
  4. 🤝 Contribution
  5. 📜 License
  6. 👤 Author

✨ Features

  • 🆕 Create New Repositories: Quickly create new GitHub repositories from the command line.
  • 🔄 Update Repositories: Easily update existing repositories with a single command.
  • ⚡ Efficient Workflow: Automates repetitive tasks, saving time and reducing errors.
  • 🔍 Tab Completion: Support for Bash, Zsh, and Fish shell completion.
  • 🔐 Secure Credentials: Store GitHub credentials securely using system keyring.

⚙️ Installation

📦 Install from pip

To install Motorgit using pip, run:

pip install motorgit

🔑 Configure GitHub Credentials

Motorgit provides multiple secure ways to configure your GitHub credentials:

1. Interactive Setup Wizard (Recommended)

Run the setup wizard to configure your credentials interactively:

motorgit setup

This will prompt for your GitHub username, email, and access token, and store them securely using your system's credential store.

2. Manual Login/Logout

You can also use the login/logout commands to manage your credentials:

# Store credentials securely
motorgit login

# Remove stored credentials
motorgit logout

Note: Use motorgit setup for first-time or full configuration (including credentials and other settings). Use motorgit login if you only want to update your GitHub credentials without changing other settings.

Command Prompts for Credentials Stores Credentials Configures Other Settings Intended Use
motorgit setup Yes Yes Yes First-time or full setup
motorgit login Yes Yes No Update credentials only

3. Configuration Management

View or update configuration settings:

# View all configuration
motorgit config

# View specific configuration
motorgit config github_username

# Update configuration
motorgit config github_username yourusername

4. Environment Variables (Legacy Method)

For backward compatibility or CI/CD environments, you can still use environment variables. Add the following lines to your .bashrc or .zshrc file:

export GITHUB_ACCESSTOKEN='your_personal_access_token'
export GITHUB_USERNAME='your_github_username'
export GITHUB_USEREMAIL='your_email@example.com'

After adding the lines, reload your shell configuration:

source ~/.bashrc  # For bash users
source ~/.zshrc   # For zsh users

🔧 Install Locally

To install Motorgit locally from the source code, follow these steps:

1. Clone the repository:

git clone https://github.com/AyushGupta0202/motorgit.git
cd motorgit

2. Install in editable mode:

pip install --editable .

📚 Usage

Usage 🆕 Create a New Repository

To create a new repository, use the following command:

motorgit createNewRepo

This command has optional parameters for folder name and whether it should be made as a private repository or not. And then it will create a new repository on GitHub with the specified settings.

Example

motorgit createNewRepo [-n foldername] [-p privaterepo]

🔄 Update Repository

To update an existing repository with a commit message, use:

motorgit updateRepo -m "Motorgit Commit"

This command will add changes to the repository and commit them with the provided message.

Example

motorgit updateRepo [-m commitmessage] [-b branchname]

🔍 Shell Completion

Motorgit supports shell tab completion for Bash, Zsh, and Fish using Click's built-in shell completion system. To enable shell completion, follow the instructions for your shell:

Bash

Add this to your ~/.bashrc:

eval "$(_MOTORGIT_COMPLETE=bash_source motorgit)"

Or, to generate and source a static script:

_MOTORGIT_COMPLETE=bash_source motorgit > ~/.motorgit-complete.bash
. ~/.motorgit-complete.bash

Zsh

Add this to your ~/.zshrc:

eval "$(_MOTORGIT_COMPLETE=zsh_source motorgit)"

Or, to generate and source a static script:

_MOTORGIT_COMPLETE=zsh_source motorgit > ~/.motorgit-complete.zsh
. ~/.motorgit-complete.zsh

Fish

Add this to ~/.config/fish/completions/motorgit.fish:

_MOTORGIT_COMPLETE=fish_source motorgit > ~/.config/fish/completions/motorgit.fish

After modifying your shell configuration, start a new shell session or source the relevant file to activate completion.

For more details, see the Click Shell Completion documentation.

🤝 Contribution

Contributions are welcome! Please open an issue or submit a pull request on GitHub.

1. 🍴 Fork the repository

2. 🌿 Create a new branch: git checkout -b my-new-feature

3. 💾 Commit your changes: git commit -am 'Add some feature'

4. 📤 Push to the branch: git push origin my-new-feature

5. 🔁 Create a new Pull Request

or after cloning use motorgit commands itself!

📜 License

Motorgit is licensed under the MIT License. See the LICENSE_MOTORGIT.txt file for more details.

Note: The license file was renamed from LICENSE.txt to LICENSE_MOTORGIT.txt to avoid PyPI upload metadata issues. This ensures smooth uploads and full license compliance.

👤 Author

Ayush Gupta

For any inquiries, feel free to contact: ayushg430@gmail.com

Made with ❤️ using Python click

Metadata

Release files for motorgit 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for motorgit 1.0.2
File Size Uploaded
motorgit-1.0.2.tar.gz 4.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for motorgit 1.0.2
File Interpreter ABI Platform
motorgit-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 8.2 kB

Release files / motorgit-1.0.2.tar.gz

Download URL motorgit-1.0.2.tar.gz
Size 4.1 kB
Tags Source
SHA-256 checksum
How to use checksums
864f25f57861192038418b6bc1c84bd8bf6eb3d7df5562c71cc40db498bf546c
BLAKE2b-256 checksum
How to use checksums
25e36feed84bf9a053f7ec43369c9b68e379a73fbbd76e99f4d0d96e9815ee27
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.6

Release files / motorgit-1.0.2-py3-none-any.whl

Download URL motorgit-1.0.2-py3-none-any.whl
Size 4.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
730b4be99c5ed636faabc843e7df931f17d8122e8fd5be75edbf3794d79cc8cd
BLAKE2b-256 checksum
How to use checksums
a7ae53ea5e74a14a58547f7377f45d66ebebdf2d0708e70a164efbc1adb06b02
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.6

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page