[pitch] Fiz meu próprio gerenciador de pacotes
Bash Package Manager (BPM)
O BPM é um gerenciador de pacotes projetado especificamente para scripts em Bash, oferecendo uma forma prática de automatizar tarefas no Linux. Abaixo, você encontrará informações detalhadas sobre suas funcionalidades, pacotes existentes e como utilizá-lo.
Principais Funcionalidades
- Instalação de pacotes remotos: Adicione pacotes de repositórios externos.
- Gerenciamento de pacotes: Criação, remoção e restauração de pacotes.
- Listagem de repositórios e pacotes: Verifique quais repositórios estão ativos e explore os pacotes disponíveis.
- Indexação automática de pacotes: Garante que pacotes sejam acessíveis globalmente.
- Exportação de pacotes como CLI: Permite rodar pacotes diretamente no terminal.
- Sistema de importação próprio: Facilita o uso de pacotes como bibliotecas.
- Bash completion automático: Completa comandos diretamente no terminal.
- Comando de reparo automático: Corrige problemas na instalação ou execução.
Nota sobre a indexação automática: Sempre que você usa qualquer comando do BPM em um diretório de pacote, como
install
,clean
ouhelp
, os pacotes são automaticamente indexados para facilitar o acesso global.
Pacotes Disponíveis
- bpm-package: Pacote inicial de teste sem funcionalidades.
- colorful: Fornece códigos de cores para saída no terminal.
- metrics: Ferramenta CLI que calcula métricas de projetos, como número de linhas de código, commits, bytes, etc.
- edit-repo: CLI simples para manipular arquivos de repositórios do BPM.
- pack: Facilita a manipulação de pacotes e gerenciadores de pacotes. Inclui a função
pack-man
, que adapta scripts para diferentes gerenciadores do sistema.
Esses pacotes foram criados principalmente para testar o BPM, mas possuem utilidades práticas.
Workflow do BPM
Instalação
Clone o repositório e execute o script de instalação:
git clone https://github.com/Raffa064/bpm && bash ./install.sh
Após a instalação, reinicie o shell para ativar o BPM. Use o comando bpm
e pressione Tab para visualizar os comandos disponíveis.
Gerenciamento de Pacotes
Instalar um pacote
Para instalar um pacote, como o metrics
:
bpm install metrics
Isso também instalará as dependências (ex.: colorful
).
Executar um pacote
Para rodar um pacote instalado:
bpm run metrics
Você pode exportar o pacote para executá-lo diretamente:
bpm export metrics
metrics -t sh
Criar um Pacote
Para criar um novo pacote:
bpm init my-bpm-package
O comando pedirá algumas informações, incluindo o main script, que é o caminho do arquivo principal do pacote (similar ao import
em Java). Caso o pacote seja apenas uma biblioteca, deixe este campo vazio.
Após a criação, o diretório do pacote terá:
src/
: Para os scripts.package.sh
: Arquivo de configuração (similar aopackage.json
do Node.js).
Adicionar dependências
Adicione dependências no arquivo package.sh
:
pkg[dependencies]="colorful"
Importar dependências
Use o comando import
nos scripts:
Exemplo: src/my-bpm-package.sh
import colorful
function my-bpm-package/main() {
echoe "$fBTexto azul" # foreground blue
echoe "$fgTexto verde" # foreground green
}
Nota: O comando
echoe
é um atalho do pacotecolorful
paraecho -e
, com reset automático de cores ao final.
Execute o pacote com:
bpm run my-bpm-package
Remover e Restaurar Pacotes
- Remover: Adicione o pacote à lixeira com
bpm remove
. - Restaurar: Restaure o pacote com
bpm restore
. - Limpar: Esvazie a lixeira com
bpm clean
.
Documentação
A documentação completa dos comandos está disponível com:
bpm help
Ela está escrita em inglês e cobre todos os recursos do BPM.
Teste o BPM
Confira o repositório oficial e experimente o projeto: