Automated environment setup and configuration for OpenGood computing environments
- Access to GitHub with permissions to clone repos
- Familiarity with running commands and scripts from
macOSTerminal
Installation is maintained for the recent version(s) of macOS and required processors:
| Requirement | Version |
|---|---|
| macOS | Tahoe 16.x |
| Processor | Apple Mx |
- Open Terminal and type
git - One will be prompted to install the required Command Line Developer Tools
- Once installed, run the following commands from Terminal:
mkdir -p ~/workspacecd ~/workspace
git clone https://github.com/opengood-aio/env-setup
cd env-setuphomebrew- Package manager for macOSvim- Text editorbash- Bash shell (5.0+)bash_it- Bash framework with themes and pluginsgit- Version control system
bats- Bash Automated Testing Systemdockutil- Dock management utilitygcc- GNU Compiler Collectiongradle- Build automation toolintellij_idea- JetBrains IDE for Java/Kotliniterm- Terminal emulator for macOSjava- Java Development Kitjenv- Java environment managerjq- JSON processorkotlin- Kotlin programming languagektlint- Kotlin linterllm_context- LLM context management toolmaccy- Clipboard managernode- Node.js runtimeos_prefs- macOS preferences configurationpip- Python package installerpycharm- JetBrains IDE for Pythonpython- Python programming languagerectangle- Window management tooluv- Fast Python package installer and manager
docker- Container platformdocker_compose- Docker Compose tool for defining multi-container applicationsgnused- GNU implementation of sedgoogle_chrome- Google Chrome web browserkafka- Distributed streaming platformllama_cpp- C/C++ implementation for running LLMs locallyminikube- Local Kubernetes clusterollama- Run large language models locallypostgres- PostgresSQL database
bin/setup-workstation.sh install allNotes:
- One will be prompted to enter credentials to grant elevated privileges to install packages
- One will be prompted to interactively enter the path to the
Bash 5.0or later shell, as this cannot be automated due to security restrictions in macOS requiring root level access to modify/etc/shellsshells configuration file - For
Git, one will be prompted for the following information to complete the setup of various Git configurations:- Git
name - Git
email - GitHub
username - GitHub
access token - GitHub GPG signing key
gpg signing key
- Git
- After
MaacyandRectangleare installed, one will need to open the System Preferences and grant them elevated privileges underSecurity & Privacy > Privacy > Accessibility
bin/setup-workstation.sh install <package>bin/setup-workstation.sh uninstall <package>bin/setup-workstation.sh uninstall allTo install or update .bmad-core with the latest bmad-method npm package:
bin/sync-bmad-core.shbin/sync-bmad-core.sh <relative-path>bin/sync-bmad-core.sh -hExamples:
bin/sync-bmad-core.shbin/sync-bmad-core.sh my-projectNotes:
- Takes optional parameter for relative directory path from workspace directory
- Defaults to current project (env-setup) if no parameter provided
- Installs the latest
bmad-methodpackage in a temporary directory - Backups existing
.bmad-coredirectory with timestamp (if it exists) - Copies the new
.bmad-coreto specified installation directory - Copies updated BMad commands to
.claude/commands/BMad(if applicable) - Verifies installation directory exists before proceeding
This project uses BATS (Bash Automated Testing System) for testing.
To run tests:
Ensure bats is installed:
bin/setup-workstation.sh install bats# run commons utility function tests
bats test/commons.bats
# run package management tests
bats test/package.batstest/commons.bats- Tests for utility functions inmodules/commons.shtest/package.bats- Tests for package management functionstest/test-helper.bash- Test setup and utilities
Tests use bats-support and bats-assert libraries for enhanced assertions and
output formatting.