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:
parent
35e5298f23
commit
0b6c6849b1
13 changed files with 541 additions and 248 deletions
|
|
@ -35,7 +35,7 @@ The daemon sends periodic heartbeats and reports download progress back
|
|||
to the web dashboard. Press Ctrl+C to stop gracefully — active downloads
|
||||
get up to 30 seconds to finish.
|
||||
|
||||
Requires: API key, agent ID, and download directory (run 'unarr setup' first).
|
||||
Requires: API key, agent ID, and download directory (run 'unarr init' first).
|
||||
|
||||
To run as a background service, use 'unarr daemon install' instead.`,
|
||||
Example: ` unarr start
|
||||
|
|
@ -99,13 +99,13 @@ func runDaemonStart() error {
|
|||
|
||||
// Validate config
|
||||
if cfg.Auth.APIKey == "" {
|
||||
return fmt.Errorf("no API key configured — run 'unarr setup' first")
|
||||
return fmt.Errorf("no API key configured — run 'unarr init' first")
|
||||
}
|
||||
if cfg.Agent.ID == "" {
|
||||
return fmt.Errorf("no agent ID — run 'unarr setup' first")
|
||||
return fmt.Errorf("no agent ID — run 'unarr init' first")
|
||||
}
|
||||
if cfg.Download.Dir == "" {
|
||||
return fmt.Errorf("no download directory — run 'unarr setup' first")
|
||||
return fmt.Errorf("no download directory — run 'unarr init' first")
|
||||
}
|
||||
|
||||
// Validate configured paths are safe
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue