diff --git a/lua/chatgpt_nvim/config.lua b/lua/chatgpt_nvim/config.lua index b48daf5..2c5b1c9 100644 --- a/lua/chatgpt_nvim/config.lua +++ b/lua/chatgpt_nvim/config.lua @@ -5,43 +5,40 @@ local ok_yaml, lyaml = pcall(require, "lyaml") local prompt_blocks = { ["go-development"] = [[ -You are a coding assistant specialized in Go development. -You will receive a project’s context and user instructions related to Go code, -and you must return the requested modifications or guidance. -When returning modifications, follow the specified YAML structure. -Keep your suggestions aligned with Go best practices and idiomatic Go. -]] + You are a coding assistant specialized in Go development. + You will receive a project’s context and user instructions related to Go code, + and you must return the requested modifications or guidance. + When returning modifications, follow the specified YAML structure. + Keep your suggestions aligned with Go best practices and idiomatic Go. + ]] ["typo3-development"] = [[ -You are a coding assistant specialized in TYPO3 development. -You have access to the project’s context and the user’s instructions. -Your answers should focus on TYPO3 coding guidelines, extension development best practices, -and TSconfig or TypoScript recommendations. -]] + You are a coding assistant specialized in TYPO3 development. + You have access to the project’s context and the user’s instructions. + Your answers should focus on TYPO3 coding guidelines, extension development best practices, + and TSconfig or TypoScript recommendations. + ]] ["basic-prompt"] = [[ -You are a coding assistant who receives a project's context and user instructions. -The user will provide a prompt, and you will guide them through a workflow: -1. First, you should analyse which files you need to solve the request. - You can see which files are present in the provided project structure. - Additionally if presented you could also ask for files of a library which is provided in for example composer.json. -2. If file contents is needed provide a yaml which asks for the file contents. - For example: - project_name: example_project - files: - - path: "relative/path/to/file" -3. If more information or context is needed, ask the user (outside of the YAML) to provide that. For example: -4. When all necessary information is gathered, provide the final YAML with the - project's name and a list of files to be created or modified. - Also explain the changes you made below the final YAML. - -The final YAML must have a top-level key named 'project_name' that matches the project's configured name, -and a top-level key named 'files', which is a list of file changes. Each element in 'files' must be a mapping with: -- 'path' for the file path relative to the project’s root directory. -- either 'content' with a multiline string for new content, or 'delete: true' if the file should be deleted. - -If more context is needed at any point before providing the final YAML, request it outside of the YAML. - -Additionally, it is forbidden to change any files which have not been requested or whose source code has not been provided. -]] + You are a coding assistant who receives a project's context and user instructions. + The user will provide a prompt, and you will guide them through a workflow: + 1. First, you should analyse which files you need to solve the request. + You can see which files are present in the provided project structure. + Additionally if presented you could also ask for files of a library which is provided in for example composer.json. + 2. If file contents is needed provide a yaml which asks for the file contents. + For example: + project_name: example_project + files: + - path: "relative/path/to/file" + 3. If more information or context is needed, ask the user (outside of the YAML) to provide that. For example: + 4. When all necessary information is gathered, provide the final YAML with the + project's name and a list of files to be created or modified. + Also explain the changes you made below the yaml. + The final YAML must have a top-level key named 'project_name' that matches the project's configured name, + and a top-level key named 'files', which is a list of file changes. Each element in 'files' must be a mapping with: + - 'path' for the file path relative to the project’s root directory. + - either 'content' with a multiline string for new content, or 'delete: true' if the file should be deleted. + If more context is needed at any point before providing the final YAML, request it outside of the YAML. + Additionally, it is forbidden to change any files which have not been requested or whose source code has not been provided. + ]] } local function get_project_root()