diff --git a/documentation/docs/guides/recipes/recipe-reference.md b/documentation/docs/guides/recipes/recipe-reference.md index e4c8a6528c77..29e5a72d0cc7 100644 --- a/documentation/docs/guides/recipes/recipe-reference.md +++ b/documentation/docs/guides/recipes/recipe-reference.md @@ -20,12 +20,12 @@ After creating recipe files, you can use [`goose` CLI commands](/docs/guides/goo ### CLI and Desktop Formats -The Goose CLI supports CLI and Desktop recipe formats: +Goose recipes use two formats: -- **CLI Format**: Recipe fields (like `title`, `description`, `instructions`) are at the root level of the YAML/JSON file -- **Desktop Format**: Recipe fields are nested inside a `recipe` object, with additional metadata fields at the root level +- **CLI Format**: Recipe fields (like `title`, `description`, `instructions`) are at the root level of the YAML/JSON file. This format is used when recipes are created via the CLI `/recipe` command and [Recipe Generator](/recipe-generator) YAML option. +- **Desktop Format**: Recipe fields are nested inside a `recipe` object, with additional metadata fields at the root level. This format is used when recipes are created from Goose Desktop. -The CLI automatically detects and handles both formats when running `goose run --recipe ` and `goose recipe` commands. +The CLI automatically detects and handles both formats when running `goose run --recipe ` and `goose recipe` commands. The Desktop can [import](/docs/guides/recipes/storing-recipes#importing-recipes) and use YAML recipes (or deeplinks) in either CLI or Desktop format.
Format Examples diff --git a/documentation/docs/guides/recipes/session-recipes.md b/documentation/docs/guides/recipes/session-recipes.md index 09c49837d571..f9effb546e1c 100644 --- a/documentation/docs/guides/recipes/session-recipes.md +++ b/documentation/docs/guides/recipes/session-recipes.md @@ -455,33 +455,39 @@ You can turn your current Goose session into a reusable recipe that includes the ## Share Recipe +Share your recipe with Goose users using a recipe link or recipe file. + +:::info Privacy & Isolation +Each recipient gets their own private session when using your shared recipe. No data is shared between users, and your original session and recipe remain unaffected. +::: + +### Share via Recipe Link +You can share a recipe with Desktop users via a recipe link. - Share your recipe with Desktop users by copying the recipe link: - + Copy the deeplink from your Recipe Library to share with others: 1. Click the button in the top-left to open the sidebar 2. Click `Recipes` in the sidebar - 3. Find your recipe in the Recipe Library - 4. Click `Preview` next to the recipe you want to share - 5. Under `Deeplink`, click `Copy` and then share the link with others - - When someone clicks the link, it will open Goose Desktop with your recipe configuration. They can also use your recipe link to [import a recipe](/docs/guides/recipes/storing-recipes#storing-recipes) into their Recipe Library for future use. + 3. Click `Preview` next to the recipe you want to share + 4. Under `Deeplink`, click `Copy` - Share your recipe with CLI users by directly sending them the recipe file or converting it to a shareable [deep link](/docs/guides/goose-cli-commands#recipe) for Desktop users: - + Generate a deeplink from your recipe file to share with others: ```sh - goose recipe deeplink recipe.yaml + goose recipe deeplink ``` - -:::info Privacy & Isolation -Each recipient gets their own private session when using your shared recipe. No data is shared between users, and your original session and recipe remain unaffected. -::: +When someone clicks the link, it will open Goose Desktop with your recipe configuration. They can also use your recipe link to [import a recipe](/docs/guides/recipes/storing-recipes#importing-recipes) for future use. + +### Share via Recipe File +You can share a recipe with Desktop or CLI users by sending the recipe file directly. + +- Desktop users can [import the recipe](/docs/guides/recipes/storing-recipes#importing-recipes) (YAML only). +- CLI users can run a YAML or JSON recipe using `goose run --recipe ` ## Schedule Recipe @@ -661,14 +667,5 @@ To protect your privacy and system integrity, Goose excludes: This means others may need to supply their own credentials or memory context if the recipe depends on those elements. -## CLI and Desktop Formats - -The Goose CLI supports both CLI and Desktop recipe formats: - -- **CLI Format**: Recipe fields are at the root level. This format is used when recipes are created via the CLI `/recipe` command and Recipe Generator YAML option. -- **Desktop Format**: Recipe fields are nested under a `recipe` key. This format is used when recipes are saved in Goose Desktop. - -Both formats work seamlessly with `goose run --recipe ` and `goose recipe` CLI commands - you don't need to convert between them. For more details, see [CLI and Desktop Formats](/docs/guides/recipes/recipe-reference#cli-and-desktop-formats). - ## Learn More Check out the [Goose Recipes](/docs/guides/recipes) guide for more docs, tools, and resources to help you master Goose recipes. \ No newline at end of file diff --git a/documentation/docs/guides/recipes/storing-recipes.md b/documentation/docs/guides/recipes/storing-recipes.md index d6844a775e33..f9677501badc 100644 --- a/documentation/docs/guides/recipes/storing-recipes.md +++ b/documentation/docs/guides/recipes/storing-recipes.md @@ -55,19 +55,10 @@ If you're already using a recipe and want to save a modified version: 3. Make any desired edits to the description, instructions, or initial prompts 5. Click **Save Recipe** -:::note +:::info When you modify and save a recipe with a new name, a new recipe and new link are generated. You can still run the original recipe from the recipe library, or using the original link. If you edit a recipe without changing its name, the version in the recipe library is updated, but you can still run the original recipe via link. ::: -**Import Recipe:** - -You can import a [shared recipe](/docs/guides/recipes/session-recipes#share-recipe) into your Recipe Library: -1. Click the button in the top-left to open the sidebar -2. Click `Recipes` -3. Click **Import Recipe** and paste in the recipe URL -4. Add a name and choose the [storage location](#recipe-storage-locations) -5. Click **Import Recipe** - @@ -80,6 +71,35 @@ You can import a [shared recipe](/docs/guides/recipes/session-recipes#share-reci +### Importing Recipes + + + + Import a recipe using its deeplink or YAML file: + + **Import via Recipe Link:** + 1. Click the button in the top-left to open the sidebar + 2. Click `Recipes` in the sidebar + 3. Click **Import Recipe** + 4. Under **Recipe Deeplink**, paste in the [recipe link](/docs/guides/recipes/session-recipes#share-via-recipe-link) + 5. Add a name and choose the [storage location](#recipe-storage-locations) + 6. Click **Import Recipe** + + **Import via Recipe File:** + 1. Click the button in the top-left to open the sidebar + 2. Click `Recipes` in the sidebar + 3. Click **Import Recipe** + 4. Under **Recipe YAML File**, click **Choose File**, select the YAML recipe file, and click `Open` + 5. Add a name and choose the [storage location](#recipe-storage-locations) + 6. Click **Import Recipe** + + Importing JSON recipe files isn't currently supported. + + + + Recipe import is only available in Goose Desktop. + + ## Finding Your Recipes