B Brand
Open source

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.

Category
Score
Notes
A. Security
10/10
SECURITY.md, SHA-256 integrity, no network, no telemetry
B. Error Handling
8/10
Structured errors, clear CLI output, exit codes
C. Operator Docs
10/10
README, CHANGELOG, handbook, full CLI docs
D. Shipping Hygiene
9/10
CI integrity check, 29 tests, version aligned
E. Identity
10/10
Logo, translations, landing page, metadata