···1+# Bluesky PDS Directory
2+3+**WILL MOVE TO Tangled SOON *tm***
4+5+A community-maintained directory of Bluesky Personal Data Servers *(PDS)*.
6+7+## JSON Structure
8+9+The `pdslist.json` file contains an array of PDS server objects. Each object has the following structure:
10+11+```json
12+{
13+ "url": "https://ypds.example.com",
14+ "supportedHandles": ["*.example.com", "*.example.net"],
15+ "maintainer": "@your-handle.example.com",
16+ "tosUrl": "https://pds.example.com/terms",
17+ "privacyUrl": "https://pds.example.com/privacy",
18+ "inviteCodeRequired": false
19+}
20+```
21+22+### Field Descriptions
23+24+| Field | Type | Required | Description |
25+|-------|------|----------|-------------|
26+| `url` | string | ✅ Yes | The base URL of your PDS server (must include https://) |
27+| `supportedHandles` | array of strings | ✅ Yes | Domain patterns for handles your PDS supports (e.g., `*.example.com`) |
28+| `maintainer` | string | ✅ Yes | Bluesky handle of the server maintainer (format: `@handle.domain.com`) |
29+| `contactEmail` | string | ⚠️ Optional | Contact email for the PDS administrator |
30+| `tosUrl` | string | ⚠️ Optional | URL to your Terms of Service page |
31+| `privacyUrl` | string | ⚠️ Optional | URL to your Privacy Policy page |
32+| `inviteCodeRequired` | boolean | ✅ Yes | Whether new users need an invite code to join (`true` or `false`) |
33+34+### Example Entry
35+36+```json
37+{
38+ "url": "https://pds.myserver.com",
39+ "supportedHandles": [
40+ "*.myserver.com",
41+ "*.myserver.org"
42+ ],
43+ "maintainer": "@admin.myserver.com",
44+ "contactEmail": "admin@myserver.com",
45+ "tosUrl": "https://pds.myserver.com/terms-of-service",
46+ "privacyUrl": "https://pds.myserver.com/privacy-policy",
47+ "inviteCodeRequired": true
48+}
49+```
50+51+## Adding Your PDS
52+53+We welcome additions to the directory! There are two ways to add your PDS:
54+55+### Option 1: Submit a GitHub Issue
56+57+1. Go to the [Issues](../../issues) page
58+2. Click "New Issue"
59+3. Add your PDS information:
60+ - PDS URL
61+ - Supported handles
62+ - Your maintainer handle
63+ - Contact email (optional)
64+ - Terms of Service URL (if available)
65+ - Privacy Policy URL (if available)
66+ - Whether invite codes are required
67+4. Submit the issue
68+69+A maintainer will review your submission and add it to the list.
70+71+### Option 2: Submit a Pull Request
72+73+1. Fork this repository
74+2. Edit `pdslist.json`
75+3. Add your PDS entry to the array following the structure above
76+4. Ensure your JSON is valid (use a JSON validator)
77+5. Commit your changes with a clear message: `Add [your-pds-name] to directory`
78+6. Create a Pull Request with:
79+ - A clear title: "Add [your PDS name]"
80+ - Description of your PDS
81+ - Confirmation that you maintain the server
82+83+### Submission Guidelines
84+85+✅ **Do:**
86+- Use valid JSON formatting
87+- Include all required fields
88+- Use HTTPS URLs only
89+- Provide accurate information
90+- Test your PDS is accessible before submitting
91+92+❌ **Don't:**
93+- Submit inactive or offline servers
94+- Include test or development servers
95+- Use HTTP (non-secure) URLs
96+- Submit duplicate entries
97+98+## Review Process
99+100+All submissions are reviewed by maintainers to ensure:
101+- JSON is properly formatted
102+- URLs are accessible and valid
103+- Information is accurate
104+- The PDS is actively maintained
105+- Terms and privacy policies exist (if links provided)
106+107+## Updating Your Entry
108+109+If you need to update your PDS information:
110+111+1. Submit an issue with "Update [your-pds-name]" as the title
112+2. Or create a Pull Request with the updated information
113+114+## Removing Your Entry
115+116+To remove your PDS from the directory:
117+118+1. Submit an issue with "Remove [your-pds-name]" as the title
119+2. Or create a Pull Request removing your entry
120+121+## Code of Conduct
122+123+Please be respectful and professional in all interactions. This is a community resource for everyone.
124+125+## License
126+127+This project is open source and available for anyone to use and contribute to.
128+129+## Support
130+131+For questions or issues:
132+- Open a GitHub Issue
133+- Check existing issues for similar questions
134+135+---
136+137+**Note:** This is a community-maintained list. We cannot guarantee the availability, security, or policies of listed servers. Always review a server's terms and privacy policy before joining.