| import sys | |
| def test_top_level_skills_flag_defaults_to_chat(monkeypatch): | |
| import hermes_cli.main as main_mod | |
| captured = {} | |
| def fake_cmd_chat(args): | |
| captured["skills"] = args.skills | |
| captured["command"] = args.command | |
| monkeypatch.setattr(main_mod, "cmd_chat", fake_cmd_chat) | |
| monkeypatch.setattr( | |
| sys, | |
| "argv", | |
| ["hermes", "-s", "hermes-agent-dev,github-auth"], | |
| ) | |
| main_mod.main() | |
| assert captured == { | |
| "skills": ["hermes-agent-dev,github-auth"], | |
| "command": None, | |
| } | |
| def test_chat_subcommand_accepts_skills_flag(monkeypatch): | |
| import hermes_cli.main as main_mod | |
| captured = {} | |
| def fake_cmd_chat(args): | |
| captured["skills"] = args.skills | |
| captured["query"] = args.query | |
| monkeypatch.setattr(main_mod, "cmd_chat", fake_cmd_chat) | |
| monkeypatch.setattr( | |
| sys, | |
| "argv", | |
| ["hermes", "chat", "-s", "github-auth", "-q", "hello"], | |
| ) | |
| main_mod.main() | |
| assert captured == { | |
| "skills": ["github-auth"], | |
| "query": "hello", | |
| } | |
| def test_continue_worktree_and_skills_flags_work_together(monkeypatch): | |
| import hermes_cli.main as main_mod | |
| captured = {} | |
| def fake_cmd_chat(args): | |
| captured["continue_last"] = args.continue_last | |
| captured["worktree"] = args.worktree | |
| captured["skills"] = args.skills | |
| captured["command"] = args.command | |
| monkeypatch.setattr(main_mod, "cmd_chat", fake_cmd_chat) | |
| monkeypatch.setattr( | |
| sys, | |
| "argv", | |
| ["hermes", "-c", "-w", "-s", "hermes-agent-dev"], | |
| ) | |
| main_mod.main() | |
| assert captured == { | |
| "continue_last": True, | |
| "worktree": True, | |
| "skills": ["hermes-agent-dev"], | |
| "command": "chat", | |
| } | |