···946946ATP_SCOPE_REDIRECT=/login
947947```
948948949949+## Extending the Client
950950+951951+Add custom functionality to AtpClient by registering your own domain clients or request clients. Extensions are lazily instantiated on first access.
952952+953953+### Register Extensions
954954+955955+Register extensions in your service provider's `boot()` method:
956956+957957+```php
958958+use SocialDept\AtpClient\AtpClient;
959959+960960+// Add a new domain client: $client->analytics
961961+AtpClient::extend('analytics', fn(AtpClient $atp) => new AnalyticsClient($atp));
962962+963963+// Add to an existing domain: $client->bsky->metrics
964964+AtpClient::extendDomain('bsky', 'metrics', fn($bsky) => new MetricsClient($bsky));
965965+```
966966+967967+### Usage
968968+969969+```php
970970+$client = Atp::as('user.bsky.social');
971971+972972+$client->analytics->trackEvent('post_created');
973973+$client->bsky->metrics->getEngagement();
974974+```
975975+976976+For complete documentation including creating custom clients, testing, and advanced patterns, see [docs/extensions.md](docs/extensions.md).
977977+949978## Available Commands
950979951980```bash
···9711000- [AT Protocol Documentation](https://atproto.com/)
9721001- [Bluesky API Docs](https://docs.bsky.app/)
9731002- [CRYPTO.md](CRYPTO.md) - Cryptographic implementation details
10031003+- [docs/extensions.md](docs/extensions.md) - Client extensions guide
97410049751005## Support & Contributing
9761006