@prototypey/cli
v0.2.1
Published
CLI tool for generating types from ATProto lexicon schemas
Readme
@prototypey/cli
CLI tool for generating types from ATProto lexicon schemas.
Installation
npm install -g @prototypey/cliOr use directly with npx:
npx @prototypey/cliCommands
gen-emit
Emit JSON lexicon schemas from authored TypeScript files.
Usage:
prototypey gen-emit <outdir> <sources...>Arguments:
outdir- Output directory for emitted JSON schema filessources...- One or more glob patterns matching TypeScript source files
Example:
prototypey gen-emit ./lexicons ./src/lexicons/**/*.tsWhat it does:
- Scans TypeScript files for exported lexicon definitions
- Extracts the
.jsonproperty from each lexicon - Emits properly formatted JSON lexicon schema files
- Names output files by lexicon ID (e.g.,
app.bsky.feed.post.json)
Workflow
The typical workflow combines both commands for bidirectional type safety:
- Author lexicons in TypeScript using the
prototypeylibrary - Emit to JSON with
gen-emitfor runtime validation and API contracts
# Write your lexicons in TypeScript
# src/lexicons/app.bsky.actor.profile.ts
# Emit JSON schemas
prototypey gen-emit ./schemas ./src/lexicons/**/*.tsRequirements
- Node.js >= 20.19.0
License
MIT
