···11-# Bluesky Social App
11+# blacksky.community
22+33+**blacksky.community** is a community-driven fork of the official Bluesky Social client.
44+It’s the **primary client for the Blacksky community**, maintained *by and for* our members.
55+We track upstream releases closely but layer on features and policies that reflect Blacksky’s
66+values of safety, autonomy, and collective ownership.
77+88+> 🗳 **Have feedback?** Join the open conversation on Polis: <https://pol.is/6vmnfmi5ps>
99+1010+---
1111+1212+## Get the app
1313+1414+| Platform | Link | Status |
1515+|----------|------|--------|
1616+| **Web** | <https://blacksky.community> | ✅ Live |
1717+| **iOS** | *(App Store link forthcoming)* | 🛠 WIP |
1818+| **Android** | *(Play Store link forthcoming)* | 🛠 WIP |
1919+2020+---
2121+2222+## Features — Today
2323+2424+Blacksky ships everything you expect from the upstream Bluesky client **plus** community-specific defaults:
2525+2626+| Area | Additions |
2727+|------|-----------|
2828+| **Safety & Moderation** | • **@blacksky.app** moderation service is the default **and cannot be disabled**, providing strong anti-harassment filtering out-of-the-box |
2929+| **Feed Control** | • **Blacksky: Trending** feed replaces Discover as the landing feed |
3030+| **On-boarding** | • New users sign up on the **Blacksky PDS** and receive `*.blacksky.app` handles |
3131+3232+### WIP / Planned
23333-Welcome friends! This is the codebase for the Bluesky Social app.
3434+- Private, community-only posts, [similar to Hometown](https://github.com/hometown-fork/hometown/wiki/Local-only-posting)
43555-Get the app itself:
3636+---
63777-- **Web: [bsky.app](https://bsky.app)**
88-- **iOS: [App Store](https://apps.apple.com/us/app/bluesky-social/id6444370199)**
99-- **Android: [Play Store](https://play.google.com/store/apps/details?id=xyz.blueskyweb.app)**
3838+## Philosophy
3939+4040+- **Familiar, but unmistakably Blacksky** – default behaviour mirrors the official client so new
4141+ users feel at home, while branding and safety defaults make it clear you’re on Blacksky.
4242+- **Community governance** – major feature decisions and policy changes are discussed on Polis and
4343+ implemented transparently.
4444+4545+---
10461147## Development Resources
12481313-This is a [React Native](https://reactnative.dev/) application, written in the TypeScript programming language. It builds on the `atproto` TypeScript packages (like [`@atproto/api`](https://www.npmjs.com/package/@atproto/api)), code for which is also open source, but in [a different git repository](https://github.com/bluesky-social/atproto).
4949+This is a **[React Native](https://reactnative.dev/)** project in **TypeScript**.
5050+It depends on the open-source **AT Protocol** packages (e.g. [`@atproto/api`](https://npm.im/@atproto/api)).
5151+A vestigial Go service in `./bskyweb/` can serve a React Native Web build, but we deploy the web
5252+front-end as static files (currently via Cloudflare Pages).
14531515-There is a small amount of Go language source code (in `./bskyweb/`), for a web service that returns the React Native Web application.
5454+See **[docs/build.md](./docs/build.md)** for local setup. Nix users can leverage `flake.nix` for a
5555+one-command dev shell.
16561717-The [Build Instructions](./docs/build.md) are a good place to get started with the app itself.
5757+Helpful AT Protocol links:
18581919-The Authenticated Transfer Protocol ("AT Protocol" or "atproto") is a decentralized social media protocol. You don't *need* to understand AT Protocol to work with this application, but it can help. Learn more at:
5959+- Overview & Guides – <https://atproto.com/guides/overview>
6060+- GitHub Discussions – <https://github.com/bluesky-social/atproto/discussions>
6161+- Protocol Specs – <https://atproto.com/specs/atp>
20622121-- [Overview and Guides](https://atproto.com/guides/overview)
2222-- [Github Discussions](https://github.com/bluesky-social/atproto/discussions) 👈 Great place to ask questions
2323-- [Protocol Specifications](https://atproto.com/specs/atp)
2424-- [Blogpost on self-authenticating data structures](https://bsky.social/about/blog/3-6-2022-a-self-authenticating-social-protocol)
2525-2626-The Bluesky Social application encompasses a set of schemas and APIs built in the overall AT Protocol framework. The namespace for these "Lexicons" is `app.bsky.*`.
6363+---
27642865## Contributions
29663030-> While we do accept contributions, we prioritize high quality issues and pull requests. Adhering to the below guidelines will ensure a more timely review.
6767+> We ❤️ thoughtful contributions! Help us keep the diff small and the community safe.
31683232-**Rules:**
6969+**Rules**
33703434-- We may not respond to your issue or PR.
3535-- We may close an issue or PR without much feedback.
3636-- We may lock discussions or contributions if our attention is getting DDOSed.
3737-- We're not going to provide support for build issues.
7171+- We may decline or delay PRs that are too large to maintain.
7272+- We reserve the right to lock heated threads to protect contributors’ time.
38733939-**Guidelines:**
7474+**Guidelines**
40754141-- Check for existing issues before filing a new one please.
4242-- Open an issue and give some time for discussion before submitting a PR.
4343-- Stay away from PRs like...
4444- - Changing "Post" to "Skeet."
4545- - Refactoring the codebase, e.g., to replace React Query with Redux Toolkit or something.
4646- - Adding entirely new features without prior discussion.
7676+1. **Open an issue first** – give the community time to discuss scope & maintenance.
7777+2. **Prefer small patches** – anything that touches lots of upstream code is hard to carry.
7878+3. **Put opinionated changes behind toggles**.
7979+4. Avoid PRs that…
8080+ - Rename common terms (e.g., “Post” → “Skeet”)
8181+ - Replace core libraries without strong need (e.g., MobX → Redux)
8282+ - Add entirely new features with no prior discussion
47834848-Remember, we serve a wide community of users. Our day-to-day involves us constantly asking "which top priority is our top priority." If you submit well-written PRs that solve problems concisely, that's an awesome contribution. Otherwise, as much as we'd love to accept your ideas and contributions, we really don't have the bandwidth. That's what forking is for!
8484+If your idea isn’t a fit, feel free to **fork** – that’s the beauty of open source!
49855050-## Forking guidelines
8686+---
51875252-You have our blessing 🪄✨ to fork this application! However, it's very important to be clear to users when you're giving them a fork.
8888+## Forking Guidelines
53895454-Please be sure to:
9090+- Re-brand clearly so users don’t confuse your fork with blacksky.community.
9191+- Point analytics / error reporting to **your** endpoints.
9292+- Update support links (feedback, email, terms, etc.) to your own.
55935656-- Change all branding in the repository and UI to clearly differentiate from Bluesky.
5757-- Change any support links (feedback, email, terms of service, etc) to your own systems.
5858-- Replace any analytics or error-collection systems with your own so we don't get super confused.
9494+---
59956060-## Security disclosures
9696+## Security Disclosures
61976262-If you discover any security issues, please send an email to security@bsky.app. The email is automatically CCed to the entire team and we'll respond promptly.
9898+Found a vulnerability?
9999+Email **rudy@blacksky.app** – we will respond
100100+promptly.
631016464-## Are you a developer interested in building on atproto?
102102+---
651036666-Bluesky is an open social network built on the AT Protocol, a flexible technology that will never lock developers out of the ecosystems that they help build. With atproto, third-party integration can be as seamless as first-party through custom feeds, federated services, clients, and more.
104104+## License
671056868-## License (MIT)
106106+**MIT** – see [./LICENSE](./LICENSE).
691077070-See [./LICENSE](./LICENSE) for the full license.
108108+---
7110972110## P.S.
731117474-We ❤️ you and all of the ways you support us. Thank you for making Bluesky a great place!
112112+Blacksky exists because of contributors like *you*.
113113+Thank you for helping us build safer, community-owned social media!
···133133 label="Preferences"
134134 values={[fixedOption]}
135135 onChange={values => setFixedOption(values[0])}>
136136- <ToggleButton.Button name={BSKY_SERVICE} label={_(msg`Bluesky`)}>
137137- <ToggleButton.ButtonText>{_(msg`Bluesky`)}</ToggleButton.ButtonText>
136136+ <ToggleButton.Button name={BSKY_SERVICE} label={_(msg`Blacksky`)}>
137137+ <ToggleButton.ButtonText>
138138+ {_(msg`Blacksky`)}
139139+ </ToggleButton.ButtonText>
138140 </ToggleButton.Button>
139141 <ToggleButton.Button
140142 testID="customSelectBtn"
···147149 {fixedOption === BSKY_SERVICE && isFirstTimeUser && (
148150 <Admonition type="tip">
149151 <Trans>
150150- Bluesky is an open network where you can choose your own provider.
151151- If you're new here, we recommend sticking with the default Bluesky
152152- Social option.
152152+ Blacksky is an open network where you can choose your own
153153+ provider. If you're new here, we recommend sticking with the
154154+ default Blacksky Algorithms option.
153155 </Trans>
154156 </Admonition>
155157 )}