Sobre el proyecto

# Implementación de Referencia del Protocolo AT (TypeScript) Este repositorio contiene la implementación de referencia de Bluesky del Protocolo AT (atproto), un protocolo descentralizado de redes sociales, y el backend del servicio de aplicación de microblogging `app.bsky`. Está diseñado para que el software de terceros sea tan fluido como el de primera parte: feeds personalizados, servicios federados y clientes alternativos se construyen sobre las mismas APIs. ## Qué Contiene ### Léxicos Definiciones de esquema canónicas para los espacios de nombres `com.atproto.*` y `app.bsky.*`, almacenadas como archivos JSON en el lenguaje de definición de esquemas Lexicon (similar a JSON Schema u OpenAPI). ### Paquetes TypeScript Publicados en npm bajo el alcance `@atproto/*` (con utilidades internas bajo `@atproto-labs/*`). Los paquetes clave incluyen: - **`@atproto/lex`** – SDK con seguridad de tipos que genera TypeScript a partir de esquemas Lexicon y proporciona un cliente HTTP (XRPC). Recomendado para construir aplicaciones o bots. El cliente más antiguo `@atproto/api` sigue existiendo, pero el código nuevo debería preferir `@atproto/lex`. - **Paquetes OAuth** (`./packages/oauth/`) – Implementaciones de cliente y servidor para "Iniciar sesión con Bluesky", con variantes para entornos de navegador, Node y Expo. - **Primitivas de protocolo** – Paquetes enfocados para análisis de identificadores (`syntax`), resolución DID/handle (`identity`, `did`), firma (`crypto`), repositorio y Árbol de Búsqueda Merkle (`repo`), y consumo de firehose (`sync`). - **Utilidades compartidas** – Código de unión interno en `common`, `common-web` y `./packages/internal/`. ### Servicios TypeScript Cada servicio tiene su implementación en `packages/<nombre>` y un envoltorio de tiempo de ejecución delgado en `services/<nombre>`: - **`pds`** – Servidor de Datos Personales, que aloja el contenido del repositorio para cuentas atproto. Instrucciones de autoalojamiento disponibles en [bluesky-social/pds](https://github.com/bluesky-social/pds). - **`bsky`** – Implementación de AppView de los endpoints de la API `app.bsky.*`, que se ejecuta en la red principal en `api.bsky.app`. - **`bsync`** – Servicio de sincronización interno utilizado por AppView para el estado entre servicios como silencios y notificaciones. - **`ozone`** – Servicio de moderación que implementa la API `tools.ozone.*`. ## Qué No Está Aquí El código fuente de la aplicación cliente de Bluesky Social (web y móvil) está en [bluesky-social/social-app](https://github.com/bluesky-social/social-app). El código fuente en lenguaje Go, incluida la implementación de BGS, está en [bluesky-social/indigo](https://github.com/bluesky-social/indigo). ## Comenzando - **Descripción general y guías**: [atproto.com/guides/overview](https://atproto.com/guides/overview) - **Preguntas**: [Discusiones de GitHub](https://github.com/bluesky-social/atproto/discussions) - **Especificaciones del protocolo**: [atproto.com/specs/atp](https://atproto.com/specs/atp) ## Contribuciones Las contribuciones son bienvenidas, pero se priorizan problemas y solicitudes de extracción de alta calidad. Consulte [CONTRIBUTING.md](./CONTRIBUTING.md) para el inicio rápido del desarrollador, reglas y pautas, incluida la política sobre contribuciones asistidas por LLM. Las convenciones de código están en [STYLE_GUIDE.md](./STYLE_GUIDE.md). ## Seguridad Informe problemas de seguridad a security@bsky.app (con copia automática al equipo). Consulte [SECURITY.md](https://github.com/bluesky-social/atproto/blob/main/SECURITY.md) para más información. ## Licencia Con doble licencia bajo MIT y Apache 2.0. Los proyectos derivados pueden elegir cualquiera de las dos licencias individualmente o ambas juntas. Bluesky Social PBC se ha comprometido a una promesa de no agresión de patentes de software (ver [anuncio](https://bsky.social/about/blog/10-01-2025-patent-pledge)).