Personal configuration files for Francesco Michieli (@info618).
dotfiles/
├── claude/.claude/ # Claude Code configuration
│ ├── CLAUDE.md # Global instructions
│ ├── settings.json # Hooks and permissions
│ ├── hooks/ # Security and quality hooks
│ └── skills/ # Custom skills
└── .stow-local-ignore # Files to exclude from symlinkingUse the automated sync script:
# Clone repository
git clone https://github.com/info618/dotfiles.git ~/dotfiles
cd ~/dotfiles
# Run sync script
chmod +x sync-claude-settings.sh
./sync-claude-settings.shTo update later:
cd ~/dotfiles
./sync-claude-settings.shForce reinstall (if needed):
cd ~/dotfiles
./sync-claude-settings.sh --forcePrerequisites:
- GNU Stow:
brew install stow - Git:
brew install git
Setup:
-
Clone this repository:
cd ~ git clone git@github.com:info618/dotfiles.git cd dotfiles
-
Install configuration using GNU Stow:
# Install Claude Code config stow claude -
Verify symlinks:
ls -la ~/.claude/
- Edit files in
~/dotfiles/claude/.claude/ - Changes are automatically reflected in
~/.claude/via symlinks - Commit and push:
cd ~/dotfiles git add -A git commit -m "Update Claude config" git push
- Global CLAUDE.md: Security gatekeeper and scaffolding rules
- Security Hooks: Block .env access, dangerous commands
- Quality Hooks: Auto-format code after edits
- Skills: Custom commands for commit messages and security audits
block-secrets.py- Prevents reading .env filesblock-dangerous-commands.sh- Blocks rm -rf, force push, etc.after-edit.sh- Auto-formats code (Prettier, Black, Ruff, etc.)
- Machine A: Make changes, commit, push
- Machine B: Pull changes
cd ~/dotfiles git pull
- Changes automatically appear via symlinks
To remove symlinks (keeps your actual config):
cd ~/dotfiles
stow -D claude- GitHub: info618/dotfiles
- Owner: Francesco Michieli
2026-01-16