From fb93e204f1a23ed28ffc9b13c59d82f066ea05e9 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Wed, 28 Aug 2024 08:26:14 -0700 Subject: [PATCH] copy --- aider/website/_includes/multi-line.md | 1 + aider/website/docs/usage/tips.md | 40 +++++++++++++++++++-------- 2 files changed, 30 insertions(+), 11 deletions(-) diff --git a/aider/website/_includes/multi-line.md b/aider/website/_includes/multi-line.md index 910d50407..9d37aadd3 100644 --- a/aider/website/_includes/multi-line.md +++ b/aider/website/_includes/multi-line.md @@ -2,3 +2,4 @@ You can send long, multi-line messages in the chat in a few ways: - Paste a multi-line message directly into the chat. - Enter `{` alone on the first line to start a multiline message and `}` alone on the last line to end it. - Use Meta-ENTER to start a new line without sending the message (Esc+ENTER in some environments). + - Use `/clipboard` to paste text from the clipboard into the chat. diff --git a/aider/website/docs/usage/tips.md b/aider/website/docs/usage/tips.md index 1b3a25225..8b9d6bb9e 100644 --- a/aider/website/docs/usage/tips.md +++ b/aider/website/docs/usage/tips.md @@ -6,21 +6,39 @@ description: Tips for AI pair programming with aider. # Tips -- Think about which files need to be edited to make your change and add them to the chat. -Aider can help the LLM figure out which files to edit all by itself, but the most efficient approach is to add the needed files to the chat yourself. -- Don't add *everything* to the chat, just the files you think need to be edited. -Aider also sends the LLM a [map of your entire git repo](https://aider.chat/docs/repomap.html). -So the LLM can see all the other relevant parts of your code base. -- Large changes are best performed as a sequence of thoughtful bite sized steps, where you plan out the approach and overall design. Walk the LLM through changes like you might with a junior dev. Ask for a refactor to prepare, then ask for the actual change. Spend the time to ask for code quality/structure improvements. -- It's always safe to use Control-C to interrupt aider if it isn't providing a useful response. The partial response remains in the conversation, so you can refer to it when you reply to the LLM with more information or direction. +- **Add just the files that need to be edited to the chat.** +Take a moment and think about which files will need to be changed. +Aider can often figure out which files to edit all by itself, but the most efficient approach is for you to add the files to the chat. +- **Don't add lots of files to the chat**, just the files you think need to be edited. +Too much irrelevant code will distract and confuse the LLM. +Aider uses a [map of your entire git repo](https://aider.chat/docs/repomap.html) +so is usually aware of relevant classes/functions/methods elsewhere in your code base. +It's ok to add 1-2 highly relevant files that don't need to be edited, +but be selective. +- **Break your goal down into bite sized steps.** +Do them one at a time. +Adjust the files added to the chat as you go: `/drop` files that don't need any more changes, `/add` files that need changes for the next step. +- For more complex changes, use `/ask` to +[discuss a plan first](modes.html). +Once you are happy with the approach, just say "go ahead" without the `/ask` prefix. +- Use Control-C to interrupt aider if it isn't providing a useful response. The partial response remains in the conversation, so you can refer to it when you reply with more information or direction. +- **If aider gets stuck** trying to make a change, try: + - Using `/clear` to discard the chat history and make a fresh start. + - Can you `/drop` any extra files? + - Consider using `/ask` to discuss a plan before aider codes. + - If aider is hopelessly stuck, +just code the next step yourself and try having aider code some more after that. +Pair program with aider. - If your code is throwing an error, -use the `/run` [in-chat command](/docs/usage/commands.html) +use the `/run` [in-chat command](commands.html) to share the error output with the aider. Or just paste the errors into the chat. Let the aider figure out and fix the bug. -- If test are failing, use the `/test` [in-chat command](/docs/usage/commands.html) +- If test are failing, use the `/test` [in-chat command](commands.html) to run tests and share the error output with the aider. -- {% include multi-line.md %} - LLMs know about a lot of standard tools and libraries, but may get some of the fine details wrong about API versions and function arguments. -You can paste doc snippets into the chat to resolve these issues. +You can paste doc snippets into the chat or +include a URL to docs in your chat message. +Aider will scrape and read the URL. +- {% include multi-line.md %}