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@latest
Go 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 > gabbro
Then, rename this file gabbro
(or gabbro.exe
for Windows)
Create a bin
directory in your $HOME
if it does not already exist :
❯ mkdir $HOME/bin
Put 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/gabbro
Create a bin
directory in your $HOME
/ %USERPROFILE%/bin
if it does not already exist :
# CMD
❯ mkdir %USERPROFILE%\bin
# Powershell
❯ mkdir $HOME/bin
Put 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%/bin
If 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 terminal
Use 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 terminal
Use 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 help
Get 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!