Foundations of Development Environments, CLI, and Version Control