feat(profile): add interactive profile creation wizard#31781
Conversation
8088949 to
9d8aef8
Compare
Adds `hermes profile wizard` — a keyboard-driven, interview-first agent profile creation wizard built on prompt_toolkit. The wizard guides users through a structured interview before writing any files, producing a reviewable AgentProfileSpec blueprint that can then be previewed, exported, or committed as a real Hermes profile. - `hermes profile wizard [name]` — dedicated subcommand - `hermes profile create --wizard` — shorthand from the create command A 12-step plain-language interview that scores the user's context against a catalogue of pre-built profile ideas, recommends a bundle of skill sets, and returns a fully pre-filled AgentProfileSpec (or a list of specs for multi-agent setups). A 9-step expert interview covering every AgentProfileSpec field, with full Ctrl-B back-navigation at every step. Keyboard-navigable catalogue of OOTB, example, lead, and worker profiles. Selecting one calls `spec_from_profile_idea` and drops into the action loop. After any path produces a spec the user lands in a preview / edit / export / create loop. Profiles are only written when the user explicitly chooses "Create Hermes profile". ``` hermes_cli/profile_wizard/ __init__.py re-exports full public API _data.py option lists, ProfileIdea, AgentProfileSpec, OnboardingAnswers _ui.py prompt_toolkit widgets, colour constants, provider picker _scoring.py recommendation engine, skill defaults, _choose_skills _builder.py browse_profile_ideas, collect_profile _guided.py guided_onboarding (12-step interview) _output.py render_preview, generate_soul_md/user_md, export_profile wizard.py _action_loop, run_profile_wizard, file-write helpers ``` 25 unit tests covering: output generation, provider row rendering, profile idea catalogue, choice-row markers, back-navigation (Ctrl-B), guided onboarding multi-agent path, scoring/recommendation, skill options, browse sentinel, run_profile_wizard routing, and end-to-end collect_profile rewind.
The provider tui_desc strings live in hermes_cli/models.py and drifted upstream while this branch was open. Sync the wizard test's hard-coded expectations to the current canonical descriptions. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5a4acfc to
2a2684d
Compare
|
Rebased onto latest main (resolved conflicts in main.py and .gitignore, both incidental drift). Branch is now mergeable. pytest |
|
@Teknium Yeah, fair enough, your approach is the right one. Putting it in the dashboard where the Models/Skills/MCP pages already live makes way more sense than the parallel CLI spec layer I built. And honestly the So I'm happy to close this one. Before I do though, there's a couple of things in here I think are worth keeping, and they sit on top of your builder rather than fighting it. The main one is the guided onboarding. It's basically a short interview that asks the user what they're trying to do, then scores that against a set of pre-built profile ideas and hands back a sensible starting point: a model, an MCP set, a recommended skill bundle. It's all just logic, no UI baked in, so it could live as an optional "start from a recommended setup" thing on your first step and pre-fill the The fleet stuff (returning a list of specs for multi-agent setups) and generating SOUL/USER from the interview I'd just leave for later, you've already got fleets down as future scope so no point forcing it now. If that sounds useful I'll put up a small PR against your branch once #39084 lands. If you'd rather keep the first version lean, totally fine, I'll close this and it can come later. |
|
Superceded by #31781 |
Summary
Adds
hermes profile wizard— a keyboard-driven, interview-first agent profile creation wizard built on prompt_toolkit.The wizard guides users through a structured interview before writing any files, producing a reviewable AgentProfileSpec blueprint that can be previewed, exported, or committed as a real Hermes profile.
Entry points
hermes profile wizard [name]— dedicated subcommandhermes profile create --wizard— shorthand from the create commandThree creation paths
Guided onboarding — 12-step plain-language interview that scores the user's context against a catalogue of pre-built profile ideas, recommends skill bundles, and returns a fully pre-filled spec (or a list of specs for multi-agent fleet setups).
Manual build — 9-step expert interview covering every AgentProfileSpec field with full Ctrl-B back-navigation at every step.
Profile idea browser — keyboard-navigable catalogue of OOTB starter, advanced example, lead, and worker profiles. Selecting one pre-fills the spec and drops into the action loop.
Action loop
After any path produces a spec the user lands in a preview / edit / export / create loop. Profiles are only written to disk when the user explicitly selects "Create Hermes profile".
Package structure
Test plan
hermes profile wizard— verify TUI launches and back-navigation works at every stephermes profile wizard --clone— verify skills/config copied from active profilehermes profile create --wizard— verify shorthand workspytest tests/cli/test_profile_wizard.py -v— 25 tests should passruff check hermes_cli/profile_wizard/— should report no issues