Skip to main content

Outputs

Default set​

FileSizeFor
brand/banner.png1280×320The README banner
brand/banner-mobile.png1280×786The README banner under 640px
brand/social-card.png1280×640The GitHub social preview and og:image
brand/favicon-512.png512×512App icon
brand/favicon.ico16 + 32pxBrowser tab

Each PNG has an SVG source beside it (banner.svg, banner-mobile.svg, social-card.svg, favicon.svg). Edit a source by hand if you like, then re-render. brand/render.sh re-renders everything without Node, which is handy in CI or on a machine without npm.

The social card is what X, LinkedIn, Facebook, Slack and Discord show as a link preview. Upload it under the repo's Settings → Social preview too.

Social images​

For images you post or upload to a profile, add --social:

npx @rtorcato/brand-kit --social
FileSizeFor
brand/avatar.png400×400Profile picture; survives a circular crop
brand/instagram-post.png1080×1080Instagram feed post
brand/story.png1080×1920Instagram, TikTok and Facebook stories
brand/x-header.png1500×500X profile header
brand/linkedin-banner.png1584×396LinkedIn background
brand/youtube-banner.png2560×1440YouTube channel art (content in the 1546×423 safe area)
brand/facebook-cover.png1640×624Facebook cover

Once a social source exists, render, render.sh, doctor and --update keep it current without the flag.

The README banner​

brand-kit adds a <picture> block to the top of README.md that swaps to the mobile banner under 640px:

<!-- js-tooling:banner:start -->
<picture>
<source media="(max-width: 640px)" srcset="./brand/banner-mobile.png">
<img src="./brand/banner.png" alt="my-lib banner" width="1600">
</picture>
<!-- js-tooling:banner:end -->

The markers let later runs replace the block in place. Leave them in.

Docusaurus sites​

In a repo with a Docusaurus site at apps/docs, favicon.svg, favicon.ico and social-card.png are also copied to apps/docs/static/img/. Existing copies are kept, except after --ai generates new art. Delete a copy to refresh it.