// the find
asottile/all-repos
Clone all your repositories and apply sweeping changes.
all-repos lets you clone every repository you own (or an org owns) and run sweeping changes across all of them in one shot — think mass sed replacements, pre-commit updates, or custom fixers that open PRs automatically. It's from Anthony Sottile, the pre-commit maintainer, and the design philosophy is consistent with that project: small, composable, opinionated CLI tools. Best fit for platform/tooling teams managing dozens or hundreds of repos.
The source/push plugin model is genuinely clean — swapping GitHub for GitLab or Bitbucket is a config change, not a rewrite. The autofix_lib API is minimal and does the right thing by default: dry-run mode, interactive approval, parallel jobs, and automatic branch+PR creation without you wiring any of it. Test coverage is thorough and uses real git operations against temp repos rather than mocks, which means the tests catch the edge cases that matter. GitHub Enterprise support via base_url is a first-class option, not an afterthought.
631 stars for a tool this useful suggests it never broke out of the pre-commit ecosystem bubble — if you're not already in that world, you might not know it exists. The bundled autofixers are heavily pre-commit-specific (autopep8 migrate, flake8 migrate, etc.) and several of them are migrations for old pre-commit patterns that are already done at most shops. No native support for GitLab.com org cloning without self-hosting the URL, and the gitlab_org source only supports api/v4 with read_api scope — fine for SaaS but the docs gloss over token permission differences between hosted and self-managed. Error handling when a single repo fails mid-batch is not prominently documented; you have to read the source to know whether it aborts or continues.