Unicli é uma interface de linha de comando (CLI) universal projetada para gerar dinamicamente vários arquivos de projeto. Ela simplifica a configuração de projetos automatizando a criação de arquivos e estruturas comuns.
- Gerar arquivos para diferentes tipos de projeto (ex.: projetos .NET).
- Suporte para repositórios, DTOs, entidades, controladores e padrões CQRS.
- Opções para criar um conjunto completo de arquivos ou componentes específicos.
- Node.js (v16 ou superior).
- npm (vem com o Node.js).
- Clone o repositório ou baixe o código fonte.
- Instale as dependências:
npm install
- Compile o projeto:
npm run build
- Vincule a CLI globalmente:
npm run link
Após a instalação, você pode usar o comando unicli para gerar arquivos.
unicli g [opções]| Opção | Alias | Descrição |
|---|---|---|
--type <type> |
-t |
Tipo de projeto (ex.: dotnet). |
--project <name> |
-p |
Nome do projeto. |
--name <name> |
-n |
Nome do arquivo/entidade. |
--repository |
-r |
Gerar arquivos de repositório. |
--dto |
-d |
Gerar arquivos de DTO (Data Transfer Object). |
--entity |
-e |
Gerar arquivos de entidade. |
--controller |
-c |
Gerar arquivos de controlador. |
--cqrs |
-cqrs |
Gerar arquivos CQRS (Comandos/Consultas). |
--full |
-f |
Gerar todos os arquivos para o tipo de projeto. |
unicli g -t dotnet -p MeuProjeto -n MinhaEntidade --repositoryIsso gera arquivos de repositório para a entidade MinhaEntidade no projeto MeuProjeto.
unicli g -t dotnet -p MeuProjeto -n MinhaEntidade --repository --fIsso gera um conjunto completo de arquivos referentes a repositório, incluisve Generics (O padrão UnitOfWork).
Para modificar ou estender o Unicli, você pode:
- Criar novos comandos como no arquivo
generate.ts. - Atualizar o arquivo
index.tspara adicionar os novos comandos ou funcionalidades. - Usar o
files-gen.tspara definir a lógica de geração de arquivos. - Criar ou modificar templates na pasta
src/Templates.
Após fazer alterações, recompile e relinque a CLI:
npm run build && npm run linkContribuições são bem-vindas! Fique à vontade para abrir issues ou enviar pull requests.
Este projeto está licenciado sob a Licença MIT.
Comece a construir mais rápido com o Unicli! 🚀