add gitignore
add gen script