| REPOMATIC-LINT-REPO(1) | REPOMATIC-LINT-REPO(1) |
repomatic lint-repo - Check repository files against repomatic conventions
repomatic lint-repo [OPTIONS]
Run consistency checks on repository metadata.
Reads package_name, is_sphinx, and project_description from pyproject.toml in the current directory.
Checks:
- Package name vs repository name (warning).
- Website field set for Sphinx projects, and matching the documentation
URL declared in [project.urls] (warning).
- Repository description matches project description (error).
- Inline upstream pins match the version the uses: refs name (error).
- Inline upstream pins resolving under a cooldown carry their
--exclude-newer-package exemption (error).
- Workflows only ask repomatic show-metadata for keys it still emits (error).
- Every astral-sh/setup-uv step pins one uv version (warning).
- The pinned uv carries a checksum in the pinned astral-sh/setup-uv
(warning).
- GitHub topics subset of pyproject.toml keywords (warning).
- Funding file present when owner has GitHub Sponsors (warning).
- Stale draft releases (non-.dev0 drafts) (warning).
- Install guide download URLs resolve to real release assets (warning).
- Repository-local PR body templates sit in .github/pr-templates/
and carry valid frontmatter (warning).
- Fork PR workflow approval policy strict enough (warning).
- VIRUSTOTAL_API_KEY secret missing when Nuitka is active (warning).
- REPOMATIC_NOTIFICATIONS_PAT secret missing when the unsubscribe
workflow is enabled (warning).
- CLOUDFLARE_API_TOKEN secret missing when site.deploy targets
Cloudflare Pages (warning).
- Legacy github.io URLs still redirect, for a project that moved its
site to Cloudflare Pages (warning).
- Committed _redirects files survive the Cloudflare Pages engine:
no dropped rules, no silent budget abort (error).
- wrangler.toml agrees with the declared Cloudflare project name and
compatibility date (warning).
When a PAT is detected, additional capability checks are run:
- Contents permission (error).
- Issues permission (error).
- Pull requests permission (error).
- Dependabot alerts permission and alerts enabled (error).
- Workflows permission (error).
In GitHub Actions (reads pyproject.toml automatically)
repomatic lint\-repo \-\-repo\-name my\-package
Local run (derives repo from $GITHUB_REPOSITORY or --repo)
repomatic lint\-repo \-\-repo owner/repo
With PAT capability checks
repomatic lint\-repo \-\-has\-pat
Kevin Deldycke
| 2026-09-14 | 7.15.1.dev0 |