Realliance brand kit: logo masters, palette, fonts and the generated assets (dist/)
- Python 87.6%
- Nix 10.4%
- JavaScript 2%
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FWhaDeswMqYvQaVdpL8oit |
||
|---|---|---|
| assets | ||
| dist | ||
| fonts | ||
| palette | ||
| tools | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| README.md | ||
| variants.toml | ||
Realliance brand
The Realliance logo, palette, and fonts. The forge and the SSO pin a signed tag and copy files from dist/.
assets/: the logo (logo.svg), navbar mark (mark-wide.svg) and icon (icon.svg), edited in Inkscape.palette/tokens.json: colours and contrast rules.fonts/sources.json: pinned font sources.variants.toml: the files the build derives.dist/: build output, committed.
Edit
Open a file in assets/ with Inkscape. Keep these rules, or nix run .#check -- --fast fails:
- Layers
ink,sparkandtile(by id) hold the letters, twinkles and icon background. - Use filled shapes only. Convert text and strokes to paths.
- The build sets colours from
palette/tokens.json, so change them there.
Build and release
nix run .#build # regenerate dist/
nix run .#check # dist/ must match a fresh build
Commit assets/ and dist/ together, merge the pull request, then push a signed tag
(git tag -s v0.2.0).
Use
Each consumer runs scripts/sync-brand.sh <tag>. The script verifies the tag signature, checks every file
against dist/manifest.json, and copies the files. File names carry a content hash, so caches never serve
stale copies. The exception is dist/fixed/, which keeps the names that Forgejo and Keycloak request.
Licence
- The artwork in
assets/and the images built from it use CC BY 4.0. - The fonts use the SIL Open Font License 1.1, see
fonts/. - Everything else uses the MIT License.