Add onboarding to connect repos without remotes

This commit is contained in:
2026-02-21 11:31:11 -03:00
parent 5e63c01bd2
commit 945fdf3dd6
5 changed files with 324 additions and 1 deletions
+4
View File
@@ -9,11 +9,15 @@
- `git-tui`:
- Initializes and runs the curses application loop.
- Handles startup bootstrap for non-repository directories.
- Handles startup onboarding for repositories without configured remotes.
- Renders a menu-driven UI with keyboard navigation.
- Executes Git subprocess commands and displays command output.
- Executes provider-specific publication for new remote repositories:
- GitHub via `gh` CLI.
- Gitea via HTTPS API and token-authenticated initial push.
- Executes provider-specific connection to existing remote repositories:
- GitHub by resolving owner or URL input to `origin`.
- Gitea by resolving owner and base URL or URL input to `origin`.
- Implements file selection for staged and unstaged operations.
## Public API and Contracts
+13
View File
@@ -44,6 +44,19 @@
- `GITEA_TOKEN` or `GITEA_ACCESS_TOKEN` for API token default.
- Git credential prompts are disabled inside `git-tui`; authentication issues are reported in the UI instead of opening an interactive terminal prompt.
## Existing Repository Without Remote Flow
- If the current directory is already a Git repository and has no remotes configured, `git-tui` offers startup actions:
- Connect to an existing remote repository.
- Continue without remote configuration.
- Quit.
- Connect existing remote flow:
- Chooses provider: GitHub or Gitea.
- GitHub accepts `owner/name` or full clone URL input.
- Gitea accepts `owner/name` or full clone URL input, and uses `GITEA_URL` or `GITEA_BASE_URL` defaults when a base URL is needed.
- Configures remote `origin` to the selected repository URL.
- Optionally pushes current branch with upstream tracking (`git push -u origin <branch>`).
## Key Commands in UI
- Main menu: