HuPKit

HuPKit

HuPKit

In short HuPKit allows project(s) maintainers to easily manage their GitHub repositories, merging pull requests, creating new releases, merging older versioned branches into newer once and much more.

You need at least PHP 8.1, Git 2.10 and a GitHub account (GitHub Enterprise is supported). HuPKit works but is not fully tested on Windows.

Note: On October 23rd 2023 the repository was moved to it’s own organization, and renamed to HuPKit. The old PHP namespace has been left unchanged. In version 2.0 this will change.

HuPKit is provided under the MIT license and maintained by Sebastiaan Stok (aka. @sstok).

Features

This tool is designed for project maintainers with a good knowledge of Git, PHP and GitHub. If you have some special needs, please see the contributing section below.

Installation

HuPKit is a PHP application, you don’t install it as a dependency and you don’t install it with Composer global.

To install HuPKit first choose a directory where you want to keep the installation. Eg. ~/.hupkit or any of your choice.

Caution: Make sure you don’t use a directory that is accessible by others (like the web server root) as this may expose your API access-token!

Download HuPKit by cloning the repository:

mkdir ~/.hupkit
cd ~/.hupkit
git clone https://github.com/hupkit/hupkit.git .

Checkout the latest version. Eg.

git checkout tags/1.0.0 -b version-1.0.0

And install the dependencies:

./bin/install

Special note for Windows users

HuPKit has not been tested on Windows yet, it should work. But you may encounter some problems.

Note that HuPKit expects a Unix (alike) environment. You are advised to use the Git console or Bash shell (Windows 10+).

Please open an issue in the issue-tracker when something is not working. Or open a pull-request when you can fix the problem :+1:

Updating

Updating HuPKit is very easy. Go to the HuPKit installation directory, and run ./bin/upgrade.

Done, you now have the latest version.

Basic Usage

Before you can use HuPKit a number of things must be configured first, you need a GitHub authentication token, Git must be configured in your PATH-env, and PHP must be accessible.

All commands except help, repo-create and self-diagnose require you are in a Git repository, and have Git remote upstream existing and pointing to the GitHub main repository (from which all work is coordinated, not your fork).

Configuring

See the Configuration section how to configure your GitHub credentials, and set-up repository splittings.

Commands

Once done you follow-up with the following articles:

Run hupkit help for a full list of all supported commands, and there options.

If something doesn’t work as expected you can find useful tips in the [troubleshooting guide][troubleshooting.md].

And finally for the hook-scripts you can find all the available public services in the [Container services][container-services.md] reference guide.