Add Halo framework

Also update gitignore