@natabael/cowl
v1.0.12
Published
CLI para monitorar, compilar e executar código C automaticamente
Downloads
4
Readme
📦 Instalação
🔧 Requisitos
- Node.js v14+ instalado
- No Windows: PowerShell para instalação do Chocolatey
🌐 Instalando via npm
# Globalmente
npm install -g @natabael/cowl
# Local (dentro do projeto)
npm install @natabael/cowl🪟 Configuração automática no Windows
Se o Cowl não encontrar um compilador C no Windows, ele verifica o Chocolatey:
- Sem Chocolatey instalado: exibe passo a passo para instalar
- Com Chocolatey instalado: executa
choco install mingw -ye encerra
Você pode rodar manualmente também:
# Para instalar Chocolatey (executar em PowerShell Admin)
Set-ExecutionPolicy Bypass -Scope Process -Force
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
# Após instalar Chocolatey, instale MinGW:
choco install mingw -y🚀 Uso
# Executa watcher com padrões:
cowl
# Com fonte e saída personalizados:
cowl --src=meu_codigo.c --out=meu_binarioControles de teclado
- Ctrl+C: encerra o Cowl
- R (enquanto não estiver compilando/executando): força rebuild manual
Opções
| Flag | Alias | Descrição | Default |
| -------------------- | ----- | ---------------------------------------- | ------- |
| --src <file> | -s | Arquivo fonte .c | app.c |
| --out <name> | -o | Nome do executável compilado | app |
| --delay <ms> | -d | Atraso (ms) antes de executar após build | 100 |
| --silent | | Oculta logs INFO e SUCCESS | false |
| --help | -h | Exibe ajuda e opções | |
⚙️ Variáveis de Ambiente
Também é possível usar variáveis de ambiente:
export C_SOURCE_FILE=mycode.c
export C_EXECUTABLE_NAME=mybin
export EXEC_DELAY_MS=200
cowl🛠️ Funcionalidades Principais
- Watcher inteligente: observa qualquer
.cno diretório e força rebuild imediato, mesmo em modo interativo - Fallback de compilador: detecta
gcc,clangou instala MinGW no Windows via Chocolatey - Logs coloridos e spinner de build para melhor experiência
- Controles manuais: rebuild com tecla
R, encerramento comCtrl+C
📄 Release e SemVer
Usa Semantic Release para versionamento:
- Commits seguindo Conventional Commits (
feat:,fix:,docs:etc.) - Push em
main/develop-> GitHub Actions rodanpx semantic-release - Gera
CHANGELOG.md, cria release e atualiza tags automaticamente
📝 Licença
MIT © Natanael Marcelino da Silva Vieira
