2.5 KiB
arrman
A CLI tool for managing Sonarr (TV) and Radarr (films) libraries.
Single self-contained Go binary with no external dependencies. Talks to the Sonarr and Radarr v3 APIs using API tokens.
Setup
Create a .env file in the project root:
SONARR_URL=https://your-sonarr-instance
SONARR_API_KEY=your-sonarr-api-key
RADARR_URL=https://your-radarr-instance
RADARR_API_KEY=your-radarr-api-key
Set ARRMAN_TLS_SKIP_VERIFY=true to skip TLS certificate verification (e.g. for self-signed certs).
Build
go build -ldflags "-X main.Version=$(cat VERSION)" -o arrman .
Or use the publish script, which handles version incrementing:
./publish.sh # interactive — asks whether to increment
./publish.sh --increment # non-interactive — auto-increments patch version
Usage
arrman <domain> <action> [args...]
Domains: tv, film (or films)
List library
arrman tv list # all TV series
arrman tv list "breaking" # filter by title
arrman tv list "breaking" --include-external # include results from TheTVDB
arrman films list # all films
arrman films list "matrix" # filter by title
arrman films list "matrix" --include-external # include results from Radarr sources
Add to library
Search and add use fuzzy matching, so you don't need an exact title:
arrman tv add "brking bad" --profile 1 --rootfolder /tv # fuzzy matches "Breaking Bad"
arrman tv add 81189 --profile 1 --rootfolder /tv # by TheTVDB ID
arrman film add "the matrx" --profile 1 --rootfolder /movies # fuzzy matches "The Matrix"
arrman film add tt0133093 --profile 1 --rootfolder /movies # by IMDB ID
If the match isn't confident enough, arrman shows suggestions with IDs so you can be more specific.
Use profiles and rootfolders to find valid values:
arrman tv profiles
arrman tv rootfolders
arrman film profiles
arrman film rootfolders
Show details
arrman tv summary "Breaking Bad"
arrman tv summary 81189 # by TheTVDB ID
arrman film summary "The Matrix"
arrman film summary tt0133093 # by IMDB ID
Agent Skill
A SKILL.md file is included for use with Claude Code and other SKILL compatible AI agents. It provides structured instructions so the agent can operate arrman on your behalf — searching, listing, and adding media through natural conversation.