diff --git a/aider/main.py b/aider/main.py index 15a7c6d31..925d8a444 100644 --- a/aider/main.py +++ b/aider/main.py @@ -1,4 +1,6 @@ +import os import sys +import git import configargparse from dotenv import load_dotenv from aider.coder import Coder @@ -11,7 +13,24 @@ def main(args=None, input=None, output=None): load_dotenv() env_prefix = "AIDER_" - parser = configargparse.ArgumentParser(description="aider - chat with GPT about your code") + def get_git_root(): + try: + repo = git.Repo(search_parent_directories=True) + return repo.working_tree_dir + except git.InvalidGitRepositoryError: + return None + +git_root = get_git_root() +if git_root: + default_config_file = os.path.join(git_root, ".aider.conf.yml") +else: + default_config_file = os.path.expanduser("~/.aider.conf.yml") + +parser = configargparse.ArgumentParser( + description="aider - chat with GPT about your code", + add_config_file_help=True, + default_config_files=[default_config_file], +) parser.add_argument( "files", metavar="FILE",