goose icon indicating copy to clipboard operation
goose copied to clipboard

Fuzzy Finder for file paths

Open MichaelRPaquette opened this issue 11 months ago • 2 comments

Feature Enhancement Request: Fuzzy Finder for File Selection in Goose Prompts

Please explain the motivation behind the feature request.
Currently, when referencing a file in Goose prompts, users must manually type out or autocomplete the full file path. This can be inefficient when working with large projects or deeply nested file structures. A fuzzy finder integration would allow users to quickly search for and select a file without needing to type the full path, significantly improving usability and efficiency.

Describe the solution you'd like
I propose integrating a fuzzy finder tool (similar to [fzf](https://github.com/junegunn/fzf)) into Goose prompts to allow users to:

  • Trigger a fuzzy search UI within the prompt when needing to reference a file.
  • Search for files dynamically based on partial input, filtering results in real time.
  • Use arrow keys or other navigation shortcuts to select a file.
  • Automatically insert the selected file’s path into the Goose prompt once confirmed.

This would enhance the user experience by making file selection faster and reducing errors when manually typing paths.

Describe alternatives you've considered

  • Relying on shell autocompletion, which requires knowing the exact path structure.
  • Using external tools like find or ls and manually copying the path, which adds unnecessary steps.
  • Writing custom scripts to integrate fuzzy searching into the workflow, but this requires per-user setup rather than being a built-in feature.

Additional context
Integrating a fuzzy finder would be particularly beneficial for users working in large codebases or projects with many files. If there are constraints around dependencies, an alternative could be leveraging an existing lightweight fuzzy matching algorithm within Goose itself.

  • [x] I have verified this does not duplicate an existing feature request

MichaelRPaquette avatar Feb 25 '25 01:02 MichaelRPaquette

@MichaelRPaquette agreed fuzzyfinder is awesome. This is a good idea, but I'm not sure how we'd tackle this. When you input to goose, the text box acts more as a chat window than terminal.

wendytang avatar Feb 27 '25 00:02 wendytang

I don't think we'd be opposed, if you can find a way to fuzzyfinder into the product, feel free to let us know

wendytang avatar Feb 27 '25 00:02 wendytang

@wendytang I was able to get this working with electron IPC

Screenshot 2025-04-16 at 10.03.23 AM.png

spencrmartin avatar Apr 16 '25 14:04 spencrmartin

@spencrmartin is there a PR for this?

DOsinga avatar Jul 02 '25 19:07 DOsinga

Nothing up to date/usable but I could jump back into it to try and get the electron IPC working again

spencrmartin avatar Jul 02 '25 20:07 spencrmartin

I like this feature but I am also aware that we have things that are really on fire

DOsinga avatar Jul 02 '25 20:07 DOsinga

I can pull something back up and try to keep it close to main should we want to bring it in. Will add it to my list.

spencrmartin avatar Jul 02 '25 21:07 spencrmartin

Working in this PR @DOsinga - https://github.com/block/goose/pull/3240

Image

spencrmartin avatar Jul 03 '25 13:07 spencrmartin

Ready to rumble - https://github.com/block/goose/pull/3240

spencrmartin avatar Jul 03 '25 15:07 spencrmartin

I saw, this looks awesome

DOsinga avatar Jul 03 '25 15:07 DOsinga