Beda Schmid 5e63c01bd2 Adds non-repo bootstrap and publish flows
### Added
- Non-repository startup flow offering init-only or init+publish paths.
- Provider selection for publishing (GitHub via CLI, Gitea via HTTPS API).
- Gitea repository creation and initial push over HTTPS with configurable base URL, owner, and token defaults.
- Root README and documentation updates describing bootstrap flow and environment variables.
2026-02-15 13:39:43 -03:00
2026-02-14 19:46:34 -03:00

git-tui

A single-file terminal UI for common Git workflows.

git-tui gives you a keyboard-driven interface for staging, committing, syncing, and bootstrapping repositories without leaving the terminal.

git-tui avatar

Highlights

  • Single-file executable (git-tui)
  • Curses-based terminal UI
  • Stage all or select individual files
  • Commit with message prompt
  • Push, pull (rebase), fetch, status
  • Non-repo bootstrap flow:
    • Initialize local repository
    • Optionally create and publish a new remote repository
    • Supports GitHub and Gitea

Requirements

  • Linux or Unix-like terminal with curses support
  • Python 3
  • Git
  • GitHub CLI gh only if you choose GitHub publish flow
  • Gitea personal access token only if you choose Gitea publish flow

Installation

chmod +x git-tui
sudo install -m 755 git-tui /usr/local/bin/gtui

Quick Start

Run from any project directory:

gtui

If the directory is not a Git repository, git-tui offers:

  • Initialize repository only
  • Initialize and publish to a new remote repository

Gitea Setup

For Gitea publish flow, you can provide values interactively in the TUI or pre-set environment variables:

export GITEA_URL="https://git.example.com"
export GITEA_OWNER="your-user-or-org"
export GITEA_TOKEN="your-token"

Supported variable names:

  • GITEA_URL or GITEA_BASE_URL
  • GITEA_OWNER
  • GITEA_TOKEN or GITEA_ACCESS_TOKEN

Token handling behavior:

  • Token is read from environment when present
  • Otherwise token is requested in the TUI
  • Token is not persisted by git-tui

Keybindings

  • Main menu:
    • Up/Down or j/k move
    • Enter run action
    • q or Esc quit
  • File picker:
    • Space toggle
    • a toggle all
    • Enter confirm
    • q or Esc cancel

Documentation

  • doc/README.md
  • doc/usage.md
  • doc/architecture.md
  • CHANGELOG.md

License

No license file is currently included in this repository.

Description
Single executable Python script that provides a terminal UI for common Git commands
Readme 1.5 MiB
Languages
Python 100%