git clone https://github.com/abeisleem/dotfiles.git ~/repos/dotfiles cd ~/repos/dotfiles chmod +x install.sh ./install.sh
install.sh will:
- Install Homebrew (if needed) and all packages from
Brewfile - Create symlinks for all dotfiles
Copy the example file and add your secrets:
cp .zshrc.local.example ~/.zshrc.local # Edit ~/.zshrc.local with your actual values
This file is automatically sourced by .zshrc if it exists and is never tracked by git.
OpenCode V2 is installed globally with npm and run as opencode2. The oc shell alias also runs V2.
npm install -g @opencode-ai/cli@beta
.config/opencode/ contains the native V2 configuration used by OpenCode. scripts/symlink.sh installs it at ~/.config/opencode.
dotfiles/
├── README.md
├── install.sh # Main installer (runs brew-install.sh + symlink.sh)
├── Brewfile # Homebrew packages
├── .gitignore
├── .zshrc
├── .zshrc.local.example # Template for secrets
├── .gitconfig
├── .gitignore
├── .tmux.conf
├── .agents/
│ └── skills/ # Skills installed from the `skills` npm CLI package
├── .config/
│ ├── opencode/ # Native OpenCode V2 configuration
│ │ ├── commands/ # Custom OpenCode commands
│ │ └── skills/ # Custom handwritten OpenCode skills
└── scripts/
├── brew-install.sh # Installs Homebrew + packages
└── symlink.sh # Creates symlinks
~
├── .zshrc -> dotfiles/.zshrc
├── .gitconfig -> dotfiles/.gitconfig
├── .tmux.conf -> dotfiles/.tmux.conf
├── .config/
│ ├── opencode/
│ │ ├── opencode.json -> dotfiles/.config/opencode/opencode.json
│ │ ├── opencode-notifier.json -> dotfiles/.config/opencode/opencode-notifier.json
│ │ ├── commands/ -> dotfiles/.config/opencode/commands/
│ │ └── skills/ -> dotfiles/.config/opencode/skills/
│ └── zed/
│ └── settings.json -> dotfiles/.config/zed/settings.json
├── .agents/
│ └── skills/ -> dotfiles/.agents/skills/
└── .zshrc.local # Secrets (not in git)
.zshrc- Zsh configuration with Oh My Zsh, fnm, and custom functions.gitconfig- Git settings.tmux.conf- Tmux configuration.config/- App configurations (opencode, zed).agents/skills/- Skills installed from theskillsnpm command-line package.config/opencode/skills/- Custom handwritten OpenCode skills.config/opencode/commands/- Custom OpenCode slash commands