feat(llm): add llm-default and llm-preference commands, switch hardcoded default to gemini

Add TOML-based config resolution with 7-level priority chain:
CLI flags > env var > user preference > directory preference >
directory default > user default > hardcoded fallback.

New commands: llm-default (view/set/clear defaults), llm-preference
(view/set/clear preferences). Each shows only its own scope. llm-check
now displays source attribution for resolved provider/model.

Existing commands (llm-helper, llm-check) refactored to use
resolve_llm() instead of manual resolution. Hardcoded fallback
changed from openrouter/aurora-alpha to gemini/gemini-2.5-flash
due to persistent OpenRouter 502 errors.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-13 16:35:44 +01:00
parent 4631a9f794
commit 5085c44de3
3 changed files with 470 additions and 35 deletions

View File

@@ -7095,12 +7095,17 @@ try:
except ImportError:
pass # Prompts module not available
# Register LLM commands (llm-helper, llm-catalog, llm-check)
# Register LLM commands (llm-helper, llm-catalog, llm-check, llm-default, llm-preference)
try:
from markitect.helper.cli import helper_command, llm_catalog, llm_check
from markitect.helper.cli import (
helper_command, llm_catalog, llm_check,
llm_default_command, llm_preference_command,
)
cli.add_command(helper_command)
cli.add_command(llm_catalog)
cli.add_command(llm_check)
cli.add_command(llm_default_command)
cli.add_command(llm_preference_command)
except ImportError:
pass # Helper module not available