npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

gitbuilder-io

v2.1.1

Published

A CLI for quickly bootstrapping your git projects

Downloads

7

Readme

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


📝 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