See also gptel[0], gptai[1], codegpt[3], chatgpt[2], ChatGPT.el[4], gpt.el[5], and I'm sure more I missed. Of these, [0] is my favorite so far, and most focus to greater or lesser degrees on passing regions/whole buffers into GPT for it to digest. This package looks like a great complement!
[0]: https://github.com/karthink/gptel
[1]: https://github.com/antonhibl/gptai
[2]: https://github.com/emacs-openai/chatgpt
[3]: https://github.com/emacs-openai/codegpt