~ knotless Search/
↑↓ move↵ open⇧↵ all results

johnandersen777.bsky.social/knotless

git that lives in your Atmosphere account

Forked from chadtmiller.com/knotless

0
0
21 lines · 1.2 KB Raw History

Lexicons

This is part of the root AGENTS.md, loaded when work reaches lexicons/.

A new or changed schema under lexicons/ follows the Lexicon Style Guide (https://atproto.com/guides/lexinomicon) and passes just lex: goat's linter, less three warnings kept on purpose (pack's inline bytes, listReports' id and release's Cargo index line), then harness/lexicons.mjs. That checks what the linter does not see: knownValues rather than enum; objects in new arrays rather than bare values; open unions; a description on every main; a maxLength on strings without a format in what people write (records and procedure input); accounts by DID, not handle. And that every schema only grows from main's, as the branch left main: a schema already published is evolved, not changed, with new fields optional and nothing removed, renamed, retyped, made required or narrowed. Fix anything either says, or say why not.

Still by hand: no required a reader could do without, since it can never be dropped; a description on any field whose name does not say what it holds; maxGraphemes beside maxLength for text people read; reuse of dev.knotless.defs and com.atproto.repo.strongRef over new shapes.