go project layout CMD internal pkg vendor api web configs init scripts build deployments test docs tools exampels third_party githooks assets website