socialdept/atp-schema
PHP package for working with AT Protocol (ATProto/Bluesky) schemas, offering generated classes and tooling for Lexicon definitions, validation, and type-safe access to records, requests, and responses in Laravel or standalone PHP applications.
SocialDept\AtpSchema (formerly SocialDept\Schema) gives Laravel teams a schema/lexicon layer for AT Protocol records — the shapes behind Bluesky posts, profiles, feeds, and labels. If your roadmap touches the AT Protocol at all (cross-posting, custom feeds, labelers, PDS-adjacent tooling), this package decides whether you write record validation and typing yourself or inherit it.SocialDept\AtpSchema signals the maintainer is standardizing naming across their AT Protocol package family. That consistency is a mild positive signal for teams intending to adopt more than one package from the same vendor — it reduces the "each package has its own conventions" tax.Consider it when:
composer.json and afford a migration pass when the namespace moves again.Look elsewhere (or defer) when:
@atproto/*) is the reference implementation and moves faster; bridging across languages is real cost.SocialDept\Schema → SocialDept\AtpSchema rename touches every use statement and any string-based class references (config, container bindings, serialized class names in queues). Scope that before committing.Migration note for anyone already on v0.2.x: this is a hard rename, not an alias. Expect a find-and-replace across use declarations, plus a check for class names in config/, container bindings, cached/serialized payloads, and any database rows storing fully-qualified class names. Do not let queued jobs with serialized class names straddle the deploy.
For executives: This is a small, pre-1.0 open-source Laravel package that handles AT Protocol schema definitions — useful if we pursue anything on Bluesky's protocol, but not production-hardened. Recommendation: fund a short spike (days, not weeks), not a platform commitment. The v0.3.0 release is a package rename with explicit breaking changes, which confirms it's still stabilizing; we should not put it under critical paths yet.
For engineering: SocialDept\Schema is now SocialDept\AtpSchema as of v0.3.0 — a deliberate namespace standardization across the maintainer's AT Protocol package family. The rename is breaking and there's no published alias, so any existing code needs a mechanical migration plus a sweep for string-referenced class names. Given pre-1.0 status, adopt behind a thin internal adapter: we get schema handling for free, and when the namespace or API shifts again we change one file instead of the codebase. Pin the exact version — do not use a caret constraint.
How can I help you explore Laravel packages today?