User Guide
What Is lore.farm?
lore.farm is a collaborative storytelling platform that bring writers together under a shared universe, and lets their contributions (posts, stories, conversations) become the living record of their collective fictional world.
Worlds
A world is a shared fictional setting (like Westeros or Forgotten Realms), identified by a domain name under the control of a loremaster who sets contribution and membership policies. Each world has six configurable policies:
Open — anyone can join as a member.
Invite Only — the loremaster or a curator must invite you to join.
Anyone — any visitor may contribute.
Members — only members of the world may contribute.
Curators — only appointed curators and the loremaster.
Anyone — any member of the world may canonize content.
Curators — only appointed curators and the loremaster.
Loremaster — only the world's creator.
Anything — any content from any Atmosphere Account.
Members Only — only posts authored by members of this world.
Owner Only — only posts authored by the loremaster.
Nobody — the content policy applies to everyone equally.
Curators — curators can declare any content regardless of origin.
Loremaster — only the loremaster may bypass the rule.
Loremaster — only the loremaster can appoint curators.
Curators — any curator can appoint others.
Roles
- Loremaster — Creates and controls the world. Manages all settings and membership, and appoints curators.
- Curator — Improves the world by curating lore, promoting canon, and managing memberships.
- Member — Joins various worlds and contributes lore to their shared stories.
Lore & Canon
Contributions in a world are organised into two tiers:
- Lore — Posts, stories, conversations, and other narrative content is declared as relevant to a world.
- Canon — Important or authoritative content is canonized to establish the narrative truth of a world.
These declarations are records separate from the content itself and can be modified or withdrawn without impacting the source material, allowing content to exist independently from the worlds it is submitted to.
Content Types
lore.farm currently supports three types of content. Each renders differently in the world feed.
app.bsky.feed.post
Short-form posts up to 300 characters with optional images. These represent passing words and thoughts, conversations, or brief updates about character actions or world events.
site.standard.document
Long-form stories published via standard.site. These are used to provide in-depth narratives, lengthy character developments, detailed world building, and full story chapters.
ink.branchline.bud
Narrative branches composed in branchline.ink support brief narrative chapters (500 words) with branching paths that allow multiple storylines to unfold from various different authors.
Getting Started
Discover New Worlds
Explore Worlds and enjoy their narrative content and unique communities. No account is required to browse.
Joining a World
Sign-In to access your Dashboard and join any open worlds, or any you are invited to participate in.
Contributing Lore
After joining a world, visit the Compose tab in your Dashboard to declare existing content, or choose a format to write any new content. Once ready, select the worlds you wish to submit to, and declare it as lore!
Everything you've contributed, across all worlds, is visible in your Contributions tab.
Creating a World
From the Dashboard visit the Worlds tab and click New World. You will need a domain name that you control.
Verify it by serving your DID via https://yourdomain/.well-known/atproto-did or adding a DNS TXT record:
_atproto.yourworld.example. IN TXT "did=did:plc:your-did-here"
You can find your DID on bsky.app under Settings → Privacy → Advanced → Your DID.
Dashboard Overview
- Worlds — Manage worlds you own, view worlds you've joined, accept invitations, and browse others.
- Stream — A live feed of lore and canon activity across your worlds, with various sorting filters.
- Compose — Write new lore or declare existing content as part of any worlds you have permissions for.
- Contributions — Review everything you've contributed across every world.
- Notifications — Events from your worlds, including invitations, memberships, and canonizations.
Technical Details
lore.farm indexes custom farm.lore.* record collections from users' AT Protocol repositories in real-time via Jetstream. All data lives in your own repo and is portable across any compatible server.
lore.farm record collections:
farm.lore.world— World registration and settingsfarm.lore.character— World membership recordfarm.lore.content— Lore declarationsfarm.lore.canon— Canon promotionsfarm.lore.curator— Curator appointmentsfarm.lore.invited— Membership invitationsfarm.lore.banished— Banishments from a worldfarm.lore.remove— Content removal records
Supported external content collections:
app.bsky.feed.post— Bluesky short-form postssite.standard.document— Standard.site long-form storiesink.branchline.bud— Branchline narrative branches
/api/worlds/indexed
List all registered worlds.
/api/worlds/:domain/content/indexed
Validated lore declarations for a world.
/api/worlds/:domain/canon/indexed
Validated canon promotions for a world.
/api/worlds/:domain/stats/indexed
Aggregate counts (members, lore, canon, curators).
/api/docs
Full API documentation.