add .gitignore
support dynamic template cascading