mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-29 16:54:59 +00:00
aider is AI pair programming in your terminal
https://aider.chat/
![]() # Aider chat conversation: USER: https://github.com/paul-gauthier/aider/issues/662 https://github.com/paul-gauthier/aider/issues/662: [Skip to content](#start-of-content) ## Navigation Menu Toggle navigation [](https://github.com/) [Sign in](/login?return_to=https%3A%2F%2Fgithub.com%2Fpaul-gauthier%2Faider%2Fissues%2F662) - Product - [](https://github.com/features/actions) Actions Automate any workflow - [](https://github.com/features/packages) Packages Host and manage packages - [](https://github.com/features/security) Security Find and fix vulnerabilities - [](https://github.com/features/codespaces) Codespaces Instant dev environments - [](https://github.com/features/copilot) GitHub Copilot Write better code with AI - [](https://github.com/features/code-review) Code review Manage code changes - [](https://github.com/features/issues) Issues Plan and track work - [](https://github.com/features/discussions) Discussions Collaborate outside of code Explore - [All features](https://github.com/features) - [Documentation](https://docs.github.com) - [GitHub Skills](https://skills.github.com) - [Blog](https://github.blog) - Solutions For - [Enterprise](https://github.com/enterprise) - [Teams](https://github.com/team) - [Startups](https://github.com/enterprise/startups) - [Education](https://education.github.com) By Solution - [CI/CD & Automation](https://github.com/solutions/ci-cd) - [DevOps](https://github.com/solutions/devops) - [DevSecOps](https://resources.github.com/devops/fundamentals/devsecops) Resources - [Learning Pathways](https://resources.github.com/learn/pathways) - [White papers, Ebooks, Webinars](https://resources.github.com) - [Customer Stories](https://github.com/customer-stories) - [Partners](https://partner.github.com) - Open Source - [](/sponsors) GitHub Sponsors Fund open source developers - [](https://github.com/readme) The ReadME Project GitHub community articles Repositories - [Topics](https://github.com/topics) - [Trending](https://github.com/trending) - [Collections](https://github.com/collections) - Enterprise - [](/enterprise) Enterprise platform AI-powered developer platform Available add-ons - [](https://github.com/enterprise/advanced-security) Advanced Security Enterprise-grade security features - [](/features/copilot#enterprise) GitHub Copilot Enterprise-grade AI features - [](/premium-support) Premium Support Enterprise-grade 24/7 support - [Pricing](https://github.com/pricing) Search or jump to\... # Search code, repositories, users, issues, pull requests\... Search Clear [Search syntax tips](https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax) # Provide feedback We read every piece of feedback, and take your input very seriously. Include my email address so I can be contacted Cancel Submit feedback # Saved searches ## Use saved searches to filter your results more quickly Name Query To see all available qualifiers, see our [documentation](https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax). Cancel Create saved search [Sign in](/login?return_to=https%3A%2F%2Fgithub.com%2Fpaul-gauthier%2Faider%2Fissues%2F662) [Sign up](/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=paul-gauthier%2Faider) You signed in with another tab or window. [Reload]() to refresh your session. You signed out in another tab or window. [Reload]() to refresh your session. You switched accounts on another tab or window. [Reload]() to refresh your session. Dismiss alert {{ message }} ::: {role="main"} [paul-gauthier](/paul-gauthier) / **[aider](/paul-gauthier/aider)** Public - [Notifications](/login?return_to=%2Fpaul-gauthier%2Faider) You must be signed in to change notification settings - [Fork 1.1k](/login?return_to=%2Fpaul-gauthier%2Faider) - [ Star 11.3k](/login?return_to=%2Fpaul-gauthier%2Faider) - [Code ](/paul-gauthier/aider) - [Issues 59](/paul-gauthier/aider/issues) - [Pull requests 14](/paul-gauthier/aider/pulls) - [Actions ](/paul-gauthier/aider/actions) - [Projects 0](/paul-gauthier/aider/projects) - [Security](/paul-gauthier/aider/security) - [Insights ](/paul-gauthier/aider/pulse) Additional navigation options - [ Code ](/paul-gauthier/aider) - [ Issues ](/paul-gauthier/aider/issues) - [ Pull requests ](/paul-gauthier/aider/pulls) - [ Actions ](/paul-gauthier/aider/actions) - [ Projects ](/paul-gauthier/aider/projects) - [ Security ](/paul-gauthier/aider/security) - [ Insights ](/paul-gauthier/aider/pulse) New issue **Have a question about this project?** Sign up for a free GitHub account to open an issue and contact its maintainers and the community. [Sign up for GitHub](/signup?return_to=%2Fpaul-gauthier%2Faider%2Fissues%2Fnew%2Fchoose) By clicking "Sign up for GitHub", you agree to our [terms of service](https://docs.github.com/terms) and [privacy statement](https://docs.github.com/privacy). We'll occasionally send you account related emails. Already on GitHub? [Sign in](/login?return_to=%2Fpaul-gauthier%2Faider%2Fissues%2Fnew%2Fchoose) to your account [Jump to bottom](#issue-comment-box) # Ugly crash during startup when `~/.gitconfig` is missing \[user\] #662 Open [Megamannen](/Megamannen) opened this issue Jun 10, 2024 · 1 comment Open # [Ugly crash during startup when `~/.gitconfig` is missing \[user\]](#top) #662 [Megamannen](/Megamannen) opened this issue Jun 10, 2024 · 1 comment ## Comments [](/Megamannen) Copy link ### **[Megamannen](/Megamannen)** commented [Jun 10, 2024](#issue-2343705266) +-----------------------------------------------------------------------+ | ### Issue | | | | This is my `~/.gitconfig` | | | | | | | | [safe] | | directory = /home/mega/Projects | | | | | | | | | | | | | | | | This is the output: | | | | | | | | aider | | Traceback (most recent call last): | | File "/usr/lib/python3.12/configparser.py", line 767, in get | | value = d[option] | | ~^^^^^^^^ | | File "/u | | sr/lib/python3.12/collections/__init__.py", line 1015, in __getitem__ | | return self.__m | | issing__(key) # support subclasses that define __missing__ | | ^^^^^^^^^^^^^^^^^^^^^ | | File "/u | | sr/lib/python3.12/collections/__init__.py", line 1007, in __missing__ | | raise KeyError(key) | | KeyError: 'name' | | | | | | During handling of the above exception, another exception occurred: | | | | Traceback (most recent call last): | | File "/home/mega/.local/bin/aider", line 8, in <module> | | sys.exit(main()) | | ^^^^^^ | | File "/home/mega/.local/share/pipx/venvs/aide | | r-chat/lib/python3.12/site-packages/aider/main.py", line 306, in main | | git_root = setup_git(git_root, io) | | ^^^^^^^^^^^^^^^^^^^^^^^ | | File "/home/mega/.local/share/pipx/venvs/aider-ch | | at/lib/python3.12/site-packages/aider/main.py", line 68, in setup_git | | user_name = config.get_value("user", "name", None) | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | | File "/home/mega/.local/share/pipx/venvs/aider-cha | | t/lib/python3.12/site-packages/git/config.py", line 793, in get_value | | valuestr = self.get(section, option) | | ^^^^^^^^^^^^^^^^^^^^^^^^^ | | File "/home/mega/.local/share/pipx/venvs/aider-chat/lib/pyth | | on3.12/site-packages/git/config.py", line 114, in assure_data_present | | return func(self, *args, **kwargs) | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | | File "/usr/lib/python3.12/configparser.py", line 770, in get | | raise NoOptionError(option, section) | | configparser.NoOptionError: No option 'name' in section: 'user' | | | | | | | | | | | | | | | | I added my user info to .gitconfig and it works | | | | ### Version and model info | | | | Aider: v0.37.0 | +-----------------------------------------------------------------------+ | | | | | The text was updated successfully, but these errors were encountered: | | | | | +-----------------------------------------------------------------------+ All reactions Copy link Owner ### **[paul-gauthier](/paul-gauthier)** commented [Jun 10, 2024](#issuecomment-2159441132) +-----------------------------------------------------------------------+ | Thanks for trying aider and filing this issue. | | | | I am unable to reproduce this issue. I made my `~/.gitconfig` the | | same as yours and aider does the expected thing: | | | | | | | | $ git init | | | | $ aider | | Update git name with: git config user.name "Your Name" | | Update git email with: git config user.email "you@example.com" | | ... | | | | | | | | | | | | | | | | Can you describe more clearly how to reproduce? | +-----------------------------------------------------------------------+ All reactions Sorry, something went wrong. [Sign up for free](/join?source=comment-repo) **to join this conversation on GitHub**. Already have an account? [Sign in to comment](/login?return_to=https%3A%2F%2Fgithub.com%2Fpaul-gauthier%2Faider%2Fissues%2F662) Assignees No one assigned Labels None yet Projects None yet Milestone No milestone Development No branches or pull requests 2 participants ::: ## Footer [](https://github.com) © 2024 GitHub, Inc. ### Footer navigation - [Terms](https://docs.github.com/site-policy/github-terms/github-terms-of-service) - [Privacy](https://docs.github.com/site-policy/privacy-policies/github-privacy-statement) - [Security](https://github.com/security) - [Status](https://www.githubstatus.com/) - [Docs](https://docs.github.com/) - [Contact](https://support.github.com?tags=dotcom-footer) - Manage cookies - Do not share my personal information You can't perform that action at this time. ASSISTANT: To address the issue described in https://github.com/paul-gauthier/aider/issues/662, we need to handle the case where the `~/.gitconfig` file is missing or does not contain the `user.name` entry. The most likely file to need changes is: - `aider/main.py` Please add `aider/main.py` to the chat so I can propose the necessary changes. USER: I added these files to the chat: aider/main.py. 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. ASSISTANT: To handle the case where the `~/.gitconfig` file is missing or does not contain the `user.name` entry, we need to catch the `configparser.NoOptionError` exception and handle it gracefully. Here are the changes needed: 1. Modify the `setup_git` function to handle the `configparser.NoOptionError` exception. aider/main.py ```python <<<<<<< SEARCH except configparser.NoSectionError: ======= except (configparser.NoSectionError, configparser.NoOptionError): >>>>>>> REPLACE ``` This change will ensure that the code handles the case where the `user.name` or `user.email` is missing in the `~/.gitconfig` file without crashing. |
||
---|---|---|
.github | ||
aider | ||
benchmark | ||
docker | ||
scripts | ||
website | ||
.dockerignore | ||
.flake8 | ||
.gitignore | ||
.pre-commit-config.yaml | ||
CNAME | ||
CONTRIBUTING.md | ||
dev-requirements.in | ||
dev-requirements.txt | ||
HISTORY.md | ||
LICENSE.txt | ||
MANIFEST.in | ||
pytest.ini | ||
README.md | ||
requirements.in | ||
requirements.txt | ||
setup.py |
Aider is AI pair programming in your terminal
Aider lets you pair program with LLMs, to edit code in your local git repository. Start a new project or work with an existing git repo. Aider works best with GPT-4o and Claude 3 Opus and can connect to almost any LLM.
Getting started
You can get started quickly like this:
$ pip install aider-chat
# To work with GPT-4o
$ export OPENAI_API_KEY=your-key-goes-here
$ aider
# To work with Claude 3 Opus:
$ export ANTHROPIC_API_KEY=your-key-goes-here
$ aider --opus
See the installation instructions and other documentation for more details.
Features
- Chat with aider about your code:
aider <file1> <file2> ...
- Ask for changes:
- New features, test cases, improvements.
- Bug fixes, updated docs or code refactors.
- Paste in a GitHub issue that needs to be solved.
- Aider will edit your files to complete your request.
- Aider automatically git commits changes with a sensible commit message.
- Aider works with most popular languages: python, javascript, typescript, php, html, css, and more...
- Aider works best with GPT-4o and Claude 3 Opus and can connect to almost any LLM.
- Aider can make coordinated changes across multiple files at once.
- Aider uses a map of your entire git repo, which helps it work well in larger codebases.
- You can also edit files in your editor while chatting with aider. Aider will notice and always use the latest version. So you can bounce back and forth between aider and your editor, to collaboratively code with AI.
- Images can be added to the chat (GPT-4o, GPT-4 Turbo, etc).
- URLs can be added to the chat and aider will read their content.
- Code with your voice using speech recognition.
State of the art
Aider has the top score on SWE Bench. SWE Bench is a challenging software engineering benchmark where aider solved real GitHub issues from popular open source projects like django, scikitlearn, matplotlib, etc.
Documentation
Kind words from users
- The best free open source AI coding assistant. -- IndyDevDan
- The best AI coding assistant so far. -- Matthew Berman
- Aider ... has easily quadrupled my coding productivity. -- SOLAR_FIELDS
- It's a cool workflow... Aider's ergonomics are perfect for me. -- qup
- It's really like having your senior developer live right in your Git repo - truly amazing! -- rappster
- What an amazing tool. It's incredible. -- valyagolev
- Aider is such an astounding thing! -- cgrothaus
- It was WAY faster than I would be getting off the ground and making the first few working versions. -- Daniel Feldman
- THANK YOU for Aider! It really feels like a glimpse into the future of coding. -- derwiki
- It's just amazing. It is freeing me to do things I felt were out my comfort zone before. -- Dougie
- This project is stellar. -- funkytaco
- Amazing project, definitely the best AI coding assistant I've used. -- joshuavial
- I absolutely love using Aider ... It makes software development feel so much lighter as an experience. -- principalideal0
- I have been recovering from multiple shoulder surgeries ... and have used aider extensively. It has allowed me to continue productivity. -- codeninja
- I am an aider addict. I'm getting so much more work done, but in less time. -- dandandan
- After wasting $100 on tokens trying to find something better, I'm back to Aider. It blows everything else out of the water hands down, there's no competition whatsoever. -- SystemSculpt
- Hands down, this is the best AI coding assistant tool so far. -- IndyDevDan
- Best agent for actual dev work in existing codebases. -- Nick Dobos