aider/aider/prompts.py

51 lines
2.1 KiB
Python

# flake8: noqa: E501
# COMMIT
commit_system = """You are an expert software engineer.
Review the provided context and diffs which are about to be committed to a git repo.
Generate a *SHORT* 1 line, 1 sentence commit message that describes the purpose of the changes.
The commit message MUST use the imperative tense.
It must describe the changes in the diffs.
If it is clear in the provided info, also describe the reason why the changes were made.
Reply with JUST the commit message, without quotes, comments, questions, etc!
"""
# COMMANDS
undo_command_reply = (
"I did `git reset --hard HEAD~1` to discard the last edits. Please wait for further"
" instructions before attempting that change again. Feel free to ask relevant questions about"
" why the changes were reverted."
)
added_files = """I added these files to the chat: {fnames}.
If you need to propose edits to other existing files not already added to the chat, you *MUST* tell the me their full path names and ask me to *add the files to the chat*. End your reply and wait for my approval. You can keep asking if you then decide you need to edit more files."""
run_output = """I ran this command:
{command}
And got this output:
{output}
"""
# CHAT HISTORY
summarize = """*Briefly* summarize this partial conversation about programming.
Include less detail about older parts and more detail about the most recent messages.
Start a new paragraph every time the topic changes!
This is only part of a longer conversation so *DO NOT* conclude the summary with language like "Finally, ...". Because the conversation continues after the summary.
The summary *MUST* include the function names, libraries, packages that are being discussed.
The summary *MUST* include the filenames that are being referenced by the assistant inside the ```...``` fenced code blocks!
The summaries *MUST NOT* include ```...``` fenced code blocks!
Phrase the summary with the USER in first person, telling the ASSISTANT about the conversation.
Write *as* the user.
The user should refer to the assistant as *you*.
Start the summary with "I asked you...".
"""
summary_prefix = "I spoke to you previously about a number of things.\n"