Git Product home page Git Product logo

gush's Introduction

Gush

Gush is a rapid workflow for project maintainers and contributors

Build Status Scrutinizer Quality Score Code Coverage SensioLabsInsight

What is this?

Gush is an app console whose intention is to automate common maintainer and contributor tasks.

  • create a Pull Request with a formatted table description of the changes
  • create github release notes
  • change the base branch of a Pull Request
  • automate retrieval of issue's message, title and comments as a text
  • merge a PR with just the number and include all github discussion on the commit message
  • tagging signing off, change branch name and some queue of common tasks

Install

There are different ways to use Gush:

1) Installing as a composer global dependency (recommended)

If it is the first time you globally install a dependency then make sure you follow the instructions here.

$ composer global require 'cordoval/gush=dev-master'

2) Cloning this repository and building a PHAR

First, clone Gush repository into your local machine and install the dependencies:

$ git clone [email protected]:cordoval/gush.git
$ cd gush
$ composer install

We can use Box to build the phar file. Once installed, you can build it easily:

$ box build -v

Upgrade to latest version

$ composer global update cordoval/gush

Note: if you installed it any other way you would need to install it again.

Usage

You may want to start by configuring it:

$ gsh configure
Insert your github credentials:
username: cordoval
password:
Cache folder [/Users/cordoval/.gush/cache]:
Configuration saved successfully.

Let's go into a repo, list, take ticket, send PR and merge it:

List it:

$ cd project_directory
$ gsh issue:list
 #   State  PR?  Title                                     User       Assignee   Milestone        Labels       Created
 14  open        Tests and Documentation for Commands      cordoval                                            2014-01-10

Take it:

$ gsh p:take 14
OUT > Fetching cordoval
OUT > Fetching origin
ERR > Note: checking out 'origin/master'.
You are in 'detached HEAD' state ...
ERR > HEAD is now at 681e0d6... Merge pull request #93 from cordoval/configure-command-test
ERR > Switched to a new branch '14-tests-and-documentation-for-commands'
~ git branch
* 14-tests-and-documentation-for-commands

Do your changes and commit them:

$ git commit -am "added instructions to use gush"

Send PR:

$ gsh p:create
Bug fix? [y]
New feature? [n]
BC breaks? [n]
Deprecations? [n]
Tests pass? [y]
Fixed tickets [#000] #14
License [MIT]
Doc PR
PR Title: Added a bit of documentation under usage
ERR > fatal: remote cordoval already exists.
OUT > Fetching cordoval
OUT > Fetching origin
ERR > To [email protected]:cordoval/gush.git
 * [new branch]      14-tests-and-documentation-for-commands -> 14-tests-and-documentation-for-commands
OUT > Branch 14-tests-and-documentation-for-commands set up to track remote branch 14-tests-and-documentation-for-commands from cordoval.
https://github.com/cordoval/gush/pull/94

Merge it:

$ gsh p:merge 94
Pull Request successfully merged

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.