Automation Scripts
19 Automation Scripts
Setup, maintenance, repo management, and utility scripts that keep the toolkit running smoothly.
init-marketplaces.sh
Clone all 110 marketplace repos from upstreams.
When to run: After cloning, or to fix broken submodules
install.sh
One-line installer (curl-pipe) for first-time setup.
When to run: First-time setup on any machine
setup-hooks.sh
Install git hooks into .git/hooks/ directory.
When to run: After cloning (called by setup-new-machine.sh)
setup-new-machine.sh
Complete setup including plugins, hooks, and verification.
When to run: After cloning the repo
fix-remotes.sh
Fix remote URLs on marketplace repos.
When to run: If remotes are misconfigured after a pull
regenerate-index.sh
Regenerate skills/MASTER_INDEX.md from skill files.
When to run: After adding/removing skills
update-counts.sh
Update all hardcoded counts across documentation.
When to run: After adding/removing skills, agents, or marketplace repos
update-plugins.sh
Update plugin registrations in settings.
When to run: After enabling/disabling plugins
force-sync-repos.sh
Force-sync all repos (nuclear option).
When to run: When repos are severely broken
_pull-all-repos.sh
Primary user-facing script: pulls parent repo, all 110 marketplace repos, enforces no_push, and updates counts.
When to run: Regularly, to keep all repos up to date
update-external-repos.sh
Pull all marketplace repos from upstream.
When to run: Use _pull-all-repos.sh instead (recommended)
update-marketplaces.sh
Update marketplace submodule pointers.
When to run: After upstream changes
fix-marketplace-paths.sh
Fix OS-specific paths in known_marketplaces.json for cross-platform compatibility.
When to run: After running claude plugins install on a new machine
fix-plugin-line-endings.sh
Convert CRLF to LF in plugin files (Linux/Mac).
When to run: After encountering line ending issues
fix-plugin-line-endings.ps1
Convert CRLF to LF in plugin files (Windows).
When to run: After encountering line ending issues on Windows
hooks/commit-msg.sh
Enforce conventional commit message format.
When to run: Automatically on every commit
hooks/pre-commit.sh
Block secrets, validate SKILL.md files, check .gitignore.
When to run: Automatically before every commit
hooks/pre-push.sh
Block force-push to master/main, warn about submodule changes.
When to run: Automatically before every push
hooks/session-start.sh
SessionStart hook template (legacy — current hooks are in ~/.claude/hooks/).
When to run: Legacy template, not actively used