This should get you going. For more detailed instructions on building ycmd, see YCM's instructions (ignore the Vim-specific parts). There are several completion engines in ycmd. The most basic one is ...