Dotbot-managed dotfiles for shell, agents (Claude, Codex, Pi), and skills.
ai/
├── AGENTS.md # Shared global rules for all agents
├── agents/ # Claude Code subagent definitions
├── commonSkills/ # Source skills (Claude + Codex)
├── iOS/ # iOS-specific source skills
├── web/ # Parked web skills (not default-loaded)
├── memory/ # Persistent memory shared across all Claude accounts
├── skills/ # Generated active skills (built by sync script)
└── sync-agent-config.sh # Propagates changes to all agents
zsh/
├── .zshrc # Zsh config (oh-my-zsh, nvm, aliases)
├── .zprofile # Homebrew shellenv
└── jira.zsh # Jira shell helpers
# 1. Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 2. Clone and install
git clone https://github.com/mantrandev/mydotbot.git ~/mydotbot
cd ~/mydotbot
git submodule update --init
./install.sh./install.sh will automatically:
- Install all apps and CLI tools via
brew bundle - Install VS Code extensions
- Install npm global packages
- Create all symlinks
These are not on Homebrew — install once on a new device:
| App | Link |
|---|---|
| Xcode | Mac App Store |
| TestFlight | Mac App Store |
| Keynote | Mac App Store |
| RocketSim | Mac App Store |
| Perplexity | Mac App Store |
| Zalo | zalo.me |
| SF Symbols | developer.apple.com |
./install.shCreates symlinks for:
Shell
~/.zshrc→zsh/.zshrc~/.zprofile→zsh/.zprofile~/.zsh/jira.zsh→zsh/jira.zsh~/.claude/statusline-command.sh→zsh/statusline-command.sh
Agents
~/.claude/— Claude Code~/.codex/— Codex~/.pi/agent/— Pi~/.agents/— shared
Memory (shared across all Claude accounts)
~/.claude/memory→ai/memory~/.claude-account1/memory→ai/memory~/.claude-account2/memory→ai/memory~/.claude-account3/memory→ai/memory
Active skills are merged from three sources:
| Source | Committed to git | Purpose |
|---|---|---|
ai/commonSkills/ |
Yes | Cross-agent shared skills |
ai/iOS/ |
Yes | iOS-specific skills |
~/.localskills/ |
No (device-only) | Private skills with sensitive data (tokens, user IDs, internal channels) |
sync-agent-config.sh merges all three into ai/skills/ and propagates to every agent on the device. Skills in ~/.localskills/ are never committed to this repo.
See each skill.md for details.
4 Claude Code subagents in ai/agents/ — lightweight tasks run on Haiku.
| Agent | Model | Description |
|---|---|---|
| branch-cleaner | haiku | Find and delete merged feature branches |
| find-ticket | haiku | Search ticket ID across code, commits, branches |
| validate-di | haiku | Validate Swinject DI registrations |
| web-simulator | haiku | Stream iOS Simulator to browser via serve-sim |
| Submodule | Source |
|---|---|
dotbot |
https://github.com/anishathalye/dotbot |
ai/commonSkills/visual-explainer |
https://github.com/nicobailon/visual-explainer |
Update visual-explainer to latest upstream:
git submodule update --remote ai/commonSkills/visual-explainer
git add ai/commonSkills/visual-explainer
git commit -m "chore: update visual-explainer submodule"Edit source in ai/commonSkills/ or ai/iOS/, then run:
./ai/sync-agent-config.sh
./install.shFor private/device-only skills, edit directly in ~/.localskills/<skill-name>/skill.md, then run ./ai/sync-agent-config.sh. No commit needed.