DAGIT SHIP1
I have built a terminal TUI git visualizer that beautifully displays your git repository on the terminal.
Challenging part
Dagit has four small sections [left panel/visualizer/status panel/logs]. I first thought there would be no resizing issues because I’m using bubble-tea and built all there sections’ skeletons, as bubble-tea doesn’t automatically handle the resize event(got to know later). I manually tried to fix it in my own broken ways and found somewhat of a solution that feels and looks good
A Breakdown of the project
- dagit refuses to launch if we don’t open it inside a git repo.
- We fetch all the data by running git commands.
- Currently in the left panel we have the following information:
* Repo name
* The repo's owner name
* Current branch
* The url of the remote
- In the vizualizer:
* hash of the commit
* Reference
* the committer name
* The time of the commit
* We also beautify the graph and show it in this section
- Log section:
* Hash of commit
* Commit message
* Committer name
- Status panel:
* Modified, staged files are shown here
-
The user can toggle between the visualizer and the status panel using
v -
The user can also choose between my predefined tick rates
[500ms/1s/3s/5s/10s]. By default the tick rate is set to 1sec
Proud
-
Of how quickly I have understood the git docs and used it to build this project that makes git look so much better for the newbies.
-
Also that I have finally made a project that is not very complicated for the user to use like
goswas. lmao -
Also handling resize events was a bit of headache and it feels so much better now. I feel proud because of that too :shy
Do we need to set something before?
-
No, but if you wanna install it using
go, you need to havegoinstalled :) -
Note: The releases page only has a darwin(macos) and linux version. So I recommend using wsl on windows to enjoy the beauty of dagit
Installation
- the simplest way to install
dagitis using the AUR:
yay -S dagit-bin
- Using
go:
go install github.com/lxsh-S/dagit@latest
- You can also install it from the github releases page (Make sure you get the latest version)
- 5 devlogs
- 13h
- 10.32x multiplier
- 130 Stardust

)