feat: replace setup with init wizard + interactive config menu

- `unarr init` (alias: `unarr setup`): streamlined 3-step wizard
  (API key, download dir, daemon install). Removed method/name prompts
  — auto-configured from defaults.
- `unarr config [category]`: interactive menu with 7 categories
  (downloads, organization, notifications, device, region, connection,
  advanced). Direct access via `unarr config downloads`, etc.
- Extract shared helpers (openBrowser, expandHome, isTerminal) to
  helpers.go. Delete old setup.go and config.go.
- Update all "unarr setup" references to "unarr init" across daemon,
  doctor, status, README, install scripts.
This commit is contained in:
Deivid Soto 2026-03-29 12:09:03 +02:00
parent 35e5298f23
commit 0b6c6849b1
13 changed files with 541 additions and 248 deletions

View file

@ -32,7 +32,7 @@ Search 30+ torrent sources, inspect torrent quality, discover popular content,
find streaming providers, and manage your media collection all from your terminal.
Get started:
unarr setup First-time configuration wizard
unarr init First-time configuration wizard
unarr search "breaking bad" Search for content
unarr start Start the download daemon
@ -62,8 +62,8 @@ Source: https://github.com/torrentclaw/torrentclaw-cli`,
rootCmd.PersistentFlags().BoolVar(&noColor, "no-color", false, "disable colored output")
// Getting Started
setupCmd := newSetupCmd()
setupCmd.GroupID = "start"
initCmd := newInitCmd()
initCmd.GroupID = "start"
configCmd := newConfigCmd()
configCmd.GroupID = "start"
@ -111,7 +111,7 @@ Source: https://github.com/torrentclaw/torrentclaw-cli`,
rootCmd.AddCommand(
// Getting Started
setupCmd,
initCmd,
configCmd,
// Search & Discovery
searchCmd,