프로젝트 소개
# AT Protocol 참조 구현 (TypeScript)
이 저장소는 Bluesky의 AT Protocol(atproto) 참조 구현체와 `app.bsky` 마이크로블로깅 애플리케이션 서비스 백엔드를 포함합니다. atproto는 탈중앙화 소셜 미디어 프로토콜로, 제3자 소프트웨어가 자사 소프트웨어만큼 원활하게 동작하도록 설계되었습니다. 커스텀 피드, 연합 서비스, 대체 클라이언트 모두 동일한 API를 기반으로 구축됩니다.
## 포함 내용
### Lexicons
`com.atproto.*` 및 `app.bsky.*` 네임스페이스의 표준 스키마 정의로, Lexicon 스키마 정의 언어(JSON Schema 또는 OpenAPI와 유사)로 작성된 JSON 파일로 저장됩니다.
### TypeScript 패키지
`@atproto/*` 범위로 npm에 게시됩니다(내부 유틸리티는 `@atproto-labs/*`). 주요 패키지는 다음과 같습니다:
- **`@atproto/lex`** – Lexicon 스키마에서 TypeScript를 생성하고 HTTP(XRPC) 클라이언트를 제공하는 타입 안전 SDK입니다. 앱이나 봇 구축에 권장됩니다. 이전 버전의 `@atproto/api` 클라이언트도 여전히 존재하지만, 새 코드는 `@atproto/lex`를 사용하는 것이 좋습니다.
- **OAuth 패키지** (`./packages/oauth/`) – "Sign in with Bluesky"를 위한 클라이언트 및 서버 구현체로, 브라우저, Node, Expo 런타임용 변형이 포함됩니다.
- **프로토콜 기본 요소** – 식별자 파싱(`syntax`), DID/핸들 해석(`identity`, `did`), 서명(`crypto`), 저장소 및 Merkle Search Tree(`repo`), 파이어호스 소비(`sync`)를 위한 전용 패키지입니다.
- **공유 유틸리티** – `common`, `common-web`, `./packages/internal/`의 내부 연결 코드입니다.
### TypeScript 서비스
각 서비스는 `packages/<name>`에 구현체가 있고 `services/<name>`에 얇은 런타임 래퍼가 있습니다:
- **`pds`** – Personal Data Server로, atproto 계정의 저장소 콘텐츠를 호스팅합니다. 자체 호스팅 지침은 [bluesky-social/pds](https://github.com/bluesky-social/pds)에서 확인할 수 있습니다.
- **`bsky`** – `app.bsky.*` API 엔드포인트의 AppView 구현체로, 메인 네트워크의 `api.bsky.app`에서 실행됩니다.
- **`bsync`** – AppView가 사용하는 내부 동기화 서비스로, 뮤트 및 알림과 같은 서비스 간 상태를 처리합니다.
- **`ozone`** – `tools.ozone.*` API를 구현하는 중재 서비스입니다.
## 여기에 없는 것
Bluesky Social 클라이언트 앱(웹 및 모바일) 소스 코드는 [bluesky-social/social-app](https://github.com/bluesky-social/social-app)에 있습니다. BGS 구현체를 포함한 Go 언어 소스 코드는 [bluesky-social/indigo](https://github.com/bluesky-social/indigo)에 있습니다.
## 시작하기
- **개요 및 가이드**: [atproto.com/guides/overview](https://atproto.com/guides/overview)
- **질문**: [GitHub Discussions](https://github.com/bluesky-social/atproto/discussions)
- **프로토콜 사양**: [atproto.com/specs/atp](https://atproto.com/specs/atp)
## 기여
기여는 환영하지만, 고품질의 이슈와 풀 리퀘스트가 우선 처리됩니다. 개발자 퀵스타트, 규칙, 지침(LLM 지원 기여 정책 포함)은 [CONTRIBUTING.md](./CONTRIBUTING.md)를 참조하세요. 코드 규칙은 [STYLE_GUIDE.md](./STYLE_GUIDE.md)에 있습니다.
## 보안
보안 문제는 security@bsky.app(팀에 자동으로 CC됨)으로 신고하세요. 자세한 내용은 [SECURITY.md](https://github.com/bluesky-social/atproto/blob/main/SECURITY.md)를 참조하세요.
## 라이선스
MIT 및 Apache 2.0 이중 라이선스입니다. 다운스트림 프로젝트는 두 라이선스 중 하나를 선택하거나 둘 다 함께 사용할 수 있습니다. Bluesky Social PBC는 소프트웨어 특허 비공격 서약을 약속했습니다([발표](https://bsky.social/about/blog/10-01-2025-patent-pledge) 참조).
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.