Everyone who builds ROMs knows about the repo tool, right? I say wrong. You can build ROMs all the live long day and know nothing about it. But you'll face-palm after learning about what you're missing.

The repo tool is a Python script that adds a layer of abstraction between you and Git. Git is of course the source code management system used by the Android code base. If the last two sentences were more gibberish than sense here's the breakdown: The repo tool automatically handles the source code base needed to build a custom ROM. The previous link takes you to a page for the repo tool itself, but you'll need a shove in the right direction to start using it efficiently.

Head on over to XDA Senior Member Red Devil's guide on the subject. The original thread, which is part of XDA-University, covers the basics (and then some) in a graphic rich, well organized, and non-bloated way.  After explaining what each part is about, Red Devil shows how to install the tool and use it to automatically pull down the code base. He even hits the GUI version of the folder to show what the file structure looks like after that step. From there, you'll learn about the XML manifest files that govern how the tool operates on your local copy of the code. Even if you're already quite comfortable with the repo tool, it's worth your time to hit the second post in the thread to hear some pro tips.