sickn33/bash-scripting

Flujo de trabajo de scripting en Bash para crear scripts de shell listos para producción con patrones defensivos, manejo de errores y pruebas.

¿Qué es bash-scripting?

Este skill proporciona una guía completa para escribir scripts de Bash robustos y listos para producción. Se enfoca en la implementación de patrones defensivos como la verificación de argumentos, uso de `set -euo pipefail` para evitar errores silenciosos, y manejo explícito de errores con trampas (traps) para garantizar la limpieza de recursos temporales. Además, incorpora prácticas de pruebas unitarias y estructurales para validar la lógica del script antes de su implementación. Es ideal para desarrolladores que buscan automatizar tareas con scripts de shell confiables y mantenibles, compatible con cualquier sistema Unix/Linux con Bash 4+ instalado.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/bash-scripting

Installed? Explore more Productividad y colaboración skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace bash-scripting?

Flujo de trabajo de scripting en Bash para crear scripts de shell listos para producción con patrones defensivos, manejo de errores y pruebas.

Características principales

  • Patrones defensivos: Verificación de argumentos, uso de set -euo pipefail, y validación de comandos requeridos.
  • Manejo de errores: Trampas (trap) para limpiar archivos temporales y salir con código de error adecuado.
  • Pruebas: Soporte para pruebas unitarias con frameworks como bats o scripts de prueba personalizados.
  • Estructura modular: Separación de funciones en archivos incluidos (source).

Requisitos

  • Bash 4+ (o superior)
  • Acceso a comandos estándar de Unix (grep, awk, sed, etc.)
  • Opcional: bats para ejecutar pruebas automatizadas

Uso básico

  1. Clonar el repositorio o copiar la plantilla de script:
git clone https://github.com/sickn33/bash-scripting.git
cp bash-scripting/template.sh mi-script.sh
  1. Editar mi-script.sh para agregar la lógica deseada.

  2. Hacerlo ejecutable y probar:

chmod +x mi-script.sh
./mi-script.sh --help
  1. Ejecutar pruebas:
bats tests/

Estructura del proyecto

.
├── template.sh         # Plantilla principal del script
├── lib/                # Funciones reutilizables
│   ├── utils.sh
│   └── errors.sh
├── tests/              # Pruebas unitarias
│   ├── test_utils.bats
│   └── test_errors.bats
└── README.md           # Documentación

Buenas prácticas incluidas

  • Uso de set -euo pipefail para detener la ejecución en caso de errores.
  • Trampas de salida (trap ... EXIT) para eliminar archivos temporales.
  • Mensajes de error descriptivos con echo coloreado (opcional).
  • Validación de argumentos con funciones como check_args o usage.
  • Separación de responsabilidades en funciones reutilizables.

Ejemplo de script con patrón defensivo

#!/bin/bash
set -euo pipefail

# Función de ayuda
usage() {
    echo "Uso: $0 [-n nombre] [-v]"
    exit 1
}

# Trampa para limpiar archivos temporales
cleanup() {
    rm -f /tmp/mi_script_*
}
trap cleanup EXIT

# Validación de argumentos
if [[ $# -lt 1 ]]; then
    usage
fi

# Procesar opciones
while getopts ":n:v" opt; do
    case "${opt}" in
        n) NOMBRE=${OPTARG} ;;
        v) VERBOSE=true ;;
        *) usage ;;
    esac
done

echo "Hola, ${NOMBRE:-mundo}!"

Contribuir

Las contribuciones son bienvenidas. Por favor, abre un issue o envía un pull request con mejoras.

Licencia

MIT - Ver el archivo LICENSE para más detalles.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

sickn33/3d-web-experience

Expert in building 3D experiences for the web - Three.js, React Three Fiber, Spline, WebGL, and interactive 3D scenes. Covers product configurators, 3D portfolios, immersive websites, and bringing depth to web experiences.

sickn33/agent-memory-mcp

A hybrid memory system that provides persistent, searchable knowledge management for AI agents (Architecture, Patterns, Decisions).

sickn33/agent-memory-systems

Memory is the cornerstone of intelligent agents. Without it, every interaction starts from zero. This skill covers the architecture of agent memory: short-term (context window), long-term (vector stores), and the cognitive architectures that organize them.

sickn33/ai-agents-architect

Expert in designing and building autonomous AI agents. Masters tool use, memory systems, planning strategies, and multi-agent orchestration.

sickn33/api-documentation-generator

Generate comprehensive, developer-friendly API documentation from code, including endpoints, parameters, examples, and best practices

sickn33/api-patterns

API design principles and decision-making. REST vs GraphQL vs tRPC selection, response formats, versioning, pagination.

sickn33/api-security-best-practices

Implement secure API design patterns including authentication, authorization, input validation, rate limiting, and protection against common API vulnerabilities

sickn33/app-store-optimization

Complete App Store Optimization (ASO) toolkit for researching, optimizing, and tracking mobile app performance on Apple App Store and Google Play Store

sickn33/architecture

Architectural decision-making framework. Requirements analysis, trade-off evaluation, ADR documentation. Use when making architecture decisions or analyzing system design.

sickn33/audio-transcriber

Transform audio recordings into professional Markdown documentation with intelligent summaries using LLM integration

sickn33/aws-serverless

Specialized skill for building production-ready serverless applications on AWS. Covers Lambda functions, API Gateway, DynamoDB, SQS/SNS event-driven patterns, SAM/CDK deployment, and cold start optimization.

sickn33/backend-architect

Expert backend architect specializing in scalable API design, microservices architecture, and distributed systems.

sickn33/backend-dev-guidelines

You are a senior backend engineer operating production-grade services under strict architectural and reliability constraints. Use when routes, controllers, services, repositories, express middleware, or prisma database access.

sickn33/bash-linux

Bash/Linux terminal patterns. Critical commands, piping, error handling, scripting. Use when working on macOS or Linux systems.

sickn33/brainstorming

Use before creative or constructive work (features, architecture, behavior). Transforms vague ideas into validated designs through disciplined reasoning and collaboration.

sickn33/browser-automation

Browser automation powers web testing, scraping, and AI agent interactions. The difference between a flaky script and a reliable system comes down to understanding selectors, waiting strategies, and anti-detection patterns.

sickn33/browser-extension-builder

Expert in building browser extensions that solve real problems - Chrome, Firefox, and cross-browser extensions. Covers extension architecture, manifest v3, content scripts, popup UIs, monetization strategies, and Chrome Web Store publishing.

sickn33/bullmq-specialist

BullMQ expert for Redis-backed job queues, background processing, and reliable async execution in Node.js/TypeScript applications.

sickn33/bun-development

Fast, modern JavaScript/TypeScript development with the Bun runtime, inspired by [oven-sh/bun](https://github.com/oven-sh/bun).

sickn33/cc-skill-security-review

This skill ensures all code follows security best practices and identifies potential vulnerabilities. Use when implementing authentication or authorization, handling user input or file uploads, or creating new API endpoints.

Skills relacionados