My personal Mac config files
-
Download code:
git clone https://github.com/bertini36/mac-dotfiles.git ~/.dotfiles/ -
Brew packages installation:
brew bundle --file=mac/Brewfile
Package Description batcatwith syntax highlightingezaModern lsreplacementfzfFuzzy finder for the terminal ghGitHub CLI pre-commitGit hook manager graphvizGraph visualization tools jqJSON processor libmagicFile type detection library gotopTerminal system monitor gemini-cliGoogle Gemini AI CLI copilot-cliGitHub Copilot CLI (cask) molemacOS disk space cleaner and system optimizer postgresql@18PostgreSQL database pyenvPython version manager uvFast Python package manager python@3.14Python interpreter tldrSimplified man pages with practical examples karabiner-elementsKeyboard remapper (cask) -
Extra packages installation (not available through Brew):
bash mac/install_extras.sh
Package Description claudeAnthropic Claude CLI -
Add fonts (
fonts/) toFont Book -
Configure Karabiner
- Change
Caps LocktoCMD + CTL + Option + Shift - Map F4 to
CMD + Space(Raycast)
- Change
-
Install Oh My ZSH
-
Link
shell/.zshrcto~/.zshrc:ln ~/.dotfiles/shell/.zshrc ~/.zshrc -
Install plugins
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions git clone https://github.com/agkozak/zsh-z ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-z
-
-
Install Raycast
- Disable Spotlight shortcut to enable Raycast one (System Preferences -> Keyboard -> Shortcuts -> Spotlight -> Uncheck
Show Spotlight search) - Configure shortcuts following keymap.md
- Disable Spotlight shortcut to enable Raycast one (System Preferences -> Keyboard -> Shortcuts -> Spotlight -> Uncheck
-
Install Iterm2
-
Install Docker
-
Install Jetbrains Toolbox and Pycharm
-
Install Visual Studio Code
-
Enable auto-focus:
defaults write com.apple.Terminal FocusFollowsMouse -bool true -
Link the rest of configuration files
ln ~/.dotfiles/git/.gitignore_global ~/.gitignore_global git config --global core.excludesfile ~/.gitignore_global ln ~/.dotfiles/editors/vim/.vimrc ~/.vimrc ln -s ~/.dotfiles/editors/claude/settings.json ~/.claude/settings.json ln -s ~/.dotfiles/editors/claude/statusline-command.sh ~/.claude/statusline-command.sh ln -s ~/.dotfiles/agents ~/.agents ln -s ~/.dotfiles/agents/skills ~/.claude/skills ln -s ~/.dotfiles/agents/AGENTS.md ~/.claude/AGENTS.md ln -s ~/.dotfiles/agents/skills ~/.copilot/skills ln -s ~/.dotfiles/agents/AGENTS.md ~/.copilot/AGENTS.md
This repo includes a set of reusable AI agent skills under agents/skills/. Each skill encodes domain-specific knowledge that the agent can apply when a task falls within its scope.
| Skill | Description |
|---|---|
create-pull-request |
Create a GitHub PR following project conventions using gh CLI |
kaizen-continuous-improvement |
Continuous improvement, error proofing, and standardization |
production-code-audit |
Deep-scan a codebase and transform it to production-grade quality |
python-code-style |
Python linting, formatting, naming conventions, and documentation |
python-type-safety |
Type hints, generics, protocols, and strict type checking |
writing-clearly-and-concisely |
Clear prose for docs, commits, error messages, and UI text |
Each skill has an evals/evals.json file that defines test cases to measure skill effectiveness. To run the evals paste the following command your AI agent prompt.
1. Read the eval definitions in `agents/skills/<skill>/evals/evals.json`
2. Generate outputs — Run each eval prompt twice per skill (once with the skill loaded, once without) and save the results to agents/skills-workspace/iteration-1/<eval-id>/with_skill/outputs/ and without_skill/outputs/.
3. Create eval_metadata.json — Record the assertions from each eval's expectations array alongside references to the output files.
4. Compare outputs in `agents/skills-workspace/iteration-1/<eval>/with_skill/outputs/` vs `without_skill/outputs/`
5. Verify each assertion from `eval_metadata.json` against the corresponding output
## 🔌 Claude Plugins
Install the following MCP server plugins in Claude:
| Plugin | Description |
|---|---|
| `superpowers` | Agentic development workflow with TDD, brainstorming, planning, subagent-driven execution, and code review skills |
| `pyright-lsp` | Python type checking and language server integration |
| `notion` | Read and manage Notion pages and databases |
| `figma` | Read Figma designs and generate code from them |
| `context7` | Up-to-date documentation and code examples for any library |
<br />
<p align="center">— Built with ❤️ from Mallorca —</p>