Brand asset registry.
One repo holds every logo. Every README points here. Update once, update everywhere. SHA-256 integrity verification keeps your brand safe.
Verify
brand verify
Audit
brand audit --repos /path/to/clones
Migrate
brand migrate --repos /path/to/clones --dry-run
Features
Why centralize brand assets.
Single source of truth
117 logos across the org. Rebrand once, update everywhere — no more hunting through repos for stale logos.
Tamper detection
SHA-256 manifest tracks every asset. CI catches accidental overwrites, drift, and compromised logos before they ship.
Safe migration
Multi-gate regex distinguishes brand logos from shields.io badges. Dry-run first, spot-check, push incrementally.
CLI
Verify integrity
# Check all logos against manifest hashes
brand verify
# CI mode — fail if manifest is stale
brand manifest --check Audit & migrate
# Find broken refs, badge collisions, traps
brand audit --repos ./clones
# Rewrite READMEs to point at brand repo
brand migrate --repos ./clones --dry-run Battle-tested
Lessons learned from migrating 100+ repos.
Badge collision guard
shields.io URLs with &logo= parameters look like brand logos. Multi-gate filtering catches badges before they get rewritten.
Markdown rendering traps
4+ spaces makes code blocks. Blank lines break HTML context. The audit command catches these before they break your README.
Format preservation
PNGs stay PNGs. JPEGs stay JPEGs. Format is a brand decision, not a build target. Never converts or compresses.
Quality scorecard
Ship Gate audit — 47/50.