mirror of
https://github.com/aljazceru/goose.git
synced 2025-12-17 22:24:21 +01:00
Co-authored-by: Michael Neale <michael.neale@gmail.com> Co-authored-by: Wendy Tang <wendytang@squareup.com> Co-authored-by: Jarrod Sibbison <72240382+jsibbison-square@users.noreply.github.com> Co-authored-by: Alex Hancock <alex.hancock@example.com> Co-authored-by: Alex Hancock <alexhancock@block.xyz> Co-authored-by: Lifei Zhou <lifei@squareup.com> Co-authored-by: Wes <141185334+wesrblock@users.noreply.github.com> Co-authored-by: Max Novich <maksymstepanenko1990@gmail.com> Co-authored-by: Zaki Ali <zaki@squareup.com> Co-authored-by: Salman Mohammed <smohammed@squareup.com> Co-authored-by: Kalvin C <kalvinnchau@users.noreply.github.com> Co-authored-by: Alec Thomas <alec@swapoff.org> Co-authored-by: lily-de <119957291+lily-de@users.noreply.github.com> Co-authored-by: kalvinnchau <kalvin@block.xyz> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Rizel Scarlett <rizel@squareup.com> Co-authored-by: bwrage <bwrage@squareup.com> Co-authored-by: Kalvin Chau <kalvin@squareup.com> Co-authored-by: Alice Hau <110418948+ahau-square@users.noreply.github.com> Co-authored-by: Alistair Gray <ajgray@stripe.com> Co-authored-by: Nahiyan Khan <nahiyan.khan@gmail.com> Co-authored-by: Alex Hancock <alexhancock@squareup.com> Co-authored-by: Nahiyan Khan <nahiyan@squareup.com> Co-authored-by: marcelle <1852848+laanak08@users.noreply.github.com> Co-authored-by: Yingjie He <yingjiehe@block.xyz> Co-authored-by: Yingjie He <yingjiehe@squareup.com> Co-authored-by: Lily Delalande <ldelalande@block.xyz> Co-authored-by: Adewale Abati <acekyd01@gmail.com> Co-authored-by: Ebony Louis <ebony774@gmail.com> Co-authored-by: Angie Jones <jones.angie@gmail.com> Co-authored-by: Ebony Louis <55366651+EbonyLouis@users.noreply.github.com>
66 lines
3.0 KiB
Markdown
66 lines
3.0 KiB
Markdown
---
|
|
title: Using Goosehints
|
|
sidebar_position: 3
|
|
---
|
|
|
|
# Providing Hints to Goose
|
|
|
|
`.goosehints` is a text file used to provide additional context about your project and improve the communication with Goose. The use of `goosehints` ensures that Goose understands your requirements better and can execute tasks more effectively.
|
|
|
|
:::info Developer extension required
|
|
To make use of the hints file, you need to have the `developer` extension [enabled](../configuration/managing-extensions).
|
|
|
|
:::
|
|
|
|
This guide will walk you through creating and using your `.goosehints` file to streamline your workflow with custom instructions and context.
|
|
|
|
## Creating your `.goosehints` file
|
|
|
|
Create a file named `.goosehints` and save the file in `~/.config/goose/.goosehints`. If saved here, Goose will use this file for every session with you.
|
|
|
|
:::tip
|
|
You can also save `.goosehints` local to any directory. In this case, Goose will utilize the hints when working in that directory.
|
|
:::
|
|
|
|
The `.goosehints` file can include any instructions or contextual details relevant to your projects.
|
|
|
|
A good time to consider adding a `.goosehints` file is when you find yourself repeating prompts, or providing the same kind of instructions multiple times. It's also a great way to provide a lot of context which might be better suited in a file.
|
|
|
|
## Setting up hints
|
|
|
|
The `.goosehints` file supports natural language and also follows [jinja templating rules][jinja-guide], so you can leverage templating to insert file contents or variables.
|
|
|
|
Here are some ways people have used hints to provide additional context to Goose:
|
|
|
|
- **Decision-Making**: Specify if Goose should autonomously make changes or confirm actions with you first.
|
|
|
|
- **Validation Routines**: Provide test cases or validation methods that Goose should perform to ensure changes meet project specifications.
|
|
|
|
- **Feedback Loop**: Include steps that allow Goose to receive feedback and iteratively improve its suggestions.
|
|
|
|
- **Point to more detailed documentation**: Indicate important files like `README.md`, `CONTRIBUTING.md`, or others that Goose should consult for detailed explanations.
|
|
|
|
Like prompts, this is not an extensive list to shape your `.goosehints` file. You can include as much context as you need.
|
|
|
|
Example `.goosehints` file:
|
|
|
|
```jinja
|
|
This is a simple example JavaScript web application that uses the Express.js framework. View [Express documentation](https://expressjs.com/) for extended guidance.
|
|
|
|
Go through the README.md for information on how to build and test it as needed.
|
|
|
|
Make sure to confirm all changes with me before applying.
|
|
|
|
Use the following custom values when needed:
|
|
{%include custom-config.js%}
|
|
|
|
Run tests with `npm run test` ideally after each change.
|
|
```
|
|
|
|
## Best practices
|
|
|
|
- **Keep file updated**: Regularly update the `.goosehints` file to reflect any changes in project protocols or priorities.
|
|
- **Be concise**: Make sure the content is straightforward and to the point, ensuring Goose can quickly parse and act on the information.
|
|
|
|
|
|
[jinja-guide]: https://jinja.palletsprojects.com/en/stable/ |