Gabbro is a Cross-Platefrom CLI written in Go allowing a simplified interaction with the IGDB API.
- Linux (
linux/amd64,linux/arm64) - MacOS (
darwin/amd64,darwin/arm64) - Windows (
windows/amd64,windows/arm64)
- Get informations about a game by searching by it name :
- Name, Description, Companies, Genres, Themes, DLCs, Rating, etc.
- Get informations about a character by searching by it name :
- Name, Description, Games, Genre, Species, etc.
- Get information about the different companies involved in a game by searching by it name :
- Name, Description, etc.
Install Gabbro with go install :
❯ go install github.com/akecel/gabbro@latestGo will automatically install it in your $GOPATH/bin directory which should be in your $PATH.
Now you have to define your configuration file, see Configuration.
If Go is not installed on your machine, you can also download Gabbro as a simple binary.
To get started, you need to download the latest published binary of the application, make sure you download the file corresponding to your platform :
- Linux amd64 :
gabbro-linux-amd64 - Linux arm64 :
gabbro-linux-arm64 - MacOS amd64 :
gabbro-darwin-amd64 - MacOS arm64 :
gabbro-darwin-arm64 - Windows amd64 :
gabbro-windows-amd64.exe - Windows arm64 :
gabbro-windows-arm64.exe
Note that for OS security reasons, you may have to download the binary with curl to use it :
❯ curl -k -L -s https://github.com/Akecel/gabbro/releases/download/latest/gabbro-your-plateform > gabbroThen, rename this file gabbro (or gabbro.exe for Windows)
Create a bin directory in your $HOME if it does not already exist :
❯ mkdir $HOME/binPut the binary in your $HOME/bin directory and add $HOME/bin to your $PATH :
❯ export PATH="$HOME/bin:$PATH"Finally, give the right permissions to the binary :
❯ chmod +x bin/gabbroCreate a bin directory in your $HOME / %USERPROFILE%/bin if it does not already exist :
# CMD
❯ mkdir %USERPROFILE%\bin
# Powershell
❯ mkdir $HOME/binPut the gabbro.exe in this bin directory then :
- Windows + R to open the Run command window
- Run
sysdm.cpl - Go to Advanced -> Environment Variables
- Click on PATH (user one) then Edit it
- Add
%USERPROFILE%/bin(separate it from the rest with;if needed) - Valid then Logout / Logback to refresh
You will now have to create crendentials for the IGDB API that you will put in the configuration file.
To do this, follow these steps :
- Sign Up with Twitch for a free account.
- Ensure you have Two Factor Authentication enabled.
- Register your application in the Twitch Developer Portal.
- Manage your newly created application.
- Generate a Client Secret by pressing [New Secret].
- Take note of the Client ID and Client Secret.
Once this is done, you can create a gabbro.yaml file and fill in the necessary credentials to use the IGDB API inside:
client-id: "your-client-id"
access-token: "your-access-token"Now place gabbro.yaml in the appropriate directory so that the program can run properly :
$GOPATH/bin-> If installed as Go Library$HOME/bin-> If installed as Go Binary (MacOS & Linux)%USERPROFILE%/binIf installed as Go Binary (Windows)
Finaly, you can check that the CLI is properly installed and configured by using this command :
❯ gabbro
Usage:
gabbro [command]
Available Commands:
game Get game informations
character Get character informations
companies Get information about the companies involved in a game
help Help about any command
Flags:
-h, --help help for gabbro
-i, --image print covers, logos and mugshots in terminal
Use "gabbro [command] --help" for more information about a command.You are ready to go ! 🚀
Use the game command to get informations about a specific game :
❯ gabbro game [Game Name] [flags]Flags:
-h, --help help for game
-i, --image print covers in terminalUse the character command to get informations about a specific character :
❯ gabbro character [Character Name] [flags]Flags:
-h, --help help for character
-i, --image print mugshot in terminalUse the companies command to get informations about companies involved in a game :
❯ gabbro companies [Game Name] [flags]Flags:
-h, --help help for companies
-i, --image print logos in terminal
-o, --only string print only one company based on the role [developer, publisher, porting, support]Note that for the --only flag, you can chain the values to get several results, for example : developer,support
Display all available commands :
❯ gabbro helpGet help of a specific command :
❯ gabbro [command] --help- Images, being directly imported from IGDB can be badly displayed as for example being black on black background and thus being invisible in the terminal (especially for logos).
- Commands requiring several chained call api (
game,companies) may take a few seconds to run.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
- Akecel - Project author
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE.md file for details.
Give a ⭐️ if this project helped you!