Personal dotfiles managed with chezmoi.
git clone https://github.com/tawanorg/dotfiles.git
cd dotfiles
./install.shThis handles everything automatically:
- Installs Homebrew (if needed)
- Installs chezmoi
- Applies all dotfiles and runs setup scripts
sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply tawanorg.zshrc- Zsh configuration with aliases, functions, and prompt customization
.gitconfig- Git settings, aliases, and defaults
.claude/CLAUDE.md- Personal coding preferences for Claude.claude/rules/- Workflow and coding style preferences
.config/- Application-specific configurations
Everything is installed automatically via ./install.sh or chezmoi apply:
| Tool | Purpose |
|---|---|
| chezmoi | Dotfiles manager |
| go | For building custom tools |
| starship | Cross-shell prompt |
| zoxide | Smarter cd command |
| fzf | Fuzzy finder |
| zsh-autosuggestions | Fish-like suggestions |
| zsh-syntax-highlighting | Syntax highlighting for zsh |
| Tool | Repository | Purpose |
|---|---|---|
| claude-sync | tawanorg/claude-sync | Sync Claude settings across machines |
These MCP servers require no secrets and are installed automatically:
| Server | Package | Purpose |
|---|---|---|
| voltagent | @voltagent/docs-mcp |
VoltAgent documentation |
| sequential-thinking | @modelcontextprotocol/server-sequential-thinking |
Complex problem-solving, architectural design |
| memory | @modelcontextprotocol/server-memory |
Persistent knowledge graph across sessions |
| puppeteer | @modelcontextprotocol/server-puppeteer |
Browser automation, screenshots, scraping |
| playwright | @executeautomation/playwright-mcp-server |
Browser testing, UI automation |
Development pattern skills from various sources:
- Architecture patterns (Clean, Hexagonal, DDD)
- API design principles (REST, GraphQL)
- Authentication patterns (JWT, OAuth2, RBAC)
- Git advanced workflows
- GitHub Actions templates
- React Native architecture
- Prompt engineering patterns
- And more...
These MCP servers require API keys or authentication. Add them manually after obtaining credentials:
Get a personal access token from https://github.com/settings/tokens
claude mcp add github -e GITHUB_PERSONAL_ACCESS_TOKEN=ghp_xxx -- npx -y @modelcontextprotocol/server-githubGet an API key from https://brave.com/search/api/
claude mcp add brave-search -e BRAVE_API_KEY=xxx -- npx -y @anthropic/mcp-server-brave-searchclaude mcp add context7 -- npx -y @upstash/context7-mcpAuthenticates via browser:
claude mcp add --transport http sentry https://mcp.sentry.dev/mcpAuthenticates via browser:
claude mcp add linear -- npx -y mcp-remote https://mcp.linear.app/mcpclaude mcp add supabase -- npx -y @supabase/mcp-server-supabaseclaude mcp add slack -e SLACK_BOT_TOKEN=xxx -e SLACK_TEAM_ID=xxx -- npx -y @anthropic/mcp-server-slackAfter setup, verify everything is installed:
# Check custom tools
claude-sync --version
# Check MCP servers
claude mcp listExpected MCP servers:
- voltagent
- sequential-thinking
- memory
- puppeteer
- playwright
# Apply changes
chezmoi apply
# See what would change
chezmoi diff
# Edit a managed file
chezmoi edit ~/.zshrc
# Add a new file to chezmoi
chezmoi add ~/.some-config
# Update from remote
chezmoi update
# Re-run setup scripts (force reinstall everything)
chezmoi state delete-bucket --bucket=scriptState
chezmoi apply
# Update claude-sync to latest version
GOPROXY=direct go install github.com/tawanorg/claude-sync/cmd/claude-sync@latestdotfiles/
├── install.sh # Bootstrap script (run this first)
├── README.md # This file
├── dot_claude/ # ~/.claude/
│ ├── CLAUDE.md # Claude Code preferences
│ └── rules/ # Coding/workflow rules
├── dot_config/ # ~/.config/
├── dot_gitconfig # ~/.gitconfig
├── dot_zshrc # ~/.zshrc
├── private_Library/ # ~/Library/ (macOS)
└── run_once_after_10-install-skills.sh # Auto-setup script (runs via chezmoi)
Edit run_once_after_10-install-skills.sh and add:
run_with_spinner "server-name" claude mcp add server-name -- npx -y @package/nameEdit the files in dot_claude/:
CLAUDE.md- Main preferencesrules/preferences.md- Coding stylerules/workflows.md- Development workflow
Force re-run of setup scripts:
chezmoi state delete-bucket --bucket=scriptState
chezmoi applyGo proxy caches packages. Use GOPROXY=direct to bypass:
GOPROXY=direct go install github.com/tawanorg/claude-sync/cmd/claude-sync@latestCheck server status:
claude mcp list
claude mcp remove server-name
claude mcp add server-name -- npx -y @package/namechezmoi merge ~/.conflicted-file