tsarr
Version:
Type-safe TypeScript SDK for Servarr APIs (Radarr, Sonarr, etc.)
102 lines (70 loc) • 3.04 kB
Markdown
# <img src="./docs/logo.png" alt="Tsarr Logo" width="40" height="40" style="vertical-align: middle; margin-right: 8px;"> Tsarr
*TypeScript-arr (pronounced "Tsar" /tsɑr/ - a Slavic king/emperor)*
[](https://www.typescriptlang.org/)
[](https://bun.sh)
[](https://opensource.org/licenses/MIT)
[](https://github.com/robbeverhelst/Tsarr/actions)
**Type-safe TypeScript SDK for Servarr APIs (Radarr, Sonarr, etc.)**
Tsarr provides type-safe TypeScript clients for all Servarr APIs, generated from their Swagger/OpenAPI specifications. Perfect for building automation tools, scripts, and applications to manage your media servers.
## Features
- 🛡️ **Type-safe** - Generated from official Swagger/OpenAPI specs
- ⚡ **Bun-optimized** - Leverages native fetch API
- 📦 **Modular** - Separate clients for each Servarr app
## Supported Servarr Apps
- **Radarr** - Movie collection manager
- **Sonarr** - TV series collection manager
- **Lidarr** - Music collection manager
- **Readarr** - Book collection manager
- **Prowlarr** - Indexer manager
## Installation
```bash
bun add tsarr
```
## Quick Start
```typescript
import { RadarrClient, SonarrClient, LidarrClient } from 'tsarr';
const radarr = new RadarrClient({
baseUrl: 'http://localhost:7878',
apiKey: 'your-api-key'
});
// Type-safe API calls
const movies = await radarr.getMovies();
const status = await radarr.getSystemStatus();
```
## Development
Install dependencies:
```bash
bun install
```
Run development server:
```bash
bun run dev
```
Build the project:
```bash
bun run build
```
Lint and format:
```bash
bun run lint
bun run format
```
## 📖 Documentation
- [API Documentation](https://robbeverhelst.github.io/Tsarr/) - Auto-generated TypeScript API docs
- [Usage Guide](./docs/usage.md) - Complete usage documentation with examples
- [Examples](./docs/examples.md) - Real-world automation examples
- [Examples Directory](./examples/) - Runnable example scripts
## Use Cases
Perfect for building:
- **Automation scripts** - Bulk movie imports, library maintenance, and media organization
- **Management tools** - Custom dashboards, backup utilities, and monitoring scripts
- **Integration scripts** - Connect Servarr apps with other services and workflows
- **CLI tools** - Command-line utilities for media server administration
## Contributing
This project uses:
- [Bun](https://bun.sh) as the JavaScript runtime
- [Biome](https://biomejs.dev) for linting and formatting
- [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) for code generation
- [Renovate](https://renovatebot.com) for dependency updates
## License
MIT - see [LICENSE](LICENSE) file for details.