diff options
Diffstat (limited to 'server/continuedev/plugins/recipes/ContinueRecipeRecipe')
| -rw-r--r-- | server/continuedev/plugins/recipes/ContinueRecipeRecipe/README.md | 7 | ||||
| -rw-r--r-- | server/continuedev/plugins/recipes/ContinueRecipeRecipe/main.py | 43 | 
2 files changed, 50 insertions, 0 deletions
diff --git a/server/continuedev/plugins/recipes/ContinueRecipeRecipe/README.md b/server/continuedev/plugins/recipes/ContinueRecipeRecipe/README.md new file mode 100644 index 00000000..df66104f --- /dev/null +++ b/server/continuedev/plugins/recipes/ContinueRecipeRecipe/README.md @@ -0,0 +1,7 @@ +# ContinueRecipeRecipe + +A recipe for building recipes! + +## How to use this recipe + +This recipe takes a single input, a description of the recipe to be built. diff --git a/server/continuedev/plugins/recipes/ContinueRecipeRecipe/main.py b/server/continuedev/plugins/recipes/ContinueRecipeRecipe/main.py new file mode 100644 index 00000000..3dff2e15 --- /dev/null +++ b/server/continuedev/plugins/recipes/ContinueRecipeRecipe/main.py @@ -0,0 +1,43 @@ +from textwrap import dedent + +from ....core.main import Step +from ....core.sdk import ContinueSDK +from ....plugins.steps.main import EditHighlightedCodeStep + + +class ContinueStepStep(Step): +    name: str = "Write your own Continue Step." +    prompt: str + +    async def run(self, sdk: ContinueSDK): +        await sdk.run_step( +            EditHighlightedCodeStep( +                user_input=dedent( +                    f"""\ +        Here is an example of a Step that runs a command and then edits a file. + +        ```python +        from ...core.main import Step +        from ...core.sdk import ContinueSDK + +        class RunCommandAndEditFileStep(Step): +            name: str = "Run a command and then edit a file." +            command: str +            file_path: str +            prompt: str + +            async def run(self, sdk: ContinueSDK): +                await sdk.run([command]) +                await sdk.edit_file(filename=self.file_path, prompt=self.prompt) +        ``` + +        Please edit the code to write your own Step that does the following: + +        {self.prompt} + +        It should be a subclass of Step as above, implementing the `run` method, and using pydantic attributes to define the parameters. + +        """ +                ) +            ) +        )  | 
