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.