Deterministic gemstone avatars. Infinitely shimmering.
Each seed maps to the same gem every time, so alice will render as the same avatar across sessions, devices, and environments.
packages/hashed-gems— The published packageapps/demo— Interactive demo
pnpm install
pnpm build
pnpm devFor the demo image cache, configure Cloudflare R2 in apps/demo/.env.local:
R2_ACCOUNT_ID=...
R2_BUCKET=...
R2_ACCESS_KEY_ID=...
R2_SECRET_ACCESS_KEY=...
R2_PUBLIC_BASE_URL=https://hashed-gems.m3000.io
# Optional override:
# R2_ENDPOINT=https://<account-id>.r2.cloudflarestorage.compnpm dev # run the demo app
pnpm build # build all workspaces
pnpm check # lint, format, and typecheck
pnpm fix # apply lint + format fixes
pnpm changeset # create a release note + version bump entry
pnpm release # build and publish releaseable packagesThis repo uses Changesets to version and publish from main.
- After changing the package in a way that should ship to npm, run
pnpm changeset. - Pick the release type:
patch,minor, ormajor - Commit the generated
.changeset/*.mdfile with your code changes. - When that branch lands on
main, the Changesets GitHub Action opens or updates a release PR. - Merging the release PR publishes the package to npm.
MIT