# 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: : Use these for : 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"