The first thing to do is organize the clothes so he can get them. I have nice storage cubes, one for socks, one for pants, etc. He is in change of collecting them from the laundry basket and putting them away. Then he just pulls out his clothes every morning. I don't comment on if they are appropriate. I may say, "it's going to be cold today, you may want to wear pants." But if he ignores me, I ignore him. My 5 year old asks for a weather report every morning. So we do discuss weather and appropriate attire. I do let him just get dressed, however, and let natural consequences do their tricks.
But mostly, make the clothes easily accessible, and only put out really appropriate stuff.
BTW, I fondly remember taking my son this summer to TJ's in snow pants and rain boots and it was 80 outside. he was in his fire gear, and he had fires to put out! I thought it was funny. It's a cute age, if you don't fight it.
I have no tips for teaching how to get dressed. My hubby starts this lesson with our kids at roughly 18 months. They need some help for another year or so, but hubby taught them at bedtime with their PJs, so I have no clue!