Add intermediate git; draft meta programming in ruby