feat(lexicons): AT Protocol schemas, types, and validation (Phase 2) (#4)
* feat(lexicons): add AT Protocol lexicon schemas, types, and validation
Phase 2 complete (M1-M4):
- 4 core lexicon JSON schemas (topic/post, topic/reply, interaction/reaction,
actor/preferences) plus shared defs and AT Protocol base lexicons
- Generated TypeScript types via @atproto/lex-cli with type guards and
validators, fixup script for NodeNext import extensions
- Hand-written Zod validation schemas mirroring all lexicon constraints
- 67 tests covering schema structure, Zod boundaries, and type exports
- CI workflow (lint, typecheck, test, build) and publish workflow
(GitHub Packages on tag push)
- Package configured as @atgora-forum/lexicons v0.1.0
* fix(ci): add packageManager field and drop frozen-lockfile
pnpm/action-setup@v4 requires pnpm version via packageManager field.
Workspace lockfile lives at the root, not per-package, so
--frozen-lockfile fails on standalone CI checkout.
* fix(ci): drop pnpm cache (no lockfile in standalone repo)
setup-node cache requires pnpm-lock.yaml which lives at the workspace
root, not in this package. Caching can be re-added if a standalone
lockfile is committed later.
* fix(ci): add @types/node for standalone CI type resolution
Test files use node:fs/promises and node:path which need @types/node.
Works locally via workspace hoisting but missing on standalone CI checkout.
authored by