Hi Folks,
gish is a shell command that I now use every day all day. It simplifies my worklow by performing various tasks with just a simple command, and it’s better than github copilot for many tasks.
Examples:
-
gish tell me a joke
will just send the request -
gish -e
puts you in your editor and sends the content when you’re done. -
gish -i foo
sends the content of foo. Equivalent tocat foo | gish
-
gish -m gpt-4
specify the model -
gish -s foo.ts
will save the output to foo.ts.
screencast: to view it in action
github page with more details and installation instruction.
GPT as a better collaborator
This is a real world example of a request that generated the exact code I wanted.
#import ~/work/gish/tasks/coding.txt
Change the following so that it looks for the open AI key in the following fashion:
1. env variable
2. os.home()/.openai
3. Throws an exception telling the user to put it in one of the above, and then exits
#diff ~/work/gish/src/LLM.ts
Gish does the following.
- Incorporates the coding prompt using #import into the request, telling GPT to just provide code.
- Describes the request.
- #diff like #import brings the code into the request, but also tells gish to run the diff program, in my case vimdiff, on the result. I can then pick and choose what to incorporate into my code.
This approach can of course be used for:
- code reviews,
- code documentation
- unit tests