> ## Documentation Index
> Fetch the complete documentation index at: https://kawax.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Laravel Bluesky

> Get started with revolution/laravel-bluesky: requirements, installation, environment setup, and your first post.

## Overview

[revolution/laravel-bluesky](https://github.com/invokable/laravel-bluesky) is a Laravel package for AT Protocol (Bluesky).

It exposes `Revolution\Bluesky\Facades\Bluesky` and lets you create posts, fetch feeds, search posts, and attach media through Laravel-friendly APIs.

## Requirements

* PHP `>= 8.3`
* Laravel `>= 12.x`

## Installation

```bash theme={null}
composer require revolution/laravel-bluesky
```

## Environment variables

For App Password authentication, configure your `.env` values.

```dotenv theme={null}
BLUESKY_IDENTIFIER=your-handle.bsky.social
BLUESKY_APP_PASSWORD=xxxx-xxxx-xxxx-xxxx
```

## Quick start

### Create your first post

```php theme={null}
use Revolution\Bluesky\Facades\Bluesky;

$response = Bluesky::login(
    identifier: config('bluesky.identifier'),
    password: config('bluesky.password'),
)->post('Hello Bluesky');
```

### Use TextBuilder for links and tags

```php theme={null}
use Revolution\Bluesky\Facades\Bluesky;
use Revolution\Bluesky\Record\Post;
use Revolution\Bluesky\RichText\TextBuilder;

$post = Post::build(function (TextBuilder $builder) {
    $builder->text('Hello Bluesky')
        ->newLine(count: 2)
        ->link('https://bsky.app/')
        ->newLine()
        ->tag('#Bluesky');
});

$response = Bluesky::login(
    identifier: config('bluesky.identifier'),
    password: config('bluesky.password'),
)->post($post);
```

<Warning>
  Due to a temporary API restriction, `searchPosts()` currently does not work for unauthenticated access. Use an authenticated session for searches.
</Warning>

## Documentation map

<Columns cols={2}>
  <Card title="Basic client" href="/en/packages/laravel-bluesky/basic-client" icon="terminal-square">
    Learn App Password and OAuth auth, posting, media, replies, quotes, feeds, and search.
  </Card>

  <Card title="Socialite" href="/en/packages/laravel-bluesky/socialite" icon="shield-check">
    Bluesky-specific Socialite setup with AT Protocol OAuth (DPoP).
  </Card>

  <Card title="Notification channel" href="/en/packages/laravel-bluesky/notification" icon="bell">
    Send Bluesky posts and direct messages using Laravel's notification system.
  </Card>

  <Card title="Feed Generator" href="/en/packages/laravel-bluesky/feed-generator" icon="rss">
    Build and publish custom algorithmic feeds on Bluesky.
  </Card>
</Columns>

## References

* GitHub: [invokable/laravel-bluesky](https://github.com/invokable/laravel-bluesky)
* DeepWiki: [invokable/laravel-bluesky](https://deepwiki.com/invokable/laravel-bluesky)
