Bluesky is a free, open source social networking project written in TypeScript and released under MIT. It has 18,295 GitHub stars, 2,837 forks and 2,400 open issues, and was last pushed 11 hours ago. On this registry it ranks #4 of 44 tracked projects in Social Networking, with 5 head-to-head comparisons available. It gained 6 stars over the last 6 tracked days.

What is Bluesky?

What it is

Bluesky is the open-source social application codebase for the Bluesky Social app. It lives in the AT Protocol ecosystem, also called atproto, and it is written in TypeScript as a React Native application. The project provides client code for Web, iOS, and Android, and it builds on open-source atproto packages such as @atproto/api, which live in a separate repository.

The concrete problem it addresses is the construction of a cross-platform social media client that connects to decentralized AT Protocol services. The repository supplies application schemas and APIs used by the Bluesky Social app, with the namespace app.bsky.* for Lexicons. It also includes a small Go service under ./bskyweb/ that returns the React Native Web application. The code is MIT licensed, though some assets are not covered by that license.

Key capabilities

  • The project ships the Bluesky Social application for Web, iOS, and Android.
  • It is a React Native application written in TypeScript.
  • It builds on atproto TypeScript packages, including @atproto/api.
  • It includes Go source code in ./bskyweb/ for a web service that returns the React Native Web application.
  • It defines Bluesky application schemas and APIs within the AT Protocol framework.
  • It uses the app.bsky.* namespace for Lexicons.
  • It provides build instructions in docs/build.md.

Who uses it and how

  • End users access the published application through bsky.app, the App Store, or the Play Store.
  • Developers use the repository to inspect or modify the client code for the Bluesky Social application.
  • Contributors open issues and pull requests after checking existing issues and discussing proposed changes.
  • Forks use the codebase to create derivative applications, but they must change branding, support links, analytics, error collection, landing illustrations, icons, logos, and other brand assets.
  • Protocol learners use the repository alongside AT Protocol guides, specifications, discussions, and the self-authenticating data structures blog post.

Getting started

Users can install the published application from bsky.app, the App Store, or the Play Store. Developers can begin with the Build Instructions at docs/build.md.

When to use it — and when not to

Use this repository when the goal is to work with the Bluesky Social client codebase or to understand how a React Native app connects to AT Protocol services, but it is not a complete standalone deployment guide and the README does not mention Docker, package-manager installs, databases, storage, or SMTP. Maintainers state they prioritize high-quality issues and pull requests, may close issues or pull requests without much feedback, may lock discussions if attention is overloaded, and do not provide support for build issues. Forkers must also resolve asset licensing separately, because some artwork, icons, fonts, and brand assets are not covered by MIT.

project readme (upstream, from github) — read inline

Bluesky Social App

Welcome friends! This is the codebase for the Bluesky Social app.

Get the app itself:

Development Resources

This is a React Native application, written in the TypeScript programming language. It builds on the atproto TypeScript packages (like @atproto/api), which are also open source, but in a different git repository.

There is a small amount of Go language source code (in ./bskyweb/), for a web service that returns the React Native Web application.

The Build Instructions are a good place to get started with the app itself.

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:

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.*.

Contributions

[!NOTE] While we do accept contributions, we prioritize high quality issues and pull requests. Adhering to the below guidelines will ensure a more timely review.

Rules:

  • We may not respond to your issue or PR.
  • We may close an issue or PR without much feedback.
  • We may lock discussions or contributions if our attention is getting DDOSed.
  • We're not going to provide support for build issues.

Guidelines:

  • Check for existing issues before filing a new one please.
  • Open an issue and give some time for discussion before submitting a PR.
  • Stay away from PRs like...
    • Changing "Post" to "Skeet."
    • Refactoring the codebase, e.g., to replace React Query with Redux Toolkit or something.
    • Adding entirely new features without prior discussion.

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!

Forking guidelines

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.

Please be sure to:

  • Change all branding in the repository and UI to clearly differentiate from Bluesky.
  • Change any support links (feedback, email, terms of service, etc) to your own systems.
  • Replace any analytics or error-collection systems with your own so we don't get super confused.
  • Replace the landing-screen illustration in assets/illustrations/. It is commissioned artwork licensed to Bluesky alone, and our MIT license does not cover it.
  • Source your own UI icons. The glyph set in assets/icons/ is licensed to us by a third party for our own use, and that license does not extend to you.
  • Replace the Bluesky logo, app icons, and other brand assets. Our trademarks are not licensed with the code.

Please read ./ASSETS.md before you ship. Not every file in this repository is covered by our MIT license — some of the artwork, icons, fonts, and brand assets are licensed to us by third parties or are trademarks, and ASSETS.md says which ones and what to do about them. That file is new. Its absence is why some forks have shipped assets they did not have rights to, and that was our omission rather than theirs.

Security disclosures

If you discover any security issues, please send an email to [email protected]. The email is automatically CC'd to the entire team and we'll respond promptly.

Are you a developer interested in building on atproto?

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.

License (MIT)

See ./LICENSE for the full license, which covers the source code in this repository.

It does not cover every file. Certain images, icons, fonts, and brand assets are licensed to us by third parties, or are trademarks, and are carved out — see ./ASSETS.md. Required third-party attribution notices are collected in ./NOTICE.md.

Bluesky Social PBC has committed to a software patent non-aggression pledge. For details see the original announcement.

P.S.

We ❤️ you and all of the ways you support us. Thank you for making Bluesky a great place!

Frequently asked questions

Is Bluesky free to use?

Bluesky is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Bluesky do?

Social media reimagined for community and connection

What is Bluesky written in?

Bluesky is primarily written in TypeScript. Its source is publicly available at https://github.com/bluesky-social/social-app, and it has 18,295 GitHub stars.