Merge pull request #1322 from NousResearch/hermes/hermes-2f2b4807

fix: make config set examples use placeholder syntax
This commit is contained in:
Teknium 2026-03-14 10:38:44 -07:00 committed by GitHub
commit d2e2d6e2a2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 53 additions and 5 deletions

View file

@ -821,7 +821,7 @@ def migrate_config(interactive: bool = True, quiet: bool = False) -> Dict[str, A
print(f" ✓ Saved {name}") print(f" ✓ Saved {name}")
print() print()
else: else:
print(" Set later with: hermes config set KEY VALUE") print(" Set later with: hermes config set <key> <value>")
# Check for missing config fields # Check for missing config fields
missing_config = get_missing_config_fields() missing_config = get_missing_config_fields()
@ -1265,7 +1265,7 @@ def show_config():
print() print()
print(color("" * 60, Colors.DIM)) print(color("" * 60, Colors.DIM))
print(color(" hermes config edit # Edit config file", Colors.DIM)) print(color(" hermes config edit # Edit config file", Colors.DIM))
print(color(" hermes config set KEY VALUE", Colors.DIM)) print(color(" hermes config set <key> <value>", Colors.DIM))
print(color(" hermes setup # Run setup wizard", Colors.DIM)) print(color(" hermes setup # Run setup wizard", Colors.DIM))
print() print()
@ -1391,7 +1391,7 @@ def config_command(args):
key = getattr(args, 'key', None) key = getattr(args, 'key', None)
value = getattr(args, 'value', None) value = getattr(args, 'value', None)
if not key or not value: if not key or not value:
print("Usage: hermes config set KEY VALUE") print("Usage: hermes config set <key> <value>")
print() print()
print("Examples:") print("Examples:")
print(" hermes config set model anthropic/claude-sonnet-4") print(" hermes config set model anthropic/claude-sonnet-4")
@ -1506,7 +1506,7 @@ def config_command(args):
print("Available commands:") print("Available commands:")
print(" hermes config Show current configuration") print(" hermes config Show current configuration")
print(" hermes config edit Open config in editor") print(" hermes config edit Open config in editor")
print(" hermes config set K V Set a config value") print(" hermes config set <key> <value> Set a config value")
print(" hermes config check Check for missing/outdated config") print(" hermes config check Check for missing/outdated config")
print(" hermes config migrate Update config with new options") print(" hermes config migrate Update config with new options")
print(" hermes config path Show config file path") print(" hermes config path Show config file path")

View file

@ -602,7 +602,7 @@ def _print_setup_summary(config: dict, hermes_home):
print( print(
f" {color('hermes config edit', Colors.GREEN)} Open config in your editor" f" {color('hermes config edit', Colors.GREEN)} Open config in your editor"
) )
print(f" {color('hermes config set KEY VALUE', Colors.GREEN)}") print(f" {color('hermes config set <key> <value>', Colors.GREEN)}")
print(f" Set a specific value") print(f" Set a specific value")
print() print()
print(f" Or edit the files directly:") print(f" Or edit the files directly:")

View file

@ -0,0 +1,48 @@
"""Tests for CLI placeholder text in config/setup output."""
import os
from argparse import Namespace
from unittest.mock import patch
import pytest
from hermes_cli.config import config_command, show_config
from hermes_cli.setup import _print_setup_summary
def test_config_set_usage_marks_placeholders(capsys):
args = Namespace(config_command="set", key=None, value=None)
with pytest.raises(SystemExit) as exc:
config_command(args)
assert exc.value.code == 1
out = capsys.readouterr().out
assert "Usage: hermes config set <key> <value>" in out
def test_config_unknown_command_help_marks_placeholders(capsys):
args = Namespace(config_command="wat")
with pytest.raises(SystemExit) as exc:
config_command(args)
assert exc.value.code == 1
out = capsys.readouterr().out
assert "hermes config set <key> <value> Set a config value" in out
def test_show_config_marks_placeholders(tmp_path, capsys):
with patch.dict(os.environ, {"HERMES_HOME": str(tmp_path)}):
show_config()
out = capsys.readouterr().out
assert "hermes config set <key> <value>" in out
def test_setup_summary_marks_placeholders(tmp_path, capsys):
with patch.dict(os.environ, {"HERMES_HOME": str(tmp_path)}):
_print_setup_summary({"tts": {"provider": "edge"}}, tmp_path)
out = capsys.readouterr().out
assert "hermes config set <key> <value>" in out