Skip to content

Conversation

@AaronGoldsmith
Copy link
Contributor

@AaronGoldsmith AaronGoldsmith commented Jun 16, 2025

Save Recipe Recipe Library (saved recipes)
image saved recipes
More Menu

"Save Recipe" is only visible when a recipe is open/ actively being used.

MoreMenu

Current functionality: "Go to Recipe Library" is always in the menu, even if you don't have any recipes saved

💻 Quick demo

Screen.Recording.2025-06-16.at.8.20.27.AM.mov

This pull request introduces a new "Recipe Library" feature, allowing users to save, manage, and reuse recipes within the application. It includes updates to the UI, functionality for saving and loading recipes, and a new RecipesView component for browsing saved recipes.

New Recipe Management Features:

  • Added RecipesView Component: Introduced a new RecipesView component for displaying saved recipes, allowing users to preview, load, and delete recipes. This includes error handling, a loading state, and a modal for previewing recipe details. (ui/desktop/src/components/RecipesView.tsx)
  • Save Recipe Functionality: Implemented functionality in the MoreMenu component to save recipes with a user-provided name and location (global or project-specific). Includes a dialog for input and validation. (ui/desktop/src/components/more_menu/MoreMenu.tsx) [1] [2]

UI Navigation Updates:

  • Recipe Library Navigation: Added a menu option in MoreMenu to navigate to the new Recipe Library view. (ui/desktop/src/components/more_menu/MoreMenu.tsx)
  • New View Type: Added a new recipes view type in the App component to support the Recipe Library. (ui/desktop/src/App.tsx) [1] [2] [3]

Recipe Data Model Enhancements:

  • Updated Recipe Properties: Added a title property to the recipe data model for better alignment with UI elements and user expectations. This change affects multiple components, including ChatView and DeepLinkModal. (ui/desktop/src/components/ChatView.tsx, ui/desktop/src/components/ui/DeepLinkModal.tsx) [1] [2]

These changes collectively enhance the application's usability by providing a dedicated interface for managing recipes and improving the overall recipe handling experience.

@blackgirlbytes
Copy link
Contributor

love it. needed

@AaronGoldsmith AaronGoldsmith marked this pull request as ready for review June 16, 2025 22:46
@zanesq
Copy link
Collaborator

zanesq commented Jun 17, 2025

Code LGTM. I think there might be some UI changes needed for wording at least, we don't have a concept of projects in Goose so maybe change it to available to current working directory or across all goose sessions?

@zanesq zanesq self-requested a review June 17, 2025 23:44
@zanesq
Copy link
Collaborator

zanesq commented Jun 17, 2025

@spencrmartin any feedback on the UI?

@AaronGoldsmith
Copy link
Contributor Author

AaronGoldsmith commented Jun 18, 2025

Updated verbiage! Did we want to keep the path? Let me know if there are any other adjustments.

image

previous version for reference

previous

@zanesq zanesq merged commit 98ac09c into block:main Jun 18, 2025
6 checks passed
lifeizhou-ap added a commit that referenced this pull request Jun 20, 2025
* main:
  Blog: Add video to container use blog (#3008)
  Use official logo in Goose web (#3012)
  fix shims for extensions on windows (#3009)
  fix powershell executions (#3006)
  Docs linux desktop (#3007)
  Platform Tool for Scheduler: Allow Goose to Manage Its Own Schedule (#2944)
  docs: container use blog and guide (#2962)
  Fix: Workflow syntax (#3002)
  Added just lint-ui for linting front end code (#2997)
  fix typo in secret name (#2994)
  feat(ui): add chain-of-thought panel above assistant messages (#2899)
  feat(cli): Add `--quiet /-q` flag to goose run (#2939)
  Feat: Recipe Library (#2946)
  Docs: Goose on Windows Installation (#2990)
  Fixes : Workflow error on issue comment (#2958)
  Add a setting for the quit confirmation dialog (#2901)
  Update bundle-desktop-windows.yml (#2988)
  feat: optional fast edit models (#2580)
  feat: Add lead-worker model selection and real-time model display in GUI (#2964)
laanak08 added a commit that referenced this pull request Jun 24, 2025
# By Max Novich (4) and others
# Via Alice Hau
* ahau/tool-strategy:
  updated computercontroller and developer descriptions
  add additional strats to test
  Blog: Add video to container use blog (#3008)
  Use official logo in Goose web (#3012)
  fix shims for extensions on windows (#3009)
  fix powershell executions (#3006)
  Docs linux desktop (#3007)
  Platform Tool for Scheduler: Allow Goose to Manage Its Own Schedule (#2944)
  docs: container use blog and guide (#2962)
  Fix: Workflow syntax (#3002)
  Added just lint-ui for linting front end code (#2997)
  fix typo in secret name (#2994)
  feat(ui): add chain-of-thought panel above assistant messages (#2899)
  feat(cli): Add `--quiet /-q` flag to goose run (#2939)
  Feat: Recipe Library (#2946)
  Docs: Goose on Windows Installation (#2990)
  Fixes : Workflow error on issue comment (#2958)
  Add a setting for the quit confirmation dialog (#2901)
  Update bundle-desktop-windows.yml (#2988)

# Conflicts:
#	Cargo.lock
btdeviant pushed a commit to btdeviant/goose that referenced this pull request Jun 25, 2025
@@ -0,0 +1,339 @@
import { Recipe } from './index';
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why did we decide to have a different format for recipes for the frontend than what we have for the cli? We now store SavedRecipe instead of recipe.

What I think we should do here, is do this through the server and not have this code directly write to disk, same as we do for sessions. that way we can make sure that the command line and the desktop have the same idea about where to look for recipes and the format for a recipe.

Can we fix this ASAP?

s-soroosh pushed a commit to s-soroosh/goose that referenced this pull request Jul 18, 2025
Signed-off-by: Soroosh <soroosh.sarabadani@gmail.com>
cbruyndoncx pushed a commit to cbruyndoncx/goose that referenced this pull request Jul 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants