{"id":48832862,"url":"https://github.com/maxtechera/admirarr","last_synced_at":"2026-04-14T21:04:08.000Z","repository":{"id":343848324,"uuid":"1179368583","full_name":"maxtechera/admirarr","owner":"maxtechera","description":"⚓ Command your *Arr fleet. Zero-dependency CLI for Plex + Radarr + Sonarr + Prowlarr + qBittorrent.","archived":false,"fork":false,"pushed_at":"2026-03-28T18:05:46.000Z","size":38806,"stargazers_count":1,"open_issues_count":4,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-28T18:26:08.616Z","etag":null,"topics":["agent-skills","arr","cli","devtools","diagnostics","golang","homelab","jellyfin","media-server","plex","prowlarr","qbittorrent","radarr","self-hosted","sonarr"],"latest_commit_sha":null,"homepage":"https://admirarr.dev","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maxtechera.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-03-12T00:45:12.000Z","updated_at":"2026-03-28T16:33:57.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/maxtechera/admirarr","commit_stats":null,"previous_names":["maxtechera/admirarr"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/maxtechera/admirarr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxtechera%2Fadmirarr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxtechera%2Fadmirarr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxtechera%2Fadmirarr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxtechera%2Fadmirarr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxtechera","download_url":"https://codeload.github.com/maxtechera/admirarr/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxtechera%2Fadmirarr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31815087,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T18:05:02.291Z","status":"ssl_error","status_checked_at":"2026-04-14T18:05:01.765Z","response_time":153,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-skills","arr","cli","devtools","diagnostics","golang","homelab","jellyfin","media-server","plex","prowlarr","qbittorrent","radarr","self-hosted","sonarr"],"created_at":"2026-04-14T21:04:07.930Z","updated_at":"2026-04-14T21:04:07.988Z","avatar_url":"https://github.com/maxtechera.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cbr\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"assets/logo-dark.svg\"\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"assets/logo.svg\"\u003e\n    \u003cimg alt=\"Admirarr\" src=\"assets/logo.svg\" width=\"180\"\u003e\n  \u003c/picture\u003e\n  \u003cbr\u003e\u003cbr\u003e\n  \u003ca href=\"https://github.com/maxtechera/admirarr/releases/tag/v0.1.0\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/maxtechera/admirarr?style=for-the-badge\u0026color=D4A843\" alt=\"Release\"\u003e\u003c/a\u003e\n  \u0026nbsp;\n  \u003ca href=\"#quick-start\"\u003e\u003cimg src=\"https://img.shields.io/badge/install-one_liner-D4A843?style=for-the-badge\" alt=\"Install\"\u003e\u003c/a\u003e\n  \u0026nbsp;\n  \u003cimg src=\"https://img.shields.io/badge/go-single_binary-00ADD8?style=for-the-badge\u0026logo=go\u0026logoColor=white\" alt=\"Go\"\u003e\n  \u0026nbsp;\n  \u003ca href=\"https://agentskills.io\"\u003e\u003cimg src=\"https://img.shields.io/badge/Agent_Skills-compatible-D4A843?style=for-the-badge\" alt=\"Agent Skills\"\u003e\u003c/a\u003e\n  \u0026nbsp;\n  \u003ca href=\"https://github.com/maxtechera/admirarr/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/maxtechera/admirarr?style=for-the-badge\u0026color=yellow\" alt=\"Stars\"\u003e\u003c/a\u003e\n  \u0026nbsp;\n  \u003ca href=\"LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-MIT-blue?style=for-the-badge\" alt=\"License\"\u003e\u003c/a\u003e\n  \u003cbr\u003e\u003cbr\u003e\n  \u003cstrong\u003eCommand your fleet. The unified CLI for your *Arr stack — human and agent operated.\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n## What is Admirarr?\n\nDeploy, wire, operate, and diagnose your Jellyfin/Plex + *Arr stack from one terminal. One binary, 26 commands, JSON output everywhere. Ships with a [`SKILL.md`](https://agentskills.io) following the Agent Skills open standard — so any AI agent on any platform can command your fleet too.\n\n- **`admirarr setup`** — zero to media server in 15 minutes\n- **`admirarr doctor`** — 15 diagnostic categories, 34 checks, AI-powered repair\n- **`admirarr status`** — your entire fleet at a glance\n\n\u003cbr\u003e\n\n## Quick Start\n\n```bash\ncurl -fsSL https://get.admirarr.dev | sh\nadmirarr setup      # deploy + wire the stack\nadmirarr status     # see everything at a glance\n```\n\n```\n⚓ Fleet Status\n──────────────────────────────────────────────\n  Services     8/8 online\n  Movies       1,247 (1,189 with files)\n  Shows        86 (2,341 episodes)\n  Downloads    3 active — 42.1 MB/s\n  Disk         2.4 TB / 8.0 TB (30%)\n  Requests     2 pending\n──────────────────────────────────────────────\n```\n\n```\n⚓ Doctor — 15 categories, 34 checks\n──────────────────────────────────────────────\n  ✓ Connectivity      All 8 services reachable\n  ✓ API Keys          All keys valid\n  ✓ Containers        All running\n  ✓ Download Clients  qBittorrent connected\n  ✗ VPN               Gluetun tunnel down\n  ✓ Media Paths       All paths exist\n  ...\n──────────────────────────────────────────────\n  33 passed · 1 failed — run admirarr doctor --fix\n```\n\n\u003cbr\u003e\n\n## Your Agent Already Knows Admirarr\n\nAdmirarr ships a `SKILL.md` following the [Agent Skills](https://agentskills.io) open standard — the same spec used by 26+ platforms. Your agent reads it, discovers Admirarr's commands, and operates your stack.\n\n**Works with:** Claude Code, OpenClaw, OpenCode, Codex, Gemini CLI, Cursor, VS Code, Goose, Aider — and any future SKILL.md-compatible platform.\n\n### Install for your agent\n\n\u003ctable\u003e\n\u003ctr\u003e\u003cth\u003ePlatform\u003c/th\u003e\u003cth\u003eInstall command\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eAny agent\u003c/strong\u003e (universal)\u003c/td\u003e\n\u003ctd\u003e\n\n```bash\nnpx skills add maxtechera/admirarr\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eClaude Code\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e\n\n```\n/plugin marketplace add maxtechera/admirarr\n/plugin install admirarr@admirarr\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eOpenClaw\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e\n\n```bash\nclawdhub install admirarr\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eOpenCode\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e\n\nAuto-discovered — clone the repo and OpenCode reads `SKILL.md` and `AGENTS.md` natively.\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eCursor / Copilot / Cline\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e\n\nAuto-discovered — `SKILL.md` and `AGENTS.md` at repo root are read natively.\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003e Already installed Admirarr the CLI? Your agent picks up `SKILL.md` automatically — no extra step needed.\n\n### What ships in the box\n\n| File | What it does | Platforms |\n|---|---|---|\n| **`SKILL.md`** | Agent Skills standard — full command reference | All 26+ platforms |\n| **`AGENTS.md`** | Agent reference — commands, patterns, rules | OpenCode, Codex, Gemini CLI, Cursor, Copilot |\n| **3 Claude Code agents** | `doctor-fix` (Sonnet), `fleet-status` (Haiku), `content-search` (Haiku) | Claude Code, OpenCode |\n| **`.opencode/opencode.jsonc`** | Agents + commands config for OpenCode | OpenCode |\n| **`.claude-plugin/`** | Plugin marketplace for `/plugin install` | Claude Code |\n\n### `doctor --fix` — two-tier AI repair\n\n```\n\"My downloads seem stuck\"\n→ agent calls admirarr doctor -o json\n→ finds VPN down\n→ calls admirarr restart gluetun\n→ re-runs admirarr doctor to verify\n```\n\nBuilt-in fixes run first (container restarts, directory creation, VPN detection). Remaining issues get dispatched to whichever AI agent you have installed — auto-detected.\n\n### How it fits together\n\n```\n┌─────────────────────────────────────────────┐\n│           Any Agent Platform                 │\n│  Claude Code · OpenClaw · Codex · Cursor ... │\n└──────────────────┬──────────────────────────┘\n                   │ reads SKILL.md\n                   ▼\n┌─────────────────────────────────────────────┐\n│            ⚓ admirarr                       │\n│  One binary · JSON output · 26 commands     │\n└──────────────────┬──────────────────────────┘\n                   │\n                   ▼\n┌─────────────────────────────────────────────┐\n│           Your *Arr Stack                    │\n│  Jellyfin · Radarr · Sonarr · Prowlarr      │\n│  qBittorrent · Gluetun · Seerr · Bazarr     │\n└─────────────────────────────────────────────┘\n```\n\n\u003cbr\u003e\n\n## Commands\n\n```bash\nadmirarr status               # Fleet dashboard — services, libraries, queues, disk\nadmirarr status --live         # Live-updating TUI\nadmirarr doctor               # 15 diagnostic categories, 34 checks\nadmirarr doctor --fix          # AI agent detects + fixes issues automatically\nadmirarr setup                 # Deploy + wire the entire stack (12 phases)\n\nadmirarr add-movie \"Dune\"     # Search → pick → add → downloading\nadmirarr add-show \"Severance\" # Same for Sonarr\nadmirarr search \"4k remux\"    # Search all Prowlarr indexers\n\nadmirarr downloads            # Active torrents (+ pause/resume/remove)\nadmirarr queue                # Import queues\nadmirarr missing              # Monitored but not on disk\nadmirarr movies / shows       # Library with file status\nadmirarr recent / history     # Recently added / watch history\nadmirarr requests             # Seerr requests\n\nadmirarr indexers             # Indexer health (+ setup/add/remove/test/sync)\nadmirarr recyclarr sync       # TRaSH Guide quality profiles\nadmirarr health               # Service warnings\nadmirarr disk                 # Storage breakdown\nadmirarr restart \u003cservice\u003e    # Restart a service\nadmirarr logs \u003cservice\u003e       # Tail logs\nadmirarr scan                 # Library scan\n```\n\nEvery command supports `-o json` for structured output.\n\n\u003cbr\u003e\n\n## Diagnostic Engine\n\n15 categories, 34 checks — connectivity, API keys, containers, download clients, disk, media paths, root folders, quality config, indexers, health warnings, VPN, permissions, hardlinks, cross-service wiring, and recyclarr.\n\n```bash\nadmirarr doctor               # Run all checks\nadmirarr doctor --fix          # Built-in fixes → AI agent for the rest\n```\n\nEvery failure includes an actionable fix. `--fix` runs deterministic repairs first (restart containers, create directories, detect VPN credentials), then dispatches remaining issues to your AI agent with full context.\n\n\u003cbr\u003e\n\n## Setup\n\n```bash\nadmirarr setup\n```\n\n12 phases: detect environment → select services → deploy via Docker Compose → connectivity check → API key discovery → download clients → root folders → Prowlarr wiring → Seerr wiring → Bazarr wiring → quality profiles → write config.\n\nIdempotent — run again anytime to converge. Detects existing services and wires what's missing.\n\n\u003cbr\u003e\n\n## Supported Services\n\n10 default + 14 optional services.\n\n| Service | Role |\n|---|---|\n| **Jellyfin** | Media server |\n| **Radarr** / **Sonarr** | Movie + TV automation |\n| **Prowlarr** | Indexer management |\n| **qBittorrent** + **Gluetun** | Downloads behind VPN |\n| **Seerr** | Media requests |\n| **Bazarr** | Subtitles |\n| **FlareSolverr** | Cloudflare bypass |\n| **Profilarr** | TRaSH Guide quality profiles (GUI) |\n| **Watchtower** | Auto-updates |\n\nWant Plex instead? Setup asks. Don't want something? Skip it.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eOptional services\u003c/strong\u003e\u003c/summary\u003e\n\nPlex, Lidarr, Readarr, Whisparr, SABnzbd, Autobrr, Unpackerr, Recyclarr, Tdarr, Tautulli, Jellystat, Notifiarr, Maintainerr\n\n\u003c/details\u003e\n\n\u003cbr\u003e\n\n## Why CLI + Agent Skills?\n\n- **CLIs compose** — agents call `admirarr status -o json`, not navigate web UIs\n- **SKILL.md is portable** — one file makes Admirarr work on 26+ agent platforms, no per-platform integration\n- **One binary, zero deps** — works in SSH, tmux, CI, agent sandboxes\n- **Already standard** — Agent Skills is the industry spec, adopted by Claude, OpenAI, Google, Microsoft, GitHub, and more. Admirarr uses what's already there.\n\n\u003cbr\u003e\n\n## Why Another CLI?\n\nYour stack has 10+ services, each with its own API, web UI, and config format. No single tool manages all of them.\n\n### The *Arr ecosystem — what Admirarr manages\n\n| Service | What it does | What Admirarr does with it |\n|---------|-------------|---------------------------|\n| **Jellyfin** / **Plex** | Media server — streams your library | Libraries, watch history, recently added, library scans |\n| **Radarr** | Movie automation — monitors, grabs, imports | Search, add movies, queue, missing, quality profiles, health |\n| **Sonarr** | TV automation — same as Radarr for shows | Search, add shows, queue, missing, quality profiles, health |\n| **Prowlarr** | Indexer manager — searches torrent/usenet sites | Indexer status, add/remove/test/sync indexers |\n| **qBittorrent** | Download client — torrents behind VPN | Active downloads, pause/resume/remove, speed |\n| **Gluetun** | VPN container — routes downloads through VPN | VPN status, credential detection, restart |\n| **Seerr** | Request system — users request movies/shows | View requests, wiring to Radarr/Sonarr/Jellyfin |\n| **Bazarr** | Subtitles — auto-downloads subs for your library | Subtitle status, connectivity |\n| **Recyclarr** | Quality profiles — syncs TRaSH Guide configs | Sync, verify, instance management |\n| **FlareSolverr** | Cloudflare bypass for indexers | Connectivity check |\n| **Watchtower** | Auto-updates containers | Container status |\n| **+ 14 optional** | Lidarr (music), Readarr (books), Tdarr (transcoding), Tautulli (stats), etc. | Varies by service |\n\n### How tools compare\n\n| Tool | Services | Deploy | Configure | Diagnose | CLI/JSON | Agent Skills |\n|------|----------|--------|-----------|----------|----------|--------------|\n| Docker Compose | containers only | yes | — | — | — | — |\n| Recyclarr/Profilarr | Radarr, Sonarr | — | quality profiles | — | Recyclarr CLI | — |\n| Managarr | Radarr, Sonarr, misc | — | browse | — | — | — |\n| **Admirarr** | **all 10 + 14 optional** | yes | yes | 34 checks | yes | SKILL.md + 3 agents |\n\n\u003cbr\u003e\n\n## Install\n\n```bash\ncurl -fsSL https://get.admirarr.dev | sh\n```\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eOther methods\u003c/strong\u003e\u003c/summary\u003e\n\n```bash\nbrew install maxtechera/tap/admirarr              # Homebrew\ngo install github.com/maxtechera/admirarr@latest  # Go\nyay -S admirarr-bin                               # Arch AUR\ndpkg -i admirarr_*.deb                            # Debian/Ubuntu\nirm https://get.admirarr.dev/windows | iex        # Windows PowerShell\n```\n\n\u003c/details\u003e\n\n\u003cbr\u003e\n\n## Contributing\n\n```bash\ngit clone https://github.com/maxtechera/admirarr.git\ncd admirarr \u0026\u0026 go build -o admirarr . \u0026\u0026 go test ./...\n```\n\n\u003cbr\u003e\n\n## License\n\n[MIT](LICENSE)\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003csub\u003eBuilt with ⚓ by \u003ca href=\"https://github.com/maxtechera\"\u003emaxtechera\u003c/a\u003e\u003c/sub\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxtechera%2Fadmirarr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxtechera%2Fadmirarr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxtechera%2Fadmirarr/lists"}