Laptop is a shell script that sets up a macOS laptop for web and mobile development.
The script automates the installation and configuration of development tools by running idempotently—it can be executed multiple times on the same machine, installing new packages, upgrading existing ones, or skipping those already present. This approach eliminates manual setup steps and ensures consistency across machines. The script installs a comprehensive stack including Homebrew, Unix utilities like fzf and Tmux, programming languages via asdf-vm, package managers for Ruby and JavaScript, databases like Postgres and Redis, and tools for interacting with Heroku and GitHub.
Laptop suits developers setting up new macOS machines for web or mobile development who want a reliable, repeatable initialization process. It supports recent macOS versions on both Apple Silicon and Intel architectures. The script is designed to be reviewed before execution and can be customized by adding shell commands to a ~/.laptop.local file, which runs at the end of the installation. The tool integrates with thoughtbot's dotfiles project for additional configuration management.
The project maintains active engagement with contributors through a defined code of conduct and contribution guidelines. Testing is performed on fresh macOS installations using the UTM emulator to validate changes before merging. The maintainers use ShellCheck for code quality enforcement and document changes systematically in a changelog.