This automated setup script manages:
- Core: Homebrew (macOS) / System Packages (Linux), Dotfiles (Zsh/Vim/Tmux), Editor configuration
- Languages: Ruby, Python, Node.js
- Dev Tools: Docker, iTerm2 (macOS)
- Security: 1Password (CLI, GUI, SSH Agent), YubiKey PAM (macOS)
- AI Agents: Claude CLI, Gemini CLI
To set up your environment:
bin/setupNote
If Homebrew is not already installed on macOS, the script will prompt for sudo access to install it. See brew.sh for details.
Install bats-core and configure git hooks to ensure tests pass and trailing whitespace is blocked.
This project follows Conventional Commits. This allows us to automate versioning and changelogs. Please use the following prefixes for your commits:
fix:: A bug fix (triggers a Patch release).feat:: A new feature (triggers a Minor release).feat!:orfix!:: A breaking change (triggers a Major release).chore:,docs:,style:,refactor:,test:: Changes that do not affect the production code (do not trigger a release).
We use Release Please for automated releases.
- Push your changes to
mainusing Semantic Commits. release-pleasewill automatically create or update a Release PR.- This PR includes an updated
CHANGELOG.mdand bumps theVERSIONfile. - When you are ready to release, simply merge the Release PR.
- GitHub Actions will then automatically create a GitHub Release and tag the code.