Pular para o conteúdo
Open Sourcept
script-scan

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 resultados

Instalação

npm install -g script-scan
# ou
bun add -g script-scan

Construído com TypeScript, Commander e Enquirer.