Skip to content

Brand the packages and set their identity metadata - #172

Merged
milten89 merged 3 commits into
developfrom
chore/package-identity
Oct 30, 2026
Merged

milten89 merged 3 commits into
developfrom
chore/package-identity

Conversation

@milten89

@milten89 milten89 commented Oct 30, 2026 •

Copy link
Copy Markdown
Owner

Closes #105

Implements the issue's spec:

  • Identity (X2): Authors and Company = Andrzej Ochodek, Copyright = Copyright (c) 2026 Andrzej Ochodek (as in LICENSE), in the root Directory.Build.props.
  • Icons: PackageIcon plus OpenUrzednikPackageIcon (default icon.png); OpenUrzednik.Nbp and OpenUrzednik.Nbp.DependencyInjection set icon-nbp.png. The GUS, KRS and MF icons are not included: each provider gets its icon from a branding.toml entry when it becomes ready (ADR-0010). version.json and nuget-pre-release.yml already list both packed PNGs (Publish previews only when package inputs change #97).
  • Root READMEs (both languages): the light/dark header picture replaces the first line; nothing else changed.
  • assets/branding/: BRANDING.md (the design spec) and the SVG/PNG files. APPLY-BRANDING.md isn't committed.
  • CLAUDE.md: one rule, package icons follow BRANDING.md.

Checks

  • CI-mode pack: every package has icon.png at the root and <icon>icon.png</icon>. The packed icon is byte-identical to icon-nbp.png for the two NBP packages and to icon.png for Core, Diagnostics and Extensions.Logging. The nuspecs have the new authors and copyright.
  • dotnet build (0 warnings); net10.0 tests pass (run per project: the local SDK global.json blocks dotnet test); dotnet format --verify-no-changes.
  • The SVGs and BRANDING.md are stored as LF, without a BOM.
  • Reviewer: no blocking issue. Fixed in BRANDING.md: the stale README.en.md name; Http is no longer listed as a package (it's internal shared source, ADR-0006); GUS/KRS/MF are marked "not wired until the provider is ready"; the icon rule covers the DI package too.

Maintainer, after the merge

  • Upload assets/branding/social-preview.png in Settings → General → Social preview. There is no API for it.
  • Optional: use icon.png as the avatar of the nuget.org profile or a GitHub organization.
  • After the next preview publish, the nuget.org package pages show the icons.
  • Check that the rendered root README shows the light header in GitHub's light theme and the dark one in the dark theme, in both languages.

Generator (added after review)

  • assets/branding/branding.toml is the one definitions file; uv run assets/branding/generate.py rebuilds every SVG and PNG from it (pinned Cascadia Mono 2102.25 with SHA-256, fonttools and resvg-py locked in generate.py.lock). A new institution's icon is one new entry. --check reports drift; it gives the same bytes for every SVG and PNG on Windows and on Linux (Ubuntu 24.04).
  • It reproduces the committed SVGs byte for byte; the PNGs were re-encoded with identical pixels (compared pixel by pixel).
  • New social-preview-en.png (".NET clients for Polish public APIs"); upload whichever card you prefer.
  • .gitattributes: SVG, TOML and Python files are LF, so --check also works on a fresh Windows clone.
  • APPLY-BRANDING.md was deleted from disk (never committed).
    🤖 Generated with Claude Code

Every package gets an icon from assets/branding (the base ticket; the NBP
ticket for Nbp and Nbp.DependencyInjection, through
OpenUrzednikPackageIcon), Authors and Company "Andrzej Ochodek" and a
Copyright line as in LICENSE. The root READMEs get the header picture
(light and dark). BRANDING.md, the design spec, and the provider icons
for GUS, KRS and MF are committed but not wired (ADR-0010).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@milten89 milten89 added the enhancement New feature or request label Oct 30, 2026
milten89 and others added 2 commits October 30, 2026 14:27
assets/branding/branding.toml holds every definition (font pin, colors,
geometry, the icons with their labels, headers, social cards), and
generate.py (a uv script, locked) rebuilds every SVG and PNG from it;
--check reports drift. A new institution's icon is one new entry. The
script reproduces the committed SVGs byte for byte; the PNGs were
re-encoded with identical pixels. Adds an English social preview, and
LF rules for SVG, TOML and Python files.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No provider uses them yet (ADR-0010); each provider gets its icon from a
branding.toml entry when it becomes ready. The generator reproduces the
remaining 12 files byte for byte on Windows and Linux.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@milten89
milten89 merged commit 1b52254 into develop Oct 30, 2026
10 checks passed
@milten89
milten89 deleted the chore/package-identity branch October 30, 2026 13:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Apply the branding and set the package identity metadata

1 participant