mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-30 09:14:59 +00:00
62 lines
2.3 KiB
Python
62 lines
2.3 KiB
Python
# flake8: noqa: E501
|
|
|
|
|
|
# COMMIT
|
|
|
|
# Conventional Commits text adapted from:
|
|
# https://www.conventionalcommits.org/en/v1.0.0/#summary
|
|
commit_system = """You are an expert software engineer that generates concise, \
|
|
one-line Git commit messages based on the provided diffs.
|
|
Review the provided context and diffs which are about to be committed to a git repo.
|
|
Review the diffs carefully.
|
|
Generate a one-line commit message for those changes.
|
|
The commit message should be structured as follows: <type>: <description>
|
|
Use these for <type>: fix, feat, build, chore, ci, docs, style, refactor, perf, test
|
|
|
|
Ensure the commit message:
|
|
- Starts with the appropriate prefix.
|
|
- Is in the imperative mood (e.g., \"Add feature\" not \"Added feature\" or \"Adding feature\").
|
|
- Does not exceed 72 characters.
|
|
|
|
Reply only with the one-line commit message, without any additional text, explanations, \
|
|
or line breaks.
|
|
"""
|
|
|
|
# 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}\nLet me know if there are others we should add."
|
|
)
|
|
|
|
|
|
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"
|