Skip to content
This repository has been archived by the owner on Nov 22, 2022. It is now read-only.
/ initbot Public archive

A powerful CLI that allows you to create and initialize GitHub Repositories in a few seconds to optimize your development workflow.

License

Notifications You must be signed in to change notification settings

obrassard/initbot

Repository files navigation

⚠️ This repository was created before the official Github CLI ⚠️

https://github.com/cli/cli is much more evolved and should be used instead of this project.


Initbot

Initbot is a powerful CLI built with Node.JS that allows you to create and initialize GitHub Repositories in a few seconds to optimize your development workflow.

Here are the currently available features :

  • Creation of private and public repositories
  • Possibility to automatically create a development branch
  • Possibility to protect the develop and master branches automatically
  • Initiate a new repository and generate a.gitignore file
  • Initiate a new repo using a repo model
  • Create aliases of repo templates to facilitate memorization
  • Invite employees to the new repo
  • Possibility to add a description to the repo
  • Interactive CLI mode

💡 Note : This is a work in progress! The current version is operational, but a more stable version is on the way !

This project was inspired by : sitepoint-editors/ginit

Requirements

Getting started

  1. Install Initbot with NPM
npm install -g @obrassard/initbot --registry=https://npm.pkg.github.com/obrassard
  1. Make sure you've added a local SSH key to your GitHub account. This is required to clone and push repos.

    (Learn more here : Connecting to GitHub with SSH)

Installation Steps (for dev purpose)

  1. Clone repo
  2. Run npm install
  3. Install the module globally with npm run global
  4. Run initbot

npm scripts

npm start : build TypeScript files and run the app

npm run dev : run the app using ts-node

npm run dist : compile TypeScript for release

npm run watch : use nodemon to watch change in real time

npm run clean : delete compiled js files

npm run global : compile TypeScript and install the package globally.

Manual

initbot [<repo-name> [-d "description"] [-c user1,user2] [-t owner/repo] [-p] [-b] [-u]] 
[--alias [aliasName=template/owner]] [--rm aliasName] [--logout] [--help]

repo-name   The name of the repo to create
-d          Add a description
-c          Invite colaborators (comma separated usernames)
-t          Use a repository template (owner/repo or @aliasName) 
-p          Public repositroy (default: private) 
-u          Disable automatic branches protection
-b          Do not create a develop branch

--alias                         Show all template aliases
--alias aliasName=owner/repo    Create a new alias mapped to owner/repo
--rm aliasName                  Delete a specific alias

--logout    Disconnect your GitHub Account from Initbot
--help      Show this help page

✨ More details and examples to come soon ! ✨

About

A powerful CLI that allows you to create and initialize GitHub Repositories in a few seconds to optimize your development workflow.

Resources

License

Stars

Watchers

Forks