/gama

Manage your GitHub Actions from Terminal with great UI 🧪

Primary LanguageGoGNU General Public License v3.0GPL-3.0

GitHub Actions Manager (GAMA)

GAMA is a powerful terminal-based user interface tool designed to streamline the management of GitHub Actions workflows. It allows developers to list, trigger, and manage workflows with ease directly from the terminal.

GAMA Go Version GAMA Go Report Card GAMA Licence

gama demo

Key Features

  • Extended Workflow Inputs: Supports more than 10 workflow inputs using JSON format.
  • Workflow History: Conveniently list all historical runs of workflows in a repository.
  • Discoverability: Easily list all triggerable (dispatchable) workflows in a repository.
  • Workflow Management: Trigger specific workflows with custom inputs.

Getting Started

Prerequisites

Before using GAMA, you need to generate a GitHub token. Follow these instructions to create your token.

Configuration

YAML Configuration

Place a ~/.config/gama/config.yaml file in your home directory with the following content:

github:
  token: <your github token>

keys:
  switch_tab_right: shift+right
  switch_tab_left: shift+left
  quit: ctrl+c
  refresh: ctrl+r
  enter: enter
  tab: tab

Environment Variable Configuration

Alternatively, you can use an environment variable:

GITHUB_TOKEN="<your github token>" gama

You can also make it an alias for a better experience:

alias gama='GITHUB_TOKEN="<your github token>" command gama'

If you have the GitHub CLI installed, you automatically insert the var via:

GITHUB_TOKEN="$(gh auth token)" gama

This will skip needing to generate a token via the GitHub website.

Warning

For security reasons, you should not export your token globally in your shell. That would make it available to any app that can read environment variables. You should avoid committing it to your dotfiles repository, too.

Build & Installation

Using Docker

Run GAMA in a Docker container:

docker run --rm -it --env GITHUB_TOKEN="<your github token>" termkit/gama:latest

Download Binary

Download the latest binary from the releases page.

Build from Source

make build
# output: ./release/gama

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

License

Distributed under the GNU GENERAL PUBLIC LICENSE Version 3 or later. See LICENSE for more information.

Contact & Author

Engin Açıkgöz

Stargazers over time

Stargazers over time