This is a monorepo for my personal site, Rex, which includes a reference implementation of an Athena server. That backend is written in TypeScript, providing a GraphQL API using Athena, Fastify, and Node.JS. The frontend is built with React and TypeScript, with most styling from MUI.
🐈 /cat
Entertain your cat! This project is precisely as complex as it needs to be, which is hardly at all. Cats are not very difficult to distract.
See the README files in api
and web
for package-specific documentation.
To generate new TypeScript types based on changes to the GraphQL schema, do pnpm generate
in ./sdk
.
To tag a new version, use pnpm version [patch|minor|major]
in the repository root. This will update all three package.json
files (/
, /api/
, and /web/
) and create a Git tag for the new version. To publish the new version's Docker images to GHCR, do git push && git push --tags
and follow the job status.