# Architecture ## Overview `git-tui` is a single executable Python script that provides a terminal UI for common Git commands. ## Module Responsibilities - `git-tui`: - Initializes and runs the curses application loop. - Renders a menu-driven UI with keyboard navigation. - Executes Git subprocess commands and displays command output. - Implements file selection for staged and unstaged operations. ## Public API and Contracts - Command entry point: `git-tui` executable script. - Runtime contract: - Must be executed in a terminal that supports curses. - Must be run from a directory inside a Git working tree. - Requires `git` to be installed and available in `PATH`. ## Data Model - `ChangedFile`: - `index_status`: index status marker from `git status --short`. - `worktree_status`: worktree status marker from `git status --short`. - `path`: repository-relative file path. ## Build and Deployment Rules - No build step is required. - Deployment is a direct executable file install (copy or symlink). ## Cross References - Usage and install details: [`doc/usage.md`](usage.md) - Change tracking: [`CHANGELOG.md`](../CHANGELOG.md)