# Exosphere v0.4.0 - Table of Contents

A collection of ATProto clients and utilities, including XRPC clients, firehose consumers, and more.

## Pages

- [Exosphere](readme.md)
- [Firehose](firehose.md)
- [Lexicons](lexicons.md)
- [OAuth (DPoP-bound ATProto sessions)](oauth.md)

## Modules

- [Exosphere](Exosphere.md): Exosphere.
- [Exosphere.ATProto](Exosphere.ATProto.md): Lower-level, spec-aligned AT Protocol (ATProto) building blocks.
- [Exosphere.ATProto.AtUri](Exosphere.ATProto.AtUri.md): AT URI (`at://`) parsing and validation.
- [Exosphere.ATProto.Base58](Exosphere.ATProto.Base58.md): Minimal base58btc codec used for did:key and Multikey encoding.
- [Exosphere.ATProto.Bsky](Exosphere.ATProto.Bsky.md): Bluesky API client for app.bsky.* lexicons.
- [Exosphere.ATProto.CAR](Exosphere.ATProto.CAR.md): CAR (Content Addressable aRchive) file parser.
- [Exosphere.ATProto.CBOR](Exosphere.ATProto.CBOR.md): DAG-CBOR encoding and decoding with Exosphere.ATProto normalization.
- [Exosphere.ATProto.CID](Exosphere.ATProto.CID.md): Content Identifier (CID) handling for Exosphere.ATProto.
- [Exosphere.ATProto.Crypto](Exosphere.ATProto.Crypto.md): Cryptographic operations for Exosphere.ATProto.
- [Exosphere.ATProto.DataModel](Exosphere.ATProto.DataModel.md): Validation of values against the atproto data model.
- [Exosphere.ATProto.Firehose.Consumer](Exosphere.ATProto.Firehose.Consumer.md): Generic WebSocket consumer for the Exosphere.ATProto firehose using WebSockex.
- [Exosphere.ATProto.Firehose.Frame](Exosphere.ATProto.Firehose.Frame.md): Decode Exosphere.ATProto firehose WebSocket frames.
- [Exosphere.ATProto.Firehose.Message](Exosphere.ATProto.Firehose.Message.md): Parse firehose message payloads into structured events.
- [Exosphere.ATProto.HTTP](Exosphere.ATProto.HTTP.md): Simple HTTP client using Mint.
- [Exosphere.ATProto.HTTP.Behaviour](Exosphere.ATProto.HTTP.Behaviour.md): Behaviour for HTTP clients.
- [Exosphere.ATProto.Identity.DID](Exosphere.ATProto.Identity.DID.md): DID (Decentralized Identifier) resolution for Exosphere.ATProto.
- [Exosphere.ATProto.Identity.DID.PLC](Exosphere.ATProto.Identity.DID.PLC.md): DID:PLC resolution.
- [Exosphere.ATProto.Identity.DID.Web](Exosphere.ATProto.Identity.DID.Web.md): DID:Web resolution.
- [Exosphere.ATProto.Identity.Document](Exosphere.ATProto.Identity.Document.md): DID Document structure and parsing for Exosphere.ATProto.
- [Exosphere.ATProto.Identity.Handle](Exosphere.ATProto.Identity.Handle.md): Handle resolution for Exosphere.ATProto.
- [Exosphere.ATProto.Label.Defs.LabelValueDefinition](Exosphere.ATProto.Label.Defs.LabelValueDefinition.md): Declares a label value and its expected interpretations and behaviors.
- [Exosphere.ATProto.Label.Defs.LabelValueDefinitionStrings](Exosphere.ATProto.Label.Defs.LabelValueDefinitionStrings.md): Strings which describe the label in the UI, localized into a specific language.
- [Exosphere.ATProto.Label.Defs.SelfLabel](Exosphere.ATProto.Label.Defs.SelfLabel.md): Metadata tag on an atproto record, published by the author within the record. Note that schemas should use #selfLabels, not #selfLabel.
- [Exosphere.ATProto.Label.Defs.SelfLabels](Exosphere.ATProto.Label.Defs.SelfLabels.md): Metadata tags on an atproto record, published by the author within the record.
- [Exosphere.ATProto.MST](Exosphere.ATProto.MST.md): Merkle Search Tree (MST) for AT Protocol repositories.
- [Exosphere.ATProto.NSID](Exosphere.ATProto.NSID.md): Namespaced Identifiers (NSIDs).
- [Exosphere.ATProto.OAuth.Client](Exosphere.ATProto.OAuth.Client.md): Runtime OAuth client configuration: the metadata document paired with the
private client-authentication key.
- [Exosphere.ATProto.OAuth.ClientMetadata](Exosphere.ATProto.OAuth.ClientMetadata.md): OAuth 2.0 Client Metadata Documents (the `client_id` document).
- [Exosphere.ATProto.OAuth.DPoP](Exosphere.ATProto.OAuth.DPoP.md): DPoP (RFC 9449) proof JWTs for the ATProto OAuth profile.
- [Exosphere.ATProto.OAuth.DPoP.NonceStore](Exosphere.ATProto.OAuth.DPoP.NonceStore.md): Per-authorization-server DPoP nonce cache.
- [Exosphere.ATProto.OAuth.Discovery](Exosphere.ATProto.OAuth.Discovery.md): Identity-to-authorization-server discovery for ATProto OAuth.
- [Exosphere.ATProto.OAuth.Flow](Exosphere.ATProto.OAuth.Flow.md): The ATProto OAuth authorization-code flow: PAR → authorize redirect →
callback → token exchange.
- [Exosphere.ATProto.OAuth.JWK](Exosphere.ATProto.OAuth.JWK.md): JSON Web Keys (RFC 7517) for the ATProto OAuth profile.
- [Exosphere.ATProto.OAuth.JWS](Exosphere.ATProto.OAuth.JWS.md): Compact JWS signing and verification (RFC 7515) for the ATProto OAuth
profile.
- [Exosphere.ATProto.OAuth.PKCE](Exosphere.ATProto.OAuth.PKCE.md): PKCE (RFC 7636) code verifiers and challenges.
- [Exosphere.ATProto.OAuth.Request](Exosphere.ATProto.OAuth.Request.md): DPoP-bound HTTP requests against OAuth endpoints.
- [Exosphere.ATProto.OAuth.RequestContext](Exosphere.ATProto.OAuth.RequestContext.md): State an application must retain between the two legs of the authorization
flow.
- [Exosphere.ATProto.OAuth.ServerMetadata](Exosphere.ATProto.OAuth.ServerMetadata.md): Authorization Server and Resource Server metadata (RFC 8414 + the
OAuth-Protected-Response draft used by ATProto).
- [Exosphere.ATProto.OAuth.Session](Exosphere.ATProto.OAuth.Session.md): A DPoP-bound ATProto OAuth session: the tokens, the session DPoP key, and
everything needed to refresh and to make authorized XRPC requests.
- [Exosphere.ATProto.RecordKey](Exosphere.ATProto.RecordKey.md): Record Keys (rkeys).
- [Exosphere.ATProto.Repo](Exosphere.ATProto.Repo.md): Exosphere.ATProto repository operations for writing records to a user's PDS.
- [Exosphere.ATProto.Repo.Commit](Exosphere.ATProto.Repo.Commit.md): Repository commit signature verification.
- [Exosphere.ATProto.Repo.StrongRef](Exosphere.ATProto.Repo.StrongRef.md): A URI with a content-hash fingerprint.
- [Exosphere.ATProto.TID](Exosphere.ATProto.TID.md): Timestamp ID (TID) generation for Exosphere.ATProto records.
- [Exosphere.ATProto.XRPC.Client](Exosphere.ATProto.XRPC.Client.md): XRPC HTTP client for Exosphere.ATProto.
- [Exosphere.ATProto.XRPC.Error](Exosphere.ATProto.XRPC.Error.md): XRPC error handling.
- [Exosphere.Application](Exosphere.Application.md): Exosphere's supervision tree.
- [Exosphere.Bsky.Actor](Exosphere.Bsky.Actor.md): XRPC client functions for the `app.bsky.actor` namespace.
- [Exosphere.Bsky.Actor.ContentVisibilityDeclaration](Exosphere.Bsky.Actor.ContentVisibilityDeclaration.md): Record schema `app.bsky.actor.contentVisibilityDeclaration`.
- [Exosphere.Bsky.Actor.Profile](Exosphere.Bsky.Actor.Profile.md): Record schema `app.bsky.actor.profile`.
- [Exosphere.Bsky.Actor.Status](Exosphere.Bsky.Actor.Status.md): Record schema `app.bsky.actor.status`.
- [Exosphere.Bsky.Ageassurance](Exosphere.Bsky.Ageassurance.md): XRPC client functions for the `app.bsky.ageassurance` namespace.
- [Exosphere.Bsky.Bookmark](Exosphere.Bsky.Bookmark.md): XRPC client functions for the `app.bsky.bookmark` namespace.
- [Exosphere.Bsky.Contact](Exosphere.Bsky.Contact.md): XRPC client functions for the `app.bsky.contact` namespace.
- [Exosphere.Bsky.Draft](Exosphere.Bsky.Draft.md): XRPC client functions for the `app.bsky.draft` namespace.
- [Exosphere.Bsky.Embed](Exosphere.Bsky.Embed.md): XRPC client functions for the `app.bsky.embed` namespace.
- [Exosphere.Bsky.Embed.Defs.AspectRatio](Exosphere.Bsky.Embed.Defs.AspectRatio.md): width:height represents an aspect ratio. It may be approximate, and may not correspond to absolute dimensions in any given unit.
- [Exosphere.Bsky.Embed.External](Exosphere.Bsky.Embed.External.md): A representation of some externally linked content (eg, a URL and 'card'), embedded in a Bluesky record (eg, a post).
- [Exosphere.Bsky.Embed.External.External](Exosphere.Bsky.Embed.External.External.md): Object schema `app.bsky.embed.external##external`.
- [Exosphere.Bsky.Embed.Gallery](Exosphere.Bsky.Embed.Gallery.md): An assortment of media embedded in a Bluesky record (eg, a post).
- [Exosphere.Bsky.Embed.Gallery.Image](Exosphere.Bsky.Embed.Gallery.Image.md): An assortment of media embedded in a Bluesky record (eg, a post).
- [Exosphere.Bsky.Embed.Images](Exosphere.Bsky.Embed.Images.md): A set of images embedded in a Bluesky record (eg, a post).
- [Exosphere.Bsky.Embed.Images.Image](Exosphere.Bsky.Embed.Images.Image.md): A set of images embedded in a Bluesky record (eg, a post).
- [Exosphere.Bsky.Embed.Record](Exosphere.Bsky.Embed.Record.md): A representation of a record embedded in a Bluesky record (eg, a post). For example, a quote-post, or sharing a feed generator record.
- [Exosphere.Bsky.Embed.RecordWithMedia](Exosphere.Bsky.Embed.RecordWithMedia.md): A representation of a record embedded in a Bluesky record (eg, a post), alongside other compatible embeds. For example, a quote post and image, or a quote post and external URL card.
- [Exosphere.Bsky.Embed.Video](Exosphere.Bsky.Embed.Video.md): A video embedded in a Bluesky record (eg, a post).
- [Exosphere.Bsky.Embed.Video.Caption](Exosphere.Bsky.Embed.Video.Caption.md): A video embedded in a Bluesky record (eg, a post).
- [Exosphere.Bsky.Feed](Exosphere.Bsky.Feed.md): XRPC client functions for the `app.bsky.feed` namespace.
- [Exosphere.Bsky.Feed.Generator](Exosphere.Bsky.Feed.Generator.md): Record schema `app.bsky.feed.generator`.
- [Exosphere.Bsky.Feed.Like](Exosphere.Bsky.Feed.Like.md): Record schema `app.bsky.feed.like`.
- [Exosphere.Bsky.Feed.Post](Exosphere.Bsky.Feed.Post.md): Record schema `app.bsky.feed.post`.
- [Exosphere.Bsky.Feed.Post.Entity](Exosphere.Bsky.Feed.Post.Entity.md): Deprecated: use facets instead.
- [Exosphere.Bsky.Feed.Post.ReplyRef](Exosphere.Bsky.Feed.Post.ReplyRef.md): Object schema `app.bsky.feed.post##replyRef`.
- [Exosphere.Bsky.Feed.Post.TextSlice](Exosphere.Bsky.Feed.Post.TextSlice.md): Deprecated. Use app.bsky.richtext instead -- A text segment. Start is inclusive, end is exclusive. Indices are for utf16-encoded strings.
- [Exosphere.Bsky.Feed.Postgate](Exosphere.Bsky.Feed.Postgate.md): Record schema `app.bsky.feed.postgate`.
- [Exosphere.Bsky.Feed.Postgate.DisableRule](Exosphere.Bsky.Feed.Postgate.DisableRule.md): Disables embedding of this post.
- [Exosphere.Bsky.Feed.Repost](Exosphere.Bsky.Feed.Repost.md): Record schema `app.bsky.feed.repost`.
- [Exosphere.Bsky.Feed.Threadgate](Exosphere.Bsky.Feed.Threadgate.md): Record schema `app.bsky.feed.threadgate`.
- [Exosphere.Bsky.Feed.Threadgate.FollowerRule](Exosphere.Bsky.Feed.Threadgate.FollowerRule.md): Allow replies from actors who follow you.
- [Exosphere.Bsky.Feed.Threadgate.FollowingRule](Exosphere.Bsky.Feed.Threadgate.FollowingRule.md): Allow replies from actors you follow.
- [Exosphere.Bsky.Feed.Threadgate.ListRule](Exosphere.Bsky.Feed.Threadgate.ListRule.md): Allow replies from actors on a list.
- [Exosphere.Bsky.Feed.Threadgate.MentionRule](Exosphere.Bsky.Feed.Threadgate.MentionRule.md): Allow replies from actors mentioned in your post.
- [Exosphere.Bsky.Graph](Exosphere.Bsky.Graph.md): XRPC client functions for the `app.bsky.graph` namespace.
- [Exosphere.Bsky.Graph.Block](Exosphere.Bsky.Graph.Block.md): Record schema `app.bsky.graph.block`.
- [Exosphere.Bsky.Graph.Follow](Exosphere.Bsky.Graph.Follow.md): Record schema `app.bsky.graph.follow`.
- [Exosphere.Bsky.Graph.List](Exosphere.Bsky.Graph.List.md): Record schema `app.bsky.graph.list`.
- [Exosphere.Bsky.Graph.Listblock](Exosphere.Bsky.Graph.Listblock.md): Record schema `app.bsky.graph.listblock`.
- [Exosphere.Bsky.Graph.Listitem](Exosphere.Bsky.Graph.Listitem.md): Record schema `app.bsky.graph.listitem`.
- [Exosphere.Bsky.Graph.Starterpack](Exosphere.Bsky.Graph.Starterpack.md): Record schema `app.bsky.graph.starterpack`.
- [Exosphere.Bsky.Graph.Starterpack.FeedItem](Exosphere.Bsky.Graph.Starterpack.FeedItem.md): Object schema `app.bsky.graph.starterpack##feedItem`.
- [Exosphere.Bsky.Graph.Verification](Exosphere.Bsky.Graph.Verification.md): Record schema `app.bsky.graph.verification`.
- [Exosphere.Bsky.Labeler](Exosphere.Bsky.Labeler.md): XRPC client functions for the `app.bsky.labeler` namespace.
- [Exosphere.Bsky.Labeler.Defs.LabelerPolicies](Exosphere.Bsky.Labeler.Defs.LabelerPolicies.md): Object schema `app.bsky.labeler.defs##labelerPolicies`.
- [Exosphere.Bsky.Labeler.Service](Exosphere.Bsky.Labeler.Service.md): Record schema `app.bsky.labeler.service`.
- [Exosphere.Bsky.Notification](Exosphere.Bsky.Notification.md): XRPC client functions for the `app.bsky.notification` namespace.
- [Exosphere.Bsky.Notification.Declaration](Exosphere.Bsky.Notification.Declaration.md): Record schema `app.bsky.notification.declaration`.
- [Exosphere.Bsky.Records](Exosphere.Bsky.Records.md): Typed repository operations: create, fetch, list, and delete records
through their generated struct modules.
- [Exosphere.Bsky.Richtext.Facet](Exosphere.Bsky.Richtext.Facet.md): Annotation of a sub-string within rich text.
- [Exosphere.Bsky.Richtext.Facet.ByteSlice](Exosphere.Bsky.Richtext.Facet.ByteSlice.md): Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text. NOTE: some languages, like Javascript, use UTF-16 or Unicode codepoints for string slice indexing; in these languages, convert to byte arrays before working with facets.
- [Exosphere.Bsky.Richtext.Facet.Link](Exosphere.Bsky.Richtext.Facet.Link.md): Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL.
- [Exosphere.Bsky.Richtext.Facet.Mention](Exosphere.Bsky.Richtext.Facet.Mention.md): Facet feature for mention of another account. The text is usually a handle, including a '@' prefix, but the facet reference is a DID.
- [Exosphere.Bsky.Richtext.Facet.Tag](Exosphere.Bsky.Richtext.Facet.Tag.md): Facet feature for a hashtag. The text usually includes a '#' prefix, but the facet reference should not (except in the case of 'double hash tags').
- [Exosphere.Bsky.Runtime](Exosphere.Bsky.Runtime.md): Shared runtime helpers used by the generated `Exosphere.Bsky.*` modules.
- [Exosphere.Bsky.Unspecced](Exosphere.Bsky.Unspecced.md): XRPC client functions for the `app.bsky.unspecced` namespace.
- [Exosphere.Bsky.Video](Exosphere.Bsky.Video.md): XRPC client functions for the `app.bsky.video` namespace.
- [Exosphere.Community.App.Defs.AccountIndicator](Exosphere.Community.App.Defs.AccountIndicator.md): A record whose presence in an account can indicate that the account probably uses this app.
- [Exosphere.Community.App.Defs.AspectRatio](Exosphere.Community.App.Defs.AspectRatio.md): width:height represents an aspect ratio. It may be approximate.
- [Exosphere.Community.App.Defs.Image](Exosphere.Community.App.Defs.Image.md): An image associated with an app, including accessibility and display metadata. Exactly one of `image` (ATProto blob) or `uri` (remote URL) MUST be present. Consumers SHOULD ignore image items that have neither or both.
- [Exosphere.Community.App.Defs.LexiconInterop](Exosphere.Community.App.Defs.LexiconInterop.md): Self-declared AT Protocol lexicon interoperability signals.
- [Exosphere.Community.App.Defs.Link](Exosphere.Community.App.Defs.Link.md): A labeled URI associated with an app.
- [Exosphere.Community.App.Entry](Exosphere.Community.App.Entry.md): Record schema `community.lexicon.app.entry`.
- [Exosphere.Community.App.Profile](Exosphere.Community.App.Profile.md): Record schema `community.lexicon.app.profile`.
- [Exosphere.Community.App.ProfileLocalization](Exosphere.Community.App.ProfileLocalization.md): Localized metadata for a community.lexicon.app.profile record.
- [Exosphere.Community.Bookmarks](Exosphere.Community.Bookmarks.md): XRPC client functions for the `community.lexicon.bookmarks` namespace.
- [Exosphere.Community.Bookmarks.Bookmark](Exosphere.Community.Bookmarks.Bookmark.md): Record schema `community.lexicon.bookmarks.bookmark`.
- [Exosphere.Community.Calendar.Event](Exosphere.Community.Calendar.Event.md): Record schema `community.lexicon.calendar.event`.
- [Exosphere.Community.Calendar.Event.Uri](Exosphere.Community.Calendar.Event.Uri.md): A URI associated with the event.
- [Exosphere.Community.Calendar.Rsvp](Exosphere.Community.Calendar.Rsvp.md): Record schema `community.lexicon.calendar.rsvp`.
- [Exosphere.Community.Interaction.Like](Exosphere.Community.Interaction.Like.md): Record schema `community.lexicon.interaction.like`.
- [Exosphere.Community.Location.Address](Exosphere.Community.Location.Address.md): A physical location in the form of a street address.
- [Exosphere.Community.Location.Fsq](Exosphere.Community.Location.Fsq.md): A physical location contained in the Foursquare Open Source Places dataset.
- [Exosphere.Community.Location.Geo](Exosphere.Community.Location.Geo.md): A physical location in the form of a WGS84 coordinate.
- [Exosphere.Community.Location.Hthree](Exosphere.Community.Location.Hthree.md): A physical location in the form of a H3 encoded location.
- [Exosphere.Community.Payments.WebMonetization](Exosphere.Community.Payments.WebMonetization.md): Web Monetization integration: https://webmonetization.org/
- [Exosphere.Community.Preference.Ai](Exosphere.Community.Preference.Ai.md): Declares a user's preferences regarding AI usage of their public data. A record at key 'self' with globalScope establishes default preferences. Additional records keyed by TID establish scoped overrides for specific entities or content collections.
- [Exosphere.Community.Preference.Ai.CollectionScope](Exosphere.Community.Preference.Ai.CollectionScope.md): Declares a user's preferences regarding AI usage of their public data. A record at key 'self' with globalScope establishes default preferences. Additional records keyed by TID establish scoped overrides for specific entities or content collections.
- [Exosphere.Community.Preference.Ai.EntityScope](Exosphere.Community.Preference.Ai.EntityScope.md): Declares a user's preferences regarding AI usage of their public data. A record at key 'self' with globalScope establishes default preferences. Additional records keyed by TID establish scoped overrides for specific entities or content collections.
- [Exosphere.Community.Preference.Ai.GlobalScope](Exosphere.Community.Preference.Ai.GlobalScope.md): Declares a user's preferences regarding AI usage of their public data. A record at key 'self' with globalScope establishes default preferences. Additional records keyed by TID establish scoped overrides for specific entities or content collections.
- [Exosphere.Community.Preference.Ai.Preference](Exosphere.Community.Preference.Ai.Preference.md): Declares a user's preferences regarding AI usage of their public data. A record at key 'self' with globalScope establishes default preferences. Additional records keyed by TID establish scoped overrides for specific entities or content collections.
- [Exosphere.Community.Preference.Ai.PreferenceSet](Exosphere.Community.Preference.Ai.PreferenceSet.md): Declares a user's preferences regarding AI usage of their public data. A record at key 'self' with globalScope establishes default preferences. Additional records keyed by TID establish scoped overrides for specific entities or content collections.
- [Exosphere.Firehose.Consumer](Exosphere.Firehose.Consumer.md): Public-facing firehose consumer built on top of `Exosphere.ATProto.Firehose.Consumer`.

- [Exosphere.Lexicon](Exosphere.Lexicon.md): Registering, type-checking, and publishing lexicons.
- [Exosphere.Lexicon.Generator](Exosphere.Lexicon.Generator.md): Generates Elixir record modules from parsed lexicon IR.
- [Exosphere.Lexicon.Parser](Exosphere.Lexicon.Parser.md): Parses ATProto lexicon JSON files into a normalized schema IR.
- [Exosphere.Lexicon.Registry](Exosphere.Lexicon.Registry.md): A runtime registry of lexicons, keyed by NSID.
- [Exosphere.Lexicon.Resolver](Exosphere.Lexicon.Resolver.md): Fetching lexicons published as `com.atproto.lexicon.schema` records.
- [Exosphere.Lexicon.Schema](Exosphere.Lexicon.Schema.md): The `com.atproto.lexicon.schema` record type: publishing lexicons as
atproto records.
- [Exosphere.Lexicon.Validator](Exosphere.Lexicon.Validator.md): Runtime validation of values against parsed lexicon schemas.
- [Exosphere.OAuth.Session](Exosphere.OAuth.Session.md): Process wrapper around an `Exosphere.ATProto.OAuth.Session` that keeps the
session fresh and makes DPoP-signed XRPC calls.
- [Exosphere.TID](Exosphere.TID.md): Convenience wrapper around `Exosphere.ATProto.TID`.

- [Exosphere.XRPC.Client](Exosphere.XRPC.Client.md): Public-facing XRPC client built on top of `Exosphere.ATProto.XRPC.Client`.

## Mix Tasks

- [mix exosphere.gen.bsky](Mix.Tasks.Exosphere.Gen.Bsky.md): Deprecated alias for `mix exosphere.gen.lexicons`.
- [mix exosphere.gen.lexicons](Mix.Tasks.Exosphere.Gen.Lexicons.md): Generates Elixir modules from the lexicon JSON files vendored under
`priv/lexicons`, for every supported source.
- [mix exosphere.lexicons.sync](Mix.Tasks.Exosphere.Lexicons.Sync.md): Refreshes the vendored lexicon JSON files under `priv/lexicons` from
their upstream sources and records the pinned revisions in
`priv/lexicons/SOURCES.md`.
- [mix exosphere.lint.lexicons](Mix.Tasks.Exosphere.Lint.Lexicons.md): Lints lexicon JSON documents against the lexicon schema rules.

