gitbuilder-io

2.1.1 • Public • Published

gitBuilder Logo

Status Code-Style GitHub Issues GitHub Pull Requests Building Downloads License


A simple, easy-to-use Git project builder (ONLY supports GitHub currently)

📝 Table of Contents

🧐 About

GitBuilder.io is a simple CLI tool (project wizard) that helps you bootstrap your projects quickly and easily. This tool, with it's extensible templates library, allows developers to get up and running very quickly and without all the boring environment and repository setup. gitBuilder.io will start by asking you a couple of basic questions about your project and then will give you a detailed breakdown of how it is building your project the entire way through. After your project is built, you are presented with all the details of your project and the location of your project on Github. At this point, you are ready to start coding! Just like that 🏎💨

🗒 Changelog

Please take a look at the current changes and progress on the Changelog

🎈 Usage

If you would like to download this tool for your own use, you may to so by downloading the package globally from NPM

npm install -g gitbuilder-io

Start the tool

gitbuilder [options]

Select a login method

Basic Login
OR
OAuth Token

Login and follow the simple prompts to build your project! 🙂🥂

Docker installation instructions (Safe mode)

If you have Docker installed on your machine and wish to run this application in a containerized environment please follow the instructions below to build a container image and start up the interactive container.

  1. You will need to first clone this project onto your machine git clone https://github.com/SystemFiles/gitbuilder-io.git
  2. Navigate to the cloned project root directory
  3. Build the container image: docker build -t sykeben/gitbuilder-io:latest .
  4. Start up the interactive container docker run -it sykeben/gitbuilder-io:latest bash
  5. Once inside the container you can run gitbuilder as you would on any other machine using the gitbuilder [options] [flags] command.

Available Command-line Options

  • reset: gitbuilder --reset => Resets any auth tokens, saved settings, and templates stored on your machine so you can start from scratch.

  • add_template: gitbuilder --add_template/-A => Will allow you to add a template to our list of built-in templates using a valid OAuth API Token. Required -> Zip MUST contain only the template project contents and not a folder containing project contents. (PLANNED)

Required Personal Access Token Permissions

Following principle of least privillage

  • repo
  • repo:status
  • public_repo
  • user
  • read:user
  • user:email
  • user:follow

📶 Using the templates API

We have a simple API for sending and retrieving git project templates from a cloud hosted blob storage. See the source for the API here

Uploading a template

note: maxiumum upload size through API is 50MB

curl --location --request POST 'https://gb.sykesdev.ca/api/template?lang=<LANGUAGE>' \
--header 'Authorization: Bearer <YOUR_API_TOKEN>' \
--form 'files=@path/to/project/template/template.zip'

Get list of available templates

curl --location --request GET 'https://gb.sykesdev.ca/api/template?lang=<LANGUAGE>'

Get template filestream

curl --location --request GET 'https://gb.sykesdev.ca/api/template?name=<TEMPLATE_NAME>&lang=<LANGUAGE>'

🏁 Getting Started with Development

If you would like to help out by adding your own templates or possibly some new features to the project, you can follow these steps.

Clone the project

You'll need to fork the project to start working on it

Prerequisites

First you will need to install a few things if you don't have them already.

Node
NPM

Installing

Install dependencies using NPM

npm install

Adding a Template

There is a new way to add templates now. If you are a project contributor/administrator you can use the template API to add a new built-in template to the project (may have to request an OAuth token to be generated for you). If you are a user of the application, you can add templates to your own instance of gitbuilder by creating a public GitHub project for your template or finding one on GitHub, then simply select add external when creating a new project and supply the URL to the project and it will be used for your project and added to a list for future use.

To use the API make a POST request to the https://gb.sykesdev.ca/api/template endpoint

curl --location --request POST 'https://gb.sykesdev.ca/api/template?lang=<LANGUAGE>' \
--header 'Authorization: Bearer <YOUR_API_TOKEN>' \
--form 'files=@path/to/project/template/template.zip'

Supported Languages: Python, NodeJS + More in near future

Adding a Feature

Want to see something new in gitBuider.io? Well you can do so easily by forking the project. Then clone to your local workspace.

git clone https://github.com/YOU/gitbuilder-io.git

then make your changes on a branch with the format feature/feature_name or bugfix/name_of_bug_or_issue

git checkout -b feature/feature_name

then submit a pull_request and I will make sure that your new feature is reviewed / added.

⚠️ Please note: code changes/feature updates MUST follow the standard code style guidelines for which this project is following as well as pass all linting/tests in pull_request before being merged with master. ⚠️

🐛 Submitting a bug report / issue

Please use an issue template provided. Create your report here

✍️ Authors

Package Sidebar

Install

npm i gitbuilder-io

Weekly Downloads

13

Version

2.1.1

License

MIT

Unpacked Size

105 kB

Total Files

27

Last publish

Collaborators

  • systemfiles