https://github.com/tsky-dev/tsky
Bluesky API client for nimble apps and tools ☁️
https://github.com/tsky-dev/tsky
api atprotocol bluesky typescript
Last synced: about 1 month ago
JSON representation
Bluesky API client for nimble apps and tools ☁️
- Host: GitHub
- URL: https://github.com/tsky-dev/tsky
- Owner: tsky-dev
- License: mit
- Created: 2024-11-27T08:07:37.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-04-25T03:48:55.000Z (about 1 month ago)
- Last Synced: 2025-05-04T01:27:42.088Z (about 1 month ago)
- Topics: api, atprotocol, bluesky, typescript
- Language: TypeScript
- Homepage: https://tsky.dev
- Size: 720 KB
- Stars: 34
- Watchers: 7
- Forks: 5
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome - tsky-dev/tsky - Bluesky API client for nimble apps and tools ☁️ (TypeScript)
- awesome - tsky-dev/tsky - Bluesky API client for nimble apps and tools ☁️ (TypeScript)
README
![]()
tsky
A lightweight, fast, universal and typed Bluesky API wrapper for Apps & Bots.## ⚠️ tsky is still in development and is not ready for production use
tsky is still in active development and is not ready for production use. If you want to contribute to the project, please read the [CONTRIBUTING.md](CONTRIBUTING.md) file or join our [Discord Server](https://discord.gg/KPD7XPUZn3).
tsky is a lightweight, fast, universal and typed Bluesky API wrapper for Apps & Bots. It's designed to be easy to use, lightweight and straightforward to use. It's built with TypeScript and has full type support.
It was primarily built for the [Nimbus Client](https://github.com/nimbus-town/nimbus) but can be used in any other project that requires Bluesky API integration.
## Installation
```bash
# NPM
npm install tsky# Yarn
yarn add tsky# PNPM
pnpm add tsky# Bun
bun add tsky
```## Usage
Using a Public Agent
```ts
import { createAgent } from '@tsky/client';const agent = await createAgent({
options: {
service: 'https://public.api.bsky.app',
},
});// Getting a user from their handle
// First, we need to get the user's DID
const did = await agent.resolveDIDFromHandle(handle);
// Then, we can get the user's profile
const profile = await agent.actor(did);
```Using an Authenticated Agent
```ts
import { createAgent } from '@tsky/client';const agent = await createAgent({
credentials: {
identifier: "handle",
password: "password"
}
});// Getting the profile of the authenticated user
const user_profile = await agent.user.profile();
```## Links
- [📚 tsky Documentation](https://tsky.dev/)
- [🦋 tsky on Bluesky](https://bsky.app/profile/tsky.dev)
- [📣 tsky Discord Server](https://discord.gg/KPD7XPUZn3)
- [🦋 Nimbus on Bluesky](https://bsky.app/profile/nimbus.town)## Contributing
If you want to contribute to this project, please read the [CONTRIBUTING.md](CONTRIBUTING.md) file.
## License
This project is licensed under the MIT License - see the [LICENSE](https://github.com/tsky-dev/tsky/blob/main/LICENSE) file for details.