InstallationΒΆ
Quick startΒΆ
$ cd my-project
$ uvx -- repomatic init
$ git add .
$ git commit -m "Update repomatic files"
$ git push
Works for both new and existing repositories. Run repomatic init --help to see available components and options: the workflows then take it from there, opening issues and PRs to guide any remaining setup.
Try itΒΆ
Thanks to uv, you can run it in one command, without installation or venv:
$ uvx -- repomatic --help
$ repomatic --help
Usage: repomatic [OPTIONS] COMMAND [ARGS]...
Options:
--time / --no-time Measure and print elapsed execution time. [default:
no-time]
--config CONFIG_PATH Location of the configuration file. Supports local
path with glob patterns or remote URL. [default: ~/.c
onfig/repomatic/{*.toml,*.yaml,*.yml,*.json,*.ini,pypr
oject.toml}]
--no-config Ignore all configuration files and only use command
line parameters and environment variables.
--validate-config FILE Validate the configuration file and exit.
--color, --ansi / --no-color, --no-ansi
Strip out all colors and all ANSI codes from output.
[default: color]
--theme [dark|dracula|light|monokai|nord|solarized_dark]
Color theme used for help screens. [default: dark]
--show-params Show all CLI parameters, their provenance, defaults
and value, then exit.
--table-format [aligned|asciidoc|colon-grid|csv|csv-excel|csv-excel-tab|csv-unix|double-grid|double-outline|fancy-grid|fancy-outline|github|grid|heavy-grid|heavy-outline|hjson|html|jira|json|json5|jsonc|latex|latex-booktabs|latex-longtable|latex-raw|mediawiki|mixed-grid|mixed-outline|moinmoin|orgtbl|outline|pipe|plain|presto|pretty|psql|rounded-grid|rounded-outline|rst|simple|simple-grid|simple-outline|textile|toml|tsv|unsafehtml|vertical|xml|yaml|youtrack]
Rendering style of tables. [default: rounded-outline]
--verbosity LEVEL Either CRITICAL, ERROR, WARNING, INFO, DEBUG.
[default: WARNING]
-v, --verbose Increase the default WARNING verbosity by one level
for each additional repetition of the option.
[default: 0]
--version Show the version and exit.
-h, --help Show this message and exit.
Project setup:
init Bootstrap a repository to use reusable workflows
metadata Output project metadata
show-config Print [tool.repomatic] configuration reference
workflow Lint downstream workflow caller files
update-deps-graph Generate dependency graph from uv lockfile
update-docs Regenerate Sphinx API docs and run update script
convert-to-myst Convert reST docstrings to MyST in Python files
list-skills List available Claude Code skills
update-checksums Update SHA-256 checksums for binary downloads
format-images Format images with lossless optimization
Release & versioning:
changelog Maintain a Markdown-formatted changelog
release-prep Prepare files for a release
version-check Check if a version bump is allowed
close-stale-bump-pr Close a stale version-bump PR
git-tag Create and push a Git tag
scan-virustotal Upload release binaries to VirusTotal
Sync:
sync-gitignore Sync .gitignore from gitignore.io templates
sync-github-releases Sync GitHub release notes from changelog
sync-dev-release Sync rolling dev pre-release on GitHub
sync-mailmap Sync Git's .mailmap file with missing contributors
fix-vulnerable-deps Upgrade packages with known vulnerabilities
sync-uv-lock Re-lock dependencies and prune stale cooldown
overrides
sync-bumpversion Sync bumpversion config from bundled template
clean-unmodified-configs Remove config files that match bundled defaults
sync-labels Sync repository labels via labelmaker
Linting & checks:
test-plan Run a test plan from a file against a binary
verify-binary Verify binary architecture using exiftool
check-renovate Check Renovate migration prerequisites
lint-repo Run repository consistency checks
lint-changelog Check changelog dates against release dates
run Run an external tool with managed config
cache Manage the download cache
GitHub issues & PRs:
sponsor-label Label issues/PRs from GitHub sponsors
broken-links Manage broken links issue lifecycle
setup-guide Manage setup guide issue lifecycle
unsubscribe-threads Unsubscribe from closed, inactive notification
threads
pr-body Generate PR body with workflow metadata
Other commands:
help Show help for a command.
$ uvx -- repomatic==6.23.0 --help
$ uvx --from "repomatic @ git+https://github.com/kdeldycke/repomatic" -- repomatic --help
Install methodsΒΆ
repomatic is available on a couple of package managers:
Easiest way is to install uv, then install repomatic system-wide with the uv tool command:
$ uv tool install repomatic
You can install the latest stable release and its dependencies with a simple pip call:
$ python -m pip install repomatic
If you have difficulties to use pip, see pipβs own installation instructions.
pipx is a great way to install Python applications globally:
$ pipx install repomatic
A repomatic package is available on AUR and can be installed with any AUR helper:
$ yay -S python-repomatic
$ paru -S python-repomatic
$ pacaur -S python-repomatic
Python compatibilityΒΆ
The table below shows which Python versions each repomatic release range supports, derived from the requires-python field and Programming Language :: Python classifiers across all release tags. Releases prior to 4.0.0 did not declare an explicit requires-python constraint and are not represented.
|
Released |
|
|
|
|
|
|
|
|---|---|---|---|---|---|---|---|---|
|
2025-12-05 |
β |
β |
β |
β |
β |
β |
β |
|
2025-10-10 |
β |
β |
β |
β |
β |
β |
β |
|
2025-03-05 |
β |
β |
β |
β |
β |
β |
β |
|
2024-11-03 |
β |
β |
β |
β |
β |
β |
β |
|
2024-07-27 |
β |
β |
β |
β |
β |
β |
β |
|
2024-06-29 |
β |
β |
β |
β |
β |
β |
β |
ExecutablesΒΆ
To ease deployment, standalone executables of repomaticβs latest version are available as direct downloads for several platforms and architectures:
Platform |
|
|
|---|---|---|
Linux |
||
macOS |
||
Windows |
That way you have a chance to try it out without installing Python or uv. Or embed it in your CI/CD pipelines running on minimal images. Or run it on old platforms without worrying about dependency hell.