Reusable TypeScript libraries maintained by Raypx. Each public package has its own version, changelog and npm artifact. Applications own their schemas, secrets, business rules and runtime configuration.
| Package | Purpose |
|---|---|
| @raypx-kit/codemods | Explicit-file migration runner and CLI; built-in migrations are added as needed |
| @raypx-kit/devkit | Workspace boundaries, toolchain checks, catalogs, artifact probes and task helpers |
| @raypx-kit/drizzle | PostgreSQL projections, UPSERT and JSONB expressions, result helpers and diagnostics |
| @raypx-kit/drizzle-kit | Slim upstream drizzle-kit CLI and defineConfig distribution |
| @raypx-kit/email-preview | React Email previews as a Vite plugin or CLI, with live updates and HTML/text inspection |
| @raypx-kit/env | Zod environment validation, nested presets, defaults and guarded client access |
| @raypx-kit/intl | Locale negotiation, ICU translation, formatting and controlled React providers |
| @raypx-kit/analytics | Consent-controlled PostHog product events and sanitized browser errors |
| @raypx-kit/logger | evlog structured logging, wide events and Node request context |
| @raypx-kit/notifications | Knock workflow client, signed user tokens and optional React notification feeds |
| @raypx-kit/security | Nosecone security headers and optional Arcjet protection with application-owned keys and rules |
| @raypx-kit/storage | Object storage for S3-compatible services, the filesystem and memory with signed URLs |
| @raypx-kit/tsconfig | Strict TypeScript presets for libraries, browsers and Node |
| @raypx-kit/themes | Shared theme tokens, initialization script and optional React theme state |
| @raypx-kit/ui | shadcn-style React primitives on Base UI, shared styles and class utilities (not yet published) |
Package READMEs describe shipped APIs and installation requirements. All packages
start at 0.0.0-alpha.0 and are independently versioned in Changesets alpha mode;
consumers pin exact prerelease versions. Drizzle query clients, relations and
plugins in the design documents remain planned work.
Public packages require Node 22.21+. Security follows Arcjet's supported range,
>=22.21.0 <23 || >=24.5.0, excluding Node 23 and earlier Node 24 releases.
Repository development uses the pin below.
Use Bun 1.4.3 and Node 24.22.0, pinned in the root packageManager and
.nvmrc. With mise installed:
mise trust && mise install
mise exec -- bun install --frozen-lockfile
mise exec -- bun run verifyFor development, activate mise in your shell or prefix repository commands with
mise exec --. Other version managers work when they select the same pins.
See the development guide for setup, focused checks
and common commands.
bun run docs:dev # http://localhost:3100/docsThe internal Fumadocs workspace renders the canonical repository Markdown directly; edit the source linked from each page.
- Documentation index: package guides, designs and maintainer references.
- Architecture: package ownership, dependency boundaries, build outputs, verification and documentation flow.
- Development: setup, commands, tests and adding a package.
- Dependency maintenance: version ranges, compatibility checks and upgrade procedure.
- Changesets workflow: independent versions, alpha releases and version preparation.
- Publishing runbook: authorized publication, consumer previews, CI setup and recovery.
The development branch is canary. Automatic version PRs and npm publication are
separately disabled until maintainers enable their repository settings. Normal
installation, builds and verification do not publish packages.
Raypx Kit is Apache-2.0 unless a package declares otherwise. Adapted and bundled
upstream code retains its original terms; see each package's LICENSE and
applicable NOTICE.md.