#!/usr/bin/env python3 “"”Documentation generator for HunterX configuration system.”””

from future import annotations

import sys

sys.path.insert(0, “/opt/hunterx/venv/lib/python3.12/site-packages”)

from hunterx.config.loader import discover_env_file, _candidate_env_files

print(“=” * 70) print(“HunterX Configuration Precedence & Discovery”) print(“=” * 70) print() print(“## Configuration Precedence (highest to lowest)”) print() print(“1. Real environment variables (HUNTERX_*) - Docker/CI/Kubernetes secrets”) print(“2. Explicit .env file via $HUNTERX_ENV_FILE”) print(“3. $HUNTERX_DATA_DIR/.env (install data directory, sourced by launcher)”) print(“4. .env file in current directory and parents”) print(“5. .env beside $HUNTERX_CONFIG profile file”) print(“6. User config: ~/.config/hunterx/.env, ~/.hunterx/.env (invoking user under sudo)”) print(“7. System install: /opt/hunterx/data/.env”) print(“8. Development checkout: repository-root .env”) print(“9. Bundled defaults (hunterx.yaml)”) print(“10. Built-in code defaults”) print() print(“Note: Real environment ALWAYS wins over file values (override=False).”) print() print(“## AI Provider Configuration”) print() print(“Required for full_security_assessment:”) print(“ HUNTERX_AI_PROVIDER = openai_compatible | openrouter | ollama | …”) print(“ HUNTERX_AI_MODEL = model identifier”) print(“ HUNTERX_AI_BASE_URL = OpenAI-compatible endpoint (for openai_compatible/ollama)”) print(“ HUNTERX_AI__KEY = API key (never hardcoded)") print() print("Auto-discovery: run 'hunterx ai configure' for interactive guided setup.") print("Non-interactive: set all vars above; run 'hunterx ai check' to validate.") print() print("## Guided Configuration") print() print("When AI is not configured or health check fails for full_security_assessment:") print(" 1. Interactive TTY: 'hunterx ai configure' runs guided setup") print(" 2. Non-interactive: exits with actionable instructions (no silent fallback)") print(" 3. Validation: connectivity + model round-trip before persisting") print(" 4. Persisted to the first writable config location (data dir or user config)") print() print("## sudo Support") print() print("The installed launcher (/usr/local/bin/hunterx) sources /opt/hunterx/data/.env") print("so sudo preserves the configured AI provider regardless of the working dir.") print("User-level config (~/.config/hunterx/.env) is also discoverable via SUDO_USER.") print() print("## Configuration Debugging") print() print(" hunterx config - show resolved settings (masked)") print(" hunterx ai status - show provider/model/base_url/health") print(" hunterx ai check - validate connectivity + model round-trip") print(" hunterx ai models - list available models from provider")