atproto user agency toolkit for individuals and groups
8
fork

Configure Feed

Select the types of activity you want to include in your feed.

CLAUDE.md#

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Project Overview#

P2PDS is an AT Protocol (atproto) Personal Data Server with P2P capabilities. It syncs and stores records for a set of accounts, provides them on P2P networks, and fetches/stores records from P2P networks for serviced accounts.

Planned Tech Stack#

  • Runtime: Node.js
  • Base: Generalized version of Cirrus (Cloudflare-specific parts abstracted away)
  • IPFS: Helia with DHT and pubsub enabled
  • Identity: AT Protocol DIDs via PLC directory
  • Addressing: DASL addresses for IPFS-stored records

Architecture (Planned)#

The system is configured with a list of DIDs and operates as follows:

  1. On first run, queries PLC directory to resolve PDSes for all configured DIDs
  2. Fetches records from each DID's PDS
  3. Stores and provides records over IPFS using DASL addresses
  4. Syncs records bidirectionally between PDS and IPFS

Open design problem: DID-to-PeerID mapping (both can update/rotate).

Development Phases#

  1. Single-user PDS working as local node service
  2. Record replication with local storage
  3. IPFS integration for replicated records

Tool Usage Rules#

  • Never use Bash for file operations. Use the dedicated tools: Read (not cat/head/tail/sed), Edit (not sed/awk), Write (not echo/cat heredoc), Glob (not find/ls), Grep (not grep/rg). Bash commands for file operations will be blocked by permission prompts when the user is away.