MCPcopy Create free account
hub / github.com/bluesky-social/statusphere-example-app

github.com/bluesky-social/statusphere-example-app @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
45 symbols 119 edges 22 files ⚖ MIT 0 documented · 0% updated 42d ago★ 3319 open issues

Browse by type

Functions 39 Types & classes 6
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

AT Protocol "Statusphere" Example App

An example application covering:

  • Signin via OAuth
  • Fetch information about users (profiles)
  • Listen to the network firehose for new data
  • Publish data on the user's account using a custom schema

See https://atproto.com/guides/statusphere-tutorial for a guide through the codebase.

This project uses Next.js as a server framework and Tap for syncing data from the Atmosphere.

This is a revamp of the original Statusphere example app which can be found on the statusphere-og branch.

Getting Started

git clone https://github.com/bluesky-social/statusphere-example-app.git
cd statusphere-example-app
cp env.template .env.local
pnpm install
pnpm dev
# Navigate to http://127.0.0.1:3000

To read data from the network, you'll need an instance of Tap running. Find full setup instructions in the Statusphere tutorial. Quickest way locally:

docker compose up -d

It watches the xyz.statusphere.status collection, so it'll pick up any account that's posted a status through this app without you registering repos by hand. Data persists in .tap-data/ between restarts.

For other setups (running from source, securing the webhook with TAP_ADMIN_PASSWORD, etc.), see the Tap repository.

Extension points exported contracts — how you extend this code

browse all types & interfaces →

Core symbols most depended-on inside this repo

browse all functions →

Shape

Function 39
Interface 6

Languages

TypeScript100%

Modules by API surface

lib/db/queries.ts9 symbols
lib/db/index.ts6 symbols
lib/auth/client.ts6 symbols
lib/db/migrations.ts3 symbols
components/StatusPicker.tsx3 symbols
lib/auth/session.ts2 symbols
components/LogoutButton.tsx2 symbols
components/LoginForm.tsx2 symbols
app/page.tsx2 symbols
scripts/migrate.ts1 symbols
scripts/gen-key.ts1 symbols
lib/tap/index.ts1 symbols

For agents

$ claude mcp add statusphere-example-app \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page