If you're already using zsh or want to start this tutorial will help you understand how zsh works and how you can customize it to your needs.
We won't go into every feature of zsh (read the man pages for that). Did you know zsh has a built in ftp client and calendar? Instead we will focus on functions of zsh that improve your productivity and help you get more out of your shell.
We also will not be using any frameworks to customize the shell. You're free to use oh-my-zsh, prezto, or many other options. They help you get started fast but they don't help you understand zsh and some of its more advanced features.
We will assume you are already familiar with basic command line usage. How to run a command, how to set a variable, what command history is, etc.
This documentation will build on the basics to show you advanced usage, customizations, and practical examples to make you better.