Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the Lemonade CLI’s launch workflow and related UX, including modularizing agent launching, adding interactive model selection, and introducing remote recipe import support (with new CLI tests and docs updates).
Changes:
- Added interactive model selection utilities and remote recipe import implementation (GitHub recipes browsing/downloading).
- Updated
run,import, andlaunchsubcommands to support prompting/remote flows and async model loading during launch. - Expanded CLI integration tests and updated CLI documentation/man page to reflect new behaviors.
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| test/server_cli2.py | Adds env-overridable CLI runner + new tests for import/run/launch workflows using stubbed binaries. |
| src/cpp/include/lemon_cli/recipe_import.h | Declares recipe import + JSON normalization APIs. |
| src/cpp/include/lemon_cli/model_selection.h | Declares interactive model selection + yes/no prompt helpers. |
| src/cpp/include/lemon_cli/agent_launcher.h | Extends agent config builder to accept an API key. |
| src/cpp/cli/recipe_import.cpp | Implements remote recipe browsing via GitHub API + local JSON import normalization. |
| src/cpp/cli/model_selection.cpp | Implements interactive model selection via /api/v1/models. |
| src/cpp/cli/main.cpp | Wires new import/run/launch flows, adds async background load for launch, new flags. |
| src/cpp/cli/agent_launcher.cpp | Refactors agent configuration logic; adds default API key constant and per-agent setup. |
| src/cpp/cli/CMakeLists.txt | Adds new compilation units + http_client dependency for CLI build. |
| docs/man/man1/lemonade.1 | Updates high-level command descriptions for import/launch. |
| docs/lemonade-cli.md | Documents new import/launch options and examples. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 13 out of 13 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
d417ee4 to
6b365c7
Compare
…st of fetched models Signed-off-by: Sawan Srivastava <sawan1210@gmail.com>
Signed-off-by: Sawan Srivastava <sawan1210@gmail.com>
Signed-off-by: Sawan Srivastava <sawan1210@gmail.com>
Signed-off-by: Sawan Srivastava <sawan1210@gmail.com>
Signed-off-by: Sawan Srivastava <sawan1210@gmail.com>
Signed-off-by: Sawan Srivastava <sawan1210@gmail.com>
Signed-off-by: Sawan Srivastava <sawan1210@gmail.com>
Signed-off-by: Sawan Srivastava <sawan1210@gmail.com>
Signed-off-by: Sawan Srivastava <sawan1210@gmail.com>
Signed-off-by: Sawan Srivastava <sawan1210@gmail.com>
6b365c7 to
96b8a04
Compare
|
@jeremyfowers implemented your suggestions! Please test them out and let me know if you have any more inputs. |
|
@claude review |
|
Claude finished @jeremyfowers's task in 2m 46s —— View job Code Review
Overall this is a solid PR — the modularization, async loading, API key propagation, and test coverage are all good additions. Most of the previous reviewer concerns appear already addressed. Here are the remaining issues I found, from most to least important. Open reviewer note: Collapse the two-level recipe menujeremyfowers' remaining comment (the only unresolved one) is spot on. The A flat list (all files with directory prefix, if there are ever multiple directories) would be cleaner and match jeremyfowers' suggestion. Fix this → Bug:
|
|
CI fixed on main and pushed to this branch |
bitgamma
left a comment
There was a problem hiding this comment.
works very well! this might make try out claude as an agent 😄

Resolves #1331
Implements the
launchworkflow as described in this commentList of changes:
importsubcommandrunandlaunchsubcommands, user can select model from list vs having to type out model namelaunchthat provides an easy to use and seamless experience with agents like claude code and codexlaunchexperience a lot more frictionless, the user can start typing out their prompt while their model is being loaded--api-key(key would previously not propagate past load, messages would return 401)