aider is AI pair programming in your terminal
This report presents the forensic synthetic code analysis of Aider-AI/aider, a Python project with 47,361 GitHub stars. SynthScan v2.0 examined 92,495 lines of code across 372 source files, recording 1178 pattern matches distributed across 22 syntactic categories. The overall adjusted score of 17.4 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 1178 distinct pattern matches across 22 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/benchmark.py | 43 | def find_latest_benchmark_dir(): | CODE |
| LOW | benchmark/problem_stats.py | 16 | def get_dirs_from_leaderboard(): | CODE |
| LOW | benchmark/problem_stats.py | 62 | def analyze_exercise_solutions(dirs=None, topn=None, copy_hard_set=False): | CODE |
| LOW | benchmark/refactor_tools.py | 23 | def verify_full_func_at_top_level(tree, func, func_children): | CODE |
| LOW | benchmark/refactor_tools.py | 43 | def verify_old_class_children(tree, old_class, old_class_children): | CODE |
| LOW | benchmark/test_benchmark.py | 20 | def test_cleanup_test_output_lines(self): | CODE |
| LOW | aider/repomap.py | 629 | def get_ranked_tags_map_uncached( | CODE |
| LOW | aider/repomap.py | 832 | def get_supported_languages_md(): | CODE |
| LOW | aider/models.py | 437 | def apply_generic_model_settings(self, model): | CODE |
| LOW | aider/models.py | 712 | def fast_validate_environment(self): | CODE |
| LOW | aider/models.py | 934 | def github_copilot_token_to_open_ai_key(self, extra_headers): | CODE |
| LOW | aider/models.py | 1282 | def get_model_settings_as_yaml(): | CODE |
| LOW | aider/models.py | 223 | def get_model_from_cached_json_db(self, model): | STRING |
| LOW | aider/models.py | 276 | def fetch_openrouter_model_info(self, model): | STRING |
| LOW | aider/onboarding.py | 44 | def try_to_select_default_model(): | CODE |
| LOW | aider/onboarding.py | 214 | def start_openrouter_oauth_flow(io, analytics): | CODE |
| LOW | aider/deprecated.py | 1 | def add_deprecated_model_args(parser, group): | CODE |
| LOW | aider/deprecated.py | 86 | def handle_deprecated_model_args(args, io): | CODE |
| LOW | aider/io.py | 1054 | def get_default_notification_command(self): | CODE |
| LOW | aider/voice.py | 116 | def raw_record_and_transcribe(self, history, language): | CODE |
| LOW | aider/mdstream.py | 122 | def _render_markdown_to_lines(self, text): | CODE |
| LOW | aider/utils.py | 148 | def split_chat_history_markdown(text, include_tool=False): | CODE |
| LOW | aider/run_cmd.py | 26 | def get_windows_parent_process_name(): | CODE |
| LOW | aider/main.py | 43 | def check_config_files_for_yes(config_files): | CODE |
| LOW | aider/main.py | 217 | def write_streamlit_credentials(): | CODE |
| LOW | aider/main.py | 305 | def generate_search_path_list(default_file, git_root, command_line_file): | CODE |
| LOW | aider/main.py | 1183 | def is_first_run_of_new_version(io, verbose=False): | CODE |
| LOW | aider/linter.py | 272 | def find_filenames_and_linenums(text, fnames): | CODE |
| LOW | aider/commands.py | 702 | def completions_raw_read_only(self, document, complete_event): | CODE |
| LOW | aider/args_formatter.py | 74 | def _format_action_invocation(self, action): | STRING |
| LOW | aider/args_formatter.py | 168 | def _format_action_invocation(self, action): | STRING |
| LOW | aider/args_formatter.py | 224 | def _format_action_invocation(self, action): | STRING |
| LOW | aider/report.py | 157 | def report_uncaught_exceptions(): | CODE |
| LOW | aider/coders/single_wholefile_func_coder.py | 41 | def add_assistant_reply_to_cur_messages(self, edited): | CODE |
| LOW | aider/coders/single_wholefile_func_coder.py | 49 | def render_incremental_response(self, final=False): | CODE |
| LOW | aider/coders/wholefile_func_coder.py | 52 | def add_assistant_reply_to_cur_messages(self, edited): | CODE |
| LOW | aider/coders/wholefile_func_coder.py | 60 | def render_incremental_response(self, final=False): | CODE |
| LOW | aider/coders/search_replace.py | 448 | def git_cherry_pick_osr_onto_o(texts): | STRING |
| LOW | aider/coders/search_replace.py | 485 | def git_cherry_pick_sr_onto_so(texts): | STRING |
| LOW | aider/coders/search_replace.py | 565 | def flexible_search_and_replace(texts, strategies): | STRING |
| LOW | aider/coders/wholefile_coder.py | 16 | def render_incremental_response(self, final): | CODE |
| LOW | aider/coders/base_coder.py | 659 | def get_read_only_files_content(self): | CODE |
| LOW | aider/coders/base_coder.py | 684 | def get_ident_filename_matches(self, idents): | CODE |
| LOW | aider/coders/base_coder.py | 763 | def get_readonly_files_messages(self): | CODE |
| LOW | aider/coders/base_coder.py | 1702 | def add_assistant_reply_to_cur_messages(self): | CODE |
| LOW | aider/coders/base_coder.py | 1977 | def live_incremental_response(self, final): | CODE |
| LOW | aider/coders/base_coder.py | 1983 | def render_incremental_response(self, final): | CODE |
| LOW | aider/coders/base_coder.py | 1994 | def calculate_and_show_tokens_and_cost(self, messages, completion=None): | CODE |
| LOW | aider/coders/base_coder.py | 2070 | def compute_costs_from_tokens( | CODE |
| LOW | aider/coders/base_coder.py | 2128 | def get_multi_response_content_in_progress(self, final=False): | CODE |
| LOW | aider/coders/base_coder.py | 2143 | def get_inchat_relative_files(self): | CODE |
| LOW | aider/coders/base_coder.py | 2169 | def get_addable_relative_files(self): | CODE |
| LOW | aider/coders/editblock_func_coder.py | 87 | def render_incremental_response(self, final=False): | CODE |
| LOW | aider/coders/chat_chunks.py | 28 | def add_cache_control_headers(self): | CODE |
| LOW | aider/coders/udiff_coder.py | 201 | def flexi_just_search_and_replace(texts): | CODE |
| LOW | aider/coders/udiff_coder.py | 243 | def cleanup_pure_whitespace_lines(lines): | CODE |
| LOW | aider/coders/patch_coder.py | 412 | def _parse_update_file_sections( | CODE |
| LOW | aider/coders/editblock_coder.py | 157 | def replace_most_similar_chunk(whole, part, replace): | STRING |
| LOW | aider/coders/editblock_coder.py | 243 | def replace_part_with_missing_leading_whitespace(whole_lines, part_lines, replace_lines): | CODE |
| LOW | aider/coders/editblock_coder.py | 276 | def match_but_for_leading_whitespace(whole_lines, part_lines): | CODE |
| 345 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | benchmark/problem_stats.py | 318 | # Create a set of (exercise, language) pairs from hard_set | COMMENT |
| MEDIUM | benchmark/rsync.sh | 13 | # Create a temporary file for rsync exclude patterns | COMMENT |
| MEDIUM | aider/repomap.py | 585 | # Create a cache key | COMMENT |
| MEDIUM | aider/waiting.py | 78 | self.frame_idx = Spinner.last_frame_idx # Initialize from class variable | CODE |
| MEDIUM | aider/commands.py | 709 | # Create a new Document object with the text after the command | COMMENT |
| MEDIUM | aider/coders/search_replace.py | 711 | # Create a 2D table with directories along the right and methods along the top | STRING |
| MEDIUM | aider/coders/search_replace.py | 729 | # Create a results matrix | STRING |
| MEDIUM | tests/basic/test_reasoning.py | 42 | # Create a mock hash object | COMMENT |
| MEDIUM | tests/basic/test_reasoning.py | 136 | # Create a mock hash object | COMMENT |
| MEDIUM | tests/basic/test_reasoning.py | 224 | # Create a mock hash object | COMMENT |
| MEDIUM | tests/basic/test_reasoning.py | 321 | # Create a mock hash object | COMMENT |
| MEDIUM | tests/basic/test_reasoning.py | 432 | # Create a mock hash object | COMMENT |
| MEDIUM | tests/basic/test_reasoning.py | 528 | # Create a mock hash object | COMMENT |
| MEDIUM | tests/basic/test_repomap.py | 22 | # Create a temporary directory with sample files for testing | COMMENT |
| MEDIUM⚡ | tests/basic/test_repomap.py | 164 | # Create a temporary directory with a sample Python file containing identifiers | COMMENT |
| MEDIUM⚡ | tests/basic/test_repomap.py | 247 | # Create a temporary directory with sample files for testing | STRING |
| MEDIUM | tests/basic/test_aws_credentials.py | 20 | # Create a model instance | COMMENT |
| MEDIUM | tests/basic/test_aws_credentials.py | 52 | # Create a model instance | COMMENT |
| MEDIUM | tests/basic/test_aws_credentials.py | 84 | # Create a model instance | COMMENT |
| MEDIUM | tests/basic/test_aws_credentials.py | 115 | # Create a model instance | COMMENT |
| MEDIUM | tests/basic/test_aws_credentials.py | 147 | # Create a model instance | COMMENT |
| MEDIUM | tests/basic/test_watch.py | 24 | # Create a temporary gitignore file with test patterns | COMMENT |
| MEDIUM | tests/basic/test_watch.py | 76 | # Create a test directory structure | COMMENT |
| MEDIUM⚡ | tests/basic/test_editor.py | 87 | # Create a temporary Python script that logs its arguments | COMMENT |
| MEDIUM | tests/basic/test_find_or_blocks.py | 81 | # Create a StringIO object to capture the output | COMMENT |
| MEDIUM⚡ | tests/basic/test_editblock.py | 326 | # Create a few temporary files | STRING |
| MEDIUM⚡ | tests/basic/test_editblock.py | 334 | # Initialize the Coder object with the mocked IO and mocked repo | STRING |
| MEDIUM | tests/basic/test_editblock.py | 364 | # Create a few temporary files | STRING |
| MEDIUM | tests/basic/test_editblock.py | 372 | # Initialize the Coder object with the mocked IO and mocked repo | STRING |
| MEDIUM | tests/basic/test_editblock.py | 399 | # Create a few temporary files | STRING |
| MEDIUM | tests/basic/test_editblock.py | 409 | # Initialize the Coder object with the mocked IO and mocked repo | STRING |
| MEDIUM | tests/basic/test_exceptions.py | 93 | # Create an APIConnectionError with OpenrouterException message | COMMENT |
| MEDIUM | tests/basic/test_model_info_manager.py | 14 | # Create a temporary directory for cache | COMMENT |
| MEDIUM | tests/basic/test_model_info_manager.py | 44 | # Create a cache file | COMMENT |
| MEDIUM | tests/basic/test_io.py | 367 | # Create a message with invalid Unicode that can't be encoded in UTF-8 | COMMENT |
| MEDIUM | tests/basic/test_deprecated.py | 120 | # Create a mock IO instance | COMMENT |
| MEDIUM | tests/basic/test_repo.py | 447 | # Create a temporary directory | COMMENT |
| MEDIUM | tests/basic/test_repo.py | 589 | # Create a new repo | COMMENT |
| MEDIUM | tests/basic/test_repo.py | 646 | # Create a new repo | COMMENT |
| MEDIUM | tests/basic/test_repo.py | 649 | # Create a file to commit | COMMENT |
| MEDIUM⚡ | tests/basic/test_commands.py | 224 | # Create a directory and add files to it using pathlib | COMMENT |
| MEDIUM⚡ | tests/basic/test_commands.py | 998 | # Create a directory structure with files | COMMENT |
| MEDIUM⚡ | tests/basic/test_commands.py | 1135 | # Define a command that prints to stderr and exits with non-zero status | COMMENT |
| MEDIUM⚡ | tests/basic/test_commands.py | 1419 | # Create a subdirectory and a test file within it | COMMENT |
| MEDIUM⚡ | tests/basic/test_commands.py | 1457 | # Create a test file in the repo | COMMENT |
| MEDIUM⚡ | tests/basic/test_commands.py | 1494 | # Create a test file in a subdirectory | COMMENT |
| MEDIUM⚡ | tests/basic/test_commands.py | 1596 | # Create a test file in the user's home directory | COMMENT |
| MEDIUM | tests/basic/test_commands.py | 336 | # Create a new file foo.bad which will fail to decode as utf-8 | COMMENT |
| MEDIUM | tests/basic/test_commands.py | 349 | # Create a file in the temporary directory | COMMENT |
| MEDIUM | tests/basic/test_commands.py | 526 | # Create a small repository with a few files | COMMENT |
| MEDIUM | tests/basic/test_commands.py | 918 | # Create a test image file | COMMENT |
| MEDIUM | tests/basic/test_commands.py | 1063 | # Create a test file | COMMENT |
| MEDIUM | tests/basic/test_commands.py | 1295 | # Create a file that matches the gitignore pattern | COMMENT |
| MEDIUM | tests/basic/test_commands.py | 1387 | # Create a test file | COMMENT |
| MEDIUM | tests/basic/test_commands.py | 2112 | # Create a temporary file with commands | COMMENT |
| MEDIUM | tests/basic/test_commands.py | 2152 | # Create the initial Coder | COMMENT |
| MEDIUM | tests/basic/test_models.py | 161 | # Create a model instance to test the parse_token_value method | COMMENT |
| MEDIUM⚡ | tests/basic/test_main.py | 466 | # Create a dirty file in the root | COMMENT |
| MEDIUM⚡ | tests/basic/test_main.py | 476 | # Create a subdirectory | COMMENT |
| MEDIUM | tests/basic/test_main.py | 163 | # Create an ignored file | COMMENT |
| 53 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | benchmark/benchmark.py | 46 | print("Error: No benchmark directories found under tmp.benchmarks.") | CODE |
| MEDIUM | benchmark/benchmark.py | 67 | print("Error: No benchmark directories found from the last 24 hours.") | CODE |
| MEDIUM | benchmark/benchmark.py | 84 | print("Error: No .md files found in recent benchmark directories.") | CODE |
| LOW | benchmark/benchmark.py | 335 | except Exception as e: | CODE |
| MEDIUM | benchmark/benchmark.py | 336 | print(f"Error loading model settings: {e}") | CODE |
| LOW | benchmark/benchmark.py | 669 | except Exception: | CODE |
| MEDIUM | benchmark/benchmark.py | 666 | def run_test(original_dname, testdir, *args, **kwargs): | CODE |
| LOW | aider/repomap.py | 287 | except Exception as err: | CODE |
| LOW | aider/repomap.py | 349 | except Exception: # On Windows, bad ref to time.clock which is deprecated? | CODE |
| MEDIUM | aider/repomap.py | 169 | def get_rel_fname(self, fname): | CODE |
| LOW | aider/versioncheck.py | 90 | except Exception as err: | STRING |
| MEDIUM | aider/models.py | 203 | def _update_cache(self): | CODE |
| MEDIUM | aider/models.py | 322 | print("Error fetching openrouter info:", str(e)) | STRING |
| LOW | aider/models.py | 654 | except Exception as err: | CODE |
| LOW | aider/models.py | 668 | except Exception as err: | CODE |
| LOW | aider/models.py | 1105 | except Exception as e: | CODE |
| LOW | aider/models.py | 1128 | except Exception as e: | CODE |
| LOW | aider/models.py | 215 | except Exception as ex: | STRING |
| LOW | aider/models.py | 256 | except Exception as ex: | STRING |
| LOW | aider/models.py | 321 | except Exception as e: | STRING |
| LOW | aider/openrouter.py | 25 | except Exception: # noqa: BLE001 | CODE |
| LOW | aider/openrouter.py | 123 | except Exception as ex: # noqa: BLE001 | CODE |
| MEDIUM | aider/openrouter.py | 114 | def _update_cache(self) -> None: | CODE |
| LOW | aider/onboarding.py | 39 | except Exception: | CODE |
| LOW | aider/onboarding.py | 208 | except Exception as e: | CODE |
| LOW | aider/onboarding.py | 279 | except Exception as e: | CODE |
| LOW | aider/onboarding.py | 321 | except Exception: | CODE |
| LOW | aider/onboarding.py | 374 | except Exception as e: | CODE |
| MEDIUM | aider/onboarding.py | 175 | def exchange_code_for_key(code, code_verifier, io): | CODE |
| LOW | aider/io.py | 66 | except Exception: | CODE |
| LOW | aider/io.py | 140 | except Exception: # On Windows, bad ref to time.clock which is deprecated | CODE |
| LOW | aider/io.py | 360 | except Exception as err: | CODE |
| LOW | aider/io.py | 449 | except Exception as e: | CODE |
| LOW | aider/io.py | 679 | except Exception as err: | CODE |
| LOW | aider/io.py | 1099 | except Exception as e: | CODE |
| MEDIUM | aider/io.py | 435 | def read_image(self, filename): | CODE |
| LOW⚡ | aider/__init__.py | 8 | except Exception: | CODE |
| LOW⚡ | aider/__init__.py | 17 | except Exception: | CODE |
| MEDIUM | aider/voice.py | 112 | print(f"Error: {e}") | CODE |
| MEDIUM⚡ | aider/voice.py | 161 | print(f"Error converting audio: {e}") | CODE |
| LOW⚡ | aider/voice.py | 164 | except Exception as e: | CODE |
| LOW⚡ | aider/voice.py | 172 | except Exception as err: | CODE |
| LOW | aider/mdstream.py | 146 | except Exception: | CODE |
| LOW | aider/copypaste.py | 35 | except Exception as e: | CODE |
| LOW | aider/waiting.py | 96 | except Exception: | CODE |
| LOW | aider/utils.py | 221 | except Exception: | CODE |
| LOW | aider/run_cmd.py | 38 | except Exception: | CODE |
| LOW | aider/run_cmd.py | 85 | except Exception as e: | CODE |
| MEDIUM | aider/run_cmd.py | 11 | def run_cmd(command, verbose=False, error_print=None, cwd=None): | CODE |
| MEDIUM | aider/args.py | 927 | print(f"Error: Unsupported shell '{shell}'.", file=sys.stderr) | CODE |
| MEDIUM | aider/args.py | 934 | print("Error: Please specify a shell for completion.", file=sys.stderr) | CODE |
| LOW | aider/watch.py | 118 | except Exception: | CODE |
| LOW | aider/watch.py | 159 | except Exception as e: | CODE |
| LOW | aider/editor.py | 64 | except Exception: | CODE |
| MEDIUM | aider/main.py | 386 | print(f"Error loading {fname}: {e}") | CODE |
| MEDIUM | aider/main.py | 88 | def make_new_repo(git_root, io): | CODE |
| MEDIUM | aider/main.py | 1226 | def check_and_load_imports(io, is_first_run, verbose=False): | CODE |
| LOW | aider/main.py | 55 | except Exception: | CODE |
| LOW | aider/main.py | 349 | except Exception as e: | CODE |
| LOW | aider/main.py | 385 | except Exception as e: | CODE |
| 77 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | requirements.txt | 1 | # This file was autogenerated by uv via the following command: | COMMENT |
| LOW | requirements.txt | 21 | # via | COMMENT |
| LOW | requirements.txt | 41 | backoff==2.2.1 | COMMENT |
| LOW | requirements.txt | 61 | charset-normalizer==3.4.6 | COMMENT |
| LOW | requirements.txt | 81 | # -r requirements/requirements.in | COMMENT |
| LOW | requirements.txt | 101 | # -c requirements/common-constraints.txt | COMMENT |
| LOW | requirements.txt | 121 | # via | COMMENT |
| LOW | requirements.txt | 141 | # mixpanel | COMMENT |
| LOW | requirements.txt | 161 | # -c requirements/common-constraints.txt | COMMENT |
| LOW | requirements.txt | 181 | # via | COMMENT |
| LOW | requirements.txt | 201 | # via | COMMENT |
| LOW | requirements.txt | 221 | # via | COMMENT |
| LOW | requirements.txt | 241 | # -r requirements/requirements.in | COMMENT |
| LOW | requirements.txt | 261 | # via | COMMENT |
| LOW | requirements.txt | 281 | pycparser==3.0 | COMMENT |
| LOW | requirements.txt | 301 | # via | COMMENT |
| LOW | requirements.txt | 321 | # via | COMMENT |
| LOW | requirements.txt | 341 | # mixpanel | COMMENT |
| LOW | requirements.txt | 361 | shtab==1.8.0 | COMMENT |
| LOW | requirements.txt | 381 | # -r requirements/requirements.in | COMMENT |
| LOW | requirements.txt | 401 | # litellm | COMMENT |
| LOW | requirements.txt | 421 | # tree-sitter-language-pack | COMMENT |
| LOW | requirements.txt | 441 | # huggingface-hub | COMMENT |
| LOW | requirements.txt | 461 | # -r requirements/requirements.in | COMMENT |
| LOW | requirements.txt | 481 | # This is the one networkx dependency that we need. | COMMENT |
| LOW | aider/args_formatter.py | 21 | # Sample aider .env file. | COMMENT |
| LOW | aider/coders/search_replace.py | 181 | # This is great, because once we sync up after a big gap the nearby | COMMENT |
| LOW | aider/resources/__init__.py | 1 | # This ensures that importlib_resources.files("aider.resources") | COMMENT |
| LOW | aider/resources/model-settings.yml | 1581 | # temperature: 0.7 | COMMENT |
| LOW | aider/website/install.sh | 961 | fi | COMMENT |
| LOW | aider/website/install.sh | 981 | # other env-vars than $HOME, they are more likely to be only set temporarily | COMMENT |
| LOW | aider/website/install.sh | 1001 | # | COMMENT |
| LOW | aider/website/install.sh | 1241 | # After each GitHub Action, the contents will be added to PATH. | COMMENT |
| LOW | aider/website/docs/config/aider_conf.md | 61 | # Note: You can only put OpenAI and Anthropic API keys in the YAML | COMMENT |
| LOW | aider/website/docs/config/aider_conf.md | 81 | #openai-api-key: xxx | COMMENT |
| LOW | aider/website/docs/config/aider_conf.md | 101 | ## Set an environment variable (to control API settings, can be used multiple times) | COMMENT |
| LOW | aider/website/docs/config/aider_conf.md | 121 | #list-models: xxx | COMMENT |
| LOW | aider/website/docs/config/aider_conf.md | 141 | #thinking-tokens: xxx | COMMENT |
| LOW | aider/website/docs/config/aider_conf.md | 161 | ## Specify the model to use for editor tasks (default depends on --model) | COMMENT |
| LOW | aider/website/docs/config/aider_conf.md | 181 | COMMENT | |
| LOW | aider/website/docs/config/aider_conf.md | 201 | #input-history-file: .aider.input.history | COMMENT |
| LOW | aider/website/docs/config/aider_conf.md | 221 | ## Enable/disable pretty, colorized output (default: True) | COMMENT |
| LOW | aider/website/docs/config/aider_conf.md | 241 | COMMENT | |
| LOW | aider/website/docs/config/aider_conf.md | 261 | # Git settings: | COMMENT |
| LOW | aider/website/docs/config/aider_conf.md | 281 | ## Enable/disable commits when repo is found dirty (default: True) | COMMENT |
| LOW | aider/website/docs/config/aider_conf.md | 301 | COMMENT | |
| LOW | aider/website/docs/config/aider_conf.md | 321 | #lint: false | COMMENT |
| LOW | aider/website/docs/config/aider_conf.md | 341 | #test: false | COMMENT |
| LOW | aider/website/docs/config/aider_conf.md | 361 | ############ | COMMENT |
| LOW | aider/website/docs/config/aider_conf.md | 381 | COMMENT | |
| LOW | aider/website/docs/config/aider_conf.md | 401 | #apply-clipboard-edits: false | COMMENT |
| LOW | aider/website/docs/config/aider_conf.md | 421 | ## Specify the input device name for voice recording | COMMENT |
| LOW | aider/website/docs/config/aider_conf.md | 441 | #read: | COMMENT |
| LOW | aider/website/docs/config/aider_conf.md | 461 | ## Load and execute /commands from a file on launch | COMMENT |
| LOW | aider/website/docs/config/aider_conf.md | 481 | COMMENT | |
| LOW | aider/website/docs/config/aider_conf.md | 501 | # Deprecated model settings: | COMMENT |
| LOW | aider/website/docs/config/aider_conf.md | 521 | ## Use gpt-4-1106-preview model for the main chat (deprecated, use --model) | COMMENT |
| LOW | aider/website/docs/config/dotenv.md | 41 | ########################################################## | COMMENT |
| LOW | aider/website/docs/config/dotenv.md | 61 | ############# | COMMENT |
| LOW | aider/website/docs/config/dotenv.md | 81 | COMMENT | |
| 121 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/refactor_tools.py | 83 | # Check if the first argument is 'self' and if it's not used | COMMENT |
| LOW | aider/repomap.py | 234 | # Check if the file is in the cache and if the modification time has not changed | COMMENT |
| LOW | aider/repomap.py | 611 | # Check if the result is in the cache | COMMENT |
| LOW | aider/models.py | 1211 | # Check if this is a Bedrock model and ensure boto3 is installed | COMMENT |
| LOW | aider/models.py | 1217 | # Check if this is a Vertex AI model and ensure google-cloud-aiplatform is installed | COMMENT |
| LOW | aider/onboarding.py | 55 | # Check if the user is on a free tier | COMMENT |
| LOW | aider/onboarding.py | 156 | # Check if the port is available by trying to bind to it | COMMENT |
| LOW | aider/onboarding.py | 294 | # Check if server failed during startup | COMMENT |
| LOW | aider/deprecated.py | 103 | # Check if any deprecated args are used | COMMENT |
| LOW | aider/deprecated.py | 111 | # Check if there's a shorter alias for this model | COMMENT |
| LOW | aider/io.py | 51 | # Check if it's a valid hex color (3 or 6 hex digits) | COMMENT |
| LOW | aider/io.py | 670 | # Check if we were interrupted by a file change | COMMENT |
| LOW | aider/io.py | 716 | # Check if line is exactly "tag}" | COMMENT |
| LOW | aider/io.py | 721 | # Check if line is exactly "}" | COMMENT |
| LOW | aider/mdstream.py | 183 | # Set min_delay to render time plus a small buffer | COMMENT |
| LOW | aider/run_cmd.py | 70 | bufsize=0, # Set bufsize to 0 for unbuffered output | CODE |
| LOW | aider/watch.py | 114 | # Check if file contains AI markers | COMMENT |
| LOW | aider/main.py | 785 | # Check if an OpenRouter model was selected/specified but the key is missing | COMMENT |
| LOW | aider/main.py | 794 | # Check if the key is now present after the flow. | COMMENT |
| LOW | aider/main.py | 830 | # Check if deprecated remove_reasoning is set | COMMENT |
| LOW⚡ | aider/commands.py | 597 | # Check if the file was in the repo in the previous commit | COMMENT |
| LOW | aider/commands.py | 103 | # Check if the current edit format is the default for the old model | COMMENT |
| LOW | aider/commands.py | 1302 | # Check if a file with the same name already exists in the chat | COMMENT |
| LOW⚡ | aider/report.py | 102 | # Check if VERSION_CHECK_FNAME exists and delete it if so | COMMENT |
| LOW | aider/scrape.py | 115 | # Check if the content is HTML based on MIME type or content | STRING |
| LOW | aider/coders/udiff_coder.py | 351 | # Check if standard git diff prefixes are present (or /dev/null) and strip them | COMMENT |
| LOW | aider/coders/patch_coder.py | 386 | # Check if file exists in the context provided (should not for Add). | COMMENT |
| LOW | aider/coders/patch_coder.py | 404 | # Check if we consumed the whole input or stopped early | COMMENT |
| LOW | aider/coders/patch_coder.py | 449 | # Check if all scope lines match sequentially from temp_index | COMMENT |
| LOW | aider/coders/patch_coder.py | 612 | # Check if target exists before overwriting/moving | COMMENT |
| LOW | aider/coders/editblock_coder.py | 467 | # Check if the next line or the one after that is an editblock | COMMENT |
| LOW | aider/website/install.sh | 408 | # Add the updater to the list of binaries to install | COMMENT |
| LOW | aider/website/install.sh | 1037 | # Check if the install layout should be changed from `flat` to `cargo-home` | COMMENT |
| LOW | aider/website/install.sh | 1312 | # Check if the line is already in the rcfile | COMMENT |
| LOW | aider/website/assets/sample.aider.conf.yml | 116 | ## Check if model accepts settings like reasoning_effort/thinking_tokens (default: True) | COMMENT |
| LOW | tests/basic/test_repomap.py | 40 | # Check if the result contains the expected tags map | COMMENT |
| LOW | tests/basic/test_repomap.py | 206 | # Check if the result contains the expected tags map with identifiers | STRING |
| LOW⚡ | tests/basic/test_repomap.py | 239 | # Check if the result contains each specific file in the expected tags map without ctags | STRING |
| LOW | tests/basic/test_repomap.py | 267 | # Check if the result contains the expected tags map | STRING |
| LOW | tests/basic/test_repomap.py | 432 | # Check if the result contains all the expected files and symbols | COMMENT |
| LOW | tests/basic/test_repomap.py | 478 | if os.name == "nt": # Check if running on Windows | CODE |
| LOW | tests/basic/test_editblock.py | 567 | # Check if exactly one argument is provided | COMMENT |
| LOW | tests/basic/test_model_info_manager.py | 71 | # Set verify_ssl to False before any cache operations | COMMENT |
| LOW⚡ | tests/basic/test_commands.py | 212 | # Check if no files have been added to the chat session | COMMENT |
| LOW⚡ | tests/basic/test_commands.py | 234 | # Check if the files have been added to the chat session | COMMENT |
| LOW⚡ | tests/basic/test_commands.py | 561 | # Check if the output includes repository map information | COMMENT |
| LOW⚡ | tests/basic/test_commands.py | 567 | # Check if the output includes information about all added files | COMMENT |
| LOW⚡ | tests/basic/test_commands.py | 570 | # Check if the total tokens and remaining tokens are reported | COMMENT |
| LOW⚡ | tests/basic/test_commands.py | 1008 | # Check if all .txt files were added to abs_read_only_fnames | COMMENT |
| LOW⚡ | tests/basic/test_commands.py | 1029 | # Check if the appropriate error message was displayed | COMMENT |
| LOW⚡ | tests/basic/test_commands.py | 1405 | # Check if the file was removed from abs_read_only_fnames | COMMENT |
| LOW⚡ | tests/basic/test_commands.py | 1442 | # Check if the file was removed from abs_read_only_fnames | COMMENT |
| LOW⚡ | tests/basic/test_commands.py | 1467 | # Check if the external file was added to abs_read_only_fnames | COMMENT |
| LOW⚡ | tests/basic/test_commands.py | 1479 | # Check if the file was removed from abs_read_only_fnames | COMMENT |
| LOW⚡ | tests/basic/test_commands.py | 1587 | # Check if all files were removed from abs_read_only_fnames | COMMENT |
| LOW⚡ | tests/basic/test_commands.py | 1606 | # Check if the file was added to abs_read_only_fnames | COMMENT |
| LOW | tests/basic/test_commands.py | 46 | # Check if both files have been created in the temporary directory | COMMENT |
| LOW | tests/basic/test_commands.py | 178 | # Check if the Python files have been added to the chat session | COMMENT |
| LOW | tests/basic/test_commands.py | 182 | # Check if the text file has not been added to the chat session | COMMENT |
| LOW | tests/basic/test_commands.py | 196 | # Check if no files have been added to the chat session | COMMENT |
| 54 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/benchmark.py | 43 | CODE | |
| LOW | benchmark/benchmark.py | 136 | CODE | |
| LOW | benchmark/benchmark.py | 162 | CODE | |
| LOW | benchmark/problem_stats.py | 62 | CODE | |
| LOW | benchmark/refactor_tools.py | 113 | CODE | |
| LOW | benchmark/plots.py | 301 | CODE | |
| LOW | aider/repomap.py | 365 | CODE | |
| LOW | aider/repomap.py | 576 | CODE | |
| LOW | aider/repomap.py | 748 | CODE | |
| LOW | aider/models.py | 184 | CODE | |
| LOW | aider/models.py | 743 | CODE | |
| LOW | aider/models.py | 838 | CODE | |
| LOW | aider/models.py | 1039 | CODE | |
| LOW | aider/openrouter.py | 96 | CODE | |
| LOW | aider/deprecated.py | 86 | CODE | |
| LOW | aider/io.py | 186 | CODE | |
| LOW | aider/io.py | 523 | CODE | |
| LOW | aider/io.py | 807 | CODE | |
| LOW | aider/io.py | 928 | CODE | |
| LOW | aider/io.py | 1054 | CODE | |
| LOW | aider/io.py | 1088 | CODE | |
| LOW | aider/diffs.py | 105 | CODE | |
| LOW | aider/voice.py | 40 | CODE | |
| LOW | aider/copypaste.py | 18 | CODE | |
| LOW | aider/copypaste.py | 23 | CODE | |
| LOW | aider/utils.py | 112 | CODE | |
| LOW | aider/repo.py | 433 | CODE | |
| LOW | aider/args.py | 911 | CODE | |
| LOW | aider/watch.py | 284 | CODE | |
| LOW | aider/watch.py | 257 | CODE | |
| LOW | aider/main.py | 43 | CODE | |
| LOW | aider/main.py | 155 | CODE | |
| LOW | aider/main.py | 335 | CODE | |
| LOW | aider/help.py | 33 | CODE | |
| LOW | aider/commands.py | 799 | CODE | |
| LOW | aider/commands.py | 912 | CODE | |
| LOW | aider/commands.py | 1278 | CODE | |
| LOW | aider/commands.py | 1497 | CODE | |
| LOW | aider/commands.py | 1638 | CODE | |
| LOW | aider/gui.py | 301 | CODE | |
| LOW | aider/args_formatter.py | 41 | CODE | |
| LOW | aider/args_formatter.py | 105 | CODE | |
| LOW | aider/report.py | 94 | CODE | |
| LOW | aider/scrape.py | 143 | CODE | |
| LOW | aider/coders/wholefile_coder.py | 22 | CODE | |
| LOW | aider/coders/base_coder.py | 876 | CODE | |
| LOW | aider/coders/base_coder.py | 1419 | CODE | |
| LOW | aider/coders/base_coder.py | 1783 | CODE | |
| LOW | aider/coders/base_coder.py | 1900 | CODE | |
| LOW | aider/coders/udiff_coder.py | 403 | CODE | |
| LOW | aider/coders/patch_coder.py | 96 | CODE | |
| LOW | aider/coders/patch_coder.py | 290 | CODE | |
| LOW | aider/coders/patch_coder.py | 412 | CODE | |
| LOW | aider/coders/patch_coder.py | 549 | CODE | |
| LOW | aider/coders/editblock_coder.py | 439 | CODE | |
| LOW | aider/coders/editblock_coder.py | 41 | CODE | |
| LOW | tests/basic/test_deprecated.py | 26 | CODE | |
| LOW | tests/basic/test_deprecated.py | 76 | CODE | |
| LOW | tests/basic/test_commands.py | 680 | CODE | |
| LOW | tests/basic/test_commands.py | 754 | CODE | |
| 18 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL⚡ | aider/commands.py | 607 | local_head = self.coder.repo.repo.git.rev_parse("HEAD") | CODE |
| CRITICAL⚡ | aider/commands.py | 610 | remote_head = self.coder.repo.repo.git.rev_parse(f"origin/{current_branch}") | CODE |
| CRITICAL | aider/commands.py | 628 | self.coder.repo.repo.git.checkout("HEAD~1", file_path) | CODE |
| CRITICAL | aider/commands.py | 644 | self.coder.repo.repo.git.reset("--soft", "HEAD~1") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | aider/website/examples/census.md | 55 | # Replace 'your_api_key' with your actual API key | COMMENT |
| HIGH | aider/website/examples/census.md | 56 | api_key = 'your_api_key' | CODE |
| HIGH | aider/website/examples/census.md | 75 | Replace `'your_api_key'` with the API key you obtained from the Census Bureau's website. This example retrieves the tota | CODE |
| HIGH | aider/website/examples/census.md | 97 | Once you have your API key, you can use it in your Python code to access the American Community Survey data, as shown in | CODE |
| HIGH | aider/website/examples/census.md | 112 | # Replace 'your_api_key' with your actual API key | COMMENT |
| HIGH | aider/website/examples/census.md | 113 | api_key = 'your_api_key' | CODE |
| HIGH | aider/website/examples/census.md | 133 | Save this code in a new file named `getdata.py`. Remember to replace `'your_api_key'` with your actual API key obtained | CODE |
| HIGH | aider/website/examples/census.md | 149 | api_key = 'your_api_key' | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | aider/coders/ask_prompts.py | 0 | these files have been *added these files to the chat* so we can see all of their contents. *trust this message as the tr | STRING |
| HIGH | aider/coders/architect_prompts.py | 0 | these files have been *added these files to the chat* so we can see all of their contents. *trust this message as the tr | STRING |
| HIGH | aider/coders/context_prompts.py | 0 | these files have been *added these files to the chat* so we can see all of their contents. *trust this message as the tr | STRING |
| HIGH | aider/coders/ask_prompts.py | 0 | 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 | STRING |
| HIGH | aider/coders/architect_prompts.py | 0 | 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 | STRING |
| HIGH | aider/coders/context_prompts.py | 0 | 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 | STRING |
| HIGH | aider/coders/wholefile_func_prompts.py | 0 | act as an expert software developer. take requests for changes to the supplied code. if the request is ambiguous, ask qu | STRING |
| HIGH | aider/coders/single_wholefile_func_prompts.py | 0 | act as an expert software developer. take requests for changes to the supplied code. if the request is ambiguous, ask qu | STRING |
| HIGH | aider/coders/editblock_func_prompts.py | 0 | act as an expert software developer. take requests for changes to the supplied code. if the request is ambiguous, ask qu | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | aider/coders/base_coder.py | 1816 | # Still calculate costs for context window errors | COMMENT |
| MEDIUM | aider/website/_includes/model-warnings.md | 2 | ## Unknown context window size and token costs | COMMENT |
| MEDIUM | aider/website/_posts/2024-11-21-quantization.md | 152 | ## Setting Ollama's context window size | COMMENT |
| MEDIUM | aider/website/_posts/2024-06-02-main-swe-bench.md | 36 | ## Interactive, not agentic | COMMENT |
| MEDIUM | aider/website/_posts/2025-01-28-deepseek-down.md | 191 | num_ctx: 8192 # How large a context window? | CODE |
| MEDIUM | aider/website/_posts/2024-05-22-swe-bench-lite.md | 35 | ## Interactive, not agentic | COMMENT |
| MEDIUM | aider/website/_posts/2024-05-22-swe-bench-lite.md | 166 | ## Repository map, not RAG | COMMENT |
| MEDIUM | aider/website/docs/config/aider_conf.md | 126 | ## Specify a file with context window and costs for unknown models | COMMENT |
| MEDIUM | aider/website/docs/config/dotenv.md | 106 | ## Specify a file with context window and costs for unknown models | COMMENT |
| MEDIUM | aider/website/docs/troubleshooting/edit-errors.md | 47 | ## Local models: context window and quantization | COMMENT |
| MEDIUM | aider/website/docs/troubleshooting/token-limits.md | 42 | ## Input tokens & context window size | COMMENT |
| MEDIUM | aider/website/docs/llms/ollama.md | 27 | # Start your ollama server, increasing the context window to 8k tokens | COMMENT |
| MEDIUM | aider/website/docs/llms/ollama.md | 53 | ## Setting the context window size | COMMENT |
| MEDIUM | aider/website/assets/sample.aider.conf.yml | 72 | ## Specify a file with context window and costs for unknown models | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | HISTORY.md | 190 | - Commit messages generated by aider are no longer forced to be entirely lowercase, by Peter Hadlaw. | CODE |
| HIGH | HISTORY.md | 202 | - Commit messages generated by aider are now lowercase, by Anton Ödman. | CODE |
| HIGH | HISTORY.md | 1376 | - New `--commit` cmd line arg, which just commits all pending changes with a sensible commit message generated by gpt-3. | CODE |
| HIGH | aider/waiting.py | 126 | # Subtract 2 as requested, to leave a margin or prevent cursor wrapping issues | COMMENT |
| HIGH | aider/repo.py | 157 | - aider_edits=True: Changes were generated by Aider (LLM). | STRING |
| HIGH | aider/website/HISTORY.md | 213 | - Commit messages generated by aider are no longer forced to be entirely lowercase, by Peter Hadlaw. | CODE |
| HIGH | aider/website/HISTORY.md | 225 | - Commit messages generated by aider are now lowercase, by Anton Ödman. | CODE |
| HIGH | aider/website/HISTORY.md | 1399 | - New `--commit` cmd line arg, which just commits all pending changes with a sensible commit message generated by gpt-3. | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/refactor_tools.py | 9 | CODE | |
| LOW | benchmark/rungrid.py | 6 | CODE | |
| LOW | aider/versioncheck.py | 10 | CODE | |
| LOW | aider/sendchat.py | 1 | CODE | |
| LOW | aider/openrouter.py | 9 | CODE | |
| LOW | aider/io.py | 38 | CODE | |
| LOW | aider/llm.py | 5 | CODE | |
| LOW | aider/diffs.py | 4 | CODE | |
| LOW | aider/voice.py | 12 | CODE | |
| LOW | aider/mdstream.py | 14 | CODE | |
| LOW | aider/repo.py | 23 | CODE | |
| LOW | aider/args.py | 19 | CODE | |
| LOW | aider/exceptions.py | 3 | CODE | |
| LOW | aider/editor.py | 18 | CODE | |
| LOW | aider/main.py | 1265 | CODE | |
| LOW | aider/main.py | 1266 | CODE | |
| LOW | aider/help.py | 12 | CODE | |
| LOW | aider/linter.py | 14 | CODE | |
| LOW | aider/commands.py | 27 | CODE | |
| LOW | aider/reasoning_tags.py | 5 | CODE | |
| LOW | aider/gui.py | 11 | CODE | |
| LOW | aider/args_formatter.py | 5 | CODE | |
| LOW | aider/scrape.py | 9 | CODE | |
| LOW | aider/scrape.py | 144 | CODE | |
| LOW | aider/coders/patch_prompts.py | 3 | CODE | |
| LOW | aider/coders/help_coder.py | 1 | CODE | |
| LOW | aider/coders/wholefile_func_coder.py | 3 | CODE | |
| LOW | aider/coders/wholefile_coder.py | 5 | CODE | |
| LOW | aider/coders/editblock_fenced_coder.py | 1 | CODE | |
| LOW | aider/coders/editblock_func_coder.py | 3 | CODE | |
| LOW | aider/coders/udiff_coder.py | 5 | CODE | |
| LOW | tests/basic/test_watch.py | 3 | CODE | |
| LOW | tests/basic/test_find_or_blocks.py | 11 | CODE | |
| LOW | tests/basic/test_editblock.py | 6 | CODE | |
| LOW | tests/basic/test_editblock.py | 6 | CODE | |
| LOW | tests/basic/test_editblock.py | 10 | CODE | |
| LOW | tests/basic/test_linter.py | 5 | CODE | |
| LOW | tests/basic/test_run_cmd.py | 1 | CODE | |
| LOW | tests/basic/test_coder.py | 11 | CODE | |
| LOW | tests/browser/test_browser.py | 21 | CODE | |
| LOW | scripts/redact-cast.py | 8 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | aider/mdstream.py | 19 | Lorem Ipsum is simply dummy text of the printing and typesetting industry. | CODE |
| LOW⚡ | aider/mdstream.py | 20 | Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, | CODE |
| LOW⚡ | aider/mdstream.py | 24 | the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, | CODE |
| LOW⚡ | aider/mdstream.py | 26 | including versions of Lorem Ipsum. | CODE |
| LOW | aider/main.py | 1169 | if hasattr(switch, "placeholder") and switch.placeholder is not None: | CODE |
| LOW⚡ | tests/basic/test_onboarding.py | 54 | self.assertTrue(check_openrouter_tier("fake_key")) | CODE |
| LOW⚡ | tests/basic/test_onboarding.py | 57 | headers={"Authorization": "Bearer fake_key"}, | CODE |
| LOW⚡ | tests/basic/test_onboarding.py | 68 | self.assertFalse(check_openrouter_tier("fake_key")) | CODE |
| LOW⚡ | tests/basic/test_onboarding.py | 74 | self.assertTrue(check_openrouter_tier("fake_key")) | CODE |
| LOW⚡ | tests/basic/test_onboarding.py | 83 | self.assertTrue(check_openrouter_tier("fake_key")) | CODE |
| LOW | tests/basic/test_models.py | 51 | mock_environ.get.return_value = "dummy_value" | CODE |
| LOW⚡ | scripts/clean_metadata.py | 188 | dummy_key = "zzzdummykey" | CODE |
| LOW⚡ | scripts/clean_metadata.py | 189 | litellm_entry_copy[dummy_key] = True | CODE |
| LOW⚡ | scripts/clean_metadata.py | 190 | aider_entry_copy[dummy_key] = True | CODE |
| LOW⚡ | scripts/clean_metadata.py | 198 | litellm_json_filtered = [line for line in litellm_json_lines if dummy_key not in line] | CODE |
| LOW⚡ | scripts/clean_metadata.py | 199 | aider_json_filtered = [line for line in aider_json_lines if dummy_key not in line] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | aider/history.py | 72 | # Precompute token limit (fallback to 4096 if undefined) | COMMENT |
| HIGH | aider/coders/udiff_coder.py | 351 | # Check if standard git diff prefixes are present (or /dev/null) and strip them | COMMENT |
| HIGH⚡ | tests/basic/test_commands.py | 1136 | test_cmd = "echo 'error output' >&2 && exit 1" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | benchmark/benchmark.py | 661 | CODE | |
| MEDIUM | benchmark/benchmark.py | 662 | CODE | |
| MEDIUM | benchmark/benchmark.py | 663 | CODE | |
| MEDIUM | aider/coders/wholefile_func_coder.py | 49 | CODE | |
| MEDIUM | aider/coders/wholefile_func_coder.py | 50 | CODE | |
| MEDIUM | aider/coders/editblock_func_coder.py | 62 | CODE | |
| MEDIUM | aider/coders/editblock_func_coder.py | 64 | CODE | |
| MEDIUM | aider/coders/editblock_func_coder.py | 84 | CODE | |
| MEDIUM | aider/coders/editblock_func_coder.py | 85 | CODE | |
| MEDIUM | aider/coders/editblock_coder.py | 185 | CODE | |
| MEDIUM | aider/coders/editblock_coder.py | 186 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/benchmark.py | 162 | CODE | |
| LOW | benchmark/benchmark.py | 1055 | CODE | |
| LOW | aider/repomap.py | 802 | CODE | |
| LOW | aider/repomap.py | 47 | CODE | |
| LOW | aider/repomap.py | 784 | CODE | |
| LOW | aider/io.py | 237 | CODE | |
| LOW | aider/repo.py | 62 | CODE | |
| LOW | aider/repo.py | 488 | CODE | |
| LOW | aider/help.py | 30 | CODE | |
| LOW | aider/commands.py | 53 | CODE | |
| LOW | aider/commands.py | 797 | CODE | |
| LOW | aider/coders/search_replace.py | 138 | CODE | |
| LOW | aider/coders/wholefile_coder.py | 144 | CODE | |
| LOW | aider/coders/base_coder.py | 299 | CODE | |
| LOW | aider/coders/editblock_func_coder.py | 93 | CODE | |
| LOW | aider/coders/udiff_coder.py | 247 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | aider/report.py | 95 | # If it's a KeyboardInterrupt, just call the default handler | COMMENT |
| MEDIUM | aider/coders/patch_coder.py | 445 | # A more robust finder could handle nested scopes like the reference @@ @@ | COMMENT |
| LOW | aider/coders/editblock_coder.py | 210 | # no dots in this edit block, just return None | COMMENT |
| MEDIUM | aider/website/install.sh | 1293 | # the more robust line to rcfiles, but when telling the user to apply the change | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/basic/test_io.py | 75 | # Step 3: Mock the commands object | COMMENT |
| LOW⚡ | tests/basic/test_io.py | 100 | # Step 5: Set up test cases | COMMENT |
| LOW⚡ | tests/basic/test_io.py | 108 | # Step 6: Iterate through test cases | COMMENT |
| LOW | tests/basic/test_io.py | 88 | # Step 4: Create an instance of AutoCompleter | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/basic/test_io.py | 75 | # Step 3: Mock the commands object | COMMENT |
| LOW⚡ | tests/basic/test_io.py | 100 | # Step 5: Set up test cases | COMMENT |
| LOW⚡ | tests/basic/test_io.py | 108 | # Step 6: Iterate through test cases | COMMENT |
| LOW | tests/basic/test_io.py | 88 | # Step 4: Create an instance of AutoCompleter | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | aider/openrouter.py | 43 | def set_verify_ssl(self, verify_ssl: bool) -> None: | CODE |
| LOW | aider/openrouter.py | 114 | def _update_cache(self) -> None: | CODE |
| LOW⚡ | aider/__init__.py | 20 | __all__ = [__version__] | CODE |
| LOW | aider/llm.py | 47 | __all__ = [litellm] | CODE |
| LOW | aider/coders/__init__.py | 18 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/help/test_help.py | 18 | Execute a function with exponential backoff retry logic. Args: func: Function to execute | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/basic/test_repomap.py | 168 | def my_method(self, arg1, arg2): | CODE |
| LOW⚡ | tests/basic/test_repomap.py | 171 | def my_function(arg1, arg2): | CODE |