summaryrefslogtreecommitdiff
path: root/server/continuedev/plugins/recipes/ContinueRecipeRecipe/main.py
blob: 3dff2e15c110ded18a5014bf8e4ceee59e03f121 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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.

        """
                )
            )
        )