Skip to main content

Web properties

All public web properties live in the shikanime-studio/websites pnpm monorepo and deploy to Cloudflare Workers via git integration on main (Workers Builds). Each app has its own wrangler.jsonc.

AppURLStack
wwwshikanime.studioAstro 6, Cloudflare, Tailwind 4
linkslinks.shikanime.studioAstro, link hub / landing page
fadefade.shikanime.studioLocal WebGPU image viewer (TanStack)
reiyareiya.shikanime.studioMerch / community site (Astro)
docsthis siteDocusaurus 3, Workers static assets

Monorepo schema​

Dependency catalogs​

Versions are centralized in pnpm-workspace.yaml catalogs — apps never pin plain specifiers (an ESLint rule enforces it):

CatalogHolds
buildastro, vite, tailwind, lightningcss, sharp, cloudflare adapters
runtimereact, tanstack, better-auth, docusaurus, zod
lint@antfu/eslint-config, eslint plugins
typestypescript, @types/*
testvitest, playwright
scripttsx, drizzle-kit, better-sqlite3

trustPolicy: no-downgrade blocks packages whose newer version lost provenance evidence; exceptions are explicit in trustPolicyExclude.

CI and deploy​

CI runs pnpm/integration (check → lint → build) plus a treefmt gate. Deploy is push-to-main → Workers Builds. Verify a deploy by the build log's Uploaded/Deployed lines — never by the green check alone (a wrong path filter exits green while building nothing; filter by package name --filter @shikanime-studio/<x>, not directory).