-
Notifications
You must be signed in to change notification settings - Fork 3.3k
docs: Add running tasks guide #1626
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
24a6c12
Add running tasks guide
acekyd e2e694d
Update documentation/docs/guides/running-tasks.md
acekyd eef095d
Update documentation/docs/guides/running-tasks.md
acekyd b32bd20
Update documentation/docs/guides/running-tasks.md
acekyd b6ae320
Update documentation/docs/guides/running-tasks.md
acekyd d08c518
Update documentation/docs/guides/running-tasks.md
acekyd fb1a073
Update documentation/docs/guides/running-tasks.md
acekyd 2da1982
update from feedback
acekyd 5e3be83
link from CLI guide
angiejones File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,139 @@ | ||
| --- | ||
| sidebar_position: 7 | ||
| --- | ||
| # Running Tasks | ||
|
|
||
| When working with the Goose CLI, you can pass files and instructions to the `goose run` command to execute tasks and workflows. This could be a simple one-liner command or a complex set of instructions stored in a file. | ||
|
|
||
| ## Basic Usage | ||
|
|
||
| The `goose run` command starts a new session, begins executing using any arguments provided and exits the session automatically once the task is complete. | ||
|
|
||
| There are multiple ways to run tasks with Goose; check out the [list of options](/docs/guides/goose-cli-commands.md#run-options). | ||
|
|
||
| ### Text in the command | ||
| ```bash | ||
| goose run -t "your instructions here" | ||
| ``` | ||
|
|
||
| Using the `-t` flag, one is able to pass a text instruction directly to the command. This is great for quick, one-off commands where you do not need an interactive session with Goose. The instructions will be executed, and the session will end. An example usage could be using in a CI/CD pipeline or running alongside other scripts. | ||
|
|
||
| ### Using an instruction file | ||
| If you have a complex set of instructions or a workflow that you want to automate, you can store them in a file and pass it to the `goose run` command: | ||
|
|
||
| ```bash | ||
| goose run -i instructions.md | ||
| ``` | ||
|
|
||
| Here's an example of an instruction file that runs a security audit on project dependencies: | ||
|
|
||
| ```md | ||
| # Dependency Security Audit | ||
|
|
||
| 1. Analyze project dependencies: | ||
| - Check package.json and requirements.txt files | ||
| - List all dependencies with versions | ||
| - Identify outdated packages | ||
|
|
||
| 2. Security check: | ||
| - Run npm audit (for JavaScript packages) | ||
| - Check for known vulnerabilities in Python packages | ||
| - Identify dependencies with critical security issues | ||
|
|
||
| 3. Create an upgrade plan: | ||
| - List packages requiring immediate updates | ||
| - Note breaking changes in latest versions | ||
| - Estimate impact of required updates | ||
|
|
||
| Save findings in 'security_audit.md' with severity levels highlighted. | ||
| ``` | ||
|
|
||
| ## Key Features | ||
|
|
||
| ### Interactive Mode | ||
|
|
||
| If you don't want Goose to exit at the end of the task, you can pass the `-s` or `--interactive` flag to start an interactive session after processing your initial commands: | ||
|
|
||
| ```bash | ||
| goose run -i instructions.txt -s | ||
| ``` | ||
|
|
||
| This is useful when you want to continue working with Goose after your initial commands are processed. | ||
|
|
||
| ### Session Management | ||
|
|
||
| You can name and manage your sessions: | ||
|
|
||
| ```bash | ||
| # Start a new named session | ||
| goose run -n my-project -t "initial instructions" | ||
|
|
||
| # Resume a previous session | ||
| goose run -n my-project -r | ||
| ``` | ||
|
|
||
| ### Working with Extensions | ||
|
|
||
| If you want to ensure specific extensions are available when running your task, you can indicate this with arguments. This can be done using the `--with-extension` or `--with-builtin` flags: | ||
|
|
||
| - Using built-in extensions e.g developer and computercontroller extensions | ||
|
|
||
| ```bash | ||
| goose run --with-builtin "developer,computercontroller" -t "your instructions" | ||
| ``` | ||
|
|
||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. making 2 separate code blocks so that either can be copied individually |
||
| - Using custom extensions | ||
|
|
||
| ```bash | ||
| goose run --with-extension "ENV1=value1 custom-extension-args" -t "your instructions" | ||
| ``` | ||
|
|
||
| ## Common Use Cases | ||
|
|
||
| ### Running Script Files | ||
|
|
||
| Create an instruction file (e.g., `build-script.txt`): | ||
| ```text | ||
| Check the current branch | ||
| Run the test suite | ||
| Build the documentation | ||
| ``` | ||
|
|
||
| Then run it: | ||
| ```bash | ||
| goose run -i build-script.txt | ||
| ``` | ||
|
|
||
| ### Quick Commands | ||
|
|
||
| For one-off commands, use the text option: | ||
| ```bash | ||
| goose run -t "Create a CHANGELOG.md entry comparing current git branch with main" | ||
| ``` | ||
|
|
||
| ### Development Workflows | ||
|
|
||
| Start a session with specific extensions: | ||
| ```bash | ||
| goose run --with-builtin "developer,git" -n dev-session -s | ||
| ``` | ||
|
|
||
| ### Combining Options | ||
|
|
||
| You can combine multiple options to create powerful workflows: | ||
|
|
||
| ```bash | ||
| # Complex example combining multiple options | ||
| goose run \ | ||
| --with-builtin "developer,git" \ | ||
| --with-extension "API_KEY=xyz123 custom-tool" \ | ||
| -n project-setup \ | ||
| -t "Initialize project" | ||
| ``` | ||
|
|
||
| This command: | ||
| 1. Loads the developer and git built-in extensions | ||
| 2. Adds a custom extension with an API key | ||
| 3. Names the session "project-setup" | ||
| 4. Starts with "Initialize project" instruction | ||
| 5. Exits automatically after processing the command. | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is this a shortcut for
goose run --interactive?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah yes it is.