https://github.com/termkit/gama
Manage your GitHub Actions from Terminal with great UI 🧪
https://github.com/termkit/gama
actions bubbles bubbletea cd ci cicd githubactions go golang terminal terminal-ui tui
Last synced: 8 days ago
JSON representation
Manage your GitHub Actions from Terminal with great UI 🧪
- Host: GitHub
- URL: https://github.com/termkit/gama
- Owner: termkit
- License: gpl-3.0
- Created: 2023-11-30T18:55:16.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-26T21:48:54.000Z (about 2 months ago)
- Last Synced: 2025-03-28T09:45:51.740Z (17 days ago)
- Topics: actions, bubbles, bubbletea, cd, ci, cicd, githubactions, go, golang, terminal, terminal-ui, tui
- Language: Go
- Homepage:
- Size: 2.08 MB
- Stars: 355
- Watchers: 3
- Forks: 20
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- charm-in-the-wild - gama - Manage GitHub Actions from the terminal. (_built with Bubble Tea_) (Applications / Development Tools)
- stars - gama
- stars - gama
README
# 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.

## Table of Contents
- [Key Features](#key-features)
- [Live Mode](#live-mode)
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Configuration](#configuration)
- [Build & Installation](#build--installation)
- [Contributing](#contributing)
- [License](#license)
- [Contact & Author](#contact--author)## 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.
- **Live Updates**: Automatically refresh workflow status at configurable intervals.
- **Docker Support**: Run directly from a container for easy deployment.### Live Mode
GAMA includes a live mode feature that automatically refreshes the workflow status at regular intervals:
- **Toggle Live Updates**: Press `ctrl+l` to turn live mode on/off
- **Auto-start**: Set `settings.live_mode.enabled: true` to start GAMA with live mode enabled
- **Refresh Interval**: Configure how often the view updates with `settings.live_mode.interval` (e.g., "15s", "1m")Live mode is particularly useful when monitoring ongoing workflow runs, as it eliminates the need for manual refreshing.
## Getting Started
### Prerequisites
Before using GAMA, you need to generate a GitHub token. Follow these [instructions](docs/generate_github_token/README.md) to create your token.
### Configuration
#### YAML Configuration
Place a `~/.config/gama/config.yaml` file in your home directory with the following content:
```yaml
github:
token:keys:
switch_tab_right: shift+right
switch_tab_left: shift+left
quit: ctrl+c
refresh: ctrl+r
live_mode: ctrl+l # Toggle live mode on/off
enter: enter
tab: tabsettings:
live_mode:
enabled: true # Enable live mode at startup
interval: 15s # Refresh interval for live updates
```#### Environment Variable Configuration
Alternatively, you can use an environment variable:
```bash
GITHUB_TOKEN="" gama
```You can also make it an alias for a better experience:
```bash
alias gama='GITHUB_TOKEN="" command gama'
```If you have the [GitHub CLI](https://cli.github.com/) installed, you automatically insert the var via:
```bash
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:
```bash
docker run --rm -it --env GITHUB_TOKEN="" termkit/gama:latest
```### Download Binary
Download the latest binary from the [releases page](https://github.com/termkit/gama/releases).
### Build from Source
```bash
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](LICENSE) for more information.
## Contact & Author
[Engin Açıkgöz](https://github.com/canack)
## Stargazers over time
[](https://starchart.cc/termkit/gama)