The Go90 Scale of Doomed Streaming Services
1# Agents
2
3This is a starter kit for building apps on the Atmosphere with Quickslice.
4
5## Project Structure
6
7- `index.html` - Main frontend with OAuth login flow
8- `docker-compose.yml` - Quickslice server configuration
9- `lexicons/` - AT Protocol lexicon schemas
10- `favicon.svg` - Slices logo
11
12## Key Technologies
13
14- **Quickslice** - Backend server for AT Protocol apps
15- **AT Protocol** - Decentralized social protocol (Bluesky)
16- **OAuth** - Authentication via Bluesky accounts
17- **Web Components** - `<qs-actor-autocomplete>` for handle input
18
19## Configuration
20
21In `index.html`:
22- `SERVER_URL` - Quickslice server (default: `http://127.0.0.1:8080`)
23- `CLIENT_ID` - OAuth client ID from Quickslice settings
24
25## Development
26
27```bash
28docker compose up # Start Quickslice server
29make serve # Serve frontend
30make format # Format HTML with Prettier
31make zip # Create lexicons.zip
32```
33
34## MCP Server
35
36Quickslice exposes an MCP server at `http://127.0.0.1:8080/mcp`. Add it to your AI assistant:
37
38```bash
39claude mcp add --scope user quickslice http://127.0.0.1:8080/mcp
40```
41
42Use MCP tools to:
43- Query the GraphQL API
44- Explore available lexicon schemas
45- Generate GraphQL queries/mutations
46- Understand record structures
47
48## Lexicons
49
50Custom lexicons go in `/lexicons` following AT Protocol naming conventions (e.g., `com/example/myrecord.json`). Run `make zip` and upload via the Quickslice settings page.
51
52See the [Lexicon Style Guide](https://github.com/bluesky-social/atproto/discussions/4245) for best practices.
53
54## Common Tasks
55
56**Add a new feature**: Ask the Quickslice MCP about relevant lexicons, then update `index.html` with new GraphQL queries and UI.
57
58**Add custom lexicons**: Create JSON schemas in `/lexicons`, run `make zip`, upload via settings page. If the lexicon already has published records across multiple PDSes, click "Trigger Backfill" on the Quickslice dashboard to sync existing data. Note: Avoid backfilling well-known lexicons like `app.bsky.*` as this will take days and require large amounts of disk space.
59
60**Style the app**: CSS variables are defined in `:root` - modify colors, spacing as needed.