The project uses a modular bootstrap architecture:
- Entry wrapper:
install-macos.sh - Core orchestrator:
scripts/bootstrap/bootstrap.sh - OS dispatcher:
scripts/bootstrap/os/*.sh - Domain modules:
scripts/bootstrap/modules/** - Shared helpers:
scripts/bootstrap/lib/common.sh
- Parse CLI flags in
bootstrap.sh. - Detect target OS (or accept
--osoverride). - Load shared helpers.
- Load OS module.
- Execute domain modules in fixed order.
- Run health checks.
- System and shell setup are isolated from language modules.
- Each technology domain has its own script.
- Modules are intended to remain idempotent and composable.
- Domain details and recovery procedures are documented in
docs/wiki/*.
- JS runtime:
- Bun from
oven-sh/bun - Node active version pinned to
node@24
- Bun from
- Kubernetes runtime:
kubectl,helm,kustomize,kind,minikube,kubectx,k9s
- Container runtime control point:
containermodule enforces deterministic context selection.- Preferred context:
orbstack, fallback:colima.
- Python:
python@3.13linked as defaultpython3python@3.14installed as additional interpreter
- Rust:
- rustup-managed stable toolchain
darwinmodule is production-ready.linuxandwindowsmodules are placeholders.- Shared logic remains centralized in
lib/common.sh.