Monorepo for building, validating, proxying, compressing, and uploading ticket.pm transcript payloads.
@ticketpm/core: shared transcript contract, canonical serialization, validation, compression, and ticket.pm upload/media clients.@ticketpm/discord-api: adapters for Discord API payloads and generic REST-style enrichment hooks.@ticketpm/discordjs: adapters for discord.js objects and cache-friendly context builders.
- Package manager and runtime: Bun
- Package runtime support: Bun preferred automatically, Node.js supported for the published packages
- Tests: Vitest, executed with
bun --bun vitest run - Build: TypeScript project references
bun install
bun run build
bun --bun vitest runThis repository is set up for lockstep releases: all packages must share the same version, and releases are published from GitHub Actions only.
- Bump the version in each package manifest to the same semver.
- Merge the release commit to
main. - Create and push a matching Git tag like
v0.0.2. - Approve the
releaseGitHub environment when the workflow asks for it.
The release workflow rebuilds the repo, prepares registry-specific publish bundles, dry-runs JSR validation, then publishes to JSR and npm with OIDC.