Este CLI foi desenvolvido para automatizar a configuração inicial do ambiente de desenvolvimento. Ele simplifica o processo de instalação de ferramentas essenciais, como o NVM (Node Version Manager) e versões específicas do Node.js, agilizando o onboarding e evitando erros de configuração manual.
O objetivo principal do CLI é facilitar e padronizar a configuração do ambiente para desenvolvedores. Ele garante que todos tenham as mesmas versões de ferramentas e dependências, o que reduz problemas de compatibilidade entre ambientes.
-
init-dev
: Executa uma série de etapas para configurar o ambiente inicial de desenvolvimento, como instalação do NVM e das versões do Node.js especificadas. -
install-nvm
: Instala o NVM (Node Version Manager) no sistema, se ele não estiver instalado. -
install-node
: Instala uma ou mais versões específicas do Node.js usando o NVM, garantindo que os desenvolvedores tenham as versões corretas do Node.js para o projeto.
dev-setup/
├── cli.js # Arquivo principal do CLI
├── commands/ # Diretório de comandos
│ ├── init-dev.js # Comando que executa os plugins para configuração inicial
├── plugins/ # Diretório de plugins de tarefas
│ ├── install-nvm.js # Plugin para instalar o NVM
│ ├── install-node.js # Plugin para instalar Node.js
├── plugins.json # Configuração dos plugins e comandos
└── package.json # Configuração do projeto Node.js
cli.js
: Arquivo principal que gerencia os comandos e plugins.commands/
: Pasta contendo cada comando principal como arquivos individuais (init-dev.js
).plugins/
: Pasta onde cada tarefa individual, como instalar o NVM ou uma versão do Node.js, é modularizada em plugins.plugins.json
: Arquivo de configuração que especifica quais plugins devem ser executados por cada comando, comoinit-dev
.package.json
: Configura o projeto como um pacote Node.js e permite a instalação global do CLI.
- Node.js e NPM devem estar instalados.
-
Clone o Repositório:
git clone <URL-do-repositório>
cd nome-do-projeto
-
Instale o CLI Globalmente:
npm install -g .
-
Verifique a Instalação:
dev-setup --help
Executa todas as etapas necessárias para configurar o ambiente de desenvolvimento:
dev-setup init-dev
Este comando:
- Instala o NVM, caso não esteja instalado.
- Instala as versões do Node.js configuradas no
plugins.json
.
Instala o NVM (Node Version Manager) separadamente, caso ainda não esteja instalado:
dev-setup install-nvm
Instala uma ou mais versões específicas do Node.js:
dev-setup install-node 14.17.0 16.13.0
O plugins.json
define quais plugins devem ser executados para cada comando. Exemplo:
{
"commands": {
"init-dev": [
"install-nvm",
{
"name": "install-node",
"versions": ["14.17.0", "16.13.0", "18.0.0"]
}
]
}
}
init-dev
: Configura o ambiente para desenvolvimento, incluindo a instalação do
NVM e as versões do Node.js listadas.
-
Carregamento de Comandos:
- O
cli.js
carrega automaticamente todos os comandos definidos na pastacommands/
.
- O
-
Execução de Plugins:
- Cada comando lê o
plugins.json
e carrega os plugins relevantes. - Por exemplo,
init-dev
carrega e executainstall-nvm
einstall-node
com as versões especificadas.
- Cada comando lê o
-
Modularidade:
- Cada tarefa é modularizada em um plugin, tornando o CLI extensível e fácil de manter.
-
Configuração Completa do Ambiente:
dev-setup init-dev
-
Instalar Apenas o NVM:
dev-setup install-nvm
-
Instalar Múltiplas Versões do Node.js:
dev-setup install-node 14.17.0 16.13.0
- Automatização: Reduz o tempo e os erros na configuração de ambiente.
- Consistência: Garante que todos os desenvolvedores tenham o ambiente configurado de maneira uniforme.
- Modularidade: Fácil de expandir e personalizar com novos plugins.
- Suporte para outras ferramentas ou configurações de ambiente.
- Adição de novos comandos para outras fases de desenvolvimento ou integração contínua.