If you want a simpler and less invasive "improved cd", you can do this in ZSH:
chpwd() {
ls
}
It does what it says: after changing the cwd, list its contents. You can try other things, e.g. "[ -d .git ] && git status".