Commit graph

5389 commits

Author SHA1 Message Date
Paul Gauthier
dd166a1492 copy 2024-07-31 09:56:52 -03:00
Paul Gauthier
745c0fcfef feat(docker): add support for running as non-root user
The changes in this commit add support for running the Docker container as a non-root user. Specifically:

- Set permissions on the /.aider and /app directories to allow read/write/execute access for all users.
- Configure Git to consider the /app directory as a safe directory, which prevents Git from complaining about unusual permissions when running as a non-root user.
- Ensure that the Python site-packages directory and other relevant directories have read/write/execute permissions for all users, so that pip installs work even when running as a non-root user.

These changes will allow the Docker container to be run with the `--user` flag, which is a common requirement for running containers in production environments.
2024-07-31 09:52:53 -03:00
Paul Gauthier
1aaa8365d2 more debug if pip installs fail 2024-07-31 09:52:41 -03:00
Paul Gauthier
080953760f formatting 2024-07-31 09:52:18 -03:00
Paul Gauthier (aider)
5bfedea9ff feat: update test to correctly access message content
The test for `test_get_commit_message_with_custom_prompt` has been updated to correctly access the message content from the positional arguments of the `simple_send_with_retries` function call. This ensures that the test accurately reflects the implementation in the `GitRepo` class.
2024-07-31 09:51:28 -03:00
Paul Gauthier
2212613c47 feat(repo): add support for multiple models in get_commit_message 2024-07-31 09:51:26 -03:00
Paul Gauthier (aider)
7d2f184b36 feat: add tests for commit_prompt functionality
The new test case `test_get_commit_message_with_custom_prompt` ensures that when a custom `commit_prompt` is provided to the `GitRepo` constructor, it's used instead of the default prompt when generating commit messages. The test checks that:

1. The custom commit prompt is passed correctly to the `simple_send_with_retries` function.
2. The returned commit message is as expected.
3. The `simple_send_with_retries` function is called only once (since we're using a single model).

This new test case, along with the existing `test_get_commit_message_no_strip_unmatched_quotes` test, provides better coverage for the `get_commit_message` method in the `GitRepo` class.
2024-07-31 09:50:34 -03:00
Paul Gauthier (aider)
f85a9c1195 feat: add commit_prompt parameter to Coder.__init__ and pass it to GitRepo
The commit_prompt parameter is added to the Coder.__init__ method and passed to the GitRepo initialization. This allows users to provide a custom commit prompt when using the Coder class.
2024-07-31 09:48:54 -03:00
Paul Gauthier (aider)
1275171b90 feat: add support for the new commit_prompt arg to override prompts.commit_system
The GitRepo class in the aider/repo.py file has been updated to support a new `commit_prompt` argument. This allows overriding the default `prompts.commit_system` when generating commit messages.

The changes include:

1. Adding the `commit_prompt` parameter to the `__init__` method of the `GitRepo` class.
2. Storing the `commit_prompt` value in the `self.commit_prompt` attribute.
3. Modifying the `get_commit_message` method to use the `self.commit_prompt` value if it's provided, otherwise falling back to the default `prompts.commit_system`.

This change provides more flexibility in customizing the commit message generation process, allowing users to provide their own custom prompts if needed.
2024-07-31 09:47:49 -03:00
Paul Gauthier (aider)
4dfdddf0d9 feat: add --commit-prompt switch
The new `--commit-prompt` switch allows users to specify a custom prompt for generating commit messages. This feature is implemented by adding the new argument to the argument parser in `aider/args.py` and passing it to the `Coder.create` method in `aider/main.py`.
2024-07-31 09:46:13 -03:00
Paul Gauthier
adfde505d4 feat(docker): add directories and permissions for app and aider 2024-07-31 09:28:09 -03:00
Paul Gauthier
a436568ef5 copy 2024-07-31 09:10:18 -03:00
Paul Gauthier (aider)
e370b7aba3 feat: refactor docker build and release into its own workflow
BREAKING CHANGE: update tag regex to match semver pattern `v[0-9]+.[0-9]+.[0-9]+`

This change separates the concerns of PyPI release and Docker image release into two separate workflows. The original `release.yml` file has been renamed to `PyPI Release` and now only handles the PyPI package release. A new `docker-release.yml` file has been created to handle the Docker image build and push.

Both workflows are now triggered on tags matching the semver pattern `v[0-9]+.[0-9]+.[0-9]+`, which corresponds to tags like `vX.Y.Z`. The Docker-related steps have been moved from the original workflow to the new Docker-specific workflow.

This change ensures that both PyPI and Docker releases are triggered on the same semver-compliant tag pattern, while separating the concerns of the two release processes.
2024-07-31 09:09:15 -03:00
Paul Gauthier
199e25fc16 feat(prompts): Add Conventional Commits guidelines to commit message prompt 2024-07-31 09:06:31 -03:00
Paul Gauthier
e1a9fd69e6 Implement playwright installation with dependencies and use system python executable. 2024-07-31 08:53:21 -03:00
Paul Gauthier
c7884c94f6 Add support for more file types in the blame script 2024-07-31 08:50:49 -03:00
Paul Gauthier
6888b07ea0 Add support for Dockerfiles in the blame script 2024-07-30 20:46:20 -03:00
Paul Gauthier
266f58416c copy 2024-07-30 20:44:29 -03:00
Paul Gauthier
d1e385dea1 Added playwright to aider-full image 2024-07-30 20:44:17 -03:00
Paul Gauthier (aider)
41772ccef6 Ensure ChatSummary has at least one model available and use the first model's max input tokens for summarization 2024-07-30 20:37:30 -03:00
Paul Gauthier (aider)
4fded189f8 Build multi-stage Docker images for core "aider" and full "aider-full" versions 2024-07-30 17:11:12 -03:00
Paul Gauthier
bf4d87d66f Updated HISTORY 2024-07-30 17:06:05 -03:00
Paul Gauthier
fb8afa5228 blame for .scm files too 2024-07-30 17:04:38 -03:00
Paul Gauthier
1677f7ede8 Do general autocomplete if /cmd doesn't have its own 2024-07-30 16:43:29 -03:00
Paul Gauthier (aider)
5d0ba54e07 Refactor get_completions method to extract command completion logic into a separate function 2024-07-30 16:36:13 -03:00
Paul Gauthier
59ad370611 Improve linter error handling by replacing invalid characters and adding error handling for subprocess. 2024-07-30 15:21:01 -03:00
Paul Gauthier
a84cad4a59 Add encoding and error handling to subprocess call in Commands class 2024-07-30 15:19:38 -03:00
Paul Gauthier (aider)
9b129a7f03 Update the subprocess calls to use the specified encoding. 2024-07-30 15:18:51 -03:00
Paul Gauthier
9c406cd176 Add linting for all dirty files in the repository 2024-07-30 15:09:41 -03:00
Paul Gauthier (aider)
07780326b4 Use more efficient method to get all dirty files in cmd_lint 2024-07-30 15:09:04 -03:00
Paul Gauthier
5f9275a3c2 Add dirty tracked files to the list of files to lint 2024-07-30 15:09:03 -03:00
Paul Gauthier
4a3ea08b49 Add OCaml test case for repomap 2024-07-30 15:03:54 -03:00
Paul Gauthier (aider)
795467f206 Update the OCaml tags file to follow the same pattern as the Python tags file. 2024-07-30 15:02:52 -03:00
Paul Gauthier
d24a5feab4 Update the OCaml tags query to improve module and function handling 2024-07-30 15:00:58 -03:00
Paul Gauthier
e6883e1072 Simpler added_files reply message 2024-07-30 14:56:38 -03:00
Paul Gauthier
3dd150608d copy 2024-07-30 12:31:27 -03:00
Paul Gauthier
e2fb2466a9 Improve linter support and repo map coverage for various programming languages. 2024-07-30 12:30:29 -03:00
Paul Gauthier (aider)
74201dd733 Add two new columns to the get_supported_languages_md function: Repo map and Linter, and check the existence of the SCM file and linter support for each language. 2024-07-30 12:26:01 -03:00
Paul Gauthier (aider)
bcd802b6e9 Add retry support for litellm.InternalServerError in the send_with_retries function in aider/sendchat.py. 2024-07-30 12:23:41 -03:00
Paul Gauthier (aider)
cba53bfc22 Add retry support for litellm.InternalServerError 2024-07-30 12:23:33 -03:00
Paul Gauthier
9706002769 Auto commit before lint/test/etc 2024-07-30 12:19:32 -03:00
Paul Gauthier (aider)
0980985338 Add fallback to second model when first model fails in ChatSummary 2024-07-30 12:16:32 -03:00
Paul Gauthier (aider)
963420d16f Initialize ChatSummary with main and weak models 2024-07-30 12:04:31 -03:00
Paul Gauthier (aider)
4fe8cca0e9 Fix ChatSummary to take a list of models and work down the list until one succeeds. 2024-07-30 11:57:36 -03:00
Paul Gauthier
2e4de1a0d3 Add support for multiple models in ChatSummary class 2024-07-30 11:57:34 -03:00
Paul Gauthier
3c04850339 move cog/author to end of leaderboard, was preventing it from showing in nav 2024-07-30 10:33:09 -03:00
Paul Gauthier
7c50e5d7af drop dangling comma 2024-07-30 10:29:40 -03:00
Paul Gauthier
d1bce18899 updated blame.yml with full data 2024-07-30 10:23:17 -03:00
Paul Gauthier (aider)
3ee30a62de Update aider_lines field to aider_total in blame.md 2024-07-30 10:22:25 -03:00
Paul Gauthier (aider)
16eadba5e5 Modify process_all_tags_since function to include all data for each tag pair in --all output 2024-07-30 10:16:38 -03:00