As you may know, the Cairo and StarkNet ecosystems are evolving very fast. It's essential to have a stable local dev env. Most of the online tutorials are out of date. This is my personal best practice to setup the local starknet dev env. There are lots of tutorials out there; I will keep it updated if possible.
Please raise PR if you find anything wrong.