First Release
This commit is contained in:
38
doc/architecture.md
Normal file
38
doc/architecture.md
Normal file
@@ -0,0 +1,38 @@
|
||||
# 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)
|
||||
Reference in New Issue
Block a user