Skip to content

alexherrero/dev-setup

Repository files navigation

development-setup

One-line bootstrap for an AI-first dev environment. Mac, Debian/Ubuntu, Windows. Idempotent. Configuration captured as literal files. No git prereq on the target host.

CI tests License: MIT Latest release


Claude Gemini Antigravity

Opinionated bootstrap that takes a fresh Mac, Debian/Ubuntu host, or Windows machine from zero to a fully configured AI-coding dev environment in one command. Configuration lives as literal files in configs/ so the setup is diffable, auditable, and portable. Re-running converges instead of reinstalling.

Install

macOS / Debian / Ubuntu

curl -fsSL https://raw.githubusercontent.com/alexherrero/dev-setup/main/install.sh | bash

Windows (PowerShell 7+)

iwr -UseBasicParsing https://raw.githubusercontent.com/alexherrero/dev-setup/main/install.ps1 | iex

For flag-passing examples (--skip-apps, --dry-run, etc.) and the inspect-before-run form, see How to install via the one-liner.

Alternative: git clone

git clone https://github.com/alexherrero/dev-setup.git && cd dev-setup && ./setup.sh

Quick start

  1. Run the one-liner above for your platform.
  2. Reload your shell so newly-installed CLIs resolve. POSIX: source ~/.zshrc (or ~/.bashrc). Windows: open a new PowerShell window.
  3. Complete the auth checklist printed at the end of the run (claude login, gh auth login, gemini first-run, GUI sign-ins on Mac/Windows). The full list is in docs/first-run.md.

What gets installed

Component macOS Debian/Ubuntu Windows Source
Claude Code CLI claude.ai/install.sh (POSIX) / winget (Win)
Gemini CLI npm
Antigravity Desktop DMG / winget
Claude Desktop DMG / winget
Gemini Desktop DMG
Toolchain (node, gh, jq, ripgrep, shellcheck, shfmt) brew apt + NodeSource winget per-platform

Stages

Each platform's orchestrator runs an ordered, idempotent stage list. --dry-run (POSIX) / -DryRun (Windows) prints the plan without running anything.

Stage Description
brew (Mac) / apt (Linux) / tooling (Win) Install the package manager and toolchain
clis Install Claude Code CLI + Gemini CLI
gui-apps (Mac/Win only) Install Antigravity Desktop, Claude Desktop, (Mac) Gemini Desktop
link-configs Place captured configs at OS-native paths with backup-on-replace
verify-install Warn-only post-setup health check (zero warns expected)
auth-checklist Print the manual auth steps

Flags

POSIX Windows Effect
--help -Help Print stage list + flag reference, exit 0
--dry-run -DryRun Print the planned stages and exit 0
--skip-apps -SkipApps Skip GUI installs (CI / headless)
--only <stage> -Only <stage> Run a single stage

Documentation

Doc Description
docs/first-run.md Manual auth checklist (claude login, gh auth login, etc.)
docs/debian.md Debian/Ubuntu specifics — supported-distro matrix, toolchain detail
docs/windows.md Windows specifics — winget, MSIX redirect
docs/architecture.md OS-dispatch architecture, repo layout, agentm pointer
How to install via the one-liner One-line bootstrap recipe with flag-passing examples
Public curl|bash installer — design Why the bootstrap looks the way it does, trust model
Scripts reference Entry-point table — flags, exit codes, files written
.harness/PLAN.md Current plan and verification criteria

Testing

CI is manually dispatched — no auto-runs on push or PR. The ci-tests.yml workflow runs four jobs in parallel:

Job Runner What it tests
Static analysis ubuntu-latest shellcheck, actionlint, pwsh AST parse, lychee link check, secret-scan, LICENSE check
macOS macos-latest Full Mac install (--skip-apps); bootstrap-from-curl
Ubuntu ubuntu-latest Full Debian path; bootstrap-from-curl
Windows windows-latest Full Win install (-SkipApps); bootstrap-from-iwr

Each platform job asserts verify-install reports zero warns and a re-run produces no repo drift. To dispatch: Actions tabCI testsRun workflow. Concurrency is cancel-in-progress.

License

MIT — Copyright (c) 2026 Alex Herrero.

About

Automated setup script for my preferred development environment

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors