My personal Mac setup and configurations
-
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) rtkCLI proxy that reduces LLM token consumption by 60-90% -
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 -s ~/.dotfiles/git/.gitignore_global ~/.gitignore_global git config --global core.excludesfile ~/.gitignore_global ln -s ~/.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/skills ~/.claude/skills ln -s ~/.dotfiles/agents/AGENTS.md ~/.claude/AGENTS.md ln -s ~/.dotfiles/agents/CLAUDE.md ~/.claude/CLAUDE.md ln -s ~/.dotfiles/agents ~/.agents 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 |
ddd-patterns |
DDD entities, aggregate roots, value objects, repositories, domain services, and specifications |
django-patterns |
Django architecture, REST APIs with Pydantic, ORM best practices, caching, and signals |
langchain-architecture |
LangChain 1.x and LangGraph for agents, memory, and tool integration |
production-code-audit |
Deep-scan a codebase and transform it to production-grade quality |
python-code-style |
Python linting, formatting, naming conventions, type safety, and documentation |
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.
- Read the eval definitions in
agents/skills/<skill>/evals/evals.json - 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//with_skill/outputs/ and without_skill/outputs/.
- Create eval_metadata.json — Record the assertions from each eval's expectations array alongside references to the output files.
- Compare outputs in
agents/skills-workspace/iteration-1/<eval>/with_skill/outputs/vswithout_skill/outputs/ - Verify each assertion from
eval_metadata.jsonagainst the corresponding output
Install the following MCP server plugins in Claude:
| Plugin | Description |
|---|---|
superpowers |
Spec driven development (SDD) based on brainstorming, planning, subagent-driven execution, TDD, and code review skills |
context7 |
Up-to-date documentation and code examples for any library |
claude-mem |
Persistent cross-session memory database with smart search and timeline reports |
the minimalist entrepreneur |
Business strategy and operations: idea validation, growth loops, metrics, and more |
sentry-skills |
Sentry engineering skills: PR writing, code review, Django patterns, security review, and more |
notion |
Read and manage Notion pages and databases |
figma |
Read Figma designs and generate code from them |
datadog-mcp |
Datadog observability: logs, metrics, traces, incidents, monitors, and dashboards |
Install Datadog MCP:
claude mcp add --transport http datadog-mcp https://mcp.datadoghq.eu/api/unstable/mcp-server/mcpInstall The Minimalist enterpreneur skills:
/plugin marketplace add slavingia/skills
/plugin install minimalist-entrepreneurBuilt with ❤️ from Mallorca