Skip to content

Quick start

Terminal window
npm install -g shipcard
# or run it without installing:
npx shipcard <owner/repo>

Requires Node.js ≥ 18.

Point shipcard at any public repository as owner/repo. It fetches the metadata and language breakdown from the GitHub REST API and writes a standalone SVG:

Terminal window
shipcard abdulmunimjemal/shipcard -o card.svg

That’s a complete card — name, description, a colored language bar with a legend, and the star/fork counts — sized 1200×630 for social previews. With no -o, the SVG is written to stdout, so you can pipe it:

Terminal window
shipcard facebook/react > react.svg

Unauthenticated GitHub requests are rate limited. If you hit a 403, set GITHUB_TOKEN to authenticate — any token with public-repo read access works:

Terminal window
GITHUB_TOKEN=ghp_xxx shipcard facebook/react -o react.svg

Local mode needs no network and no token. It reads package.json for the name and description, parses the git origin remote for owner/repo, and computes the language breakdown by scanning file extensions (skipping node_modules, .git, dist, and similar noise):

Terminal window
shipcard --local . # current directory, SVG to stdout
shipcard --local ../my-project -o my-project.svg

This is handy in CI for a repo that isn’t on GitHub yet, or when you want a card built from the working tree rather than the published metadata.

The default is a dark card at the og social size. Switch either one:

Terminal window
shipcard abdulmunimjemal/shipcard --theme light --size card -o card.svg
  • --theme dark|light — dark is the default.
  • --size og|cardog is 1200×630 (social); card is a compact 800×320.

See Customization for the full palette and sizing details.

The output is a plain SVG, so it drops straight into a README:

![my project](./card.svg)

…or into a page’s social-preview tags:

<meta property="og:image" content="https://example.com/card.svg" />

To replace the description with a punchy generated line, add --summary and supply your own OPENAI_API_KEY. Without the flag, no AI calls are made:

Terminal window
OPENAI_API_KEY=sk-xxx shipcard abdulmunimjemal/shipcard --summary -o card.svg

See Customization → AI summary for pointing it at any OpenAI-compatible gateway.