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.
- π 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.
To install Motorgit using pip, run:
pip install motorgit
Motorgit provides multiple secure ways to configure your GitHub credentials:
Run the setup wizard to configure your credentials interactively:
motorgit setupThis will prompt for your GitHub username, email, and access token, and store them securely using your system's credential store.
You can also use the login/logout commands to manage your credentials:
# Store credentials securely
motorgit login
# Remove stored credentials
motorgit logoutNote: Use
motorgit setupfor first-time or full configuration (including credentials and other settings). Usemotorgit loginif 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 |
View or update configuration settings:
# View all configuration
motorgit config
# View specific configuration
motorgit config github_username
# Update configuration
motorgit config github_username yourusernameFor 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
To install Motorgit locally from the source code, follow these steps:
git clone https://github.com/AyushGupta0202/motorgit.git
cd motorgit
pip install --editable .
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.
motorgit createNewRepo [-n foldername] [-p privaterepo]
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.
motorgit updateRepo [-m commitmessage] [-b branchname]
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:
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.bashAdd 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.zshAdd this to ~/.config/fish/completions/motorgit.fish:
_MOTORGIT_COMPLETE=fish_source motorgit > ~/.config/fish/completions/motorgit.fishAfter 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.
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!
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.
Ayush Gupta
For any inquiries, feel free to contact: ayushg430@gmail.com

