gh-rivet

module
v1.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 20, 2026 License: MIT

README

Rivet

Rivet

A TUI for organizing and managing GitHub Actions workflows.

Go Version License



What is this?

A terminal UI for organizing GitHub Actions workflows into groups. Navigate workflows with vim keys, pin favorites, and avoid the messy default GitHub interface.

Wraps the GitHub CLI (gh) — uses your existing auth, no tokens needed.

Requirements

Installation

Homebrew (macOS/Linux)
brew install cloudsky01/tap/rivet
Go Install
go install github.com/Cloudsky01/gh-rivet/cmd/rivet@latest
Build from Source
git clone https://github.com/Cloudsky01/gh-rivet
cd gh-rivet
make build

Quick Start

1. Initialize inside your repo:

cd your-repo
rivet init  # Auto-detects repo, scans workflows, guides you through grouping

2. Run:

rivet  # Uses repository from .rivet.yaml

Update repo later:

rivet update-repo owner/repo

Configuration

rivet init walks you through grouping workflows and choosing where to save the config. Pick a user-specific config (~/.config/rivet/config.yaml) for personal prefs or save to .github/.rivet.yaml to share with your team.

Configuration Precedence & Merging

Rivet loads configuration from multiple sources and merges them. The order of precedence (lowest to highest) is:

  1. Repository Default: .github/.rivet.yaml (Shared team defaults)
  2. User Global: ~/.config/rivet/config.yaml (Your personal preferences)
  3. Project User: .git/.rivet/config.yaml (Your per-project overrides)

Merging Logic:

  • Preferences: Merged. You can set a global theme in your User Global config, and it will apply to all projects unless overridden.
  • Groups: Replaced. If a higher-precedence config defines groups, it completely replaces the groups from lower-precedence configs. This prevents messy merging of workflow lists.

Example:

repository: owner/repo

groups:
  # Simple grouping
  - id: ci
    name: "CI/CD"
    workflows:
      - test.yml
      - build.yml

  # Nested grouping
  - id: services
    name: "Microservices"
    groups:
      - id: auth
        name: "Auth Service"
        workflows:
          - auth-test.yml
      - id: api
        name: "API Gateway"
        workflows:
          - api-deploy.yml

  # Custom display names & Pinning
  - id: infra
    name: "Infrastructure"
    workflowDefs:
      - file: terraform.yml
        name: "Terraform Apply (Prod)"
    pinnedWorkflows:
      - terraform.yml

FAQ

Does this require a GitHub Token? No. Uses your local gh CLI. If gh run list works, Rivet works.

Why is it slow? Fetches live data from GitHub on demand. No aggressive caching = always fresh status.

Works with GitHub Enterprise? Yes, if your gh CLI is authenticated to your instance.

License

MIT

Directories

Path Synopsis
cmd
rivet command
internal
git
tui
tui/components
Package components provides reusable TUI components built on Bubble Tea.
Package components provides reusable TUI components built on Bubble Tea.
tui/theme
Package theme provides centralized styling for the TUI application.
Package theme provides centralized styling for the TUI application.
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL