Projects are used to store files, bookmarks, working dir and configurations. A configuration consists of environment variables and commands for compiling the current file, building and running the program.