Skip to content

Available Toolkits in Goose

Goose provides a variety of toolkits designed to help developers with different tasks. Here's an overview of each available toolkit and its functionalities:

1. Developer Toolkit

The Developer toolkit offers general-purpose development capabilities, including:

  • System Configuration Details: Retrieves system configuration details.
  • Task Management: Update the plan by overwriting all current tasks.
  • File Operations:
  • patch_file: Patch a file by replacing specific content.
  • read_file: Read the content of a specified file.
  • write_file: Write content to a specified file.
  • Shell Command Execution: Execute shell commands with safety checks.

2. GitHub Toolkit

The GitHub toolkit provides detailed configuration and procedural guidelines for GitHub operations.

3. Lint Toolkit

The Lint toolkit ensures that all toolkits have proper documentation. It performs the following checks:

  • Toolkit must have a docstring.
  • The first line of the docstring should contain more than 5 words and fewer than 12 words.
  • The first letter of the docstring should be capitalized.

4. RepoContext Toolkit

The RepoContext toolkit provides context about the current repository. It includes:

  • Repository Size: Get the size of the repository.
  • Monorepo Check: Determine if the repository is a monorepo.
  • Project Summarization: Summarize the current project based on the repository or the current project directory.

5. Screen Toolkit

The Screen toolkit assists users in taking screenshots for debugging or designing purposes. It provides:

  • Take Screenshot: Capture a screenshot and provide the path to the screenshot file.
  • System Instructions: Instructions on how to work with screenshots.

6. SummarizeRepo Toolkit

The SummarizeRepo toolkit helps in summarizing a repository. It includes:

  • Summarize Repository: Clone the repository (if not already cloned) and summarize the files based on specified extensions.

7. SummarizeProject Toolkit

The SummarizeProject toolkit generates or retrieves a summary of a project directory based on specified file extensions. It includes:

  • Get Project Summary: Generate or retrieve a summary of the project in the specified directory.

8. SummarizeFile Toolkit

The SummarizeFile toolkit helps in summarizing a specific file. It includes:

  • Summarize File: Summarize the contents of a specified file with optional instructions.