froggit/
├── main.go # Application entry point
├── internal/ # Internal packages
│ ├── git/ # Git operations wrapper
│ └── tui/ # Terminal UI components
│ ├── model/ # Application state
│ ├── update/ # State updates
│ └── view/ # UI rendering
└── docs/ # Documentation
The git package provides a clean interface to Git operations, abstracting the complexity of Git commands and their execution.
Built using Bubble Tea framework, the TUI package follows the Model-View-Update (MVU) architecture:
- Model: Maintains application state
- Update: Handles state transitions
- View: Renders the UI based on current state
- User input triggers messages
- Messages are processed by Update functions
- State changes are reflected in the Model
- View renders updated state