Durante los despliegues en entornos de desarrollo o producción, es común que al generar archivos ZIP de carpetas en macOS se incluyan automáticamente archivos y directorios ocultos (.git, .DS_Store, etc.), lo que puede causar problemas de consistencia o aumentar innecesariamente el tamaño del paquete. Para evitar esto, se puede implementar una acción de compresión personalizada en el menú contextual del Finder que excluya selectivamente estos elementos.
Pasos a seguir:
- Abrimos Automator con Cmd + Espacio
- Pulsamos en Nuevo documento, tipo Acción rápida

- La configuramos de la siguiente forma. Flujo: archivos o carpetas, En: Finder, Añadir acción: Ejecutar script de shell, Shell: bin/bash, Pasar datos: como argumentos

- Añadimos este código en el apartado script, luego pulsamos en Archivo, Guardar, lo nombramos ‘Comprimir sin ocultos’ y listo.
for item in "$@"; do
dir="$(dirname "$item")"
base="$(basename "$item")"
zipfile="${dir}/${base}.zip"
cd "$dir" || exit 1
/usr/bin/zip -r "$zipfile" "$base" \
-x \
"*/.DS_Store" \
"*/__MACOSX/*" \
"*/.git/*" \
"*/.svn/*" \
"*/.hg/*" \
"*/node_modules/*" \
"*/.vscode/*" \
"*/codesniffer.ruleset.xml" \
"*/phpcs.xml" \
"*/phpunit.xml.dist" \
"*/composer.json" \
"*/package.json" \
"*/package-lock.json" \
"*webpack*" \
"*/config*.yml" \
"*gulpfile*" \
"*/yarn.lock" \
"*/composer.lock" \
"*/gulpconfig.json" \
"*.log" \
"*/CHANGELOG.md" \
"*/Thumbs.db" \
"*/desktop.ini" \
"*/ehthumbs.db" \
"*~" \
"*.bak"
done
Con esto ya tenemos funcionando nuestro menú contextual
