### 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.
93 lines
1.9 KiB
Markdown
93 lines
1.9 KiB
Markdown
# 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.
|
|
|
|

|
|
|
|
## 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
|
|
|
|
```bash
|
|
chmod +x git-tui
|
|
sudo install -m 755 git-tui /usr/local/bin/gtui
|
|
```
|
|
|
|
## Quick Start
|
|
|
|
Run from any project directory:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
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.
|