feat: adiciona uma Interface de Linha de Comando (CLI) para criar novos conceitos#112
feat: adiciona uma Interface de Linha de Comando (CLI) para criar novos conceitos#112rwietter wants to merge 47 commits into
Conversation
* upstream/main: (25 commits) style: Compilando o arquivo sass para css refactor: atualizando arquivo script.js com nome novo da imagem refactor: mudando o nome da imagem de resultados não encontrados fix: Update assets/js/script.js Remove duplicate Mobile First term and rewrite him style: corrigindo a grafia do flex-direction: column style: configurando estilo para a mensagem de erro refactor: modificando a mensagem de erro refactor: script.js atualizado incluindo mensagem de termo não encontrado docs: Mudança do screenshot do README.md adicionando novos termos técnicos ao diciotech Melhorando conceitos de React, componentes e propriedades fix: removendo duplicados style: beautify json feat: adiciona termo/conceito 'cache' Add React, componentes e propriedades feat: removido tag 'back-end' do termo jQuery feat: add novos termos bugfix: ajuste na tag duplicada backend chore: adicionado variáveis com várias tonalidades da cor primária roxa ...
✅ Deploy Preview for diciotech ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
Fiz algumas modificações gerais. Substitui o Enquirer pelo Clack, achei que ficou bem melhor a usabilidade e a CLI em si. O que acha ? Agora eu criei um arquivo na raiz do projeto chamado "code" que é para colocar trechos de código caso haja, ali você já coloca de forma recuada e depois em conjunto com a issue #113 já irá aparecer o código formatado no card. No terminal não tem como escrever de forma recuada, teria que ser na mesma linha e dando espaçamento e quebra de linha manualmente, dessa forma acho que é mais simples e não atrapalha a CLI, visto que grande maioria dos conceitos não tem código. Parte 1parte1.mp4Parte 2parte2.mp4Ops: removi o assignment sem querer. |
… alterado a seção de adicionar um novo termo técnico
|
@rwietter isso ficou SENSACIONAL! Sério! 🥹 Vou tirar um tempo para revisar tudo e testar na minha máquina para ver como está fluindo. Apesar disso, como não sou nenhuma expert em usabilidade, acho que o ideal vai ser abrir para a comunidade testar, e se tivermos sugestões e melhorias vamos implementando aos poucos! |
|
Tem alguma forma de adicionar uma nova tag usando a CLI? Ou pra isso ainda é necessário editar o arquivo manualmente? E acho que seria legal na CLI também ter a possibilidade de editar um termo existente. Imagina o seguinte caso: acabei de adicionar um termo, mas esqueci de adicionar uma tag por exemplo, ou pensei melhor e quero fazer uma mudança na definição. |
Em relação a tag, não há opção para adicionar uma nova, pois o documento de contribuição (CONTRIBUTING) estabelece que a adição de uma tag requer a abertura de uma solicitação de alteração para que a comunidade possa avaliar a relevância da tag em questão e verificar se é justificada, evitando assim a criação de confusão e desordem. Quanto às funcionalidades de edição ou exclusão de termos a partir da interface de linha de comando, eu acredito que é uma ideia meritória que pode ser implementada. |
|
Olá, pessoal 🚀 Testei a CLI no Windows aqui e curti DEMAIS! Seguem os prints dos testes: O único ponto que tenho é que quando fui selecionar a tag, a seleção estava meio bugada, mas não sei se é o meu terminal específicamente: // @rwietter |
|
Muito bom! @levxyca, a questão levantada refere-se à seleção da tag, certo? Adicionei recentemente uma documentação à CLI, que elucida o procedimento. Para a seleção das tags, tente utilizar a tecla |
|
@rwietter exatamente! o problema está relacionado a isso, eu consigo selecionar sim, o problema está no retorno visual, como no print, quando tento ir passando pelas tags pra selecionar, ele fica estranho, como se tivesse com várias selecionadas e isso dificulta entender qual eu estou de fato selecionando até que eu aperte space e descubra. |
|
Oi, @rwietter 💙 Gostaria de entender se você ainda está disponível para trabalhar nesse PR? |




Descrição
A principal adição deste PR é a funcionalidade de CLI. Com isso, os contribuidores também podem criar novos termos no projeto "diciotech" através da interface de linha de comando, executando o um comando de sua preferência
npm run new,yarn newoupnpm new.Note
Na issue #100, eu tinha comentado sobre usar apenas módulos nativos do Node, como o
readline, mas como o projeto tende a crescer, resolvi usar a lib de CLI Clack. Após fazer build uma vez com webpack, basta executar com Node da mesma forma. Inclui o bundle final junto a este PR, para quem for contribuir não precisar instalar dependências e fazer build para executar.Na primeira etapa, configuramos o ambiente do projeto, incluindo a definição de dependências essenciais e a criação de scripts para compilar e executar a aplicação. Para gerenciar essas dependências e garantir a organização do projeto.
Além disso, introduzimos o arquivo de configuração "tsconfig.json" para tornar o projeto compatível com TypeScript. Isso oferece a vantagem de tipagem estática e detecção de potenciais problemas durante a compilação.
Para otimizar a organização e o empacotamento de ativos do projeto, adicionamos o Webpack, um bundler de módulos. Isso é essencial para gerenciar as dependências e criar bundles eficientes.
Warning
Gostaria de ajuda para testar em outros Sistemas Operacionais como Windows e Mac, afim de encontrar problemas se houver, pois testei apenas no Arch Linux.
Fixes #100
Tipo de mudança
Como isso foi testado?
Para executar a CLI, basta fazer fetch deste pr, ter o node>=18.17.1 instalado e executar com
yarn run newounpm run newoupnpm run new. Executei os testes no Wezterm, e no terminal integrado do Vscode com o comandonpm run new.Configuração de Testes:
Checklist:
Screenshots
Executando a CLI
Criando novo conceito
Arquivo de dados