{"id":43374208,"url":"https://github.com/openbootdotdev/openboot","last_synced_at":"2026-04-12T19:00:45.509Z","repository":{"id":335829187,"uuid":"1147139359","full_name":"openbootdotdev/openboot","owner":"openbootdotdev","description":"Set up your Mac dev environment in one command — CLI + Web Dashboard + Team sharing","archived":false,"fork":false,"pushed_at":"2026-04-01T12:41:32.000Z","size":7314,"stargazers_count":245,"open_issues_count":2,"forks_count":12,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-01T14:49:06.355Z","etag":null,"topics":["cli","dev-environment","developer-tools","devops","dotfiles","go","homebrew","mac-setup","macos","productivity","setup","tui"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openbootdotdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-01T09:03:10.000Z","updated_at":"2026-04-01T13:51:27.000Z","dependencies_parsed_at":"2026-02-02T16:03:02.200Z","dependency_job_id":null,"html_url":"https://github.com/openbootdotdev/openboot","commit_stats":null,"previous_names":["fullstackjam/openboot","openbootdotdev/openboot"],"tags_count":105,"template":false,"template_full_name":null,"purl":"pkg:github/openbootdotdev/openboot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openbootdotdev%2Fopenboot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openbootdotdev%2Fopenboot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openbootdotdev%2Fopenboot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openbootdotdev%2Fopenboot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openbootdotdev","download_url":"https://codeload.github.com/openbootdotdev/openboot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openbootdotdev%2Fopenboot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31291862,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","dev-environment","developer-tools","devops","dotfiles","go","homebrew","mac-setup","macos","productivity","setup","tui"],"created_at":"2026-02-02T06:18:25.441Z","updated_at":"2026-04-01T20:53:01.408Z","avatar_url":"https://github.com/openbootdotdev.png","language":"Go","readme":"# OpenBoot\n\n\u003e Setting up a new Mac shouldn't take two hours of your weekend.\n\u003e\n\u003e **[openboot.dev](https://openboot.dev)**\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/openbootdotdev/openboot/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/openbootdotdev/openboot?style=social\" alt=\"GitHub stars\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/openbootdotdev/openboot/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/openbootdotdev/openboot\" alt=\"Release\"\u003e\u003c/a\u003e\n  \u003ca href=\"LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/openbootdotdev/openboot\" alt=\"License\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://codecov.io/gh/openbootdotdev/openboot\"\u003e\u003cimg src=\"https://codecov.io/gh/openbootdotdev/openboot/branch/main/graph/badge.svg\" alt=\"codecov\"\u003e\u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/badge/platform-macOS-lightgrey\" alt=\"macOS\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/built%20with-Go-00ADD8\" alt=\"Go\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"demo.gif\" alt=\"OpenBoot Demo\" width=\"800\" /\u003e\n\u003c/p\u003e\n\nYou know the drill. New Mac, same two-hour ritual:\n\n```bash\nbrew install git node go python rust docker kubectl terraform\nbrew install --cask visual-studio-code docker iterm2 chrome slack figma\nnpm install -g typescript eslint prettier\n# dig through old laptop for .zshrc\n# re-configure git identity\n# tweak macOS settings one by one\n# two hours later, still missing something\n```\n\nHere's the alternative:\n\n```bash\ncurl -fsSL openboot.dev/install.sh | bash\n```\n\nPick what you need in a terminal UI. Takes minutes. Or snapshot your current Mac and share it—your whole team gets the same setup with one command.\n\nNo tracking. No telemetry. Just works.\n\n## Why OpenBoot?\n\nBrewfiles are manual YAML editing. Nix has a brutal learning curve. Shell scripts break silently. Dotfile repos become unmaintainable after six months.\n\nOpenBoot is the first tool that handles **everything** — packages, dotfiles, shell config, macOS preferences, git identity — in an interactive TUI you can actually navigate. No config files to learn. No YAML to write. Just pick what you need and go.\n\n## Quick Start\n\n```bash\ncurl -fsSL openboot.dev/install.sh | bash\n```\n\nWorks on a fresh Mac — installs Homebrew, Xcode CLI tools, and everything else automatically.\n\n\u003cdetails\u003e\n\u003csummary\u003eWant to inspect the script first?\u003c/summary\u003e\n\n```bash\ncurl -fsSL openboot.dev/install.sh -o install.sh\ncat install.sh\nbash install.sh\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eAlready have Homebrew?\u003c/summary\u003e\n\n```bash\nbrew install openbootdotdev/tap/openboot\nopenboot\n```\n\n\u003c/details\u003e\n\n## How It Compares\n\n| | OpenBoot | Brewfile | chezmoi | nix-darwin |\n|---|:---:|:---:|:---:|:---:|\n| Interactive package picker | **TUI** | manual edit | — | — |\n| Web dashboard | **[openboot.dev](https://openboot.dev)** | — | — | — |\n| Shareable install URL | `openboot install myalias` | — | — | — |\n| Snapshot \u0026 restore | full environment | — | dotfiles only | full (steep curve) |\n| Learning curve | **Low** | Low | High | Very High |\n\n## What It Does\n\n- **Homebrew packages \u0026 apps** — Installs Docker, VS Code, Chrome, whatever you need\n- **Dotfiles** — Clone your repo and symlink with GNU Stow, or skip it\n- **Shell config** — Sets up Oh-My-Zsh with useful aliases\n- **macOS settings** — Developer-friendly defaults for Dock, Finder, keyboard\n- **Git setup** — Asks for your name and email, configures git\n- **Smart about duplicates** — Detects what's already installed, skips it\n- **Clean command** — Remove packages that drifted from your config\n- **Full restore** — Snapshots save everything: packages, git config, shell theme, plugins\n\n## Web Dashboard\n\n[openboot.dev](https://openboot.dev) — if you'd rather click than type commands.\n\n- **Visual builder** — Pick packages with checkboxes instead of editing YAML\n- **Brewfile import** — Already have a Brewfile? Drop it in, it maps automatically\n- **Shareable links** — Every config gets a URL: `openboot.dev/yourname/my-setup`\n- **Team configs** — Share one link, everyone gets the same environment\n\n## Presets\n\nThree starting points. Pick one, adjust in the TUI. [Full list →](https://openboot.dev/docs/presets)\n\n| Preset | What's In It |\n|--------|--------------|\n| **minimal** | CLI tools: ripgrep, fd, bat, fzf, lazygit, gh, Warp, Raycast, Rectangle |\n| **developer** | Minimal + Node, Go, Docker, VS Code, Chrome, OrbStack, TablePlus |\n| **full** | Developer + Python, Rust, kubectl, Terraform, Ollama, Cursor, Figma |\n\nMost people start with **developer** and uncheck what they don't need.\n\n## Snapshot\n\nAlready have a Mac set up the way you like? Save it.\n\n```bash\nopenboot snapshot\n```\n\nThis captures everything: Homebrew packages, macOS settings, shell config, git identity. Upload it to [openboot.dev](https://openboot.dev) for a shareable URL, or save it locally with `--local`.\n\nWhen you restore a snapshot, you get everything back exactly as it was. [Docs →](https://openboot.dev/docs/snapshot)\n\n### Clean\n\nInstalled too much? Clean up what's not in your config.\n\n```bash\nopenboot clean                        # Compare against local snapshot\nopenboot clean --user yourname        # Compare against cloud config\nopenboot clean --from my-setup.json   # Compare against a snapshot file\nopenboot clean --dry-run              # See what would be removed\n```\n\n## For Teams\n\nNew hire runs one command, gets the same environment as everyone else. [Guide →](https://openboot.dev/docs/teams)\n\n```bash\ncurl -fsSL openboot.dev/yourteam/frontend | bash\n```\n\nMake your config on the [dashboard](https://openboot.dev/dashboard), put the one-liner in your onboarding docs. When your stack changes, update the config — the install command stays the same.\n\n## Advanced Usage\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eCI / Automation\u003c/strong\u003e\u003c/summary\u003e\n\n```bash\nOPENBOOT_GIT_NAME=\"Your Name\" \\\nOPENBOOT_GIT_EMAIL=\"you@example.com\" \\\ncurl -fsSL openboot.dev/install.sh | bash -s -- --preset developer --silent\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eAll Commands\u003c/strong\u003e\u003c/summary\u003e\n\n```bash\nopenboot                        # Interactive setup\nopenboot install myalias        # Install from a config alias\nopenboot install user/config    # Install from a specific user config\nopenboot snapshot               # Capture your current setup\nopenboot clean                  # Remove packages not in your config\nopenboot init                   # Set up project from .openboot.yml\nopenboot doctor                 # Check system health\nopenboot update                 # Update Homebrew and packages\nopenboot update --self          # Update OpenBoot itself\nopenboot login                  # Authenticate with openboot.dev\nopenboot logout                 # Remove auth token\nopenboot version                # Print version\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eCLI Options\u003c/strong\u003e\u003c/summary\u003e\n\n```\n-p, --preset NAME      Set preset (minimal, developer, full)\n-u, --user NAME        Use alias or openboot.dev username/slug config\n-s, --silent           Non-interactive mode (requires env vars)\n    --dry-run          Preview what would be installed\n    --packages-only    Install packages only, skip system config\n    --update           Update Homebrew before installing\n    --shell MODE       Shell setup: install, skip\n    --macos MODE       macOS prefs: configure, skip\n    --dotfiles MODE    Dotfiles: clone, link, skip\n    --post-install MODE  Post-install script: skip\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eEnvironment Variables\u003c/strong\u003e\u003c/summary\u003e\n\n| Variable | Description |\n|----------|-------------|\n| `OPENBOOT_GIT_NAME` | Git user name (required in silent mode) |\n| `OPENBOOT_GIT_EMAIL` | Git user email (required in silent mode) |\n| `OPENBOOT_PRESET` | Default preset |\n| `OPENBOOT_USER` | Config alias or username/slug |\n\n\u003c/details\u003e\n\n## AI Agent Integration\n\n```bash\nopenboot setup-agent\n```\n\nOne-time setup. Writes a global rule to your AI coding agent so it uses `openboot init` when it encounters missing dependencies — instead of installing them one by one.\n\nSupports Claude Code and OpenAI Codex.\n\n---\n\n## FAQ\n\n**Do I need anything installed first?**\nmacOS 12.0 or newer. Homebrew if you have it, but the installer will get it for you if not.\n\n**What if I already have some of these tools?**\nIt checks what's installed and skips anything you already have.\n\n**Is my data tracked?**\nNo. No telemetry, no analytics. Code is open source, check for yourself.\n\n---\n\n## Docs\n\n📖 **[openboot.dev/docs](https://openboot.dev/docs)** — [Quick Start](https://openboot.dev/docs/quick-start) · [Presets](https://openboot.dev/docs/presets) · [Snapshot](https://openboot.dev/docs/snapshot) · [Custom Configs](https://openboot.dev/docs/custom-configs) · [Teams](https://openboot.dev/docs/teams)\n\n## Contributing\n\nBug reports and feature requests: [open an issue](https://github.com/openbootdotdev/openboot/issues). Pull requests welcome.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eDevelopment Setup\u003c/strong\u003e\u003c/summary\u003e\n\n```bash\ngit clone https://github.com/openbootdotdev/openboot.git\ncd openboot\ngo build -o openboot ./cmd/openboot\n./openboot --dry-run\n```\n\n\u003c/details\u003e\n\n---\n\n**[openboot.dev](https://openboot.dev)** · [Dashboard](https://openboot.dev/dashboard) · [Docs](https://openboot.dev/docs) · [Dotfiles template](https://github.com/openbootdotdev/dotfiles)\n\n**License:** MIT\n","funding_links":[],"categories":["Go"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenbootdotdev%2Fopenboot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenbootdotdev%2Fopenboot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenbootdotdev%2Fopenboot/lists"}