Shell Scripting and Developer Automation
Shell scripts that set up macOS and Linux dev environments and run monitored background tasks.
2 min read
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/ Linuxnotify-send).
Contributing
- Fork the repository.
- Create a branch:
git checkout -b feature/shellcheck-linting. - Verify all scripts pass
shellcheckwith zero warnings. - 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.