Ferramenta para gerar códigos automaticamente
Sempre que vamos começar um novo projeto, é comum partimos de uma estrutura de arquivos inicial. Quem possuem arquivos de configuração, linters, bibliotecas, testes, funcionalidades, etc, que são comuns a todos os projetos que começamos.
Algumas ferramentas, com o create-react-app
facilitam bastante o trabalho, mas ainda assim existem bastabte coisas que precisam ser modificadas sempre que utilizamos essas ferramentas.
Para resolver esse problema, modemos criar um repositório com o modelo de um projeto, os chamados boilerplates. Mas ainda assim, possam ser que existam algumas modificações que precisam ser feitas, pois nem todo projeto é igual. Por exemplo, você pode precisar de um banco de dados diferente, ou provedor de hospedagem diferente.
Para isto, existem ferramentas como o cookiecuter, copier e yeoman.
Com elas, você pode criar boilerplates dinâmicos. Passando alguns parâmetros, é possível definir qual banco de dados utilizar, para qual servidor de hospedagem configurar, etc.
Baseado nessas ferramentas, criei o cakemix, que tenha a proposta de ser uma ferramenta de geração de boilerplates simples, porém poderosa. Ela pode ser utilizada com qualquer linguagem, e toda a configuração dos boilerplates
é feita utilizando yaml e a engine de templates Jinja.
O principal objetivo do desenvolvimento dessa ferramente foi apenas para treino, mas ela possui algumas caracteristicas interessantes:
- Você pode criar parâmetros dinâmicos (útil para quando por exemplo, você pode ou não ter um banco de dados, ai você pergunta se o projeto irá possuir um, e caso sim, receber os parâmetros de configuração):
- Arquivos dinâmicos, você pode mover, copiar e deletar aqruivos com base nos parâmetros recebidos:
- Tudo isto é feito sem utilizar nenhuma linguagem de programação, tudo é yaml e jinja
Caso tenham se interessado, sintam-se a vontade para mandar susjestôes ou contribuições ;)
Repositório do projeto: https://github.com/vadolasi/cakemix