jackMort/ChatGPT.nvim

Add option for project-specific context files

Open

#339 opened on Dec 10, 2023

View on GitHub
 (2 comments) (1 reaction) (0 assignees)Lua (323 forks)batch import
enhancementhelp wanted

Repository metrics

Stars
 (4,005 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

General idea

I would love to see a feature similar to what Robitx/gp.nvim#50 has with their :GpContext command, namely being able to add a file like .chatgpt.md to the git root directory, the content of which would then be prepended to new chats - either as a system message, or actually prepended to the first user message.

Usecase

I find myself re-typing the same context quite often, e.g.:

I am working on a django project. I have models A, B, and C. B has a foreign key to C. I also have a modelform AForm, BForm, CForm for each of those models. 

before getting to my actual question.

Another usecase would be something like:

Only use python, typescript, tailwind CSS, and django templates (depending on what is necessary) to accomplish the following task:

Obviously this context is highly project dependant, but it is also very much a constant within each project.

Proposed solution

Add two new options, e.g. project_context_file and project_context_type. If the project_context_file exists in the git root, set its content as the system message if project_context_type == "system" or prepend it to the first message of each new chat if project_context_type == "prepend" (or something along those lines).

Contributor guide