CLI interativo para descobrir e executar scripts npm/bun/make com busca fuzzy, seleção múltipla e suporte a monorepo.
script-scan é uma ferramenta de terminal que substitui o ciclo tedioso de abrir o package.json, ler dezenas de scripts e digitar o comando certo. Basta rodar script-scan e começar a digitar — ele encontra o script que você precisa na hora.
Por que eu criei
Com o crescimento dos projetos, os scripts do package.json se multiplicam rápido. Entre variantes de build, modos de teste, configs de lint, migrações de banco e targets de deploy, fica difícil lembrar o que existe e o que cada um faz. O script-scan resolve isso com uma lista interativa e pesquisável que mostra o comando real ao lado de cada script.
Funcionalidades
Busca fuzzy — digite qualquer parte do nome de um script ou do conteúdo do comando. Lógica AND com múltiplos termos: test watch encontra test:watch, vitest watch, etc.
Modo multi-select (-m) — selecione múltiplos scripts com espaço, confirme com enter, e eles rodam sequencialmente na ordem que você escolheu.
Suporte a monorepo (-w) — escaneia todos os pacotes de um workspace, agrupa scripts por nome de pacote e executa cada um no próprio diretório. Detecta workspaces no package.json e pnpm-workspace.yaml.
Targets do Makefile — descobre e executa targets do make junto com scripts npm, com a mesma interface interativa.
Detecção automática do gerenciador de pacotes — detecta bun, pnpm, yarn ou npm a partir dos lockfiles. Sem configuração necessária.
Categorização de scripts — mais de 80 categorias por palavras-chave com ícones coloridos (build, dev, test, lint, deploy, docs, database e muito mais).
Cache inteligente — os resultados ficam em cache por 24 horas com invalidação baseada em mtime. Reescaneia apenas quando os arquivos mudam de verdade.
Uso
script-scan # busca interativa
script-scan -m # modo multi-select
script-scan -w # modo workspace/monorepo
script-scan -wm # multi-select em todos os pacotes
script-scan --limit 5 # exibir apenas 5 resultadosInstalação
npm install -g script-scan
# ou
bun add -g script-scan