Cybersecurity-Projects/PROJECTS/intermediate/security-news-scraper/internal/setup
CarterPerez-dev 0a86bb8593 feat(nadezhda): AI setup wizard (nadezhda ai) + credential store + Ollama port fix
Add a re-runnable interactive wizard that configures an AI provider for the ideation layer: Claude, OpenAI, Gemini, or a local Ollama. Keys persist to ~/.config/nadezhda/credentials (0600, atomic temp+rename) and auto-load on every run; a shell-exported key always wins over the file. A key-name allowlist (NADEZHDA_* / *_API_KEY) blocks env-name injection into spawned subprocesses.

The Ollama path detects a running instance and auto-configures it, else writes an embedded compose file plus one docker command, else prints an install hint. Ollama's host port is remapped to a non-default 39847 (OLLAMA_HOST_PORT) to avoid colliding with an existing Ollama on 11434; the container-internal port stays 11434.

Thread a signal-cancellable root context through cobra (ExecuteContext). Default the Anthropic model to claude-sonnet-4-6.
2026-07-06 21:26:10 -04:00
..
credentials.go feat(nadezhda): AI setup wizard (nadezhda ai) + credential store + Ollama port fix 2026-07-06 21:26:10 -04:00
credentials_test.go feat(nadezhda): AI setup wizard (nadezhda ai) + credential store + Ollama port fix 2026-07-06 21:26:10 -04:00
ollama.compose.yml feat(nadezhda): AI setup wizard (nadezhda ai) + credential store + Ollama port fix 2026-07-06 21:26:10 -04:00
ollama.go feat(nadezhda): AI setup wizard (nadezhda ai) + credential store + Ollama port fix 2026-07-06 21:26:10 -04:00
ollama_test.go feat(nadezhda): AI setup wizard (nadezhda ai) + credential store + Ollama port fix 2026-07-06 21:26:10 -04:00
paths.go feat(nadezhda): AI setup wizard (nadezhda ai) + credential store + Ollama port fix 2026-07-06 21:26:10 -04:00
wizard.go feat(nadezhda): AI setup wizard (nadezhda ai) + credential store + Ollama port fix 2026-07-06 21:26:10 -04:00
wizard_test.go feat(nadezhda): AI setup wizard (nadezhda ai) + credential store + Ollama port fix 2026-07-06 21:26:10 -04:00