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, including:
- Pull Request Reviews: View and analyze PR reviews and nested comments.
- API Integration: Access GitHub API for repository operations.
- Command Line Interface: Integration with
gh
CLI tool.
3. JIRA Toolkit¶
The JIRA toolkit facilitates interaction with JIRA issues and projects through:
- Issue Management: View and interact with JIRA issues.
- Command Line Integration: Integration with
jira
CLI tool. - Authentication: Handle JIRA authentication and initialization.
4. Memory Toolkit¶
The Memory toolkit provides persistent storage capabilities:
- Local and Global Storage: Store memories in both local (.goose/memory) and global (~/.config/goose/memory) locations.
- Categorization: Organize memories with categories and tags.
- Natural Language Format: Store and retrieve memories in natural language format.
- Template Integration: Use memories in system prompts via Jinja templates.
5. RepoContext Toolkit¶
The RepoContext toolkit provides context about the current repository:
- 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 project directory.
6. Screen Toolkit¶
The Screen toolkit assists users in taking screenshots for debugging or designing purposes:
- Take Screenshot: Capture a screenshot and provide the path to the screenshot file.
- System Instructions: Instructions on how to work with screenshots.
7. Summarization Toolkits¶
Goose includes several summarization-focused toolkits:
7.1 SummarizeRepo Toolkit¶
- Repository Analysis: Clone and summarize repositories based on specified extensions.
7.2 SummarizeProject Toolkit¶
- Project Overview: Generate or retrieve summaries of project directories based on specified file extensions.
7.3 SummarizeFile Toolkit¶
- File Content Analysis: Summarize specific files with optional custom instructions.
8. Web Browser Toolkit¶
The Web Browser toolkit provides web interaction capabilities:
- Web Content Access: Fetch and analyze web content.
- URL Handling: Process and validate URLs.
- Content Extraction: Extract relevant information from web pages.
9. Reasoner Toolkit¶
The Reasoner toolkit enhances decision-making capabilities:
- Logical Analysis: Apply reasoning to complex problems.
- Decision Support: Help evaluate options and make informed choices.
- Pattern Recognition: Identify patterns and relationships in data.
10. Synopsis Toolkit¶
The Synopsis toolkit provides core development and system interaction capabilities. Note that this toolkit requires the Synopsis moderator to be enabled to function properly.
- Bash Operations: Execute shell commands with working directory and source file support.
- Text Editing: View, create, replace, and insert content in files with undo support.
- Process Management: Start, list, view output, and cancel background processes.
- Web Content: Fetch and analyze web content with HTML and text extraction.
Important: This toolkit only works when used with the Synopsis moderator. Make sure the Synopsis moderator is enabled in your configuration to use these capabilities.