block-open-source / goose

Goose is a developer agent that operates from your command line to help you do the boring stuff.
https://block-open-source.github.io/goose/
Apache License 2.0
73 stars 12 forks source link

feat: support markdown plans #79

Closed elenazherdeva closed 1 week ago

elenazherdeva commented 1 week ago

Supported Markdown plans, made them Jinja-templated, and allowed passing parameters.

The plan.md file can be in a free format, but the last group of lines that start with “-” is considered the plan.

Some examples:

Example 1:

# plan.md

Here is the python repo

-use {{ dep }}
-use poetry

Here is a plan:

- Open a file
- Run a test
- Setup {{ repo }}

the plan is:

- Open a file
- Run a test
- Setup {{ repo }}

Example 2:

Here is the python repo.

You should follow these steps:

- Open a file
- Run a test
- Setup {{ repo }}

the plan is:

- Open a file
- Run a test
- Setup {{ repo }}

To start a session with a plan:

goose session planned --plan plan.md --args arg1:value1,arg2:value2
elenazherdeva commented 1 week ago

should we get rid of plan.yaml in the goose session start command?

lily-de commented 1 week ago

do we have to use - or will it also pick up * ? because i tend to use * and I think we should be very explicit to users writing their own plans if a certain formatting is needed. We should also add a page in the docs for custom plans -- I don't think I added one

elenazherdeva commented 1 week ago

yes @lily-de I agree, we should mention it in the docs somehow, because now only the last group of lines that start with “-” is considered the plan