-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Problem Description
I'm always frustrated when using the CLI commands for git-todo as it requires typing multiple commands and doesn't provide a persistent view of my intentions. The current CLI-only approach makes it difficult to keep track of my intended commits while working.
Proposed Solution
Implement a Terminal UI (TUI) interface that:
- Displays the current intention commits persistently in the terminal
- Allows navigation and selection using only arrow keys, space, and enter
- Eliminates the need to type full commands for common operations
- Provides visual feedback about the current intentions and tasks
This would make the tool more user-friendly while maintaining its terminal-based nature. The TUI would serve as a constant reminder of the intended work, helping users stay focused on their planned tasks.
Alternatives Considered
- IDE Extension: I'm also considering developing a VSCode extension since I use VSCode-based editors. This would be a parallel effort to the TUI implementation.
- Status bar integration: Not as interactive as a full TUI
Additional Context
Similar TUI implementations can be found in tools like:
- lazygit (Go)
- gitui (Rust)
- ncdu (C)
While I'm primarily familiar with JavaScript/TypeScript, I'm open to contributions implemented in other languages like Go or Rust, which are excellent for building efficient TUI applications. If someone would like to contribute a TUI implementation in these languages, that would be greatly appreciated.
Some potential libraries to consider:
- Go: Bubble Tea, Termui, gocui
- Rust: tui-rs, cursive
- JS/TS: ink, blessed, terminal-kit
The most important aspect is creating an intuitive interface that helps users stay focused on their intended commits while providing a smooth, keyboard-driven experience.