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 | Golden Gate 27.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-ai/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
appgrid- Application managerbats- Bash Automated Testing Systemclaude_code- Anthropic's official CLI for Claudeclaude_desktop- Anthropic's official Claude Desktop appdockutil- Dock management utilitygcc- GNU Compiler Collectiongoogle_chrome- Google Chrome web browseriterm- Terminal emulator for macOSjq- JSON processormaccy- Clipboard managernode- Node.js runtimeobsidian- Knowledge base and note-taking appos_prefs- macOS preferences configurationpip- Python package installerpycharm- JetBrains IDE for Pythonpython- Python programming languagerectangle- Window management tooluv- Fast Python package installer and manager
chatgpt_desktop- OpenAI's official ChatGPT Desktop appdocker_desktop- Docker Desktop container platformgnused- GNU implementation of sedgradle- Build automation toolintellij_idea- JetBrains IDE for Java/Kotlinjava- Java Development Kitjenv- Java environment managerkafka- Distributed streaming platformkotlin- Kotlin programming languagektlint- Kotlin linterllama_cpp- C/C++ implementation for running LLMs locallyneo4j_desktop- Graph database management systemollama- Run large language models locallypostgres- PostgresSQL databasesqlite- SQLite embedded 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>The os_prefs package configures a core Dock layout shared by every
workstation (packages/os_prefs.sh). To add personal apps on top of the core
layout without committing them to this repo:
cp .custom-os-prefs.sh custom-os-prefs.shEdit .custom-os-prefs.sh and add dockutil --add entries for your own apps
inside the install_custom_os_prefs() function. This file is gitignored, so
it stays local. If .custom-os-prefs.sh is not present, os_prefs installs
the core Dock layout only.
bin/setup-workstation.sh uninstall <package>bin/setup-workstation.sh uninstall allTo install or update BMad-Method framework:
npx bmad-method installThis 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.