Files
tkmind_go/documentation/docs/quickstart.md
T

256 lines
10 KiB
Markdown
Raw Normal View History

2025-01-24 13:04:43 -08:00
---
2025-01-31 13:22:57 -06:00
sidebar_position: 1
2025-01-24 13:04:43 -08:00
title: Quickstart
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
2025-01-25 10:14:27 -06:00
import Link from "@docusaurus/Link";
import { IconDownload } from "@site/src/components/icons/download";
import { RateLimits } from '@site/src/components/RateLimits';
import { ModelSelectionTip } from '@site/src/components/ModelSelectionTip';
import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed';
2025-06-18 14:34:03 -04:00
import MacDesktopInstallButtons from '@site/src/components/MacDesktopInstallButtons';
import WindowsDesktopInstallButtons from '@site/src/components/WindowsDesktopInstallButtons';
2025-06-19 16:47:06 -04:00
import LinuxDesktopInstallButtons from '@site/src/components/LinuxDesktopInstallButtons';
import { PanelLeft } from 'lucide-react';
2025-01-24 13:04:43 -08:00
# Goose in 5 minutes
2025-07-29 14:51:52 +05:30
Goose is an extensible open source AI agent that enhances your software development by automating coding tasks.
2025-01-24 13:04:43 -08:00
2025-06-22 17:24:55 -05:00
This quick tutorial will guide you through:
- ✅ Installing Goose
- ✅ Configuring your LLM
- ✅ Building a small app
- ✅ Adding an MCP server
Let's begin 🚀
2025-01-24 13:04:43 -08:00
2025-01-25 10:14:27 -06:00
## Install Goose
2025-01-24 13:04:43 -08:00
<Tabs>
<TabItem value="mac" label="macOS" default>
Choose to install the Desktop and/or CLI version of Goose:
2025-01-26 02:08:39 -06:00
<Tabs groupId="interface">
<TabItem value="ui" label="Goose Desktop" default>
2025-06-18 14:34:03 -04:00
<MacDesktopInstallButtons/>
<div style={{ marginTop: '1rem' }}>
1. Unzip the downloaded zip file.
2. Run the executable file to launch the Goose Desktop application.
</div>
</TabItem>
<TabItem value="cli" label="Goose CLI">
Run the following command to install Goose:
```sh
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | bash
```
</TabItem>
</Tabs>
2025-01-24 13:04:43 -08:00
</TabItem>
<TabItem value="linux" label="Linux">
Choose to install the Desktop and/or CLI version of Goose:
<Tabs groupId="interface">
<TabItem value="ui" label="Goose Desktop" default>
2025-06-19 16:47:06 -04:00
<LinuxDesktopInstallButtons/>
<div style={{ marginTop: '1rem' }}>
2025-06-26 21:52:08 -04:00
**For Debian/Ubuntu-based distributions:**
1. Download the DEB file
2. Navigate to the directory where it is saved in a terminal
3. Run `sudo dpkg -i (filename).deb`
4. Launch Goose from the app menu
2025-06-19 16:47:06 -04:00
</div>
</TabItem>
<TabItem value="cli" label="Goose CLI">
Run the following command to install the Goose CLI on Linux:
```sh
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | bash
```
</TabItem>
</Tabs>
</TabItem>
<TabItem value="windows" label="Windows">
Choose to install the Desktop and/or CLI version of Goose:
<Tabs groupId="interface">
<TabItem value="ui" label="Goose Desktop" default>
2025-06-18 14:34:03 -04:00
<WindowsDesktopInstallButtons/>
<div style={{ marginTop: '1rem' }}>
1. Unzip the downloaded zip file.
2. Run the executable file to launch the Goose Desktop application.
</div>
</TabItem>
<TabItem value="cli" label="Goose CLI">
Run the following command in **Git Bash**, **MSYS2**, or **PowerShell** to install the Goose CLI natively on Windows:
```bash
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | bash
```
Learn about prerequisites in the [installation guide](/docs/getting-started/installation).
:::info PATH Warning And Keyring
If you see a PATH warning after installation, you'll need to add Goose to your PATH before running `goose configure`. See the [Windows CLI installation instructions](/docs/getting-started/installation) for detailed steps.
If prompted during configuration, choose to not store to keyring. If you encounter keyring errors, see the [Windows setup instructions](/docs/getting-started/installation#set-llm-provider) for more information.
:::
</TabItem>
</Tabs>
</TabItem>
2025-01-24 13:04:43 -08:00
</Tabs>
2025-01-25 10:14:27 -06:00
## Configure Provider
2025-01-24 13:04:43 -08:00
Goose works with [supported LLM providers][providers] that give Goose the AI intelligence it needs to understand your requests. On first use, you'll be prompted to configure your preferred provider.
2025-01-24 13:04:43 -08:00
<Tabs groupId="interface">
<TabItem value="ui" label="Goose Desktop" default>
On the welcome screen, choose `Automatic setup with Tetrate Agent Router`.
Goose will open a browser for you to authenticate.
:::info Free Credits Offer
You'll receive $10 in free credits the first time you automatically authenticate with Tetrate through Goose. This offer is available to both new and existing Tetrate users and is valid through October 2, 2025.
:::
Tetrate provides access to multiple AI models with built-in rate limiting and automatic failover. If you prefer a different provider, choose automatic setup with OpenRouter or manually configure a provider.
</TabItem>
<TabItem value="cli" label="Goose CLI">
On the welcome screen, choose `Tetrate Agent Router Service Login`. Use the up and down arrow keys to navigate the options, then press `Enter` to select.
Goose will open a browser for you to authenticate.
:::info Free Credits Offer
You'll receive $10 in free credits the first time you automatically authenticate with Tetrate through Goose. This offer is available to both new and existing Tetrate users and is valid through October 2, 2025.
:::
Tetrate provides access to multiple AI models with built-in rate limiting and automatic failover. If you prefer a different provider, choose automatic setup with OpenRouter or manually configure a provider.
2025-01-24 13:04:43 -08:00
</TabItem>
</Tabs>
2025-01-25 10:14:27 -06:00
## Start Session
2025-01-26 02:08:39 -06:00
Sessions are single, continuous conversations between you and Goose. Let's start one.
2025-01-24 13:04:43 -08:00
<Tabs groupId="interface">
2025-06-22 17:24:55 -05:00
<TabItem value="ui" label="Goose Desktop" default>
After choosing an LLM provider, click the `Home` button in the sidebar.
2025-06-22 17:24:55 -05:00
Type your questions, tasks, or instructions directly into the input field, and Goose will immediately get to work.
</TabItem>
<TabItem value="cli" label="Goose CLI">
2025-01-26 02:08:39 -06:00
1. Make an empty directory (e.g. `goose-demo`) and navigate to that directory from the terminal.
2. To start a new session, run:
2025-01-24 13:04:43 -08:00
```sh
goose session
2025-01-24 13:04:43 -08:00
```
2025-06-12 10:00:03 -07:00
:::tip Goose Web
CLI users can also start a session in [Goose Web](/docs/guides/goose-cli-commands#web), a web-based chat interface:
```sh
goose web --open
```
:::
2025-01-24 13:04:43 -08:00
</TabItem>
</Tabs>
2025-01-25 10:14:27 -06:00
## Write Prompt
2025-01-24 13:04:43 -08:00
2025-01-26 02:08:39 -06:00
From the prompt, you can interact with Goose by typing your instructions exactly as you would speak to a developer.
Let's ask Goose to make a tic-tac-toe game!
2025-01-24 13:04:43 -08:00
```
2025-01-26 02:08:39 -06:00
create an interactive browser-based tic-tac-toe game in javascript where a player competes against a bot
2025-01-24 13:04:43 -08:00
```
2025-01-26 02:08:39 -06:00
Goose will create a plan and then get right to work on implementing it. Once done, your directory should contain a JavaScript file as well as an HTML page for playing.
2025-01-24 13:04:43 -08:00
2025-01-26 02:08:39 -06:00
## Enable an Extension
2025-01-26 02:08:39 -06:00
While you're able to manually navigate to your working directory and open the HTML file in a browser, wouldn't it be better if Goose did that for you? Let's give Goose the ability to open a web browser by enabling the `Computer Controller` extension.
<Tabs groupId="interface">
2025-06-22 17:24:55 -05:00
<TabItem value="ui" label="Goose Desktop" default>
1. Click the <PanelLeft className="inline" size={16} /> button in the top-left to open the sidebar.
2. Click `Extensions` in the sidebar menu.
3. Toggle the `Computer Controller` extension to enable it. This [extension](https://block.github.io/goose/v1/extensions/detail/nondeveloper) enables webscraping, file caching, and automations.
4. Return to your session to continue.
2025-06-22 17:24:55 -05:00
5. Now that Goose has browser capabilities, let's ask it to launch your game in a browser:
</TabItem>
<TabItem value="cli" label="Goose CLI">
2025-01-26 02:08:39 -06:00
1. End the current session by entering `Ctrl+C` so that you can return to the terminal's command prompt.
2. Run the configuration command
```sh
goose configure
```
3. Choose `Add Extension` > `Built-in Extension` > `Computer Controller`, and set the timeout to 300s. This [extension](/docs/mcp/computer-controller-mcp) enables webscraping, file caching, and automations.
2025-01-26 02:08:39 -06:00
```
┌ goose-configure
2025-01-26 02:08:39 -06:00
│
◇ What would you like to configure?
│ Add Extension
2025-01-26 02:08:39 -06:00
│
◇ What type of extension would you like to add?
│ Built-in Extension
2025-01-26 02:08:39 -06:00
│
2025-03-06 21:54:59 -06:00
◇ Which built-in extension would you like to enable?
│ Computer Controller
│
2025-03-06 21:54:59 -06:00
◇ Please set the timeout for this tool (in secs):
│ 300
│
└ Enabled computercontroller extension
2025-01-26 02:08:39 -06:00
```
4. Now that Goose has browser capabilities, let's resume your last session:
```sh
goose session -r
```
5. Ask Goose to launch your game in a browser:
</TabItem>
</Tabs>
2025-01-24 13:04:43 -08:00
```
open the tic-tac-toe game in a browser
2025-01-24 13:04:43 -08:00
```
2025-01-26 02:08:39 -06:00
Go ahead and play your game, I know you want to 😂 ... good luck!
2025-01-24 13:04:43 -08:00
2025-01-25 10:14:27 -06:00
## Next Steps
2025-01-26 02:08:39 -06:00
Congrats, you've successfully used Goose to develop a web app! 🎉
2025-01-24 13:04:43 -08:00
2025-01-26 02:08:39 -06:00
Here are some ideas for next steps:
* Continue your session with Goose and it improve your game (styling, functionality, etc).
* Browse other available [extensions][extensions-guide] and install more to enhance Goose's functionality even further.
2025-01-25 10:14:27 -06:00
* Provide Goose with a [set of hints](/docs/guides/using-goosehints) to use within your sessions.
2025-01-24 13:04:43 -08:00
[handling-rate-limits]: /docs/guides/handling-llm-rate-limits-with-goose
[openai-key]: https://platform.openai.com/api-keys
[getting-started]: /docs/category/getting-started
2025-01-25 10:14:27 -06:00
[providers]: /docs/getting-started/providers
[managing-sessions]: /docs/guides/sessions/session-management
2025-01-24 13:04:43 -08:00
[contributing]: https://github.com/block/goose/blob/main/CONTRIBUTING.md
[quick-tips]: /docs/guides/tips
2025-01-25 10:14:27 -06:00
[extensions-guide]: /docs/getting-started/using-extensions
2025-01-24 13:04:43 -08:00
[cli]: /docs/guides/goose-cli-commands
[MCP]: https://www.anthropic.com/news/model-context-protocol