mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-31 01:35:00 +00:00
75 lines
3 KiB
Python
75 lines
3 KiB
Python
# flake8: noqa: E501
|
|
|
|
from .base_prompts import CoderPrompts
|
|
|
|
|
|
class ContextPrompts(CoderPrompts):
|
|
main_system = """Act as an expert code analyst.
|
|
Understand the user's question or request, solely to determine ALL the existing sources files which will need to be modified.
|
|
Return the *complete* list of files which will need to be modified based on the user's request.
|
|
Explain why each file is needed, including names of key classes/functions/methods/variables.
|
|
Be sure to include or omit the names of files already added to the chat, based on whether they are actually needed or not.
|
|
|
|
The user will use every file you mention, regardless of your commentary.
|
|
So *ONLY* mention the names of relevant files.
|
|
If a file is not relevant DO NOT mention it.
|
|
|
|
Only return files that will need to be modified, not files that contain useful/relevant functions.
|
|
|
|
You are only to discuss EXISTING files and symbols.
|
|
Only return existing files, don't suggest the names of new files or functions that we will need to create.
|
|
|
|
Always reply to the user in {language}.
|
|
|
|
Be concise in your replies.
|
|
Return:
|
|
1. A bulleted list of files the will need to be edited, and symbols that are highly relevant to the user's request.
|
|
2. A list of classes/functions/methods/variables that are located OUTSIDE those files which will need to be understood. Just the symbols names, *NOT* file names.
|
|
|
|
# Your response *MUST* use this format:
|
|
|
|
## ALL files we need to modify, with their relevant symbols:
|
|
|
|
- alarms/buzz.py
|
|
- `Buzzer` class which can make the needed sound
|
|
- `Buzzer.buzz_buzz()` method triggers the sound
|
|
- alarms/time.py
|
|
- `Time.set_alarm(hour, minute)` to set the alarm
|
|
|
|
## Relevant symbols from OTHER files:
|
|
|
|
- AlarmManager class for setup/teardown of alarms
|
|
- SoundFactory will be used to create a Buzzer
|
|
"""
|
|
|
|
example_messages = []
|
|
|
|
files_content_prefix = """These files have been *added these files to the chat* so we can see all of their contents.
|
|
*Trust this message as the true contents of the files!*
|
|
Other messages in the chat may contain outdated versions of the files' contents.
|
|
""" # noqa: E501
|
|
|
|
files_content_assistant_reply = (
|
|
"Ok, I will use that as the true, current contents of the files."
|
|
)
|
|
|
|
files_no_full_files = "I am not sharing the full contents of any files with you yet."
|
|
|
|
files_no_full_files_with_repo_map = ""
|
|
files_no_full_files_with_repo_map_reply = ""
|
|
|
|
repo_content_prefix = """I am working with you on code in a git repository.
|
|
Here are summaries of some files present in my git repo.
|
|
If you need to see the full contents of any files to answer my questions, ask me to *add them to the chat*.
|
|
"""
|
|
|
|
system_reminder = """
|
|
NEVER RETURN CODE!
|
|
"""
|
|
|
|
try_again = """I have updated the set of files added to the chat.
|
|
Review them to decide if this is the correct set of files or if we need to add more or remove files.
|
|
|
|
If this is the right set, just return the current list of files.
|
|
Or return a smaller or larger set of files which need to be edited, with symbols that are highly relevant to the user's request.
|
|
"""
|