1. Work
  2. Shell Scripting and Developer Automation
  3. Docs

Shell Scripting and Developer Automation

Shell scripts that set up macOS and Linux dev environments and run monitored background tasks.

2 min read

Source on GitHub

A collection of POSIX-compliant shell scripts and developer workflow automations designed to streamline macOS and Linux environment provisioning, tool management, and automated command execution.

Description

This repository contains production-tested shell scripts for terminal power users. It emphasizes idempotency, defensive error handling (set -euo pipefail), automated dependency resolution, and headless background execution.

Scripts Included

  • Environment Bootstrapper (install.sh): Automated developer onboarding script that detects host OS (macOS Darwin vs Linux), validates dependencies (Homebrew, Git, compilers), and installs essential development tooling.
  • Autonomous Execution Loop (gemini-auto.sh): Headless CLI harness that wraps terminal tooling, manages process logs, handles error retries, and monitors execution health.

Directory Structure

Shell-Scripting-Automation/
├── gemini-auto.sh      # Autonomous background process execution and monitor
├── install.sh          # Idempotent environment bootstrapper and dependency installer
└── README.md           # Documentation and usage guide

Requirements

  • Shell: GNU Bash (v4.0+) or Zsh (default on macOS)
  • Operating System: macOS 13+ or Linux (Debian, Ubuntu, Arch)
  • Core Utilities: curl, git, grep, awk, sed

Installation

Clone the repository:

git clone https://github.com/ADM1SH/Shell-Scripting-Automation.git
cd Shell-Scripting-Automation

Grant execute permissions:

chmod +x *.sh

Usage

Run the environment installer:

./install.sh

Execute an automated monitored task:

./gemini-auto.sh --task "build-all" --log-dir ./logs

Inspect execution status:

tail -f ./logs/execution.log

Support

Open an issue on GitHub for shell troubleshooting: https://github.com/ADM1SH/Shell-Scripting-Automation/issues

Roadmap

  • Done: Implement OS detection and Homebrew installer.
  • Done: Add automated background process logging in gemini-auto.sh.
  • To do: Add automated linting checks using shellcheck.
  • To do: Add cross-platform notification dispatch (macOS osascript / Linux notify-send).

Contributing

  1. Fork the repository.
  2. Create a branch: git checkout -b feature/shellcheck-linting.
  3. Verify all scripts pass shellcheck with zero warnings.
  4. Open a Pull Request.

Authors and Acknowledgment

  • Adam Anwar (ADM1SH) - DevOps automation engineer.

License

MIT License. See LICENSE for details.

Project Status

Active maintenance. Used across daily developer workflows and system setups.

Back to top