(This page is still work in progress)

My coding workflow

Rule of Thumb

  • Almost everything I do start with command line interface. Now I use Kitty with Zsh. Here are my Dotfiles
  • Since I have 3 macOS machines (2 Macbooks & 1 Hackintosh desktop), I sync my non-dotfiles with Syncthing and have a backup NAS at home.

Jumping around in command line

  • I use Zoxide to remember paths I use often, eg. run z dot to change directory into /Code/narze/dotfiles since I previously access it.

Start / continue working on GitHub projects

All my code stays in ~/Code/ of every machines I have. Sometimes I have to switch the machine or I left my main Macbook at work. I use ghq to clone & navigate the repositories. You can configure this tool to use GitLab as well.

If I want to clone github.com/narze/dotfiles, I use the command :

ghq get -l -p narze/dotfiles

The code will be cloned to ~/Code/github.com/narze/dotfiles and automatically cd me into it (If already cloned will just run cd.)

Text Editor

Strangely, I'm still using VSCode instead of Vim/Emacs


I have 1-character aliases for 3 most used git commands : status, add, and commit

alias s="git status -sb"
alias p="git add -p" # Previously `gap` but that's too long
m () {
  hub commit -m "$*"
} # `hub` is the old git cli with github extensions

For commit messages I used Gitmoji. But changed to Conventional Commits.

My new repos will use main rather than master default branch name.

(This page is still work in progress)