Goose in 5 minutes¶
Quickstart guide¶
Goose is a developer agent that supercharges your software development by automating an array of coding tasks directly within your terminal or IDE. You can get it setup and running on your devices in only a few minutes.
Installation¶
To install Goose, use pipx
. First ensure pipx is installed:
Then install Goose:
Running Goose¶
Start a session¶
From your terminal, navigate to the directory you'd like to start from and run:
Set up a provider¶
Goose works with your preferred LLM. By default, it uses openai
as the LLM provider. You'll be prompted to set an API key if you haven't set one previously.
Tip
Billing:
You will need to have credits in your LLM Provider account to be able to successfully make requests.
Make Goose do the work for you¶
You will see the Goose prompt G❯
:
e.g
G❯ Create a JavaScript project that fetches and displays weather for a user specified city using a public API
Now you are interacting with Goose in conversational sessions. Think of it like you're giving directions to a junior developer. The default toolkit allows Goose to take actions through shell commands and file edits. You can interrupt Goose with CTRL+D
or ESC+Enter
at any time to help redirect its efforts.
Exit the session¶
If you are looking to exit, use CTRL+D
.
Resume a session¶
When you exit a session, it will save the history in ~/.config/goose/sessions
directory. You can then resume your last saved session later, using:
Check out the Managing Goose sessions to learn more about working with sessions in Goose.
To see more documentation on the available CLI commands, check out the [documentation][cli]. If you’d like to develop your own CLI commands for Goose, check out the [Contributing document][contributing].
Running a Goose task¶
You can run Goose to do things just as a one off, such as tidying up, and then exiting:
You can also use process substitution to provide instructions directly from the command line:
This will run until completion as best it can. You can also pass --resume-session
and it will re-use the first session it finds for context.
Additional tips¶
You can place a .goosehints
file in ~/.config/goose/.goosehints
for hints personal to you. Goose will automatically load these within your sessions.
Next steps¶
Review the Getting Started Guide to learn how to modify the Goose profiles.yaml
file to add and remove functionality (toolkits) and provide additional context to get the most out of Goose.
Want to move out of the terminal and into an IDE?
We have some experimental IDE integrations for VSCode and JetBrains IDEs:
* https://github.com/square/goose-vscode
* https://github.com/Kvadratni/goose-intellij
Goose as a Github Action
There is also an experimental Github action to run Goose as part of your workflow (e.g., if you ask it to fix an issue):
https://github.com/marketplace/actions/goose-ai-developer-agent
With Docker
There is also a Dockerfile
in the root of this project you can use if you want to run goose in a sandboxed fashion.