Skip to content

Brunoalcau/devkit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Documentação do Projeto CLI de Configuração de Ambiente de Desenvolvimento

1. Introdução

O que é este CLI?

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.

Objetivo

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.


2. Funcionalidades Principais

Comandos Disponíveis

  • 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.


3. Estrutura do Projeto

Estrutura de Diretórios

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

Explicação dos Arquivos

  • 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, como init-dev.
  • package.json: Configura o projeto como um pacote Node.js e permite a instalação global do CLI.

4. Configuração e Instalação

Pré-requisitos

  • Node.js e NPM devem estar instalados.

Passo a Passo de Instalação

  1. Clone o Repositório:

    git clone <URL-do-repositório> cd nome-do-projeto

  2. Instale o CLI Globalmente:

    npm install -g .

  3. Verifique a Instalação: dev-setup --help


5. Uso do CLI

5.1. Comando Principal: init-dev

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.

5.2. Comando Auxiliar: install-nvm

Instala o NVM (Node Version Manager) separadamente, caso ainda não esteja instalado:

dev-setup install-nvm

5.3. Comando Auxiliar: install-node

Instala uma ou mais versões específicas do Node.js:

dev-setup install-node 14.17.0 16.13.0


6. Arquivo de Configuração: plugins.json

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.


7. Como o CLI Funciona Internamente

  1. Carregamento de Comandos:

    • O cli.js carrega automaticamente todos os comandos definidos na pasta commands/.
  2. Execução de Plugins:

    • Cada comando lê o plugins.json e carrega os plugins relevantes.
    • Por exemplo, init-dev carrega e executa install-nvm e install-node com as versões especificadas.
  3. Modularidade:

    • Cada tarefa é modularizada em um plugin, tornando o CLI extensível e fácil de manter.

8. Exemplos de Uso e Teste

  • 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


9. Considerações Finais

Benefícios

  • 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.

Possíveis Expansões

  • Suporte para outras ferramentas ou configurações de ambiente.
  • Adição de novos comandos para outras fases de desenvolvimento ou integração contínua.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors