Quick start
Four minutes, start to finish. You need Node 22 or newer and a git repository with at least one tag.
1. Detect your brand
npx shipseal@latest initThis reads your package.json, README, stylesheets and logo files, then writes.shipseal/brand.json and .shipseal/config.json. It prints where every value came from and renders one sample card so you can see the result immediately.
brand.json and set them.Commit both files. They belong in the repository.
2. Generate a pack
npx shipseal@latest releaseImages land in .shipseal/output/<tag>/ alongside a manifest.json listing every fact and where it came from. To see the facts without rendering anything:
npx shipseal@latest release --dry-run3. Automate it
Add .github/workflows/shipseal.yml:
name: Shipseal
on:
release:
types: [published]
permissions:
contents: write
jobs:
visuals:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: akii09/shipseal@v0.0.6
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}fetch-depth: 0 is required. Checkout uses a shallow clone by default, which leaves Shipseal without the history and tags it needs. shipseal doctor warns you if this is wrong.Publish a release. The images are generated and attached to it automatically.
4. Ignore the output
echo ".shipseal/output/" >> .gitignoreIf something looks off
npx shipseal@latest doctorIt checks Node, git, shallow clones, the brand file, fonts, the logo and the renderer, and tells you how to fix each failure. See the manifest reference for tracing a wrong value.