Compare commits

..

3215 Commits

Author SHA1 Message Date
566eaf63e7 Update cli.py 2025-01-22 12:00:15 +02:00
e0b6db9bec docs: standardize platform support notation in documentation 2025-01-20 19:39:15 +02:00
Tal
2f2cdd787d Merge pull request #1466 from yu-iskw/add-gemini-models
Add `vertex_ai/gemini-2.0-flash-exp`
2025-01-20 19:33:38 +02:00
Tal
2b25053de8 Merge pull request #1467 from Codium-ai/tr/open_on_new_window
docs: add target blank to external links in documentation
2025-01-20 14:48:38 +02:00
054957fcfe docs: add target blank to external links in documentation 2025-01-20 13:58:26 +02:00
0075084a22 Add vertex_ai/gemini-2.0-flash-exp
Signed-off-by: Yu Ishikawa <yu-iskw@users.noreply.github.com>
2025-01-20 18:29:37 +09:00
Tal
e62db20c1e Merge pull request #1465 from Codium-ai/tr/prompts
docs: improve diff format documentation and code review instructions
2025-01-19 20:13:47 +02:00
67d4c96166 fix: correct typos in code suggestions prompt 2025-01-19 17:21:48 +02:00
b335cacffd fix: limit one_sentence_summary to 6 words in code suggestions 2025-01-19 17:15:02 +02:00
87a5a7e156 fix: improve code review guidelines and clarify scope limitations 2025-01-19 17:10:04 +02:00
24aa15f074 fix: correct typo in diff format documentation 2025-01-19 15:11:56 +02:00
ad4a96caf1 docs: add wiki setup guide and update best practices documentation 2025-01-19 15:05:38 +02:00
e7f874a4b2 docs: improve diff format documentation and code review instructions 2025-01-19 14:37:49 +02:00
Tal
4ab9392042 Merge pull request #1455 from polacekpavel/fix/local-git-provider-method-stubs
fix(local_git): add interface func stubs for git local provider
2025-01-18 10:33:37 +02:00
Tal
536d97b9da Merge pull request #1457 from KennyDizi/main
Support deepseek-chat model
2025-01-18 10:32:12 +02:00
cea1b58714 Update document with change deepseek-chat model 2025-01-17 11:50:42 +07:00
5ed260d885 Add deepseek configuration block 2025-01-17 11:43:20 +07:00
e58a535594 Inject deepseek key to DEEPSEEK_API_KEY environment variable 2025-01-17 11:43:06 +07:00
d949f440a8 Add support model deepseek/deepseek-chat 2025-01-17 11:42:36 +07:00
4923c8d810 feat: add support for ignoring PRs from specific users 2025-01-16 08:34:01 +02:00
fe6540275c fix(local_git): add interface method stubs for local git provider compatibility 2025-01-15 18:19:36 +01:00
1997da3aac Merge pull request #1454 from Codium-ai/hl/jira_datacenter_docs
documentation
2025-01-15 17:26:07 +02:00
d0c442b74b enter 2025-01-15 17:24:37 +02:00
1f86cbc942 typo 2025-01-15 17:23:20 +02:00
633a1c7bd0 documentation 2025-01-15 17:03:31 +02:00
2d9141adad Merge pull request #1450 from Codium-ai/of/implement-tool-bitbucket
docs: add BitBucket support for /implement tool.
2025-01-15 08:10:16 +02:00
95d0d4d71d docs: add final_update_message configuration option documentation 2025-01-15 08:00:20 +02:00
Tal
5daf8e043c Merge pull request #1452 from med8bra/patch-1
fix(azure-provider): handle renamed files as new files
2025-01-14 11:04:40 +02:00
bd611bc1c2 fix(azure-provider): handle renamed files as new files
This fixes a bug when azure-provider tries to fetch original content of a renamed file and fails since the file doesn't exist in base yet.
Also handles case when `diff_type` includes multiple actions as `edit, rename`.

This can be improved to fetch the actual old content using the old path before renaming, but IMO for azure devops since its dying anyway, this fix should be enough.
2025-01-13 22:22:13 +01:00
4bb04e37c2 docs: add BitBucket support for /implement tool. 2025-01-13 13:29:59 +02:00
Tal
b3f116bb35 Merge pull request #1448 from pdecat/docs/typo
docs: add missing word
2025-01-10 20:14:23 +02:00
d15d08bb3b docs: add missing word 2025-01-10 16:08:04 +01:00
445a7fc015 filtering fix 2025-01-09 12:16:31 +02:00
Tal
c1c5c353e5 Merge pull request #1446 from Codium-ai/tr/avoid_packages_comments
fix: refine code suggestions prompts and avoid package-related comments
2025-01-08 22:12:57 +02:00
a74fca7b7d fix: refine code suggestions prompts and avoid package-related comments 2025-01-08 17:42:07 +02:00
Tal
7479ae3224 Merge pull request #1441 from benedict-lee/fix/support-aititle-with-markers
fix : support ai title with markers
2025-01-07 12:29:39 +02:00
Tal
6bb5ce58f2 Merge pull request #1442 from benedict-lee/fix/pr-type-rendering-with-markers
fix : pr type rendering with markers
2025-01-07 08:39:37 +02:00
2783f9b1bb Merge pull request #1440 from Codium-ai/of/implement-gitlab-documentation
docs: add GitLab support for /implement tool.
2025-01-06 13:35:23 +02:00
f4b895d870 fix : pr type rendering with markers
list obj to comma seperated pr types
2025-01-06 12:49:30 +09:00
07d40e2c05 fix : support ai title with markers 2025-01-06 12:42:12 +09:00
6e1178b168 Merge branch 'main' into of/implement-gitlab-documentation 2025-01-05 12:17:25 +02:00
Tal
c889e566e8 Merge pull request #1439 from Codium-ai/tr/patch_bug
fix: handle newline issues in patch generation
2025-01-05 12:16:08 +02:00
d9540d3b43 docs: add GitLab support for /implement tool. 2025-01-05 11:53:52 +02:00
793f76fec5 fix: add missing newlines at the end of patch strings in tests 2025-01-04 16:34:35 +02:00
5adc246040 Merge remote-tracking branch 'origin/tr/patch_bug' into tr/patch_bug 2025-01-04 16:30:47 +02:00
d4d58babd5 fix: handle empty inputs in patch generation 2025-01-04 16:30:33 +02:00
Tal
2df4bc8b53 Update pr_agent/algo/utils.py
Co-authored-by: qodo-merge-pro-for-open-source[bot] <189517486+qodo-merge-pro-for-open-source[bot]@users.noreply.github.com>
2025-01-04 16:28:25 +02:00
e431979b8b fix: handle newline issues in patch generation 2025-01-04 16:26:38 +02:00
Tal
bde594c9e8 Update README.md 2025-01-02 16:52:26 +02:00
b570c758aa docs: improve /implement tool documentation and update news section 2025-01-02 16:49:59 +02:00
Tal
f6b80174b5 Merge pull request #1434 from Codium-ai/tr/ollama
Tr/ollama
2025-01-02 16:26:46 +02:00
833ae67820 Merge branch 'main' into tr/ollama 2025-01-02 14:21:07 +02:00
Tal
ee913336ad Merge pull request #1433 from Codium-ai/fix-implement-docs
Refine `implement` tool documentation and remove outdated notes
2025-01-02 14:01:00 +02:00
79d589e145 Adjust image widths in /implement tool documentation 2025-01-02 12:56:55 +02:00
2d4cd3e270 Merge remote-tracking branch 'origin/main' into tr/ollama 2025-01-02 12:51:40 +02:00
7f950a3aa9 docs: clarify model recommendation for production usage 2025-01-02 12:50:38 +02:00
379fa957ea docs: clarify model recommendation for production usage 2025-01-02 12:48:56 +02:00
a1a7c8e44c feat: add example output duplication option for code suggestions prompts 2025-01-02 12:46:50 +02:00
6d0ed06fc4 Refine /implement tool documentation and remove language support notes 2025-01-02 12:39:14 +02:00
e695af6917 feat: add example output duplication option for PR review prompts 2025-01-02 12:33:26 +02:00
5318047202 feat: add prompt example duplication option for improved model output 2025-01-02 12:25:42 +02:00
Tal
5bf5f63c78 Merge pull request #1417 from ofir-frd/add-implement-documentation-
Add documentation for `/implement` tool and enhance `/test` tool references
2025-01-02 11:53:58 +02:00
5971a06d73 docs: improve Ollama and Hugging Face model configuration docs 2025-01-02 11:16:21 +02:00
71e477a993 docs: standardize language support notes across documentation files 2025-01-02 11:02:26 +02:00
efc621a58b fix: update Test tool link to correct documentation file 2025-01-02 10:55:30 +02:00
951fa3385a Merge branch 'main' into add-implement-documentation- 2025-01-02 10:52:31 +02:00
56e15c0348 Add a blank line at the end of the .gitignore file 2025-01-02 10:47:28 +02:00
4c82b8a43e docs: Add /implement tool to feature tables and documentation links 2025-01-02 10:44:50 +02:00
2d5daf4364 docs: Enhance /implement tool documentation with usage scenarios and examples 2025-01-02 10:34:04 +02:00
Tal
aa95d5fb68 Merge pull request #1432 from Codium-ai/tr/describe
fix: reorganize PR description prompt fields and improve clarity
2025-01-02 08:46:39 +02:00
f6b470bf5e fix: reorganize PR description prompt fields and improve clarity 2025-01-02 08:41:25 +02:00
Tal
36df75ce14 Merge pull request #1431 from Codium-ai/tr/protections23
fix: improve CLI argument validation for sensitive parameters
2025-01-01 16:10:30 +02:00
e2be1f1cee fix: improve CLI argument validation for sensitive parameters with dot notation 2025-01-01 15:53:37 +02:00
d1caa0f15f fix: improve CLI argument validation for sensitive parameters with dot notation 2025-01-01 15:52:54 +02:00
2c2af93eed fix: improve CLI argument validation for sensitive parameters 2025-01-01 15:19:27 +02:00
Tal
04197a9271 Merge pull request #1430 from Codium-ai/tr/faq_update
docs: update FAQ with new questions and improve formatting
2025-01-01 09:30:13 +02:00
Tal
9faf1521b4 Update docs/docs/faq/index.md
Co-authored-by: qodo-merge-pro-for-open-source[bot] <189517486+qodo-merge-pro-for-open-source[bot]@users.noreply.github.com>
2025-01-01 09:28:23 +02:00
Tal
8819293770 Merge pull request #1406 from vishwamartur/support-personal-spaces
Support pull requests in personal spaces in Bitbucket Server
2025-01-01 09:26:29 +02:00
0ec4491542 docs: update FAQ with new questions and improve formatting 2025-01-01 09:24:20 +02:00
Tal
4fd121d34a Merge pull request #1429 from Codium-ai/tr/sub_bullet_points
fix: improve PR description and title field descriptions for clarity
2024-12-31 12:35:09 +02:00
6e80f5fcce fix: improve file path formatting in patch headers 2024-12-31 12:31:21 +02:00
4a1b042152 fix: improve bullet point formatting and file path display in PR description 2024-12-31 12:00:21 +02:00
6fbd95e1a9 fix: emphasize brevity in PR description bullet points 2024-12-31 08:36:32 +02:00
fd6e81978f fix: improve PR description and title field descriptions for clarity 2024-12-31 08:32:54 +02:00
Tal
467136a48a Merge pull request #1428 from Codium-ai/mrT23-patch-7
Update README.md
2024-12-30 21:12:46 +02:00
Tal
3b14d3a3c2 Update README.md 2024-12-30 21:11:40 +02:00
Tal
8218fa6e13 Merge pull request #1421 from dceoy/main
Update Groq models and tokens
2024-12-30 19:25:23 +02:00
8463c4f549 fix: sanitize Ask tool answers to prevent markdown formatting issues with leading slashes 2024-12-30 16:54:03 +02:00
Tal
014b1f20c5 Merge pull request #1426 from Codium-ai/tr/ask_fix
fix: sanitize Ask tool answers to prevent markdown formatting issues
2024-12-30 15:12:28 +02:00
2f73ab6eab fix: sanitize Ask tool answers to prevent markdown formatting issues with leading slashes 2024-12-30 15:06:27 +02:00
16dc29a23a fix: sanitize Ask tool answers to prevent markdown formatting issues 2024-12-30 14:58:53 +02:00
bd9522057f fix: add OpenAI configuration parameters to restricted CLI arguments 2024-12-30 14:33:26 +02:00
Tal
b3d4af6cbf Merge pull request #1425 from Codium-ai/tr/limit_online_commenting
fix: restrict sensitive configuration parameters in CLI arguments
2024-12-30 14:11:28 +02:00
5df9698bae fix: restrict sensitive configuration parameters in CLI arguments 2024-12-30 13:57:55 +02:00
e89b65ed38 Increase the max token of groq/llama-3.3-70b-versatile 2024-12-30 11:35:02 +09:00
6a145af159 fix: make semantic file types extension optional in PR description 2024-12-29 21:43:46 +02:00
Tal
39a375b3e4 Merge pull request #1423 from Codium-ai/tr/describe_v2
Tr/describe v2
2024-12-29 16:02:03 +02:00
dbd76ecde5 refactor: improve file changes title description length guidance 2024-12-29 11:42:05 +02:00
e95920c58c refactor: improve file handling and description generation in PR description tool 2024-12-29 11:37:05 +02:00
59899f0c62 fix: improve patch generation error handling and logging 2024-12-29 11:27:53 +02:00
5e46955d52 fix: improve file path formatting in patch output 2024-12-29 11:26:13 +02:00
95d0fafa75 refactor: optimize file content loading and improve rate limit handling 2024-12-29 11:25:33 +02:00
71c558d306 Update Groq models and tokens 2024-12-28 01:51:33 +09:00
Tal
7b2c41e0d2 Merge pull request #1420 from Codium-ai/tr/review_fix
fix: improve line extraction from files with missing content
2024-12-27 09:02:41 +02:00
4aad67b563 fix: improve line extraction from files with missing content 2024-12-27 09:00:20 +02:00
0f973681ea Add /implement tool to README and fix /test tool link 2024-12-25 11:43:23 +02:00
19f6078ed0 Add /test tool to tools section and fix typos 2024-12-25 11:39:53 +02:00
3994a2ba60 Add .qodo to gitignore 2024-12-25 11:34:54 +02:00
796b36f0d1 Add documentation for /implement tool in tools section and related files 2024-12-25 11:34:41 +02:00
Tal
12d603fdb4 Update README.md 2024-12-25 08:42:24 +02:00
Tal
6540e2c674 Merge pull request #1416 from Codium-ai/tr/remove_review_suggestions
refactor: remove legacy code suggestions feature from review tool
2024-12-25 08:26:03 +02:00
83e68f168a log verbosity 2024-12-25 08:22:53 +02:00
5e1b04980e refactor: remove reflection and incremental review features from docs and code 2024-12-25 08:21:33 +02:00
495c1ebe5f refactor: remove legacy code suggestions feature from review tool 2024-12-25 08:18:28 +02:00
Tal
ad71de82a9 Merge pull request #1413 from addianto/docs/1398-environment-variables
Document an example on how to configure PR Agent using environment variables
2024-12-24 21:25:54 +02:00
11676943b6 docs: Remind user to avoid commiting .env file (#1398) 2024-12-24 15:20:15 +07:00
b88507aa23 chore: Ignore .env file 2024-12-24 15:14:30 +07:00
a5c5e6f4ae docs: Add example how to define environment variables (#1398) 2024-12-24 15:01:26 +07:00
47cd361663 docs: Mention about the use of Dynaconf (#1398) 2024-12-24 15:01:13 +07:00
Tal
c84b3d04b9 Merge pull request #1412 from Codium-ai/tr/dedent_review
feat: add dedent option to code snippet formatting
2024-12-24 07:54:36 +02:00
7d9288bb1a feat: add dedent option to code snippet formatting 2024-12-24 07:49:27 +02:00
Tal
93e64367d2 Merge pull request #1410 from Codium-ai/tr/update_changelog_fix
Tr/update changelog fix
2024-12-23 19:37:28 +02:00
6c131b8406 feat: add PR link support in changelog updates 2024-12-23 19:35:52 +02:00
dd89e1f2dc feat: add PR link support in changelog updates 2024-12-23 19:34:21 +02:00
e8e4fb0afa feat: add PR link support in changelog updates 2024-12-23 17:20:29 +02:00
3360a28b3e fix: improve changelog update prompt and response handling 2024-12-23 17:06:21 +02:00
Tal
20c506d2e0 Merge pull request #1402 from KennyDizi/main
Add support for OpenAI `o1` model and snapshot version `o1-2024-12-17`
2024-12-22 09:36:04 +02:00
Tal
a1921d931c Merge pull request #1407 from Codium-ai/tr/publish_output_no_suggestions_fix
fix: only publish empty code suggestions when configured
2024-12-22 09:34:34 +02:00
31aa460f5f fix: only publish empty code suggestions when configured 2024-12-22 09:32:11 +02:00
23678c1d4d Update O1_MODEL_PREFIX to o1 based on new models released 2024-12-22 10:36:59 +07:00
8d7825233a Supported model gpt-o1 2024-12-22 10:33:26 +07:00
4688b20284 Support pull requests in personal spaces in Bitbucket Server
Related to #1148

Update `_parse_pr_url` method in `pr_agent/git_providers/bitbucket_server_provider.py` to handle URLs with `/users/`.

* Add logic to check for both `/projects/` and `/users/` in the URL path and process them accordingly.
* Modify the method to raise a `ValueError` if neither `/projects/` nor `/users/` is found in the URL.
* Update the `workspace_slug` to include a `~` prefix if the URL contains `/users/`.

Add test case for URL with `/users/` in `tests/unittest/test_bitbucket_provider.py`.

* Ensure the new test case verifies the correct parsing of URLs with `/users/`.
2024-12-22 00:42:11 +05:30
Tal
c9f02e63e1 Merge pull request #1403 from Codium-ai/tr/re_review
feat: enhance code review output with collapsible code snippets
2024-12-20 16:38:56 +02:00
c2f1f2dba0 fix: improve markdown rendering when git provider is unavailable 2024-12-19 21:08:27 +02:00
3ab2cac089 fix: improve markdown rendering when git provider is unavailable 2024-12-19 20:59:17 +02:00
989670b159 fix: improve markdown rendering when git provider is unavailable 2024-12-19 20:49:40 +02:00
7e8361b5fd feat: enhance code review output with collapsible code snippets and variable links 2024-12-19 20:30:56 +02:00
eaaaf6a6a2 Fix context windows token for model o1-2024-12-17 2024-12-19 23:11:45 +07:00
07f3933f6d Add support OpenAI model o1 snapshot version o1-2024-12-17 2024-12-19 23:00:47 +07:00
Tal
84786495ed Merge pull request #1401 from Codium-ai/tr/docs3
docs: simplify default tool configurations and update documentation
2024-12-19 16:43:25 +02:00
d09aa1b13e docs: remove unused automatic_review configuration option 2024-12-19 16:41:18 +02:00
Tal
e9615c6994 Merge pull request #1384 from MarkRx/feature/version-metadata
Add --version command and version metadata
2024-12-19 09:34:24 +02:00
f3ee4a75b5 docs: simplify default tool configurations and update documentation 2024-12-19 09:33:20 +02:00
452abe2e18 Move get_version to algo/util.py; fix version to 0.25 2024-12-17 08:44:53 -07:00
Tal
a768969d37 Merge pull request #1397 from KennyDizi/main
Add support for `gemini/gemini-2.0-flash-exp` model
2024-12-16 20:37:55 +02:00
Tal
9ef9198468 Update index.md 2024-12-16 20:37:09 +02:00
Tal
d0ea901bca Update fetching_ticket_context.md 2024-12-16 20:29:17 +02:00
Tal
57089c931b Merge pull request #1396 from ofir-frd/add-pr-body-license-documentation
Similar Code: Add PR Body License Documentation
2024-12-16 20:24:42 +02:00
03d2bea50b Add support model gemini-2.0-flash-exp 2024-12-16 23:37:19 +07:00
721d38d4ed docs: add license information to similar code documentation 2024-12-16 17:11:17 +02:00
Tal
bbec5d9cc9 Merge pull request #1395 from Codium-ai/mrT23-patch-6
Update review.md
2024-12-14 11:54:56 +02:00
Tal
0be2750dfa Update review.md 2024-12-14 11:53:47 +02:00
Tal
5e5c251cd0 Merge pull request #1394 from Codium-ai/mrT23-patch-6
Update README.md
2024-12-13 16:11:12 +02:00
Tal
048ae8ee9e Update README.md
Co-authored-by: qodo-merge-pro-for-open-source[bot] <189517486+qodo-merge-pro-for-open-source[bot]@users.noreply.github.com>
2024-12-13 16:11:04 +02:00
Tal
1a77e9afaf Update README.md 2024-12-13 16:09:18 +02:00
Tal
184a52d325 Update README.md 2024-12-12 21:40:04 +02:00
Tal
3d38060dff Update README.md 2024-12-12 21:35:56 +02:00
c4dc263f2c docs: update repository reference to be platform-agnostic 2024-12-11 18:31:49 +02:00
Tal
f67cc0dd18 Merge pull request #1392 from Codium-ai/tr/model_weak
docs: remove model_weak configuration and simplify model selection
2024-12-11 18:19:05 +02:00
872b27bfd8 docs: remove model_weak configuration and simplify model selection 2024-12-11 18:10:34 +02:00
Tal
cb88489dbe Merge pull request #1387 from KennyDizi/main
Introduce to weak model
2024-12-11 17:36:18 +02:00
Tal
da786b8020 Merge pull request #1391 from Codium-ai/tr/thumbs_up_down
feat: add thumbs up/down support and refactor code suggestions handling
2024-12-11 13:21:07 +02:00
6a51b8501d docs: add allow_thumbs_up_down configuration option and remove rank_extended_suggestions 2024-12-11 13:16:21 +02:00
d34edb83ff feat: add thumbs up/down support and refactor code suggestions handling 2024-12-11 13:03:43 +02:00
Tal
c6eb253ed1 Merge pull request #1390 from glebzhidkov/docs/escape-list-in-yaml-file
Fix doc for Github Actions
2024-12-10 22:07:55 +02:00
a61f1889d1 fix doc 2024-12-10 13:44:56 +01:00
75a120952c Add version metadata and --version command 2024-12-09 09:27:54 -07:00
f9a7b18073 Improve condition to pick up weak model 2024-12-09 22:36:07 +07:00
6352e6e3bf Change default model to regular model 2024-12-09 22:24:44 +07:00
f49217e058 docs: fix typos in improve.md documentation 2024-12-09 09:09:09 +02:00
Tal
e11cec7d9e Merge pull request #1388 from Codium-ai/tr/readme_enhancments
docs: reorganize and enhance best practices documentation in improve.md
2024-12-09 09:05:25 +02:00
c45cde93ef docs: fix typos in improve.md documentation 2024-12-09 09:04:53 +02:00
9e25667d97 docs: reorganize and enhance best practices documentation in improve.md 2024-12-09 09:02:40 +02:00
7dc9e73423 fix: move user_tag variable declaration outside conditional block 2024-12-09 08:27:30 +02:00
e3d779c30d Fix typo model_weak 2024-12-08 22:09:48 +07:00
88a93bdcd7 Update weak model document 2024-12-08 22:01:00 +07:00
3c31048afc Update model in git provider 2024-12-08 22:00:37 +07:00
fc5dda0957 Use weak model for the rest flows 2024-12-08 21:51:29 +07:00
936894e4d1 Use regular model for pr review and code suggestion flows 2024-12-08 21:51:09 +07:00
dec2859fc4 Set default model to weak model 2024-12-08 21:10:26 +07:00
a4d9a65fc6 Add model_week 2024-12-08 20:23:36 +07:00
683108d3a5 Removed model_turbo 2024-12-08 20:10:38 +07:00
e68e100117 typo 2024-12-08 11:46:10 +02:00
Tal
158892047b Merge pull request #1386 from Codium-ai/tr/self_check
Tr/self check
2024-12-08 11:42:53 +02:00
Tal
7d5e59cd40 Update tests/health_test/main.py
Co-authored-by: qodo-merge-pro-for-open-source[bot] <189517486+qodo-merge-pro-for-open-source[bot]@users.noreply.github.com>
2024-12-08 11:41:05 +02:00
e8fc351ce9 docs: add CLI health check section and reorganize automations documentation 2024-12-08 11:39:15 +02:00
43e91b0df7 feat: add health test for PR agent commands and improve output handling 2024-12-08 11:27:43 +02:00
39a461b3b2 docs: update badges and clarify Qodo Merge Pro description 2024-12-05 21:50:39 +02:00
19ade4acf0 fixed link 2024-12-04 14:29:12 +02:00
Tal
10f8b522db Merge pull request #1381 from Codium-ai/tr/qodo_installation
Tr/qodo installation
2024-12-03 18:17:37 +02:00
d26ca4f71c docs: update Qodo Merge Pro installation documentation with Bitbucket support 2024-12-03 18:16:02 +02:00
9160f756db docs: update Qodo Merge Pro installation documentation with Bitbucket support 2024-12-03 18:14:36 +02:00
84c3a7b969 docs: update Qodo Merge Pro installation documentation with Bitbucket support 2024-12-03 18:12:21 +02:00
d9f9cc65b3 Merge pull request #1380 from Codium-ai/hl/ticket_docs_update
Update fetching_ticket_context.md
2024-12-03 18:04:06 +02:00
7d99c0db8e Merge remote-tracking branch 'origin/main' 2024-12-03 17:48:14 +02:00
fe20a8c5e7 docs: update Qodo Merge Pro installation documentation with rebranding changes 2024-12-03 17:48:05 +02:00
43c95106d4 Update fetching_ticket_context.md 2024-12-03 17:18:40 +02:00
Tal
1dd5f0b848 Merge pull request #1379 from Codium-ai/tr/disable_auto_commands
Add disable_auto_feedback configuration option to control automatic feedback
2024-12-02 21:34:15 +02:00
8610aa27a4 Add disable_auto_feedback configuration option to control automatic PR feedback 2024-12-02 21:28:48 +02:00
91bf3c0749 openai version 2024-12-02 09:23:51 +02:00
Tal
159155785e Update README.md 2024-12-02 08:46:36 +02:00
Tal
eabc296246 Merge pull request #1376 from pdecat/enhancement/generalize_publish_output_progress
Add publish_output_progress config support to AzureDevOps, BitBucket and Gitlab providers
2024-12-02 08:27:06 +02:00
Tal
b44030114e Merge pull request #1374 from KennyDizi/main
Add Support for GPT-4o November 2024 Model and Update Configurations
2024-12-02 08:23:26 +02:00
Tal
1d6f87be3b Merge pull request #1375 from Codium-ai/update-google-tag-manager
Update Google Tag Manager ID in custom analytics integration
2024-12-02 07:53:16 +02:00
Tal
a7c6fa7bd2 Merge pull request #1364 from ryanzll/main
Check git_provider and reference_link before using them in utils.py
2024-12-02 07:52:59 +02:00
a825aec5f3 Add publish_output_progress config support to AzureDevOps, BitBucket and Gitlab providers 2024-11-28 17:15:24 +01:00
4df097c228 Update Google Tag Manager ID in custom analytics integration 2024-11-25 15:07:28 +02:00
6871e1b27a docs: add section on customizing best practices label in improve.md 2024-11-24 17:37:35 +02:00
4afe05761d docs: add section on best practices for multiple languages in improve.md 2024-11-24 17:22:18 +02:00
7d1b6c2f0a Upgrade litellm to v1.52.12 to support model gpt-4o-2024-11-20 2024-11-21 22:12:01 +07:00
3547cf2057 Update model_turbo and fallback_models 2024-11-21 22:10:55 +07:00
f2043d639c Add support model gpt-4o-2024-11-20 2024-11-21 22:10:27 +07:00
Tal
6240de3898 Merge pull request #1373 from Codium-ai/tr/ado
Improve logging and error handling in Azure DevOps provider for code …
2024-11-21 13:41:22 +02:00
f08b20c667 Improve logging and error handling in Azure DevOps provider for code suggestions 2024-11-21 13:37:48 +02:00
Tal
e64b468556 Update azure.md 2024-11-21 09:24:45 +02:00
Tal
d48d14dac7 Merge pull request #1369 from Codium-ai/tr/committable_comments
Tr/committable comments
2024-11-20 17:49:08 +02:00
eb0c959ca9 Add validation for committable comments within PR hunks in GitHub provider 2024-11-20 17:28:13 +02:00
741a70ad9d Add detailed diff code generation for GitLab suggestions and improve comment formatting 2024-11-20 17:26:36 +02:00
22ee03981e Add diff code generation for Bitbucket code suggestions and improve logging 2024-11-20 17:25:10 +02:00
Tal
b1336e7d08 Merge pull request #1355 from Codium-ai/tr/3-way-prs
use a more modern package
2024-11-18 17:02:26 +02:00
Tal
751caca141 Merge pull request #1367 from Codium-ai/tr/focus_only_on_problems_enabled
Enable focus_only_on_problems mode by default in configuration and up…
2024-11-18 16:49:57 +02:00
612004727c true 2024-11-18 16:47:55 +02:00
577ee0241d Enable focus_only_on_problems mode by default in configuration and update README.md 2024-11-18 16:35:23 +02:00
a141ca133c Update utils.py
1. add missed emoji for "PR contains tests"
2. check git_provider and reference_link before using them
2024-11-16 09:32:05 +08:00
a14b6a580d Enable pre-commit workflow with manual dispatch trigger 2024-11-14 15:40:29 +02:00
Tal
cc5005c490 Merge pull request #1362 from samuele-ruffino96/docs/update-ci-pipeline-variable-note
docs: add note about $CI_SERVER_FQDN variable in GitLab CI/CD pipeline
2024-11-14 15:36:33 +02:00
3a5d0f54ce docs: add note about $CI_SERVER_FQDN variable in GitLab CI/CD pipeline
Clarified that the $CI_SERVER_FQDN variable was introduced in GitLab 16.10 and explained how to combine $CI_SERVER_HOST:$CI_SERVER_PORT to achieve the same result in earlier GitLab versions.
2024-11-14 12:57:44 +01:00
Tal
cd8ba4f59f Merge pull request #1359 from Codium-ai/tr/is_bot_user
Refactor `is_bot_user` function to improve actor type handling
2024-11-14 08:29:05 +02:00
fe27f96bf1 Improve robustness of sender_id extraction in Bitbucket app server by using safe dictionary access 2024-11-14 08:26:04 +02:00
2c3aa7b2dc Improve actor data extraction logic in Bitbucket app server 2024-11-14 08:23:38 +02:00
c934523f2d Refactor is_bot_user function to improve actor type handling and logging 2024-11-14 08:19:49 +02:00
2f4545dc15 Refactor byte decoding in Bitbucket server provider using decode_if_bytes function 2024-11-12 08:26:33 +02:00
cbd490b3d7 use a more modern version 2024-11-12 08:23:11 +02:00
Tal
b07f96d26a Merge pull request #1354 from Codium-ai/tr/3-way-prs
Tr/3 way prs
2024-11-12 08:17:41 +02:00
065777040f Improve PR file content retrieval and logging verbosity handling 2024-11-12 08:06:02 +02:00
9c82047dc3 Add validation for hunk lines matching original file content in git patch processing 2024-11-12 07:50:37 +02:00
Tal
e0c15409bb Merge pull request #1351 from Codium-ai/tr/fix_docs
Fixed mkdocs emoji configuration after pre-commit error
2024-11-08 10:49:41 +02:00
d956c72cb6 Disable pre-commit workflow and update mkdocs emoji configuration 2024-11-08 10:46:35 +02:00
Tal
dfb3d801cf Merge pull request #1316 from yu-iskw/introduce-pre-commit
Introduce pre-commit hooks and GitHub Actions
2024-11-08 09:58:59 +02:00
Tal
5c5a3e267c Merge branch 'main' into introduce-pre-commit 2024-11-08 09:54:21 +02:00
Tal
f9380c2440 Merge pull request #1350 from NxPKG/patch-1
Remove unused deployment_id variable.
2024-11-08 09:49:07 +02:00
Tal
e6a1f14c0e Merge pull request #1345 from KennyDizi/main
Add Claude 3.5 Haiku Model Support and Update Dependencies
2024-11-07 17:23:28 +02:00
6339845eb4 Remove unused deployment_id variable.
The deployment_id variable is assigned but never used in the function.
2024-11-07 14:24:35 +06:00
Tal
732cc18fd6 Merge pull request #1348 from Codium-ai/tr/focus_only_on_problems
Add focus_only_on_problems setting for targeted code suggestions
2024-11-07 09:09:03 +02:00
84d0f80c81 Add documentation for focus_only_on_problems setting in improve.md and README.md 2024-11-07 09:07:16 +02:00
ee26bf35c1 Add documentation for focus_only_on_problems setting in improve.md and README.md 2024-11-07 09:06:30 +02:00
7a5e9102fd Add documentation for focus_only_on_problems setting in improve.md and README.md 2024-11-07 08:59:10 +02:00
a8c97bfa73 Add documentation for focus_only_on_problems setting in improve.md and README.md 2024-11-07 08:30:18 +02:00
af653a048f Add support model bedrock/anthropic.claude-3-5-haiku-20241022-v1:0 2024-11-07 09:12:52 +07:00
d2663f959a Add focus_only_on_problems setting for targeted code suggestions 2024-11-06 21:22:58 +02:00
e650fe9ce9 Merge remote-tracking branch 'origin/main' 2024-11-06 12:20:41 +02:00
daeca42ae8 Update ticket analysis review setting key in compliance check function 2024-11-06 12:20:31 +02:00
04496f9b0e Update tiktoken to v0.8.0 2024-11-06 08:07:44 +07:00
0eacb3e35e Update openai to v1.54.1 2024-11-06 08:07:19 +07:00
c5ed2f040a Update litellm to v1..52.0 2024-11-06 07:56:30 +07:00
c394fc2767 Upgrade anthropic version to 0.39.0 2024-11-06 07:55:19 +07:00
157251493a Add support claude-3-5-haiku-20241022 model 2024-11-06 07:52:58 +07:00
Tal
4a982a849d Merge pull request #1343 from Codium-ai/mrT23-patch-5
Update automations_and_usage.md
2024-11-05 11:30:16 +02:00
Tal
6e3544f523 Update automations_and_usage.md 2024-11-05 11:27:38 +02:00
Tal
bf3ebbb95f Merge pull request #1342 from Codium-ai/hl/docs_tickets
update docs
2024-11-04 17:20:00 +02:00
eb44ecb1be update docs 2024-11-04 17:18:18 +02:00
Tal
45bae48701 Merge pull request #1341 from Codium-ai/hl/docs_tickets
Hl/docs tickets
2024-11-04 16:36:01 +02:00
b2181e4c79 typos 2024-11-04 16:35:21 +02:00
5939d3b17b readme 2024-11-04 16:32:53 +02:00
c1f4964a55 update review 2024-11-04 16:19:17 +02:00
022e407d84 add documentation for ticket integrations 2024-11-04 15:52:39 +02:00
Tal
93ba2d239a Merge pull request #1331 from miyagi-do/nocode_suggestions_config
Add configuration option to control publish of no code suggestions message
2024-11-04 07:50:57 +02:00
Tal
fa49dd5167 Merge branch 'main' into nocode_suggestions_config 2024-11-04 07:50:22 +02:00
Tal
16029e66ad Update README.md 2024-11-03 18:15:09 +02:00
Tal
7bd6713335 Merge pull request #1338 from Codium-ai/tr/no_line_numbers
Add support for processing diffs without line numbers in code suggest…
2024-11-03 18:13:12 +02:00
ef3241285d Add support for processing diffs without line numbers in code suggestions tool 2024-11-03 17:34:30 +02:00
Tal
d9ef26dc1c Merge pull request #1337 from Codium-ai/mrT23-patch-5
Update additional_configurations.md
2024-11-03 14:15:53 +02:00
Tal
02949b2b96 Update additional_configurations.md 2024-11-03 14:14:14 +02:00
Tal
d301c76b65 Merge pull request #1332 from ryanzll/main
Merge branch 'main' of https://github.com/ryanzll/pr-agent
2024-11-03 09:53:46 +02:00
dacb45dd8a Merge branch 'main' of https://github.com/ryanzll/pr-agent
update openai api
2024-11-02 09:47:14 +08:00
443d06df06 Add configuration option to control publish of no code suggestions message 2024-11-01 15:38:16 -04:00
Tal
15e8c988a4 Merge pull request #1326 from Codium-ai/tr/certifi
Add certifi==2024.8.30 to requirements.txt
2024-10-31 11:17:09 +02:00
Tal
60fab1b301 Merge pull request #1325 from nomi3/fix-installation-docs-for-bitbucket
update bitbucket-pipelines.yml filename in installation
2024-10-31 11:14:22 +02:00
84c1c1b1ca Add certifi==2024.8.30 to requirements.txt 2024-10-31 11:12:35 +02:00
7419a6d51a chore: update bitbucket-pipelines.yml filename in installation documentation 2024-10-31 17:40:31 +09:00
Tal
ee58a92fb3 Merge pull request #1321 from Codium-ai/hl/fix_reflection
Self-Reflection small fix
2024-10-30 20:33:32 +02:00
6b64924355 switch the order of when to disable the existing code, to make sure reflection see's the full suggestion (before and after) 2024-10-30 17:09:44 +02:00
2f5e8472b9 Add PRDescriptionHeader enum for consistent "Changes walkthrough" usage across modules 2024-10-30 08:48:08 +02:00
852bb371af Add pre-commit.yml
Signed-off-by: Yu Ishikawa <yu-iskw@users.noreply.github.com>
2024-10-30 10:00:59 +09:00
7c90e44656 Add pre-commit
Signed-off-by: Yu Ishikawa <yu-iskw@users.noreply.github.com>
2024-10-30 10:00:42 +09:00
81dea65856 Format files by pre-commit run -a
Signed-off-by: Yu Ishikawa <yu-iskw@users.noreply.github.com>
2024-10-30 10:00:36 +09:00
a3d572fb69 Add .pre-commit-config.yaml
Signed-off-by: Yu Ishikawa <yu-iskw@users.noreply.github.com>
2024-10-30 09:55:15 +09:00
Tal
7186bf4bb3 Merge pull request #1313 from yu-iskw/support-google-ai-studio
Support Google AI Studio
2024-10-29 19:22:28 +02:00
Tal
115fca58a3 Merge pull request #1307 from s1moe2/docs/gitlab
Gitlab docs improved; gitlab webhook secret config standardization
2024-10-29 19:20:15 +02:00
cbf60ca636 revert gitlab webhook_secret; docs adjustments 2024-10-29 16:02:06 +00:00
64ac45d03b fix typos 2024-10-29 10:49:53 +00:00
db062e3e35 Support Google AI Studio
Signed-off-by: Yu Ishikawa <yu-iskw@users.noreply.github.com>
2024-10-29 08:00:16 +09:00
Tal
e85472f367 Merge pull request #1311 from Codium-ai/tr/header
Add PRDescriptionHeader enum for consistent "Changes walkthrough" usa…
2024-10-28 08:15:21 +02:00
597f1c6f83 Add PRDescriptionHeader enum for consistent "Changes walkthrough" usage across modules 2024-10-28 08:12:56 +02:00
Tal
66d4f56777 Merge pull request #1309 from Codium-ai/tr/suggestion_tracking
Tr/suggestion tracking
2024-10-27 16:12:56 +02:00
fbfb9e0881 Add suggestion tracking feature with wiki documentation support 2024-10-27 16:07:07 +02:00
Tal
223b5408d7 Merge pull request #1308 from Codium-ai/update-docs-favicon
update docs favicon to fix proportion
2024-10-27 15:56:55 +02:00
509135a8d4 Add suggestion tracking feature with wiki documentation support 2024-10-27 15:56:26 +02:00
8db7151bf0 Add suggestion tracking feature with wiki documentation support 2024-10-27 15:49:10 +02:00
b8cfcdbc12 Improve markdown header sanitization in PR help message tool 2024-10-27 14:58:21 +02:00
Tal
a3cd433184 Update README.md 2024-10-27 10:13:20 +02:00
0f284711e6 update docs favicon to fix proportion 2024-10-26 11:36:28 +03:00
67b46e7f30 fixed secrets file comment typo 2024-10-25 16:20:35 +01:00
68f2cec077 Gitlab docs improved; gitlab webhook secret config standadization 2024-10-25 16:17:33 +01:00
8e94c8b2f5 chore: update Dockerfiles to use Python 3.12 and adjust docs directory addition 2024-10-25 17:35:28 +03:00
Tal
a221f8edd0 Merge pull request #1306 from Codium-ai/tr/help
Tr/help
2024-10-25 17:02:24 +03:00
3b47c75c32 Improve handling of empty markdown headers in PR help message tool and update prompt instructions in pr_help_prompts.toml 2024-10-25 12:27:59 +03:00
2e34d7a05a s 2024-10-24 22:05:25 +03:00
204a0a7912 s 2024-10-24 22:03:44 +03:00
9786499fa6 Refactor PR help message tool to use full documentation content for answering questions and update relevant section handling in prompts 2024-10-24 22:01:40 +03:00
4f14742233 Refactor PR help message tool to use full documentation content for answering questions and update relevant section handling in prompts 2024-10-24 21:38:31 +03:00
Tal
c077c71fdb Merge pull request #1302 from KennyDizi/main
Add support for new Claude models and update dependencies
2024-10-24 08:40:58 +03:00
Tal
7b5a3d45bd Merge pull request #1305 from dheerajsir/main
fix typos in documents
2024-10-24 08:37:31 +03:00
c6c6a9b4f0 Update custom_labels.md 2024-10-23 20:13:45 +05:30
a5e7c37fcc Update pr_agent_pro.md 2024-10-23 20:12:14 +05:30
12a9e13509 Update index.md 2024-10-23 20:10:14 +05:30
Tal
0b4b6b1589 Update configuration_options.md 2024-10-23 17:19:16 +03:00
Tal
bf049381bd Merge pull request #1303 from Codium-ai/mrT23-patch-2
Update atlassian-connect.json
2024-10-23 09:21:30 +03:00
Tal
65c917b84b Update atlassian-connect.json 2024-10-23 09:04:27 +03:00
b4700bd7c0 Add support bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0 model 2024-10-23 08:08:04 +07:00
a957554262 Update anthropic to v0.37.1 2024-10-23 07:44:58 +07:00
d491a942cc Update openai to v1.52.1 2024-10-23 07:20:35 +07:00
6c55a2720a Update litellm to v1.50.2 to support all new added models 2024-10-23 07:12:39 +07:00
f1d0401f82 Add model vertex_ai/claude-3-5-sonnet-v2@20241022 2024-10-23 07:11:33 +07:00
c5bd09e2c9 Add model anthropic/claude-3-5-sonnet-20241022 2024-10-23 07:10:22 +07:00
Tal
c70acdc7cd Merge pull request #1299 from Codium-ai/tr/disable_default_publish_labels
disable publishing labels by default
2024-10-22 08:13:52 +03:00
Tal
1c6f7f9c06 Update README.md 2024-10-22 08:12:15 +03:00
0b32b253ca docs: update default setting for publish_labels to false and adjust related documentation 2024-10-21 17:56:15 +03:00
Tal
3efd2213f2 Merge pull request #1298 from Codium-ai/tr/help
docs: update pr_help_prompts.toml with project name change and format…
2024-10-21 07:41:19 +03:00
0705bd03c4 docs: update pr_help_prompts.toml with project name change and formatting adjustments 2024-10-21 07:37:57 +03:00
927d005e99 docs: update pr_help_prompts.toml with project name change and formatting adjustments 2024-10-21 07:33:26 +03:00
Tal
0dccfdbbf0 Merge pull request #1295 from Codium-ai/tr/azure_o1
fix: correct model type extraction for O1 model handling
2024-10-19 11:35:31 +03:00
Tal
dcb7b66fd7 Update pr_agent/algo/ai_handlers/litellm_ai_handler.py
Co-authored-by: codiumai-pr-agent-pro[bot] <151058649+codiumai-pr-agent-pro[bot]@users.noreply.github.com>
2024-10-19 11:34:57 +03:00
b7437147af fix: correct model type extraction for O1 model handling in litellm_ai_handler.py 2024-10-19 11:32:45 +03:00
e82afdd2cb Merge pull request #1290 from Codium-ai/hl/tickets_support
support more types of github ticket url / references
2024-10-14 14:34:45 +03:00
0946da3810 support github enterprise 2024-10-14 14:31:34 +03:00
d1f4069d3f docs: add news update for improved GitHub Actions support on enterprise server 2024-10-14 13:16:11 +03:00
d45a892fd2 Update pr_agent/tools/ticket_pr_compliance_check.py
Co-authored-by: codiumai-pr-agent-pro[bot] <151058649+codiumai-pr-agent-pro[bot]@users.noreply.github.com>
2024-10-14 10:59:58 +03:00
Tal
4a91b8ed8d Merge pull request #1292 from Codium-ai/tr/server
Tr/server
2024-10-14 10:31:41 +03:00
fb85cb721a docs: fix typo in installation instructions for GitHub Enterprise Server in pr_agent_pro.md 2024-10-14 10:31:06 +03:00
3a52122677 improve and combine regex 2024-10-14 10:30:07 +03:00
13c6ed9098 docs: update installation instructions for GitHub Enterprise Server in pr_agent_pro.md 2024-10-14 10:27:52 +03:00
9dd1995464 docs: update installation guides with GitHub enterprise server instructions and formatting improvements 2024-10-14 10:25:51 +03:00
eb804d0b34 clean 2024-10-14 10:08:36 +03:00
Tal
e0ee878e84 Merge pull request #1291 from Codium-ai/tr/server
Tr/server
2024-10-14 09:44:38 +03:00
27abe48a34 feat: import Range utility in GitHubProvider for enhanced functionality 2024-10-14 09:43:58 +03:00
8fe504a7ec feat: import Range utility in GitHubProvider for enhanced functionality 2024-10-14 09:40:57 +03:00
f6ba49819a feat: enhance GitHubProvider with improved error handling and URL parsing
- Add traceback logging for exceptions in diff file retrieval
- Improve URL parsing to handle '/api/v3' paths and validate GitHub URLs
- Modify `publish_comment` to return None for temporary comments
- Update constructor to accept an optional GitHub client parameter
2024-10-14 09:18:06 +03:00
22bf7af9ba refactor regex 2024-10-14 08:44:01 +03:00
840e8c4d6b support more types of github ticket url / references 2024-10-13 22:41:33 +03:00
Tal
49f8d86c77 Merge pull request #1289 from Codium-ai/tr/ticket_review
fix: handle missing issue body and improve error logging in ticket co…
2024-10-13 08:20:08 +03:00
05827d125b fix: handle missing issue body and improve error logging in ticket compliance check 2024-10-13 08:19:14 +03:00
74ee9a333e fix: handle missing issue body and improve error logging in ticket compliance check 2024-10-13 08:15:04 +03:00
Tal
e9769fa602 Merge pull request #1283 from Codium-ai/mrT23-patch-2
Update README.md
2024-10-10 10:12:24 +03:00
Tal
3adff8cf4c Update README.md 2024-10-10 10:11:31 +03:00
Tal
d249b47ce9 Merge pull request #1282 from Codium-ai/tr/ticket_review
Tr/ticket review
2024-10-10 10:08:05 +03:00
892d1ad15c Merge remote-tracking branch 'origin/tr/ticket_review' into tr/ticket_review 2024-10-10 10:02:43 +03:00
76d95bb6d7 feat: add ticket compliance check
- Implement ticket compliance check logic in `utils.py` and `ticket_pr_compliance_check.py`
- Add functions to extract and cache PR tickets, and check ticket relevancy
2024-10-10 10:01:48 +03:00
7db9a03805 feat: integrate ticket extraction and enhance YAML handling in PR tools
- Add ticket extraction and caching functionality in `pr_description.py` and `pr_reviewer.py`.
- Introduce `keys_fix` parameter to improve YAML loading robustness.
- Enhance error handling for estimated effort parsing in `pr_reviewer.py`.
2024-10-10 08:53:07 +03:00
4eef3e9190 feat: add ticket compliance check and rate limit validation
- Implement ticket compliance check logic in `utils.py` and `ticket_pr_compliance_check.py`
- Add functions to extract and cache PR tickets, and check ticket relevancy
- Introduce rate limit validation for GitHub API requests
- Update `pr_reviewer_prompts.toml` and `pr_description_prompts.toml` to include ticket compliance fields
- Modify configuration to require ticket analysis review
2024-10-10 08:48:37 +03:00
Tal
014ea884d2 Merge pull request #1280 from Codium-ai/update-qodo-brand
Update footer links and branding from CodiumAI to Qodo
2024-10-10 07:41:39 +03:00
c1c5ee7cfb Update footer links and branding from CodiumAI to Qodo 2024-10-09 11:46:10 +03:00
Tal
3ac1ddc5d7 Merge pull request #1279 from Codium-ai/tr/o1_system
feat: add support for O1 model by combining system and user prompt
2024-10-09 08:59:40 +03:00
Tal
e6c56c7355 Update pr_agent/algo/ai_handlers/litellm_ai_handler.py
Co-authored-by: codiumai-pr-agent-pro[bot] <151058649+codiumai-pr-agent-pro[bot]@users.noreply.github.com>
2024-10-09 08:56:31 +03:00
727b08fde3 feat: add support for O1 model by combining system and user prompts in litellm_ai_handler 2024-10-09 08:53:34 +03:00
Tal
5d9d48dc82 Update .pr_agent.toml 2024-10-09 08:46:57 +03:00
Tal
8e8062fefc Merge pull request #1276 from Codium-ai/tr/fold_suggestions_on_review
docs: update improve.md with folding suggestions feature and add conf…
2024-10-08 20:53:26 +03:00
23a3e208a5 docs: update improve.md with folding suggestions feature and add config option 2024-10-08 20:51:45 +03:00
Tal
bb84063ef2 Merge pull request #1274 from CoryBall/azure-devops-pr-new-file-error-fix
bug-fix_azuredevops-new-file
2024-10-08 16:05:21 +03:00
a476e85fa7 bug-fix_azuredevops-new-file 2024-10-08 01:13:44 -05:00
4b05a3e858 refactor: streamline hunk processing logic in git_patch_processing.py
- Simplified logic for handling new and old hunks to ensure consistent presentation of changes.
- Updated documentation in TOML files to reflect changes in hunk section handling and line number references.
2024-10-07 20:32:11 +03:00
cd158f24f6 fix: move settings initialization outside inner function in gitlab_webhook 2024-10-07 20:24:21 +03:00
Tal
ada0a3d10f Merge pull request #1272 from Codium-ai/tr/warning_on_bad_config
Tr/warning on bad config
2024-10-07 09:24:43 +03:00
ddf1afb23f chore: update prompt guidelines to include exception type suggestions 2024-10-07 09:17:26 +03:00
e2b5489495 feat: add error handling for invalid repo settings configuration
- Implement error handling for invalid TOML configurations in repo settings.
- Log warnings and send comments to PRs when configuration errors occur.
- Introduce `handle_configurations_errors` function to manage error reporting.
- Ensure compatibility with different markdown formats for error messages.
2024-10-07 09:13:17 +03:00
Tal
6459535e39 Merge pull request #1271 from Codium-ai/tr/blogs
docs: add links to technical blogs on LLMs and coding tasks in core a…
2024-10-06 18:20:02 +03:00
Tal
5a719c1904 Update docs/docs/core-abilities/index.md
Co-authored-by: codiumai-pr-agent-pro[bot] <151058649+codiumai-pr-agent-pro[bot]@users.noreply.github.com>
2024-10-06 18:19:26 +03:00
1a2ea2c87d docs: add links to technical blogs on LLMs and coding tasks in core abilities index 2024-10-06 18:16:24 +03:00
ca79bafab3 fixed link 2024-10-04 08:06:57 +03:00
618224beef s 2024-10-02 17:15:44 +03:00
Tal
481c2a5985 Merge pull request #1267 from Codium-ai/tr/should_process
feat: enhance PR processing logic across GitLab, GitHub, and Bitbucket
2024-10-02 17:10:49 +03:00
e21d9dc9e3 s 2024-10-02 17:08:52 +03:00
6872a7076b s 2024-10-02 17:07:09 +03:00
c2ae429805 feat: enhance PR processing logic across GitLab, GitHub, and Bitbucket
- Refactor `should_process_pr_logic` to improve PR filtering based on data attributes.
- Update `_perform_commands_*` functions to incorporate new PR processing checks.
- Ensure consistent handling of PRs by checking configurations before executing commands.
2024-10-02 17:02:33 +03:00
Tal
af5a50ac6a Merge pull request #1264 from Codium-ai/tr/commitable_alongside_table
dual publishing mode
2024-10-01 08:38:34 +03:00
bccc2844b9 dual publishing mode 2024-10-01 08:32:29 +03:00
Tal
d80103751e Merge pull request #1263 from Codium-ai/tr/commitable_alongside_table
feat: add dual publishing mode for PR code suggestions
2024-10-01 08:25:00 +03:00
8ff8b1d48e default 2024-10-01 08:22:28 +03:00
da0bd84746 dual 2024-10-01 08:20:16 +03:00
b42ded61f8 docs: add guidelines for implementing proposed code suggestions in improve.md 2024-10-01 08:16:51 +03:00
dfa4f22be2 feat: add dual publishing mode for PR code suggestions
- Introduced dual publishing mode to present high-scoring suggestions as both table entries and commitable PR comments.
- Updated documentation to include configuration options for dual publishing mode.
- Enhanced `pr_code_suggestions.py` to handle dual publishing logic and error handling.
- Modified `configuration.toml` to include `duel_publishing_score_threshold` setting.
2024-10-01 08:01:27 +03:00
Tal
7d55fc174b Merge pull request #1262 from Codium-ai/tr/prompt
style: refine field descriptions in KeyIssuesComponentLink model
2024-09-30 13:06:11 +03:00
968fb71577 refactor: update terminology for issue review recommendations in utils.py 2024-09-30 13:03:42 +03:00
454365913f refactor: update terminology for issue review recommendations in utils.py 2024-09-30 13:00:01 +03:00
bbaba2dbda refactor: update terminology for issue review recommendations in utils.py
style: refine field descriptions in KeyIssuesComponentLink model
2024-09-30 08:58:32 +03:00
e4c6792866 Merge remote-tracking branch 'origin/main' 2024-09-30 07:52:54 +03:00
183dd5d2fc diverse 2024-09-30 07:52:43 +03:00
Tal
2e79392a5f Merge pull request #1256 from Codium-ai/mrT23-patch-2
disable chat message for github action
2024-09-30 07:40:04 +03:00
da4148f336 docs: update links and references to Qodo Merge in documentation 2024-09-29 17:38:02 +03:00
070ed21103 update documentation links to qodo-merge-docs.qodo.ai 2024-09-29 17:32:16 +03:00
Tal
640bc1e28a Merge pull request #1261 from Codium-ai/tr/qodo_merge
Qodo Merge rename
2024-09-29 17:26:13 +03:00
6c4aa468a9 formerly 2024-09-29 17:24:37 +03:00
da20efd050 Qodo Merge rename 2024-09-29 17:19:46 +03:00
c25aaad176 Qodo Merge rename 2024-09-29 17:15:49 +03:00
Tal
b4c20d683c Merge pull request #1260 from Codium-ai/mrT23-patch-3
Update CNAME
2024-09-29 12:26:50 +03:00
Tal
7bc20d6f16 Update CNAME 2024-09-29 12:25:48 +03:00
f894e8831b revert unauthorized merge 2024-09-29 08:37:26 +03:00
25b7e1e777 update docs URL 2024-09-29 08:19:26 +03:00
Tal
6ba2fb212d Merge pull request #1259 from Codium-ai/tr/intro_review
Add intro text option for PR reviews in configuration and utils
2024-09-29 07:32:27 +03:00
4a60046f7c update tests 2024-09-29 07:28:02 +03:00
35b1f5e747 key 2024-09-29 07:23:34 +03:00
d77a819d92 Add intro text option for PR reviews in configuration and utils 2024-09-29 07:06:48 +03:00
f3fd439d47 docs 2024-09-27 16:24:07 +03:00
Tal
6188afff48 Merge pull request #1257 from Codium-ai/tr/code_suggestion_message
docs: update PR-Agent documentation with PR Chat search instructions
2024-09-27 16:15:09 +03:00
57cfdcf274 docs: update PR-Agent documentation with PR Chat search instructions 2024-09-27 16:13:54 +03:00
Tal
1333ac47bc Update configuration.toml 2024-09-26 18:24:11 +03:00
Tal
267e01409b Merge pull request #1255 from Codium-ai/tr/code_suggestion_message
Enable intro and chat text for PR code suggestions in configuration
2024-09-26 17:15:10 +03:00
8bdebcb99f Enable intro and chat text for PR code suggestions in configuration 2024-09-26 17:11:00 +03:00
Tal
a13400b9b8 Merge pull request #1254 from Codium-ai/tr/code_suggestion_message
Add intro and chat text options for PR code suggestions in configuration
2024-09-26 16:31:10 +03:00
89f9cf5adc Add intro and chat text options for PR code suggestions in configuration 2024-09-26 09:07:51 +03:00
Tal
6b653dbe48 Merge pull request #1253 from Codium-ai/tr/code_suggestion_message
Add configuration for auto actions in GitHub Action runner
2024-09-26 08:50:56 +03:00
109b965407 Add configuration for auto actions in GitHub Action runner 2024-09-26 08:03:39 +03:00
Tal
511c5a31db Merge pull request #1252 from Codium-ai/tr/prompts_refactor
improve code suggestion prompt
2024-09-25 21:23:00 +03:00
3dd8050004 improve code suggestion prompt 2024-09-25 21:22:41 +03:00
4b7d01972c improve code suggestion prompt 2024-09-25 21:15:14 +03:00
05ec944a8b improve code suggestion prompt 2024-09-25 17:52:54 +03:00
4713ae74b7 improve code suggestion prompt 2024-09-25 17:42:59 +03:00
c828cdde62 improve code suggestion prompt 2024-09-25 17:41:21 +03:00
6f14f9c8e1 improve code suggestion prompt 2024-09-25 16:22:16 +03:00
Tal
9f8cc75bd3 Merge pull request #1250 from chapeupreto/improve-pipeline-gitlab
docs: improve GitLab installation instruction
2024-09-25 07:11:54 +03:00
0668ccbb9e docs: improve GitLab installation instruction
This commit adds a missing `export` instruction that is required mainly
for self-hosted GitLab installations.
2024-09-24 23:34:40 -03:00
Tal
8a287f8ed6 Merge pull request #1248 from Codium-ai/tr/help_fixes
DocHelper
2024-09-22 16:17:30 +03:00
d5625db3c8 DocHelper 2024-09-22 16:16:59 +03:00
d6b779eef8 DocHelper 2024-09-22 16:14:32 +03:00
804cb9ec1d DocHelper 2024-09-22 15:55:18 +03:00
Tal
47d32283ca Merge pull request #1247 from Codium-ai/tr/help_fixes
Tr/help fixes
2024-09-22 10:23:29 +03:00
397963257d DocHelper 2024-09-22 10:21:47 +03:00
a3fd15bb92 Merge remote-tracking branch 'origin/main' into tr/help_fixes 2024-09-22 09:27:10 +03:00
ded7d96649 DocHelper 2024-09-22 09:23:34 +03:00
Tal
bbf06e25ef Merge pull request #1246 from Codium-ai/tr/docs_update
update docs
2024-09-22 09:20:38 +03:00
7e5ddf7e37 Update improve.md with enhanced self-review configuration details 2024-09-22 09:19:39 +03:00
0198c61cf7 update docs 2024-09-22 09:00:56 +03:00
20d8e76a7f logs 2024-09-22 08:31:56 +03:00
be8052251a Update pr_help_prompts.toml and fix snippet indexing in pr_help_message.py 2024-09-22 08:13:23 +03:00
ba08b13446 update PR-Agent usage instructions in pr_description.py 2024-09-21 21:10:51 +03:00
835684b92a Merge remote-tracking branch 'origin/main'
# Conflicts:
#	pr_agent/tools/pr_description.py
2024-09-21 21:10:38 +03:00
90295b6429 update PR-Agent usage instructions in pr_description.py 2024-09-21 21:10:06 +03:00
Tal
08d6bbc94c Merge pull request #1245 from Codium-ai/tr/help_rag
docs pr help
2024-09-21 20:58:06 +03:00
8229d98842 docs pr help 2024-09-21 20:55:05 +03:00
Tal
9e28aca919 Merge pull request #1244 from Codium-ai/tr/help_rag
Refactor S3 file handling and update Dockerfile to include local Chroma DB file
2024-09-21 19:28:04 +03:00
3e780783cc Add docs db 2024-09-21 19:24:23 +03:00
5c7b65810c Refactor S3 file handling and update Dockerfile to include local Chroma DB file 2024-09-21 19:11:46 +03:00
Tal
f2f82e8805 Merge pull request #1243 from Codium-ai/tr/help_rag
get protection
2024-09-21 17:08:23 +03:00
1e51acff22 get protection 2024-09-21 17:07:46 +03:00
Tal
81e847e477 Merge pull request #1242 from Codium-ai/tr/help_rag
prompts
2024-09-21 16:59:23 +03:00
a70fe27d94 prompts 2024-09-21 16:58:37 +03:00
Tal
1a5835a947 Merge pull request #1241 from Codium-ai/tr/help_rag
Add PR help message functionality and update dependencies
2024-09-21 16:28:42 +03:00
4b74506107 Add PR help message functionality and update dependencies
- Implement PRHelpMessage class to provide AI-powered assistance for pull requests.
- Add methods for similarity search using local, S3, and Pinecone databases.
- Update `requirements.txt` to include new dependencies for langchain and chromadb.
- Modify `configuration.toml` to include `force_local_db` setting for PR help.
- Update `aiohttp` and `openai` package versions.
2024-09-21 16:22:51 +03:00
08319f8492 fixed azure remove comment bug 2024-09-19 12:54:26 +03:00
Tal
b447080777 Merge pull request #1236 from Codium-ai/tr/tldr
TLDR
2024-09-16 09:23:49 +03:00
da398ce56f TLDR 2024-09-16 09:21:52 +03:00
Tal
16763d81b4 Merge pull request #1232 from yzongyue/feature/compatible_with_old_gitlab
func get_line_link compatible with old gitlab versions
2024-09-15 17:06:43 +03:00
Tal
80fe297bc9 Merge pull request #1231 from matanbaruch/main
Update PR Action Handling Logic in GitHub Action Runner
2024-09-15 15:30:34 +03:00
5d68b0c492 Update automations_and_usage.md 2024-09-15 15:19:40 +03:00
Tal
8d5f015e5c Merge pull request #1234 from Codium-ai/tr/dynamic
self_reflection
2024-09-15 14:52:06 +03:00
be03f83318 self_reflection 2024-09-15 14:50:24 +03:00
cbfd250c0c self_reflection 2024-09-15 14:47:27 +03:00
Tal
7ce46e65a1 Merge pull request #1233 from Codium-ai/tr/dynamic
collapsible
2024-09-15 13:45:39 +03:00
600f230ba7 collapsible 2024-09-15 13:44:27 +03:00
Tal
4f4f13b8b2 Update improve.md 2024-09-15 12:44:11 +03:00
Tal
146b8823a9 Merge pull request #1230 from Codium-ai/tr/dynamic
Tr/dynamic
2024-09-15 12:39:00 +03:00
fdb1ff8057 update best practics 2024-09-15 12:36:00 +03:00
ce8e637800 get_line_link compatible with old gitlab versions 2024-09-15 14:56:08 +08:00
306af02d22 Update github_action_runner.py 2024-09-15 09:42:02 +03:00
a23541912b Update github_action_runner.py 2024-09-15 09:40:05 +03:00
0851767774 Update configuration.toml 2024-09-15 09:35:58 +03:00
585a7f1c69 Update github_action_runner.py 2024-09-15 09:33:47 +03:00
8d82cb2e04 f string 2024-09-15 08:50:24 +03:00
7586514abf docs: clarify guidelines on file length and specificity in improve.md 2024-09-15 08:28:01 +03:00
480a025877 Merge remote-tracking branch 'origin/main' into tr/dynamic 2024-09-15 08:08:11 +03:00
8f943a0d44 fix: update error logging messages and system prompt handling in litellm_ai_handler.py 2024-09-15 08:07:59 +03:00
Tal
2102c51422 Merge pull request #1228 from eddielu/eddie/azurecommentstatus
Set azure devops default status to ByDesign
2024-09-14 20:34:13 +03:00
29028d43cf Set azure devops default status to ByDesign 2024-09-13 18:01:08 -07:00
Tal
95d1b0d0c5 Merge pull request #1227 from Codium-ai/tr/dynamic
refactor logic
2024-09-13 22:22:47 +03:00
cc0e432247 refactor logic 2024-09-13 22:17:24 +03:00
0fb158fd47 fix push gitlab 2024-09-13 20:59:45 +03:00
Tal
867a430a38 Merge pull request #1226 from KennyDizi/main
Add new o1-mini and o1-preview models
2024-09-13 17:17:26 +03:00
a94496285f Add o1-preview models 2024-09-13 08:23:18 +07:00
567c144176 Add o1-mini models 2024-09-13 08:22:09 +07:00
Tal
c08b59a74d Merge pull request #1224 from Codium-ai/tr/dynamic_context_
Tr/dynamic context
2024-09-12 11:43:15 +03:00
0ba81e1ac7 docs: add dynamic context strategy documentation and update configuration settings 2024-09-12 11:42:27 +03:00
2cb0dd2496 docs: add dynamic context strategy documentation and update configuration settings 2024-09-12 11:38:54 +03:00
a8367d1a22 docs: add dynamic context strategy documentation and update configuration settings
- Added detailed documentation on the dynamic context strategy in `dynamic_context.md`.
- Updated configuration settings in `configuration.toml` to enable dynamic context by default.
- Adjusted context line parameters in `additional_configurations.md` to reflect new defaults.
- Announced dynamic context as the default option in the `README.md` news section.
2024-09-12 11:37:52 +03:00
Tal
1a3345c6e6 Merge pull request #1223 from Codium-ai/mrT23-patch-12
Update additional_configurations.md
2024-09-12 09:29:02 +03:00
Tal
564845adff Update additional_configurations.md 2024-09-12 09:27:45 +03:00
Tal
3ea691e70a Merge pull request #1216 from Codium-ai/tr/azure_parsing
fix: improve Azure DevOps PR URL parsing and add unit tests
2024-09-12 09:09:24 +03:00
Tal
5047d076f8 Merge pull request #1222 from Codium-ai/tr/docs_and_fixes
enhance: cap patch extra lines and update documentation with separato…
2024-09-12 09:07:06 +03:00
7de6bb0150 enhance: cap patch extra lines and update documentation with separators and context adjustments 2024-09-12 09:05:26 +03:00
a1582b5338 enhance: cap patch extra lines and update documentation with separators and context adjustments 2024-09-12 09:01:36 +03:00
Tal
dd8d78e7d8 Merge pull request #1221 from Codium-ai/tr/updates_and_fixes
FAQ
2024-09-11 16:53:41 +03:00
5af6cc7538 FAQ 2024-09-11 16:52:21 +03:00
Tal
6cc562d6a2 Merge pull request #1220 from Codium-ai/tr/updates_and_fixes
FAQ
2024-09-11 16:41:07 +03:00
19b051b992 FAQ 2024-09-11 16:40:34 +03:00
be68ee89f3 FAQ 2024-09-11 16:36:27 +03:00
db6c75a130 FAQ 2024-09-11 16:28:09 +03:00
Tal
74688846e0 Merge pull request #1219 from Codium-ai/tr/updates_and_fixes
docs and fixes
2024-09-10 20:10:53 +03:00
09b0a04a47 docs and fixes 2024-09-10 20:06:48 +03:00
Tal
cc1b65f886 Merge pull request #1218 from Codium-ai/tr/updates_and_fixes
feat: enhance error handling and logging, update AI metadata terminology
2024-09-10 17:59:48 +03:00
Tal
1451d82d6b Update pr_agent/algo/pr_processing.py
Co-authored-by: codiumai-pr-agent-pro[bot] <151058649+codiumai-pr-agent-pro[bot]@users.noreply.github.com>
2024-09-10 17:50:32 +03:00
01ba6fe63d feat: enhance error handling and logging, update AI metadata terminology
- Improved error handling and logging in `pr_processing.py` and `github_polling.py` to provide more detailed error information.
- Updated AI metadata terminology from "AI-generated file summary" to "AI-generated changes summary" across multiple files for consistency.
- Added a placeholder method `publish_file_comments` in `azuredevops_provider.py`.
- Refined logging messages in `azuredevops_provider.py` for better clarity.
2024-09-10 17:44:26 +03:00
Tal
74f9da1135 Merge pull request #1217 from Codium-ai/mrT23-patch-12
Update index.md
2024-09-10 09:06:55 +03:00
Tal
f80c2ae2c8 Update index.md 2024-09-10 09:05:50 +03:00
e444da8378 fix: improve Azure DevOps PR URL parsing and add unit tests 2024-09-10 08:19:22 +03:00
Tal
25ad8a09ce Merge pull request #1215 from Codium-ai/tr/docs
docs
2024-09-10 08:00:36 +03:00
897e791b1a docs 2024-09-10 08:00:10 +03:00
7f94dda54e docs 2024-09-10 07:58:18 +03:00
Tal
538a592882 Merge pull request #1214 from Codium-ai/tr/docs
docs
2024-09-10 07:53:35 +03:00
a3cb7277a7 docs 2024-09-10 07:51:47 +03:00
Tal
b5cd560402 Merge pull request #1212 from Codium-ai/tr/configurations
docs
2024-09-09 19:47:47 +03:00
fd38c33fcb docs 2024-09-09 19:45:29 +03:00
Tal
f767a3dfde Merge pull request #1211 from Codium-ai/hl/impact_docs
impact docs
2024-09-09 19:34:42 +03:00
9f8b619858 small fix 2024-09-09 18:47:53 +03:00
8de16939ba impact docs 2024-09-09 18:15:56 +03:00
Tal
6ed5537065 Merge pull request #1210 from Codium-ai/tr/configurations
bug fix: remove unused get_pr_description method from Azure DevOps
2024-09-09 16:26:46 +03:00
1a9638cf87 bug fix: remove unused get_pr_description method from Azure DevOps provider 2024-09-09 16:25:34 +03:00
Tal
49521aafff Merge pull request #1208 from Codium-ai/tr/configurations
config docs
2024-09-09 08:34:46 +03:00
c8e8ed89d2 feat: integrate Dynaconf for configuration management and enhance config display 2024-09-09 08:31:20 +03:00
ebc5cafb2b protection 2024-09-08 17:46:21 +03:00
Tal
52e8d7bc6a Merge pull request #1207 from Codium-ai/tr/fixes_metadata
Tr/fixes metadata
2024-09-08 17:32:58 +03:00
f7344fd787 metadata.md docs 2024-09-08 17:31:17 +03:00
86103c65e8 pattern_back 2024-09-08 17:24:13 +03:00
a4658b9960 docs 2024-09-08 16:52:20 +03:00
5fd831c448 impact_evaluation 2024-09-08 16:47:04 +03:00
332d3a0c5e markdown update 2024-09-08 16:43:44 +03:00
Tal
edef712b6a Merge pull request #1206 from Codium-ai/tr/ai_metadata
ai_metadat_injection
2024-09-08 16:33:00 +03:00
1831f2cec4 markdown 2024-09-08 16:32:46 +03:00
8706f643ef enable ai_metadata 2024-09-08 16:26:26 +03:00
Tal
35a75095ea Merge pull request #1205 from ScArLeXiA/fix-typo-in-readme
fix: Typo in README (`Chrom` -> `Chrome`)
2024-09-07 19:20:35 +03:00
0aa296d03e fix: Typo in README (Chrom -> Chrome) 2024-09-08 01:14:41 +09:00
Tal
24f7e8622f Merge pull request #1202 from Codium-ai/tr/ignore_titile_adjustments
avoid_full_files
2024-09-07 11:49:21 +03:00
d01cfe443c avoid_full_files 2024-09-07 11:44:24 +03:00
Tal
6150256040 Merge pull request #1201 from Codium-ai/tr/ignore_titile_adjustments
Tr/ignore titile adjustments
2024-09-07 11:27:28 +03:00
147a8e0ef3 refactor: consolidate PR ignore logic into a single function and update documentation 2024-09-07 11:26:13 +03:00
Tal
9199d84796 Merge pull request #1192 from paolomainardi/feature/1190_exclude_branches_tags
feat: gitlab skip source, target and labels
2024-09-07 10:20:31 +03:00
39913ef12a fix: remove specific configurations 2024-09-06 20:23:33 +02:00
d2a744e70c fix: remove line 2024-09-06 18:42:47 +02:00
be93c52380 fix: remove line 2024-09-06 18:42:28 +02:00
7ccefca35e fix: remove comment 2024-09-06 18:41:36 +02:00
14b4723734 feat: move configuration to a common config section, add documentation 2024-09-06 18:32:46 +02:00
c8f1c03061 fix: correct tuple unpacking in GitHub polling task queue loop 2024-09-05 20:31:17 +03:00
Tal
b02fa22948 Merge pull request #1198 from Codium-ai/tr/polling
Tr/polling
2024-09-05 19:58:51 +03:00
85754d2d79 feat: enhance GitHub polling with synchronous comment processing and improved logging 2024-09-05 16:57:10 +03:00
f0d780c7ec feat: enhance GitHub polling with synchronous comment processing and improved logging 2024-09-05 16:55:10 +03:00
19048ee705 feat: enhance GitHub polling with synchronous comment processing and improved logging 2024-09-05 16:53:31 +03:00
b8d2b263b9 feat: enhance GitHub polling with synchronous comment processing and improved logging and bug fixing 2024-09-05 16:52:47 +03:00
Tal
6f17c08f72 Merge pull request #1197 from proDOOMman/onec_enterprice
Add 1C Enterprise language
2024-09-04 15:20:16 +03:00
65c0bc414f docs: add supported browsers section to Chrome extension documentation 2024-09-04 13:36:44 +03:00
015719134f docs: enhance PR chat section with context-aware explanation in features.md 2024-09-04 12:01:23 +03:00
1ed6b7a54a docs: enhance PR chat section with context-aware explanation in features.md 2024-09-04 11:57:24 +03:00
14067a02db docs: update Chrome extension documentation with installation video link and image update 2024-09-04 11:01:04 +03:00
be75bb6a16 Add 1C Enterprise language 2024-09-04 09:04:39 +03:00
883d945687 Merge remote-tracking branch 'origin/main' 2024-09-04 08:52:32 +03:00
8090115f30 docs: update Chrome extension description and bump version to 0.2.4 2024-09-04 08:52:22 +03:00
Tal
6fa226dee7 Merge pull request #1196 from Codium-ai/mrT23-patch-11
Update README.md
2024-09-03 18:50:47 +03:00
Tal
13c1cdbf90 Update README.md 2024-09-03 18:49:04 +03:00
Tal
d4d9a7f8b4 Merge pull request #1172 from MaxHoecker/bugfix/bb-2-way-diff-fix
Bugfix/bb 2 way diff fix
2024-09-03 16:24:42 +03:00
c14c49727f docs: restructure Chrome extension documentation and add features and data privacy sections 2024-09-02 21:25:54 +03:00
292a5015d6 docs: restructure Chrome extension documentation and add features and data privacy sections 2024-09-02 21:16:10 +03:00
2f7f60a469 fix: review standardize regex checking 2024-09-02 16:31:19 +02:00
adce35765b feat: implement skip branches for github, add ignore title to gitlab 2024-09-02 16:26:50 +02:00
6776f7c296 Merge remote-tracking branch 'origin/main' 2024-09-02 08:28:10 +03:00
7287a94e88 docs: update installation guide with corrected links for language models and PR-Agent Pro details 2024-09-02 08:27:58 +03:00
Tal
e2cf1d0068 Update README.md 2024-09-01 11:17:41 +03:00
8ada3111ec docs: enhance PR-Agent Pro overview and update image sizes in tools documentation 2024-09-01 11:02:10 +03:00
Tal
9c9611e81a Merge pull request #1195 from Codium-ai/tr/updates
docs: update PR-Agent Pro documentation with new features and improve…
2024-09-01 10:54:16 +03:00
Tal
4fb93e3b62 Update docs/docs/overview/pr_agent_pro.md
Co-authored-by: codiumai-pr-agent-pro[bot] <151058649+codiumai-pr-agent-pro[bot]@users.noreply.github.com>
2024-09-01 10:53:48 +03:00
5a27e1dd7e docs: update PR-Agent Pro documentation with new features and improvements 2024-09-01 10:51:29 +03:00
Tal
6e6151d201 Merge pull request #1194 from Codium-ai/tr/updates
docs: update PR-Agent Pro documentation with new features and improve…
2024-09-01 10:38:31 +03:00
e468efb53e docs: update PR-Agent Pro documentation with new features and improvements 2024-09-01 10:38:06 +03:00
Tal
95e1ebada1 Update docs/docs/tools/improve.md
Co-authored-by: codiumai-pr-agent-pro[bot] <151058649+codiumai-pr-agent-pro[bot]@users.noreply.github.com>
2024-09-01 10:37:40 +03:00
d74c867eca docs: update PR-Agent Pro documentation with new features and improvements
- Added new features section with detailed descriptions and links
- Updated the overview of the `improve` tool with new functionalities and images
- Corrected image links in README.md for PR Chat feature
2024-09-01 10:35:17 +03:00
Tal
2448281a45 Merge pull request #1193 from Codium-ai/tr/updates
Tr/updates
2024-09-01 08:49:16 +03:00
9e063bf48a fix: handle missing score in code suggestions and adjust indentation in pr_code_suggestions.py 2024-09-01 08:47:23 +03:00
5432469ef6 fix: ensure non-empty lines are processed correctly in git patch handling 2024-09-01 08:39:29 +03:00
2c496b9d4e fix: improve PR patch decoding and clean up Bitbucket provider code
- Add fallback encodings for PR patch decoding to handle non-UTF-8 encodings.
- Update logging messages for better clarity.
- Remove unnecessary blank lines and fix minor formatting issues.
- Ensure full files are retrieved in `get_diff_files` method.
2024-09-01 08:38:26 +03:00
Tal
5ac41dddd6 Merge pull request #1191 from AHancher2022/bugfix/fix-output-publishing-when-set-to-false
Fixing code suggestions being published when publish ouput is false
2024-08-31 16:35:09 +03:00
Tal
9df554ed1c Merge pull request #1185 from jozefvodicka/patch-1
Update pr_update_changelog.py to include "[skip ci]" so pipeline is n…
2024-08-31 16:33:18 +03:00
23af1afa03 feat: gitlab skip source, target and labels 2024-08-30 17:01:18 +02:00
fdcbdfce98 feat: gitlab skip source, target and labels 2024-08-30 16:40:23 +02:00
cf14e45674 further cleaned up code based on feedback 2024-08-30 10:10:39 -04:00
=
1c51b5b762 Fixing code suggestions being published if there are no code suggestions when publish output is false 2024-08-30 09:12:22 -04:00
Tal
e5715e12cb Merge pull request #1189 from woung717/fix/litellm-timeout
fix: change deprecated timeout parameter for litellm
2024-08-29 17:01:24 +03:00
578d7c69f8 fix: change deprecated timeout parameter for litellm 2024-08-29 21:45:48 +09:00
29c50758bc implementing more feedback, choosing a different Bitbucket diff strategy depending on API version, and expanded unit test cases 2024-08-28 17:13:36 -04:00
Tal
97b48da03b Merge pull request #1184 from MaxHoecker/bugfix/suggestions_error_publish
checking for publish_output in the suggestions tool exception handler
2024-08-28 20:35:05 +03:00
4203ee4ca8 Update pr_update_changelog.py to include "[skip ci]" so pipeline is not triggered 2024-08-28 12:08:39 +02:00
Tal
84dc976ebb Merge pull request #1163 from MarkRx/bugfix/asyncio-task-completion
Ensure asyncio event queue is drained prior to CLI termination
2024-08-28 07:54:37 +03:00
d9571ee7cb checking for publish_output in the suggestions tool exception handler 2024-08-28 00:41:56 -04:00
Tal
7373ed36e6 Update data_privacy.md 2024-08-27 17:18:45 +03:00
Tal
cdf13925b0 Merge pull request #1179 from Codium-ai/tr/patch_fixes
fix: handle deleted files in git patch processing and update section header logic
2024-08-27 09:37:35 +03:00
c2f52539aa fix: handle deleted files in git patch processing and update section header logic 2024-08-27 09:31:31 +03:00
0442cdcd3d adding config value for old Bitbucket Server diff functionality 2024-08-26 16:07:21 -04:00
93773f3c08 Ensure asyncio event queue is drained prior to CLI termination 2024-08-26 15:14:45 -04:00
Tal
53a974c282 Merge pull request #1177 from paolomainardi/patch-2
feat: keep manual comments working when commenting draft MRs
2024-08-26 17:39:24 +03:00
c9ed271eaf feat: keep manual comments working when commenting draft MRs
closes #1160
2024-08-26 14:50:43 +02:00
Tal
6a5ff2fa3b Update README.md 2024-08-26 08:27:58 +03:00
Tal
25d661c152 Update README.md 2024-08-26 08:00:07 +03:00
Tal
d20c9c6c94 Merge pull request #1175 from Codium-ai/tr/protections2
Tr/protections2
2024-08-25 12:16:57 +03:00
d1d861e163 update tests 2024-08-25 12:11:16 +03:00
033db1015e update tests 2024-08-25 12:08:02 +03:00
abf2f68c61 fix: update description for pr_files field in PRDescription class in pr_description_prompts.toml 2024-08-25 12:02:14 +03:00
441e098e2a fix: correct YAML formatting in response text processing in utils.py 2024-08-25 11:26:48 +03:00
Tal
2bbf4b366e Merge pull request #1174 from Codium-ai/tr/protections2
Tr/protections2
2024-08-25 08:13:29 +03:00
b9d096187a fix: skip processing comments without a body in GitHub polling server 2024-08-25 07:21:40 +03:00
ce156751e8 Merge remote-tracking branch 'origin/main' into tr/protections2
# Conflicts:
#	pr_agent/servers/github_polling.py
2024-08-25 07:19:38 +03:00
Tal
dae87d7da8 Merge pull request #1170 from Codium-ai/tr/avoid_repeating_pr_changes
Update PR code suggestions prompts
2024-08-25 07:17:47 +03:00
a99ebf8953 implementing PR bot feedback 2024-08-23 11:18:42 -04:00
2a9e3ee1ef removing unnecessary if check 2024-08-23 10:57:58 -04:00
2beefab89a BB server 2 way diff fixes 2024-08-23 10:47:27 -04:00
415f44d763 type 2024-08-23 11:27:50 +03:00
8fb9b8ed3e Update PR code suggestions prompts to avoid repeating changes already present in the PR 2024-08-23 11:22:55 +03:00
Tal
4f1dccf67b Merge pull request #1165 from paolomainardi/feature/1160_gitlab_mr_draft_skip
feat: handle gitlab MR draft status
2024-08-23 10:43:00 +03:00
3778cc2745 feat: skip draft by default 2024-08-22 21:59:01 +02:00
8793f8d9b0 Update gitlab_webhook.py 2024-08-22 21:14:49 +02:00
61837c69a3 Update gitlab_webhook.py 2024-08-22 21:13:54 +02:00
ffaf5d5271 feat: Handle the gitlab MR draft status
closes #1160
2024-08-22 17:29:39 +02:00
Tal
cd526a233c Update additional_configurations.md 2024-08-22 11:26:38 +03:00
Tal
745e955d1f Merge pull request #1145 from MarkRx/feature/litellm-logging-observability
Add and document abilty to use LiteLLM Logging Observability tools
2024-08-22 09:58:53 +03:00
Tal
771d0b8c60 Update github.md 2024-08-22 07:51:09 +03:00
Tal
91a7c08546 Merge pull request #1161 from paolomainardi/patch-1
fix: remove CI_MERGE_REQUEST_STATE as is not a Gitlab variable
2024-08-21 18:41:19 +03:00
4d9d6f7477 fix: remove CI_MERGE_REQUEST_STATE as is not a Gitlab variable 2024-08-21 11:36:33 +02:00
2591a5d6c1 patch_extension_skip_types
Add validation for latest_comment and cast suggestions_score_threshold to int
2024-08-20 12:11:34 +03:00
Tal
772499fce1 Merge pull request #1159 from Codium-ai/tr/patches
Tr/patches
2024-08-20 11:41:05 +03:00
d467f5a7fd patch_extension_skip_types 2024-08-20 11:37:27 +03:00
2d5b060168 patch_extension_skip_types 2024-08-20 11:33:56 +03:00
b7eb6be5a0 Update PR code suggestions and reviewer prompts for clarity and consistency 2024-08-20 11:27:35 +03:00
df57367426 Update configuration.toml to modify fallback models and add skip types for patch extension logic 2024-08-20 11:24:52 +03:00
660a60924e Add filename parameter and skip logic to extend_patch function in git_patch_processing.py 2024-08-20 11:23:37 +03:00
8aa76a0ac5 Add and document abilty to use LiteLLM Logging Observability tools 2024-08-19 15:45:47 -04:00
b034d16c23 Add validation checks for 'latest_comment' and 'pr_url' in GitHub polling server 2024-08-19 14:18:45 +03:00
Tal
9bec97c66c Merge pull request #1156 from Codium-ai/tr/dynamic_context
Tr/dynamic context
2024-08-19 14:01:42 +03:00
8fd8d298e7 Add unit tests for dynamic context handling in extend_patch function 2024-08-19 10:33:47 +03:00
Tal
2e186ebae8 Merge pull request #1154 from KennyDizi/main
Enhance variable consistency in prompt rendering for PR tools
2024-08-19 08:48:10 +03:00
fc40ca9196 Refactor dynamic context handling in git patch processing and update configuration default 2024-08-19 08:38:26 +03:00
91a8938a37 update links 2024-08-19 07:57:52 +03:00
d97e1862da Add trial information and target audience details to PR-Agent Pro documentation 2024-08-19 07:50:26 +03:00
Tal
f042c061de Merge pull request #1155 from Codium-ai/add_installation_details
Update index.md
2024-08-19 07:42:52 +03:00
Tal
c47afd9c0d Update docs/docs/chrome-extension/index.md
Co-authored-by: codiumai-pr-agent-pro[bot] <151058649+codiumai-pr-agent-pro[bot]@users.noreply.github.com>
2024-08-19 07:42:23 +03:00
c6d16ced07 Update index.md 2024-08-19 00:28:25 +03:00
e9535ea164 Add dynamic context handling in git patch processing
- Introduce `allow_dynamic_context` and `max_extra_lines_before_dynamic_context` settings.
- Adjust context limits dynamically based on section headers.
- Add logging for dynamic context adjustments and section header findings.
2024-08-18 17:45:18 +03:00
dc8a4be2d4 Add new line for a better visually 2024-08-18 20:38:00 +07:00
f9de8f283b Improve variable consistency in prompt rendering for pr generate labels flow 2024-08-18 20:30:10 +07:00
bd5c19ee05 Improve variable consistency in prompt rendering for pr description flow 2024-08-18 20:29:59 +07:00
Tal
7cbe797108 Update review.md 2024-08-18 09:16:46 +03:00
Tal
435d9d41c8 Update README.md 2024-08-18 08:44:49 +03:00
Tal
a510d93e6e Merge pull request #1153 from Codium-ai/tr/protections2
Tr/protections2
2024-08-18 08:34:19 +03:00
48cc2f6833 Limit comment body length and adjust logging levels in GitHub provider 2024-08-18 08:26:01 +03:00
229d7b34c7 Limit comment body length and adjust logging levels in GitHub provider 2024-08-18 08:24:27 +03:00
03b194c337 Add null and type checks for 'pr_files' in _prepare_file_labels method in pr_description.py 2024-08-18 08:21:32 +03:00
a6f772c6d5 Refactor comment deletion method to 'remove_comment' in git providers and update references 2024-08-18 08:19:25 +03:00
ba1ba98dec Add logging for empty PR files and code suggestions status in pr_code_suggestions.py 2024-08-18 08:17:25 +03:00
5954c7cec2 Add logging for empty PR files and update warning for empty diffs in pr_reviewer.py 2024-08-18 08:14:37 +03:00
dc1a8e8314 Add detailed logging and error handling in GitHub polling server
- Introduce traceback logging for exceptions during notification processing.
- Enhance logging for PR comments with additional artifact information.
- Update configuration settings for publishing PR descriptions as comments.
2024-08-18 08:13:40 +03:00
aa87bc60f6 Rename 'add_callbacks' to 'add_litellm_callbacks' for clarity in litellm_ai_handler 2024-08-17 09:20:30 +03:00
c76aabc71e Add callback functionality to litellm_ai_handler for enhanced logging and metadata capture 2024-08-17 09:15:05 +03:00
Tal
81081186d9 Merge pull request #1151 from Codium-ai/publish_inline
Add 'original_suggestion' parameter to publish_inline_comment methods…
2024-08-16 09:08:05 +03:00
4a71ec90c6 Add null check for 'suggestion' in publish_code_suggestions method in gitlab_provider.py 2024-08-16 09:04:45 +03:00
3456c8e039 Add 'original_suggestion' parameter to publish_inline_comment methods across git providers for enhanced inline comment handling 2024-08-16 08:58:51 +03:00
Tal
402a388be0 Merge pull request #1126 from R-Mathis/feat/upgrade_libraries
update litellm library
2024-08-15 12:14:30 +03:00
4e26c02b01 update litellm lib 2024-08-15 08:25:51 +02:00
Tal
ea4f88edd3 Merge pull request #1142 from Codium-ai/tr/docs_chat
Add security and privacy section to Chrome extension documentation
2024-08-14 17:33:05 +03:00
217f615dfb Add security and privacy section to Chrome extension documentation 2024-08-14 17:32:23 +03:00
Tal
a6fb351789 Merge pull request #1141 from Codium-ai/tr/docs_chat
Add documentation for PR-Chat feature in PR-Agent Chrome extension
2024-08-14 17:29:17 +03:00
bfab660414 Add security and privacy section to Chrome extension documentation 2024-08-14 17:28:12 +03:00
2e63653bb0 Add documentation for PR-Chat feature in PR-Agent Chrome extension 2024-08-14 17:22:16 +03:00
Tal
b9df034c97 Merge pull request #1138 from Codium-ai/tr/err_protections
Add 'only_markdown' parameter to emphasize_header call in utils.py fo…
2024-08-14 14:03:43 +03:00
bae8d36698 Add 'only_markdown' parameter to emphasize_header call in utils.py for security concerns section 2024-08-14 14:02:09 +03:00
Tal
67a04e1cb2 Merge pull request #1135 from Codium-ai/hl/fix_code_escaping
fix html escaping
2024-08-14 12:32:52 +03:00
4fea780b9b fix html escaping 2024-08-14 12:13:51 +03:00
Tal
01c18d7d98 Merge pull request #1134 from Codium-ai/tr/err_protections
Tr/err protections
2024-08-14 08:17:19 +03:00
f4b06640d2 Add info log for successful AI prediction parse in utils.py 2024-08-14 08:14:51 +03:00
f1981092d3 Add warning log for initial AI prediction parse failure and error log for fallback failure in utils.py 2024-08-14 08:08:55 +03:00
8414e109c5 Update logging levels and add error handling for empty data in PR tools and providers 2024-08-14 08:02:34 +03:00
8adfca5b3c Add error handling for short diffs and improve logging in Bitbucket provider 2024-08-14 07:54:11 +03:00
Tal
672cdc03ab Merge pull request #1133 from Codium-ai/tr/err_protections
Add error handling for empty diff files in utils.py and optimize file…
2024-08-13 22:36:00 +03:00
86a9cfedc8 Add error handling for empty diff files in utils.py and optimize file content retrieval in Bitbucket provider 2024-08-13 22:33:07 +03:00
Tal
7ac9f27b70 Merge pull request #1132 from Codium-ai/tr/err_protections
Add error handling for missing GitLab URL and improve inline comment …
2024-08-13 19:05:00 +03:00
Tal
c97c39d57d Merge pull request #1127 from squinn1/main
Fix base url not being passed through github_provider class correctly
2024-08-13 19:03:12 +03:00
a3b3d6c77a Add error handling for missing GitLab URL and improve inline comment logic in gitlab_provider.py 2024-08-13 19:00:09 +03:00
2e41701d07 fixes 2024-08-13 16:21:46 +01:00
578f56148a Merge branch 'Codium-ai:main' into main 2024-08-13 16:04:55 +01:00
Tal
b3da84b4aa Merge pull request #1130 from Codium-ai/tr/err_protections
Tr/err protections
2024-08-13 17:03:20 +03:00
f89bdcf3c3 Add error handling for missing custom label settings in utils.py 2024-08-13 16:40:05 +03:00
e7e3970874 Add error handling for empty system prompt in litellm_ai_handler and type conversion in utils.py 2024-08-13 16:26:32 +03:00
Tal
1f7a8eada0 Merge pull request #1129 from Codium-ai/tr/err_protections
Tr/err protections
2024-08-13 13:08:21 +03:00
38638bd1c4 relevant_lines_start > len(file_lines): 2024-08-13 12:59:51 +03:00
26f3bd8900 Add error handling for out-of-range relevant_lines_start and missing head_file in pr_code_suggestions.py 2024-08-13 12:57:31 +03:00
a2fb415c53 Add git_files attribute to Bitbucket provider class for enhanced file handling 2024-08-13 12:39:45 +03:00
8038eaf876 Add error handling for missing required fields in file label dictionary in pr_description.py 2024-08-13 12:16:52 +03:00
Tal
d8572f8d13 Merge pull request #1128 from Codium-ai/tr/err_protections
Tr/err_protections
2024-08-13 11:58:09 +03:00
78b11c80c7 Add error handling for empty secrets in GitLab webhook and lower log level for Google Cloud Storage secret retrieval errors 2024-08-13 11:42:07 +03:00
cb65b05e85 Add error handling for missing username fields in Bitbucket webhook handler and update log context 2024-08-13 11:33:19 +03:00
1aa6dd9b5d Add error handling for missing file paths in Bitbucket provider and improve file validation logic 2024-08-13 11:28:21 +03:00
11d69e05aa fix git provider 2024-08-13 09:25:59 +01:00
0722af4702 update openai lib 2024-08-13 09:53:11 +02:00
99e99345b2 update litellm library 2024-08-13 09:44:08 +02:00
5252e1826d Add handling for empty diffs in Bitbucket provider to avoid logging errors 2024-08-13 09:45:45 +03:00
Tal
a18a0bf2e3 Merge pull request #1125 from Codium-ai/tr/err_protections
Tr/err protections
2024-08-13 09:03:25 +03:00
396d11aa45 Improve logging and diff filtering in Bitbucket provider
- Enhance logging to include both kept and filtered file names
- Add conditional check to filter diff elements based on original and current diffs
2024-08-13 08:59:45 +03:00
4a38861d06 Add error handling for missing file paths in file_filter.py for Bitbucket and GitLab platforms 2024-08-13 08:59:27 +03:00
Tal
5feb66597e Merge pull request #1124 from Codium-ai/tr/err_protections
protections
2024-08-12 21:25:43 +03:00
8589941ffe Improve Bitbucket diff handling for new and deleted files and add error protection for missing file links 2024-08-12 21:15:26 +03:00
7f0e6aeb37 Add conditional checks for review label settings in set_review_labels method 2024-08-12 20:57:32 +03:00
8a768aa7fd Lower log level for missing code suggestions from error to warning 2024-08-12 18:41:24 +03:00
Tal
f399f9ebe4 Update automations_and_usage.md 2024-08-12 17:28:28 +03:00
Tal
cc73d4599b Merge pull request #1123 from Codium-ai/ok/app_name
Add app_name to log_context in Bitbucket and GitLab webhook handlers
2024-08-12 16:26:08 +03:00
Tal
4228f92e7e Merge pull request #1119 from Codium-ai/hl/limit_long_comments
Hl/limit long comments
2024-08-12 16:25:42 +03:00
Tal
1f4ab43fa6 Merge pull request #1118 from Codium-ai/tr/bitbucket_diffs
Improve Bitbucket patch diff handling
2024-08-12 16:24:28 +03:00
b59111e4a6 Add app_name to log_context in Bitbucket and GitLab webhook handlers 2024-08-12 16:10:41 +03:00
70da871876 lower OpenAI errors to warnings 2024-08-12 12:27:48 +03:00
9c1ab06491 fix long comments 2024-08-12 12:27:09 +03:00
5c4bc0a008 Add Bitbucket diff handling and improve error logging
- Implement `publish_file_comments` method placeholder
- Enhance `is_supported` method to include `publish_file_comments`
- Refactor diff splitting logic to handle Bitbucket-specific headers
- Improve error handling and logging for file content retrieval
- Add `get_pr_owner_id` method to retrieve PR owner ID
- Update `_get_pr_file_content` to fetch file content from remote link
- Fix variable name typo in `extend_patch` function in `git_patch_processing.py`
2024-08-12 09:48:26 +03:00
Tal
ef37271ce9 Update README.md 2024-08-11 19:16:11 +03:00
Tal
8dd4c15d4b Merge pull request #1117 from Codium-ai/tr/patch_extra_lines_before_and_after
Add missing newline in extended patch and remove trailing whitespace
2024-08-11 19:04:54 +03:00
f9afada1ed tests 2024-08-11 19:01:42 +03:00
4c1c313031 Add missing newline in extended patch and remove trailing whitespace 2024-08-11 18:49:28 +03:00
Tal
1f126069b1 Merge pull request #1116 from Codium-ai/tr/patch_extra_lines_before_and_after
Tr/patch extra lines before and after
2024-08-11 15:57:12 +03:00
12742ef499 Adjust patch extension logic to handle cases where extended size exceeds original file length 2024-08-11 15:48:58 +03:00
63e921a2c5 Adjust patch extension logic to handle cases where extended size exceeds original file length 2024-08-11 15:46:46 +03:00
Tal
8f04387331 Merge pull request #1115 from Codium-ai/tr/patch_extra_lines_before_and_after
Fix incorrect logic for extending patch size beyond original file length
2024-08-11 15:37:44 +03:00
a06670bc27 Fix incorrect logic for extending patch size beyond original file length 2024-08-11 15:20:27 +03:00
Tal
2525392814 Merge pull request #1114 from Codium-ai/tr/patch_extra_lines_before_and_after
Tr/patch extra lines before and after
2024-08-11 14:04:57 +03:00
23aa2a9388 Refactor patch extension logic to handle cases with zero extra lines 2024-08-11 13:59:27 +03:00
e85b75fe64 Refactor patch extension logic to handle cases with zero extra lines 2024-08-11 12:56:56 +03:00
df04a7e046 Add spaces to extra lines in patch extension for consistency 2024-08-11 12:32:26 +03:00
9c3f080112 comments 2024-08-11 12:15:47 +03:00
ed65493718 Handle edge cases for patch extension and update tests 2024-08-11 12:08:00 +03:00
983233c193 Clarify comments for patch_extra_lines_before and patch_extra_lines_after in configuration.toml 2024-08-11 11:48:50 +03:00
7438190ed1 set_claude_model 2024-08-11 11:43:57 +03:00
2b2b851cb9 Update test class name and adjust patch extra lines configuration
- Renamed test class to `TestExtendedPatchMoreLines` in `test_extend_patch.py`
- Imported `pr_generate_extended_diff` in `test_extend_patch.py`
- Updated `patch_extra_lines_before` to 4 in `additional_configurations.md`
2024-08-11 11:29:31 +03:00
5701816b2e Merge remote-tracking branch 'origin/main' into tr/patch_extra_lines_before_and_after 2024-08-11 11:26:53 +03:00
Tal
40a25a1082 Create codecov.yml 2024-08-11 09:55:00 +03:00
e238a88824 Add tests for patch extension and update configuration for extra lines handling
- Added unit tests in `test_extend_patch.py` and `test_pr_generate_extended_diff.py` to verify patch extension functionality with extra lines.
- Updated `pr_processing.py` to include `patch_extra_lines_before` and `patch_extra_lines_after` settings.
- Modified `configuration.toml` to adjust `patch_extra_lines_before` to 4 and `max_context_tokens` to 16000.
- Enabled extra lines in `pr_code_suggestions.py`.
- Added new model `claude-3-5-sonnet` to `__init__.py`.
2024-08-11 09:21:34 +03:00
61bdfd3b99 patch_extra_lines_before and patch_extra_lines_after 2024-08-10 21:55:51 +03:00
Tal
c00d1e9858 Update README.md 2024-08-10 21:43:37 +03:00
Tal
1a8b143f58 Update README.md 2024-08-10 21:36:27 +03:00
Tal
dfbe7432b8 Merge pull request #1108 from Codium-ai/tr/azure_pipeline
Tr/azure pipeline
2024-08-10 21:35:12 +03:00
ab69f1769b azure 2024-08-10 21:31:17 +03:00
089210d9fa azure 2024-08-10 21:30:18 +03:00
Tal
0f9d89c67a Merge pull request #1107 from Codium-ai/tr/protections
protections
2024-08-10 20:57:13 +03:00
84b80f792d protections 2024-08-09 21:44:00 +03:00
Tal
219d962cbe Merge pull request #1106 from Codium-ai/tr/protections
protections
2024-08-09 21:29:24 +03:00
e531245f4a protections 2024-08-09 21:15:29 +03:00
89e9413d75 logger message 2024-08-09 20:21:00 +03:00
Tal
b370cb6ae7 Merge pull request #1102 from MarkRx/feature/langchain-azure-fix
Fix LangChainOpenAIHandler for Azure
2024-08-08 19:37:26 +03:00
4201779ce2 Fix LangChainOpenAIHandler for Azure 2024-08-08 09:55:18 -04:00
Tal
71f7c09ed7 Merge pull request #1100 from ascieux-soprasteria/main
Clarification on webhook URL for Gitlab
2024-08-08 11:02:38 +03:00
edad244a86 Update gitlab.md
Changing 4 backticks to 3 backticks
2024-08-08 09:11:27 +02:00
9752987966 Merge branch 'Codium-ai:main' into main 2024-08-08 09:10:16 +02:00
Tal
200da44e5a Merge pull request #1103 from benedict-lee/main
Fix pr_processing.get_pr_multi_diffs
2024-08-08 07:55:08 +03:00
4c0fd37ac2 Fix pr_processing.get_pr_multi_diffs
Fix function to return an empty list instead of a single joined string when patches_extended is empty.
2024-08-08 11:46:26 +09:00
c996c7117f Fix function to return an empty list instead of a single joined string when patches_extended is empty. 2024-08-08 11:32:10 +09:00
943ba95924 Clarification on webhook URL for Gitlab 2024-08-07 16:00:12 +02:00
8a75d3101d Enhance PR description handling and improve logging for invalid file extensions in Bitbucket provider 2024-08-07 16:32:36 +03:00
Tal
944f54b431 Merge pull request #1098 from KennyDizi/main
Add support for GPT-4o-2024-08-06 model
2024-08-07 08:44:28 +03:00
9be5cc6dec Add support model gpt-4o-2024-08-06 2024-08-07 07:28:51 +07:00
Tal
884286ebf1 Merge pull request #1095 from Codium-ai/tr/code_cov
Tr/code cov
2024-08-06 19:57:37 +03:00
Tal
620dbbeb1a Update .github/workflows/code_coverage.yaml
Co-authored-by: codiumai-pr-agent-pro[bot] <151058649+codiumai-pr-agent-pro[bot]@users.noreply.github.com>
2024-08-06 19:45:35 +03:00
Tal
c07059e139 Update .github/workflows/code_coverage.yaml
Co-authored-by: codiumai-pr-agent-pro[bot] <151058649+codiumai-pr-agent-pro[bot]@users.noreply.github.com>
2024-08-06 19:45:14 +03:00
Tal
3b88d6afdb Update .pr_agent.toml 2024-08-06 19:42:11 +03:00
e717e8ae81 Update code_coverage.yaml to improve Docker test execution and Codecov upload 2024-08-06 19:38:59 +03:00
Tal
8ec1fb5937 Merge pull request #1093 from Codium-ai/tr/html_escaping
Escape HTML tags in suggestion summaries in pr_code_suggestions.py
2024-08-06 12:19:54 +03:00
cb10ceadd7 Escape HTML tags in suggestion summaries in pr_code_suggestions.py and update pr_code_suggestions_prompts.toml for backtick usage 2024-08-06 12:16:58 +03:00
96d3f3cc0b s 2024-08-06 11:20:37 +03:00
Tal
a98d972041 Update PR_agent_pro_models.md 2024-08-06 08:02:07 +03:00
09a1d74a00 Add instructions for running PR-Agent as a GitLab pipeline in gitlab.md 2024-08-05 15:57:09 +03:00
Tal
31f6f8f8ea Merge pull request #1092 from Codium-ai/tr/gitlab_pipeline
Tr/gitlab pipeline
2024-08-05 15:54:11 +03:00
e7c99f0e6f Add instructions for running PR-Agent as a GitLab pipeline in gitlab.md 2024-08-05 15:52:13 +03:00
ac53e6728d Add instructions for running PR-Agent as a GitLab pipeline in gitlab.md 2024-08-05 15:48:42 +03:00
b100e7098a Add instructions for running PR-Agent as a GitLab pipeline in gitlab.md 2024-08-05 15:45:58 +03:00
Tal
2b77d07725 Merge pull request #1091 from Codium-ai/tr/patch_improvements
patch and prompt improvements
2024-08-04 14:23:45 +03:00
ee1676cf7e patch improvements 2024-08-03 12:49:58 +03:00
3420e6f30d patch improvements 2024-08-03 12:44:49 +03:00
Tal
85cc0ad08c Merge pull request #1087 from KennyDizi/main
Fix exception handling and remove unused import in Bitbucket server provider
2024-08-03 12:18:12 +03:00
Tal
3756b547da Merge pull request #1090 from Codium-ai/mrT23-patch-10
Update test_convert_to_markdown.py
2024-08-02 21:54:51 +03:00
e34bcace29 s 2024-08-02 21:51:54 +03:00
Tal
2a675b80ca Update test_convert_to_markdown.py 2024-08-02 21:43:11 +03:00
Tal
1cefd23739 Merge pull request #1073 from h0rv/patch-1
Improve response cleaning
2024-08-02 12:21:40 +03:00
aef9a04b32 Fix use requests HTTPError 2024-08-02 07:58:23 +07:00
fe4e642a47 Removed unused json import 2024-08-02 07:57:09 +07:00
039d85b836 fix cleaning 2024-08-01 15:50:00 -04:00
0fa342ddd2 pr_description.final_update_message=false 2024-08-01 09:51:35 +03:00
Tal
c95a8cde72 Merge pull request #1083 from pc-bob/BL/fix-security-vulns
update dependencies to fix various high/critical security vulnerabilies
2024-08-01 09:35:13 +03:00
Tal
23ec25c949 Merge pull request #1079 from MarkRx/feature/bitbucket-server-multi-line-suggestion-workaround
Use code blocks instead of suggestion blocks for Bitbucket Server multi-line suggestions
2024-08-01 09:29:18 +03:00
Tal
9560bc1b44 Merge pull request #1081 from MarkRx/feature/bitbucket-server-fix-post-inline-comments
Bitbucket Server fix inline comments and reading .pr_agent.toml
2024-08-01 09:28:35 +03:00
346ea8fbae update dependencies to fix various high/critical security vulnerabilities 2024-07-31 15:04:43 -07:00
d671c78233 Merge remote-tracking branch 'origin/main' 2024-07-31 13:32:51 +03:00
240e0374e7 fixed extra call bug 2024-07-31 13:32:42 +03:00
288e9bb8ca Fix Bitbucket Server 401 unauthorized when posting inline coments; fix Bitbucket loading .pr_agent.toml 2024-07-30 16:19:57 -04:00
Tal
d8545a2b28 Merge pull request #1075 from MarkRx/feature/bitbucket-server-pr-commands-defaults
Add missing bitbucket_server.pr_commands default
2024-07-30 18:03:19 +03:00
95f23de7ec Use code blocks instead of suggestion blocks for Bitbucket Server multi-line suggestions to workaround BSERV-4553 2024-07-30 10:43:56 -04:00
0390a85f5a Add missing bitbucket_server.pr_commands default 2024-07-30 09:45:45 -04:00
172d0c0358 improve response cleaning
The prompt for the model starts with a code block (```). When testing watsonx models (llama and granite), they would generate the closing block in the response.
2024-07-29 10:26:58 -04:00
Tal
41588efe9a Merge pull request #1069 from Codium-ai/watson_models
watson_models
2024-07-29 08:39:37 +03:00
Tal
f50832e19b Update __init__.py 2024-07-29 08:32:34 +03:00
Tal
927f124dca Update configuration_options.md 2024-07-28 18:12:22 +03:00
Tal
232b540f60 Update README.md 2024-07-28 17:34:08 +03:00
Tal
452eda25cd Update changing_a_model.md 2024-07-28 09:57:23 +03:00
Tal
110e593d03 Update README.md 2024-07-28 09:36:41 +03:00
Tal
af84409c1d Merge pull request #1067 from Codium-ai/tr/custom_model
docs: update usage guide and README; fix minor formatting issues in u…
2024-07-28 09:34:05 +03:00
c2c69f2950 No code suggestions found for PR. 2024-07-28 09:32:54 +03:00
e946a0ea9f docs: update usage guide and README; fix minor formatting issues in utils.py 2024-07-28 09:30:21 +03:00
Tal
866476080c Merge pull request #1066 from Codium-ai/tr/custom_model
docs: update usage guide for changing models; add custom model support and reorganize sections
2024-07-28 09:00:48 +03:00
Tal
27d6560de8 Update pr_agent/algo/utils.py
Co-authored-by: codiumai-pr-agent-pro[bot] <151058649+codiumai-pr-agent-pro[bot]@users.noreply.github.com>
2024-07-28 08:58:03 +03:00
6ba7b3eea2 fix condition 2024-07-28 08:57:39 +03:00
86d9612882 docs: update usage guide for changing models; add custom model support and reorganize sections 2024-07-28 08:55:01 +03:00
Tal
49f608c968 Merge pull request #1065 from dceoy/feature/add-groq-models
Add Llama 3.1 and Mixtral 8x7B for Groq
2024-07-28 08:31:50 +03:00
Tal
11f85cad62 Merge pull request #1064 from KennyDizi/main
Fix Bitbucket token name and clean up secrets template
2024-07-28 08:29:17 +03:00
Tal
5f5257d195 Merge pull request #1063 from Codium-ai/tr/seed_and_tests
Add end-to-end tests for GitHub, GitLab, and Bitbucket apps; added seed
2024-07-28 08:27:07 +03:00
495e2ccb7d Add Llama 3.1 and Mixtral 8x7B for Groq 2024-07-28 02:28:42 +09:00
a176adb23e Remove redundant spaces 2024-07-27 22:21:54 +07:00
68ef11a2fc Fix invalid token name 2024-07-27 22:17:48 +07:00
Tal
38c38ec280 Update pr_agent/algo/ai_handlers/litellm_ai_handler.py
Co-authored-by: codiumai-pr-agent-pro[bot] <151058649+codiumai-pr-agent-pro[bot]@users.noreply.github.com>
2024-07-27 18:03:35 +03:00
Tal
3904eebf85 Update pr_agent/algo/ai_handlers/litellm_ai_handler.py
Co-authored-by: codiumai-pr-agent-pro[bot] <151058649+codiumai-pr-agent-pro[bot]@users.noreply.github.com>
2024-07-27 18:02:57 +03:00
778d7ce1ed config 2024-07-27 17:54:36 +03:00
3067afbcb3 Update seed handling: log fixed seed usage; adjust default seed and temperature in config 2024-07-27 17:50:59 +03:00
70f7a90226 Add E2E tests workflow for GitHub, GitLab, and Bitbucket; update configuration settings and build-and-test workflow 2024-07-27 17:26:24 +03:00
7eadb45c09 Refactor seed handling logic in litellm_ai_handler to improve readability and error checking 2024-07-27 17:23:42 +03:00
ac247dbc2c Add end-to-end tests for GitHub, GitLab, and Bitbucket apps; update temperature setting usage across tools 2024-07-27 17:19:32 +03:00
Tal
3a77652660 Merge pull request #1061 from MarkRx/feature/bitbucket-server-get-line-link
Implement BitbucketServerProvider.get_line_link
2024-07-27 16:04:09 +03:00
Tal
0bd4c9b78a Merge pull request #1059 from Codium-ai/tr/bitbucket_server
bitbucket server
2024-07-27 16:03:39 +03:00
81d07a55d7 Implement BitbucketServerProvider.get_line_link 2024-07-26 12:34:12 -04:00
652ced5406 bitbucket server 2024-07-26 08:31:21 +03:00
Tal
aaf037570b Update configuration.toml
remove dead codde
2024-07-24 19:56:50 +03:00
Tal
cfa565b5d7 Update index.md 2024-07-24 11:11:39 +03:00
Tal
c8819472cf Merge pull request #1052 from shnskfjwr/fix/remove_bedrock_region
docs: Supports litellm's Amazon Bedrock parameter syntax change
2024-07-23 13:12:29 +03:00
53744af32f docs: add a link to the relevant litellm page 2024-07-23 18:32:30 +09:00
41c6502190 docs: Supports litellm's Amazon Bedrock parameter syntax change 2024-07-23 16:25:26 +09:00
Tal
32604d8103 Merge pull request #1051 from KennyDizi/main
Add support for gpt-4o-mini and gpt-4o-mini-2024-07-18 models
2024-07-23 09:23:56 +03:00
581c95c4ab Add support model gpt-4o-mini-2024-07-18 2024-07-23 07:43:47 +07:00
789c48a216 Add support model gpt-4o-mini 2024-07-23 07:41:04 +07:00
Tal
6b9de6b253 Merge pull request #1048 from woung717/fix/review-task-prompt
fix broken output format(yaml) prompt
2024-07-21 17:51:23 +03:00
003846a90d fixed broken output format(yaml) prompt 2024-07-19 16:02:01 +09:00
d088f9c19a disable 'PUBLISH_OUTPUT_PROGRESS=False' 2024-07-18 11:49:09 +03:00
Tal
a272c761a9 Merge pull request #1046 from Codium-ai/tr/readme_claude
PR-Agent Pro Models
2024-07-18 11:07:27 +03:00
Tal
9449f2aebe Update docs/docs/css/custom.css
Co-authored-by: codiumai-pr-agent-pro[bot] <151058649+codiumai-pr-agent-pro[bot]@users.noreply.github.com>
2024-07-18 11:05:43 +03:00
Tal
28ea4a685a Update docs/docs/usage-guide/introduction.md
Co-authored-by: codiumai-pr-agent-pro[bot] <151058649+codiumai-pr-agent-pro[bot]@users.noreply.github.com>
2024-07-18 11:05:35 +03:00
b798291bc8 Merge remote-tracking branch 'origin/tr/readme_claude' into tr/readme_claude 2024-07-18 10:58:51 +03:00
62df50cf86 docs 2024-07-18 10:58:39 +03:00
917e1607de docs 2024-07-18 10:42:59 +03:00
8f11a19c32 docs 2024-07-18 09:55:57 +03:00
Tal
0f5cccd18f Update docs/docs/usage-guide/PR_agent_pro_models.md
Co-authored-by: codiumai-pr-agent-pro[bot] <151058649+codiumai-pr-agent-pro[bot]@users.noreply.github.com>
2024-07-17 22:36:08 +03:00
2be459e576 PR-Agent Pro Models 2024-07-17 22:33:43 +03:00
Tal
cbdb451c95 Merge pull request #1043 from KennyDizi/main
Refactor markdown generation logic to eliminate redundancy
2024-07-17 10:04:24 +03:00
Tal
6871193381 Merge pull request #1042 from 5000164/feature/update-document-about-github-actions
Update GitHub Action documentation for Docker image stability and security
2024-07-17 07:25:32 +03:00
8a7f3501ea Fix duplication code 2024-07-16 18:27:58 +07:00
80bbe23ad5 docs: Add note to pin Docker image by its digest for enhanced security 2024-07-16 18:17:01 +09:00
05f3fa5ebc docs: Update GitHub Action documentation to specify Docker image on Docker Hub 2024-07-16 18:15:56 +09:00
Tal
1b2a2075ae Merge pull request #1041 from KennyDizi/main
Fix data type for `pr_files` field in PR description prompts
2024-07-16 08:09:23 +03:00
3d3b49e3ee remove github.com 2024-07-15 20:18:21 +03:00
174b4b76eb Fix pr_files data type 2024-07-15 12:28:53 +07:00
Tal
2b28153749 Merge pull request #1040 from Codium-ai/tr/review_links
review with links
2024-07-14 09:04:34 +03:00
6151bfac25 key.lower 2024-07-14 09:00:10 +03:00
5d6e1de157 review with links 2024-07-14 08:53:53 +03:00
Tal
ce35d2c313 Merge pull request #1039 from KennyDizi/main
Enhance and clarify descriptions for relevant file and language fields across prompts
2024-07-14 08:10:47 +03:00
b51abe9af7 Use full file path instead of complete file path 2024-07-14 12:01:33 +07:00
20206af1bf Optimize relevant file and language description for pr code suggestion prompt 2024-07-14 10:03:44 +07:00
34ae1f1ab6 Optimize relevant file and language description for pr description prompt 2024-07-14 10:03:31 +07:00
887283632b Optimize relevant file and language description for review prompt 2024-07-14 10:03:19 +07:00
7f84b5738e Optimize relevant file description for add docs prompt 2024-07-14 10:02:00 +07:00
Tal
dc917587ef Merge pull request #1038 from Codium-ai/tr/readme
example best practice
2024-07-12 17:16:37 +03:00
b2710ec029 example best practice 2024-07-12 17:15:00 +03:00
41c48ca5b5 example best practice 2024-07-12 17:07:23 +03:00
Tal
e0012702c6 Merge pull request #1037 from Codium-ai/tr/readme
example best practice
2024-07-12 17:01:24 +03:00
Tal
dfb339ab44 Update docs/docs/usage-guide/EXAMPLE_BEST_PRACTICE.md
Co-authored-by: codiumai-pr-agent-pro[bot] <151058649+codiumai-pr-agent-pro[bot]@users.noreply.github.com>
2024-07-12 17:00:43 +03:00
54947573bf example best practice 2024-07-12 16:58:34 +03:00
Tal
228ceff3a6 Merge pull request #1035 from Codium-ai/tr/providers
Tr/providers
2024-07-11 18:47:42 +03:00
Tal
8766140554 Merge pull request #1031 from KennyDizi/main
Fix typo in `pr_files` field type definition within `PRDescription` class
2024-07-11 18:38:59 +03:00
034ec8f53a provider 2024-07-11 18:37:37 +03:00
eccd00b86f github 2024-07-11 18:30:16 +03:00
4b351cfe38 AzureDevopsProvider 2024-07-11 18:24:40 +03:00
734a027702 azure fix 2024-07-11 18:21:21 +03:00
d0948329d3 Fix typo in PRDescription class 2024-07-10 14:37:52 +07:00
6135bf1f53 for example 2024-07-10 07:47:58 +03:00
ea9deccb91 Merge remote-tracking branch 'origin/main' 2024-07-10 07:40:43 +03:00
daa68f3b2f globacl configuration docs 2024-07-10 07:40:29 +03:00
Tal
e82430891c Merge pull request #1030 from R-Mathis/main
add additional google models support
2024-07-10 07:32:08 +03:00
19ca7f887a add additional google models support 2024-07-09 14:29:50 +02:00
Tal
888306c160 Merge pull request #1029 from Codium-ai/tr/best_practice
Tr/best practice
2024-07-09 14:22:59 +03:00
3ef4daafd5 best_practices 2024-07-09 13:59:30 +03:00
f76f750757 best_practices 2024-07-09 07:49:30 +03:00
Tal
055bc4ceec Update improve.md 2024-07-08 17:29:18 +03:00
487efa4bf4 fix link 2024-07-08 09:22:46 +03:00
Tal
050ffcdd06 Merge pull request #1028 from Codium-ai/tr/enterprise
GitHub Enterprise Server
2024-07-08 09:19:13 +03:00
Tal
8f9879cf01 Update docs/docs/overview/pr_agent_pro.md
Co-authored-by: codiumai-pr-agent-pro[bot] <151058649+codiumai-pr-agent-pro[bot]@users.noreply.github.com>
2024-07-08 09:19:05 +03:00
c3fac86067 GitHub Enterprise Server 2024-07-08 09:07:37 +03:00
9a57d00951 GitHub Enterprise Server 2024-07-08 09:01:56 +03:00
745d0c537c hotfix 2024-07-07 15:07:09 +03:00
5b594dadee pr_types rstrip 2024-07-07 08:08:53 +03:00
Tal
4246792261 Update README.md 2024-07-06 21:18:48 +03:00
Tal
0bf8c1e647 Merge pull request #1025 from Codium-ai/tr/refresh
refresh message
2024-07-05 17:12:55 +03:00
be18152446 refresh 2024-07-05 17:11:13 +03:00
7fc41409d4 refresh 2024-07-05 16:51:35 +03:00
Tal
78bcb72205 Update configuration_options.md 2024-07-04 18:42:23 +03:00
Tal
e35f83bdb6 Merge pull request #1022 from Codium-ai/tr/claude
sonnet-3.5
2024-07-04 12:27:34 +03:00
Tal
20d9d8ad07 Update pr_agent/algo/ai_handlers/litellm_ai_handler.py
Co-authored-by: codiumai-pr-agent-pro[bot] <151058649+codiumai-pr-agent-pro[bot]@users.noreply.github.com>
2024-07-04 12:26:23 +03:00
f3c80891f8 sonnet-3.5 2024-07-04 12:23:36 +03:00
Tal
12973c2c99 Merge pull request #1021 from Codium-ai/tr/margins
increase margins
2024-07-04 12:13:22 +03:00
Tal
1f5c3a4c0f Merge pull request #1020 from Codium-ai/tr/fallbacks
Tr/fallbacks
2024-07-04 12:12:39 +03:00
422b4082b5 No key issues to review 2024-07-03 20:58:25 +03:00
2235a19345 increase margins 2024-07-03 20:53:15 +03:00
e30c70d2ca keys fallback 2024-07-03 20:29:17 +03:00
f7a6e93b6c Merge pull request #1019 from Codium-ai/hl/persistent_suggestions_comment
persistent suggestions
2024-07-03 17:10:21 +03:00
23e6abcdce new line 2024-07-03 17:09:50 +03:00
0bac03496a keys fallback 2024-07-03 17:06:27 +03:00
a228ea8109 fix capitalize 2024-07-03 17:04:01 +03:00
0c3940b6a7 persistent release notes 2024-07-03 16:38:13 +03:00
Tal
b05e15e9ec Merge pull request #1016 from Codium-ai/tr/review_redesign
tests
2024-07-03 08:52:16 +03:00
bea68084b3 ValueError 2024-07-03 08:51:08 +03:00
57abf4ac62 tests 2024-07-03 08:47:59 +03:00
Tal
f0efe4a707 Merge pull request #1011 from Codium-ai/tr/review_redesign
Tr/review redesign
2024-07-03 08:38:27 +03:00
040503039e prompt 2024-07-03 08:37:04 +03:00
3e265682a7 extend additional files 2024-07-03 08:32:37 +03:00
d7c0f87ea5 table 2024-07-03 08:19:58 +03:00
92d040c80f Merge remote-tracking branch 'origin/main' into tr/review_redesign 2024-07-03 07:54:26 +03:00
Tal
96ededd12a Merge pull request #1014 from Codium-ai/tr/description
Tr/description
2024-06-30 20:32:28 +03:00
8d87b41cf2 extend additional files 2024-06-30 20:28:32 +03:00
f058c09a68 extend additional files 2024-06-30 20:20:50 +03:00
f2cb70ea67 extend additional files 2024-06-30 18:38:06 +03:00
3e6263e1cc async calls 2024-06-30 17:33:48 +03:00
3373fb404a review_v2 2024-06-29 21:57:20 +03:00
df02cc1437 Merge remote-tracking branch 'origin/main' into tr/review_redesign
# Conflicts:
#	pr_agent/tools/pr_reviewer.py
2024-06-29 21:55:49 +03:00
Tal
6a5f43f8ce Merge pull request #1005 from KennyDizi/main
Centralize PR Review Title Definition
2024-06-29 21:53:20 +03:00
ebbf9c25b3 review_v2 2024-06-29 21:42:12 +03:00
0dc7bdabd2 review_v2 2024-06-29 21:22:25 +03:00
defe200817 review_v2 2024-06-29 13:08:34 +03:00
bf5673912d APITimeoutError 2024-06-29 11:30:15 +03:00
Tal
089a76c897 Merge pull request #1009 from Codium-ai/tr/fix
fixes
2024-06-28 08:11:08 +03:00
4c444f5c9a fixes 2024-06-28 08:09:52 +03:00
e5aae0d14f fixes 2024-06-28 08:04:35 +03:00
15f854336a s 2024-06-27 09:07:19 +03:00
Tal
056eb3a954 Merge pull request #1004 from Codium-ai/tr/large_pr
Tr/large pr
2024-06-27 08:37:02 +03:00
11abce3ede s 2024-06-27 08:36:40 +03:00
556dc68add s 2024-06-27 08:32:14 +03:00
Tal
b1f728e6b0 Merge pull request #1006 from Codium-ai/tr/readme_updates
s
2024-06-27 08:30:19 +03:00
ca18f85294 s 2024-06-27 08:27:49 +03:00
382da3a5b6 Use descriptive name for the ReviewHeaderTitle enum to reflect its specific purpose related to PR headers 2024-06-27 07:17:26 +07:00
406dcd7b7b Improve code readability by adding a newline after enum definitions 2024-06-27 07:16:54 +07:00
b20f364b15 Change the data structure for prefixes to a list to preserve order 2024-06-27 07:16:26 +07:00
692904bb71 Use ReviewHeaderTitle in lieu of PrReviewTitle 2024-06-27 07:11:57 +07:00
ba963149ac Fix extract PrReviewTitle member value 2024-06-27 07:10:57 +07:00
7348d4144b Rename PrReviewTitle enum 2024-06-27 07:05:03 +07:00
d0315164be Apply PrReviewTitles enum for test file 2024-06-27 07:04:02 +07:00
41607b10ef Apply PrReviewTitles enum for pr review file 2024-06-27 07:03:43 +07:00
2d21df61c7 Apply PrReviewTitles enum for github provider file 2024-06-27 07:03:25 +07:00
c185b7c610 Apply PrReviewTitles enum for algo utils file 2024-06-27 07:03:08 +07:00
3d60954167 Add PrReviewTitles enum 2024-06-27 06:59:49 +07:00
a57896aa94 s 2024-06-26 21:05:00 +03:00
73f0eebb69 s 2024-06-26 20:44:30 +03:00
b1d07be728 s 2024-06-26 20:33:45 +03:00
0f920bcc5b s 2024-06-26 20:11:20 +03:00
55a82382ef Merge remote-tracking branch 'origin/main' 2024-06-26 16:20:16 +03:00
6c2a14d557 fix: correct indentation in PR description preparation logic 2024-06-26 16:20:05 +03:00
Tal
4ab747dbfd Merge pull request #1000 from yamitzky/main
feat: Support Anthropic Calude 3.5 Sonnet on Vertex AI
2024-06-25 16:38:38 +03:00
b814e4a26d feat: Support Anthropic Calude 3.5 Sonnet on Vertex AI 2024-06-25 17:32:17 +09:00
Tal
609fa266cf Merge pull request #998 from R-Mathis/main
Add gemini support for pr-agent
2024-06-24 20:25:26 +03:00
69f6997739 remove extra space 2024-06-24 14:01:33 +02:00
8cc436cbd6 add gemini support for pr agent 2024-06-24 13:48:56 +02:00
384dfc2292 add text bison support for pr agent 2024-06-24 13:28:37 +02:00
40737c3932 add gemini support for pr agent 2024-06-24 12:08:16 +02:00
c46434ac5e add gemini support for pr agent 2024-06-24 12:03:34 +02:00
255c2d8e94 add gemini support for pr ageny 2024-06-24 11:35:41 +02:00
74bb07e9c4 fix: correct indentation in PR description preparation logic 2024-06-23 21:17:34 +03:00
a4db59fadc Merge remote-tracking branch 'origin/main' 2024-06-23 16:53:53 +03:00
2990aac955 docs: update custom labels configuration and usage instructions in describe tool 2024-06-23 16:53:45 +03:00
Tal
afe037e976 Merge pull request #995 from Codium-ai/tr/prompt_bug_fix
fix: update prompt key from `suggestion_content` to `suggestion_summary` in code suggestions
2024-06-23 11:40:03 +03:00
666fcb6264 fix: update prompt key from suggestion_content to suggestion_summary in code suggestions 2024-06-23 11:33:33 +03:00
3f3e9909fe fix: initialize git_provider as an empty dictionary in GitHub App server 2024-06-23 10:03:52 +03:00
Tal
685c443d87 Merge pull request #990 from s1moe2/claude-sonnet
feat: claude 3.5 sonnet support
2024-06-22 08:16:39 +03:00
Tal
c4361ccb01 Merge pull request #989 from Codium-ai/mrT23-patch-7
Update requirements.txt
2024-06-22 08:16:20 +03:00
a3d4d6d86f feat: claude 3.5 sonnet support 2024-06-21 09:30:52 +01:00
Tal
b12554ee84 Update requirements.txt 2024-06-20 18:11:43 +03:00
Tal
29bc0890ab Update requirements.txt 2024-06-20 18:09:39 +03:00
Tal
5fd7ca7d02 Update requirements.txt 2024-06-20 18:01:26 +03:00
Tal
41ffa8df51 Update requirements.txt 2024-06-20 17:45:47 +03:00
47b12d8bbc Update usage guide to clarify ignore settings and provide example usage 2024-06-19 13:59:04 +03:00
Tal
ded8dc3689 Merge pull request #986 from Codium-ai/tr/is_auto
Add `is_auto_command` config check to conditionally publish output an…
2024-06-19 11:57:19 +03:00
9034e18772 Add is_auto_command config check to conditionally publish output and update GitHub App to set this flag 2024-06-19 11:51:10 +03:00
833bb29808 Add context-aware git provider retrieval and refactor related functions 2024-06-19 11:20:00 +03:00
Tal
bdf1be921d Merge pull request #984 from Codium-ai/tr/cache_git_provider
Tr/cache git provider
2024-06-19 11:02:11 +03:00
0c1331f77e Add context-aware git provider retrieval and refactor related functions 2024-06-19 09:49:47 +03:00
164999d83d Add context-aware git provider retrieval and refactor related functions 2024-06-19 09:46:48 +03:00
a710f3ff43 Add context-aware git provider retrieval and refactor related functions 2024-06-19 09:41:53 +03:00
025a14014a Add context-aware git provider retrieval and refactor related functions 2024-06-19 09:36:37 +03:00
5968db67b9 Merge remote-tracking branch 'origin/main' 2024-06-19 08:30:55 +03:00
3affe011fe Update Bitbucket app commands to include suggestions score threshold in documentation and configuration 2024-06-19 08:30:45 +03:00
Tal
c4a653f70a Merge pull request #983 from Codium-ai/ok/gunicorn
Support running GitHub App using gunicorn, adjust Dockerfile accordingly
2024-06-18 22:42:00 +03:00
663604daa5 Support running GitHub App using gunicorn, adjust Dockerfile accordingly 2024-06-18 20:15:48 +03:00
Tal
deda06866d Merge pull request #971 from brianteeman/typos-1
Fix typos/Spelling
2024-06-18 18:00:42 +03:00
e33f2e4c67 Improve wording and clarity in self-review section of improve.md 2024-06-18 17:48:03 +03:00
00b6a67e1e mkdocs 2024-06-18 10:06:58 +03:00
024ef7eea3 mkdocs 2024-06-18 09:53:49 +03:00
3fee687a34 mkdocs 2024-06-18 09:47:25 +03:00
Tal
b2c0c4d654 Merge pull request #981 from Codium-ai/tr/self_review
mkdocs
2024-06-18 09:42:59 +03:00
6b56ea4289 mkdocs 2024-06-18 09:40:05 +03:00
Tal
2a68a90474 Merge pull request #980 from Codium-ai/tr/self_review
mkdocs
2024-06-18 09:32:44 +03:00
de9b21d7bd mkdocs 2024-06-18 09:29:32 +03:00
Tal
612c6ed135 Merge pull request #978 from Codium-ai/tr/self_review
Add self-review checkbox functionality to improve tool and update doc…
2024-06-17 20:30:28 +03:00
6ed65eb82b Add self-review checkbox functionality to improve tool and update documentation 2024-06-17 20:30:14 +03:00
bc09330a44 Add self-review checkbox functionality to improve tool and update documentation 2024-06-17 20:26:09 +03:00
7bd1e5211c Update pr_agent/settings/pr_reviewer_prompts.toml
Co-authored-by: codiumai-pr-agent-pro[bot] <151058649+codiumai-pr-agent-pro[bot]@users.noreply.github.com>
2024-06-17 09:22:38 +01:00
Tal
8d44804f84 Merge pull request #975 from brianteeman/identify_image_in_comment
identify_image_in_comment
2024-06-17 08:41:35 +03:00
Tal
a4320b6b0d Merge pull request #976 from brianteeman/get_changlog_file
get_changlog_file
2024-06-17 08:39:59 +03:00
Tal
73ec67b14e Merge pull request #974 from brianteeman/repetition_penalty
repetition_penalty
2024-06-17 08:39:16 +03:00
Tal
790dcc552e Merge pull request #972 from brianteeman/overall_success
Overall_success
2024-06-17 08:34:59 +03:00
8463aaac0a get_changlog_file
Correct the spelling

Fix spelling errors now will prevent issues going forward where people have to misspell something on purpose
2024-06-16 17:35:52 +01:00
195f8a03ab identify_image_in_comment
Correct the spelling

Fix spelling errors now will prevent issues going forward where people have to misspell something on purpose
2024-06-16 17:33:23 +01:00
5268a84bcc repetition_penalty
Correct the spelling of this variable.

Fix spelling errors now will prevent issues going forward where people have to misspell something on purpose
2024-06-16 17:28:30 +01:00
e53badbac4 Overall_success
Correct the spelling of this variable.

Fix spelling errors now will prevent issues going forward where people have to misspell something on purpose
2024-06-16 17:12:11 +01:00
a9a27b5a8f Fix typos/Spelling
This simple PR fixes typos and spelling errors in code comments and documentation. It has no functional changes but does at least make the instruction more readable and match the code.
2024-06-16 17:06:30 +01:00
4db428456d Refactor filter_bad_extensions and is_valid_file functions to improve code readability and reusability 2024-06-15 20:10:46 +03:00
925fab474c key_issues_to_review 2024-06-15 19:58:09 +03:00
Tal
a1fb9aac29 Merge pull request #967 from yamitzky/main
Fix ModuleNotFoundError of Vertex AI
2024-06-15 19:51:23 +03:00
Tal
774bba4ed2 Merge pull request #964 from evalphobia/feature/vertexai-calude3
Support models: Anthropic Claude 3 on Vertex AI
2024-06-15 19:49:49 +03:00
Tal
dd8a7200f7 Merge pull request #966 from Codium-ai/tr/ignore
Tr/ignore
2024-06-15 19:48:42 +03:00
33d8b51abd Fix problem of vertex ai 2024-06-13 22:17:12 +09:00
e083841d96 Add file ignore functionality and update documentation for ignore patterns 2024-06-13 13:18:15 +03:00
1070f9583f Add file ignore functionality and update documentation for ignore patterns 2024-06-13 13:07:24 +03:00
bedcc2433c Add file ignore functionality and update documentation for ignore patterns 2024-06-13 13:00:39 +03:00
8ff85a9daf Fix markdown formatting in utils.py by removing extra newlines 2024-06-13 12:45:57 +03:00
58bc54b193 Add file ignore functionality and update documentation for ignore patterns 2024-06-13 12:27:10 +03:00
aa56c0097d Add file ignore functionality and update documentation for ignore patterns 2024-06-13 12:20:21 +03:00
20f6af803c Add file ignore functionality and update documentation for ignore patterns 2024-06-13 12:09:52 +03:00
2076454798 Add file ignore functionality and update documentation for ignore patterns 2024-06-13 12:01:50 +03:00
e367df352b Add file ignore functionality and update documentation for ignore patterns 2024-06-13 11:41:13 +03:00
Tal
a32a12a851 Merge pull request #965 from Codium-ai/tr/reviewer
Tr/reviewer
2024-06-13 09:34:28 +03:00
3a897935ae Merge remote-tracking branch 'origin/main' into tr/reviewer 2024-06-13 09:30:09 +03:00
55b52ad6b2 Add exception handling to process_can_be_split function and update pr_reviewer_prompts.toml formatting 2024-06-13 09:28:51 +03:00
b0f9b96c75 Support models: Anthropic Calude 3 on Vertex AI 2024-06-13 14:34:14 +09:00
Tal
aac7aeabd1 Update PR review prompts and terminology for clarity and consistency (#954)
* Update PR review prompts and terminology for clarity and consistency
2024-06-10 08:44:11 +03:00
306fd3d064 Update PR review prompts and terminology for clarity and consistency 2024-06-10 08:13:48 +03:00
Tal
f1d5587220 Merge pull request #955 from Codium-ai/ok/github_background
Github: work in background
2024-06-09 20:55:02 +03:00
07f21a5511 Github: work in background 2024-06-09 18:14:42 +03:00
1106dccc4f Update PR review prompts and terminology for clarity and consistency 2024-06-09 14:34:51 +03:00
e5f269040e Update PR review prompts and terminology for clarity and consistency 2024-06-09 14:32:50 +03:00
9c8bc6c86a Update PR review prompts and terminology for clarity and consistency 2024-06-09 14:29:32 +03:00
Tal
f4c9d23084 Merge pull request #950 from ryanzll/main
update LangChainOpenAIHandler for langchain version 0.2 and read openai_api_base
2024-06-09 10:15:53 +03:00
25fdf16894 Update PR help message links to new documentation URLs 2024-06-07 08:12:06 +03:00
Tal
12b0df4608 committable checbox (#951)
* Add "apply suggestions" feature to README, improve.md, and configuration.toml
2024-06-06 18:04:40 +03:00
529346b8e0 Merge branch 'main' of https://github.com/ryanzll/pr-agent 2024-06-06 22:28:11 +08:00
b28f66aaa0 1. update LangChainOpenAIHandler to support langchain version 0.2
2. read openai_api_base from settings for llms that compatible with openai
2024-06-06 22:27:01 +08:00
Tal
2e535e42ee Merge pull request #947 from Codium-ai/tr/gitlab_commits
gitlab push_commands
2024-06-05 20:32:11 +03:00
9c6a363a51 gitlab push_commands 2024-06-05 20:31:35 +03:00
75a27d64b4 gitlab push_commands 2024-06-05 20:26:45 +03:00
Tal
4549cb3948 Merge pull request #946 from Codium-ai/tr/gitlab_commits
gitlab push_commands will work
2024-06-05 11:25:57 +03:00
d046c2a939 gitlab push_commands will work 2024-06-05 11:25:10 +03:00
Tal
aed4ed41cc Merge pull request #944 from Codium-ai/tr/gitlab_commits
handle_push_trigger for gitlab
2024-06-04 20:17:27 +03:00
4d96d11ba5 enterprise 2024-06-04 20:15:22 +03:00
faf4576f03 enterprise 2024-06-04 17:08:24 +03:00
0b7dcf03a5 Improve error handling in get_mr_url_from_commit_sha function in gitlab_webhook.py 2024-06-04 16:47:20 +03:00
8e12787fc8 Clear secret provider configuration in configuration.toml 2024-06-04 16:42:54 +03:00
213ced7e18 Add PR evaluation prompt and link to fine-tuning benchmark documentation 2024-06-04 16:37:35 +03:00
Tal
6d6fb67306 Merge pull request #942 from barnett-yuxiang/main
Update Python code formatting, configuration loading, and local model additions
2024-06-04 15:38:20 +03:00
fac8a80c24 Update introduction.md 2024-06-04 17:15:20 +08:00
c53c6aee7f fix wrong provider name 2024-06-04 15:09:30 +08:00
b980168e75 Update pr_description.py 2024-06-04 11:19:18 +08:00
86d901d5a6 Update __init__.py 2024-06-04 11:17:04 +08:00
b1444eb180 format github_action_runner.py 2024-06-04 11:10:13 +08:00
d3a7041f0d update alog/__init__.py 2024-06-04 00:00:22 +08:00
b4f0ad948f Update Python code formatting, configuration loading, and local model additions
1. Code Formatting:
   - Standardized Python code formatting across multiple files to align with PEP 8 guidelines. This includes adjustments to whitespace, line breaks, and inline comments.

2. Configuration Loader Enhancements:
   - Enhanced the `get_settings` function in `config_loader.py` to provide more robust handling of settings retrieval. Added detailed documentation to improve code maintainability and clarity.

3. Model Addition in __init__.py:
   - Added a new model "ollama/llama3" with a token limit to the MAX_TOKENS dictionary in `__init__.py` to support new AI capabilities and configurations.
2024-06-03 23:58:31 +08:00
ab31d2f1f8 Merge pull request #941 from Codium-ai/ok/gitlab_fix
Ok/gitlab fix
2024-06-03 14:16:38 +03:00
2b0dfc6298 Merge remote-tracking branch 'origin/main' into ok/gitlab_fix 2024-06-03 14:15:46 +03:00
76ff49d446 Refactor GitLab webhook initialization to move app setup outside of start function 2024-06-03 12:38:41 +03:00
413547f404 Refactor GitLab webhook handling for async processing and improved logging 2024-06-03 12:36:24 +03:00
Tal
f8feaa0be7 Merge pull request #940 from Codium-ai/tr/benchmark
Add PR evaluation prompt and link to fine-tuning benchmark documentation
2024-06-03 11:39:08 +03:00
09190efb65 Add PR evaluation prompt and link to fine-tuning benchmark documentation 2024-06-03 11:35:39 +03:00
Tal
2746bd4754 Merge pull request #939 from Codium-ai/tr/benchmark
Disable final update message when auto_describe is enabled in GitHub …
2024-06-03 08:37:37 +03:00
4f13007267 Disable final update message when auto_describe is enabled in GitHub Action Runner 2024-06-03 08:15:36 +03:00
Tal
962bb1c23d Update index.md 2024-06-02 11:35:33 +03:00
Tal
e9804c9f0d Merge pull request #938 from Codium-ai/tr/benchmark
Add documentation for PR-Agent code fine-tuning benchmark and update …
2024-06-02 11:32:16 +03:00
f3aa9c02cc Add documentation for PR-Agent code fine-tuning benchmark and update mkdocs.yml 2024-06-02 11:30:56 +03:00
416b150d66 Add documentation for PR-Agent code fine-tuning benchmark and update mkdocs.yml 2024-06-02 11:28:48 +03:00
Tal
83f3cc5033 Merge pull request #933 from MarkRx/bugfix/server-logging-context
Fix some server implementations not properly logging context
2024-06-02 08:29:43 +03:00
Tal
1e1636911f Merge pull request #937 from KennyDizi/main
Optimize document table format
2024-06-01 10:53:47 +03:00
40658cfb7c Removed duplicaiton line 2024-06-01 08:14:25 +07:00
85f6353d15 Optimize for fine-tuning impact table 2024-06-01 08:11:34 +07:00
b9aeb8e443 Fix all markdownlint violations 2024-06-01 08:09:41 +07:00
ea7a84901d Simplify model performance table 2024-06-01 08:05:37 +07:00
Tal
37f6e18953 Merge pull request #932 from MarkRx/feature/valid-file-filter-log
Bitbucket server filter out globally ignored files before attempting diff
2024-05-31 16:33:01 +03:00
Tal
62c6211998 Merge pull request #936 from Codium-ai/mrT23-patch-5
Update README.md
2024-05-31 16:25:58 +03:00
Tal
dc6ae9fa7e Update README.md 2024-05-31 16:25:00 +03:00
Tal
c6e6cbb50e Merge pull request #935 from Codium-ai/tr/benchmark
Add documentation for PR-Agent code fine-tuning benchmark and update …
2024-05-31 16:12:35 +03:00
731c8de4ea Add documentation for PR-Agent code fine-tuning benchmark and update mkdocs.yml 2024-05-31 16:12:25 +03:00
4971071b1f Merge branch 'main' into feature/valid-file-filter-log 2024-05-31 09:10:50 -04:00
c341446015 Add documentation for PR-Agent code fine-tuning benchmark and update mkdocs.yml 2024-05-31 16:09:34 +03:00
Tal
ea9d410c84 Merge pull request #928 from MarkRx/bugfix/bb-server-fixes
Bitbucket Server Provider Fixes
2024-05-31 11:12:41 +03:00
d9a7dae6c4 Better error handling on backgrounp task thread 2024-05-30 20:22:58 -04:00
c9c14c10b0 Fix some server implementations not properly logging context 2024-05-30 20:16:21 -04:00
bd2f2b3a87 Improve bb server error logging 2024-05-30 17:31:46 -04:00
c11ee8643e Bitbucket server filter out globally ignored files before attempting diff 2024-05-30 11:34:39 -04:00
Tal
04d55a6309 Merge pull request #931 from Codium-ai/tr/logs_filter
Add logging for skipping non-code files in GitHub provider
2024-05-30 17:08:58 +03:00
e6c5236156 Add logging for skipping non-code files in GitHub provider 2024-05-30 17:05:30 +03:00
ee90f38501 BB Server fixes. Fix ID not being retrieved, inline comments, url generation, and pr review not working 2024-05-30 10:05:00 -04:00
6e6f54933e Add large_patch_policy configuration and implement patch clipping logic 2024-05-29 14:00:04 +03:00
911c1268fc Add large_patch_policy configuration and implement patch clipping logic 2024-05-29 13:52:44 +03:00
17f46bb53b Add large_patch_policy configuration and implement patch clipping logic 2024-05-29 13:42:44 +03:00
Tal
806ba3f9d8 Merge pull request #926 from eltociear/patch-2
docs: update additional_configurations.md
2024-05-28 08:50:33 +03:00
2a69116767 docs: update additional_configurations.md
Huggingface -> Hugging Face
2024-05-28 12:52:35 +09:00
Tal
b7225c1d10 Update README.md 2024-05-23 16:53:00 +03:00
Tal
ca5efbc52f Merge pull request #918 from Codium-ai/tr/readme2
protections
2024-05-22 21:51:09 +03:00
da44bd7d5e extended_patch 2024-05-22 21:50:00 +03:00
83ff9a0b9b final_update_message 2024-05-22 21:49:33 +03:00
4cd9626217 grammar 2024-05-22 21:47:49 +03:00
Tal
ca9f96a1e3 Merge pull request #916 from Codium-ai/tr/readme2
Chrome Extension readme
2024-05-22 14:41:47 +03:00
811965d841 grammar 2024-05-22 14:40:31 +03:00
39fe6f69d0 Expand and enhance documentation for PR-Agent Chrome Extension, adding detailed feature descriptions and updated images 2024-05-22 14:37:15 +03:00
Tal
66dc9349bd Update README.md 2024-05-21 11:05:33 +03:00
Tal
63340eb75e Cover-Agent 2024-05-21 11:04:37 +03:00
Tal
fab5b6f871 Merge pull request #913 from Codium-ai/tr/final_update
Update default setting of `final_update_message` to false in describe…
2024-05-20 14:30:52 +03:00
71770f3c04 Update default setting of final_update_message to false in describe.md and configuration.toml 2024-05-20 14:25:51 +03:00
Tal
a13cb14e9f Update pyproject.toml 2024-05-20 09:28:05 +03:00
Tal
e5bbb701d3 Update README.md 2024-05-19 13:03:30 +03:00
Tal
7779038e2a Merge pull request #912 from Codium-ai/tr/show_config
Tr/show config
2024-05-19 12:37:58 +03:00
c3dca2ef5a Refactor model selection logic for PR tools and update turbo model to gpt-4o 2024-05-19 12:37:31 +03:00
985b4f05cf Refactor model selection logic for PR tools and update turbo model to gpt-4o 2024-05-19 12:37:06 +03:00
8921d9eb0e Refactor model selection logic for PR tools and update turbo model to gpt-4o 2024-05-19 12:35:19 +03:00
2880e48860 Refactor model selection logic for PR tools and update turbo model to gpt-4o 2024-05-19 12:29:06 +03:00
9b56c83c1d APP_NAME 2024-05-19 12:18:22 +03:00
Tal
2369b8da69 Merge pull request #911 from Codium-ai/tr/show_config
Update configuration_options.md to include tip on showing relevant co…
2024-05-19 08:22:07 +03:00
dcd188193b Update configuration_options.md to include tip on showing relevant configurations 2024-05-19 08:20:15 +03:00
Tal
89819b302b Merge pull request #910 from Codium-ai/tr/show_config
Tr/show config
2024-05-19 08:06:20 +03:00
3432d377c7 Update configuration_options.md to include tip on showing relevant configurations 2024-05-18 13:14:16 +03:00
ea4ee1adbc Add show_relevant_configurations function and integrate it across tools to output relevant configurations if enabled 2024-05-18 13:09:50 +03:00
Tal
f9af9e4a91 Update pr_code_suggestions_prompts.toml 2024-05-16 21:59:00 +03:00
Tal
3b3e885b76 Merge pull request #906 from Codium-ai/tr/self_reflect
Tr/self reflect
2024-05-16 21:57:32 +03:00
46e934772c Rename "Custom Suggestions" feature to "Custom Prompt" across documentation, README, and tool references 2024-05-16 21:55:02 +03:00
cc08394e51 Refine field descriptions in pr_code_suggestions_prompts.toml and comment out default scoring error log in pr_code_suggestions.py 2024-05-16 21:49:06 +03:00
Tal
2b4eac2123 Merge pull request #905 from Codium-ai/tr/self_reflect
Add roadmap section to Chrome Extension documentation with visual pre…
2024-05-16 10:57:02 +03:00
570f7d6dcf Add roadmap section to Chrome Extension documentation with visual preview 2024-05-16 10:55:51 +03:00
Tal
188d092524 Merge pull request #904 from Codium-ai/tr/self_reflect
Add documentation for PR-Agent Chrome Extension and update mkdocs.yml…
2024-05-16 09:18:34 +03:00
8599c0fed4 Add documentation for PR-Agent Chrome Extension and update mkdocs.yml to include new section 2024-05-16 09:17:26 +03:00
0ab19b84b2 Add documentation for PR-Agent Chrome Extension and update mkdocs.yml to include new section 2024-05-16 09:12:55 +03:00
Tal
fec583e45e Merge pull request #903 from Codium-ai/mrT23-patch-3
Update README.md
2024-05-15 10:37:53 +03:00
Tal
589b865db5 Update README.md 2024-05-15 10:31:57 +03:00
Tal
be701aa868 Merge pull request #902 from Codium-ai/tr/self_reflect
Refactor Azure DevOps provider to use PR iterations for change detect…
2024-05-15 09:22:14 +03:00
4231a84e7a Refactor Azure DevOps provider to use PR iterations for change detection, improving accuracy of diff file identification 2024-05-15 09:15:12 +03:00
e56320540b Refactor Azure DevOps provider to use PR iterations for change detection, improving accuracy of diff file identification 2024-05-15 09:05:01 +03:00
e4565f7106 Refactor Azure DevOps provider to use PR iterations for change detection, improving accuracy of diff file identification 2024-05-14 21:43:14 +03:00
Tal
b4458ffede Merge pull request #901 from KennyDizi/main
Add new GPT-4o models and update tiktoken to 0.7.0
2024-05-14 09:25:24 +03:00
36ad8935ad Add gpt-4o models 2024-05-14 08:24:34 +07:00
9dd2520dbd Update tiktoken to 0.7.0 2024-05-14 08:21:41 +07:00
Tal
e6708fcb7b Merge pull request #898 from Codium-ai/tr/self_reflect
Tr/self reflect
2024-05-13 18:22:44 +03:00
05876afc02 Refactor pr_code_suggestions logic and update prompts for clarity and consistency 2024-05-13 18:21:31 +03:00
f3eb74d718 Refactor pr_code_suggestions logic and update prompts for clarity and consistency 2024-05-13 18:18:17 +03:00
b0aac4ec5d Refactor pr_code_suggestions logic and update prompts for clarity and consistency 2024-05-13 18:13:37 +03:00
95c7b3f55c Refactor pr_code_suggestions logic and update prompts for clarity and consistency 2024-05-13 18:03:13 +03:00
Tal
efd906ccf1 Update .pr_agent.toml 2024-05-13 17:52:09 +03:00
Tal
5fed21ce37 Update README.md 2024-05-13 09:44:59 +03:00
Tal
853cfb3fc9 Merge pull request #897 from Codium-ai/tr/self_reflect
Tr/self reflect
2024-05-13 09:28:58 +03:00
6c0837491c Update README.md to include info on filtering suggestions by score threshold 2024-05-13 09:21:55 +03:00
fbacc7c765 artifact 2024-05-13 09:19:08 +03:00
Tal
e69b798aa1 Merge pull request #895 from Codium-ai/tr/self_reflect
self-reflection documentation
2024-05-12 16:23:07 +03:00
61ba015a55 artifact 2024-05-12 16:22:40 +03:00
4f6490b17c Integrate self-reflection feature in PR-Agent, enhancing code suggestions with scoring and sorting, and update documentation accordingly 2024-05-12 16:17:47 +03:00
Tal
9dfc263e2e Merge pull request #894 from Codium-ai/tr/self_reflect
Tr/self reflect
2024-05-12 16:01:08 +03:00
d348cffbae Enhance error handling and logging in pr_code_suggestions with default scores and contextualized self_reflection 2024-05-12 15:52:59 +03:00
c04ab933cd s 2024-05-12 15:04:36 +03:00
a55fa753b9 s 2024-05-12 14:54:35 +03:00
8e0435d9a0 s 2024-05-12 14:40:25 +03:00
39c0733d6f s 2024-05-12 14:00:30 +03:00
a588e9f2bb s 2024-05-12 13:55:12 +03:00
7627e651ea s 2024-05-12 13:50:10 +03:00
1ebc20b761 self_reflect 2024-05-12 13:49:28 +03:00
Tal
38058ea714 Merge pull request #893 from Codium-ai/tr/readme3
Tr/readme3
2024-05-08 15:43:32 +03:00
c92c26448f s 2024-05-08 15:42:00 +03:00
38051f79b7 s 2024-05-08 14:38:28 +03:00
738eb055ff s 2024-05-08 14:28:38 +03:00
Tal
5d8d178a60 Merge pull request #892 from Codium-ai/mrT23-patch-3
Update configuration_options.md
2024-05-08 13:55:27 +03:00
Tal
e8f4a45774 Update configuration_options.md 2024-05-08 13:54:31 +03:00
Tal
aa60c7d701 Merge pull request #890 from Codium-ai/tr/branding
privacy
2024-05-05 16:15:04 +03:00
4645cd7cf9 privacy 2024-05-05 16:13:28 +03:00
edb230c993 privacy 2024-05-05 16:11:03 +03:00
7bb1917be7 privacy 2024-05-05 16:09:07 +03:00
Tal
d360fb72cb Merge pull request #889 from Codium-ai/tr/branding
privacy policy for chrome extension
2024-05-05 16:03:00 +03:00
253f77f4d9 privacy 2024-05-05 16:01:07 +03:00
Tal
cac450098a Merge pull request #887 from Codium-ai/tr/branding
Tr/branding
2024-05-05 14:00:17 +03:00
097637d7c0 toolbar emojis in pr-agent feedbacks 2024-05-05 13:48:45 +03:00
e4157d2efc toolbar emojis in pr-agent feedbacks 2024-05-05 13:36:34 +03:00
34ad5f2aa2 toolbar emojis in pr-agent feedbacks 2024-05-05 13:33:54 +03:00
Tal
3c76230f61 Update README.md 2024-05-03 14:52:19 +03:00
Tal
92cde2ef99 Update README.md 2024-05-03 08:32:39 +03:00
0b10f88b84 toolbar 2024-05-02 21:08:12 +03:00
Tal
3dbe1bbc35 Merge pull request #880 from tacascer/new-35-models
chore: update GPT3.5 models
2024-04-24 08:52:12 +03:00
2e34436589 chore: update GPT3.5 models 2024-04-22 20:25:32 -04:00
Tal
fae6cab2a7 Merge pull request #877 from randy-tsukemen/support-groq-llama3
Add Groq Llama3 support
2024-04-22 11:41:12 +03:00
Tal
19f239ae3d Merge pull request #876 from randy-tsukemen/fix-duplication
Fix duplicate assignment of replicate_key in LiteLLMAIHandler
2024-04-21 10:55:01 +03:00
d457fa2b9f Add Groq API key configuration to .secrets_template.toml 2024-04-21 15:22:40 +09:00
d430604dfe Add Groq Llama3 model configuration instructions to usage guide 2024-04-21 15:22:19 +09:00
0a53f09a7f Add GROQ.KEY support in LiteLLMAIHandler 2024-04-21 15:21:45 +09:00
7a9e73702d Fix duplicate assignment of replicate_key in LiteLLMAIHandler 2024-04-21 14:47:25 +09:00
Tal
e429c5d012 Merge pull request #873 from Codium-ai/tr/readme
docs: Add option to disable automatic CI feedback in configuration
2024-04-18 16:33:21 +03:00
1c8aeb2b64 docs: Add option to disable automatic CI feedback in configuration 2024-04-18 16:31:41 +03:00
Tal
4d6126d2c0 Merge pull request #872 from Codium-ai/tr/readme
## Example usage
2024-04-18 10:11:39 +03:00
a9d30c1d10 Remember 2024-04-18 10:11:19 +03:00
ea4d4ab618 ## Example usage 2024-04-18 10:04:38 +03:00
Tal
3088c58d5f Merge pull request #871 from Codium-ai/tr/readme
Tr/readme
2024-04-18 09:27:51 +03:00
0f99db65a9 docs 2024-04-18 09:10:14 +03:00
f913f02ea6 docs 2024-04-18 08:53:43 +03:00
7563af08a0 docs 2024-04-18 08:44:08 +03:00
ad96326832 not 2024-04-18 07:53:37 +03:00
Tal
003d5728e0 Merge pull request #870 from Codium-ai/tr/readme
Replace `summarize_mode` with `commitable_code_suggestions_mode` in p…
2024-04-18 07:32:32 +03:00
8242b10d8e Replace summarize_mode with commitable_code_suggestions_mode in pr_code_suggestions_prompts.toml to enhance PR suggestion mechanism 2024-04-18 07:31:33 +03:00
Tal
1c296127bd Merge pull request #865 from Codium-ai/tr/readme
Tr/readme
2024-04-17 21:06:32 +03:00
2f4e40860d Replace keep_original_user_title with generate_ai_title for PR description customization and update documentation accordingly 2024-04-17 16:29:12 +03:00
b076c33351 commitable_code_suggestions 2024-04-17 15:32:45 +03:00
e2e0bea8fd num_code_suggestions 2024-04-17 09:13:53 +03:00
e878dcb6b1 Example usage 2024-04-17 09:12:49 +03:00
Tal
b8bcaf86f2 Merge pull request #864 from Codium-ai/tr/readme
Example usage
2024-04-17 09:05:18 +03:00
6c78f4fd88 Example usage 2024-04-17 09:02:54 +03:00
Tal
a134a8bf6d Merge pull request #863 from Codium-ai/add-repo-url-to-docs
Add repo url to docs
2024-04-15 20:41:41 +03:00
32fd03bd55 Add repository URL to MkDocs configuration 2024-04-15 13:42:36 +03:00
d5262f24ca add name + github icon 2024-04-15 13:37:50 +03:00
fe231929ae Update mkdocs.yml to include site description and rename site 2024-04-15 13:33:22 +03:00
1481796d6a Add GitHub repository URL to MkDocs configuration 2024-04-15 13:32:05 +03:00
Tal
9274cd730d Merge pull request #862 from Codium-ai/tr/image
ask
2024-04-15 10:14:21 +03:00
93d153bae1 ask 2024-04-15 10:12:19 +03:00
Tal
50736447fb Merge pull request #860 from Codium-ai/tr/image
ask
2024-04-14 14:48:43 +03:00
8168ce0c8e ask 2024-04-14 14:45:15 +03:00
Tal
a8d2fca4a3 Merge pull request #859 from Codium-ai/tr/image
Tr/image
2024-04-14 14:14:06 +03:00
44eb0b4f23 ask 2024-04-14 14:12:48 +03:00
506e3007c4 ask 2024-04-14 14:11:04 +03:00
92ef2b4464 ask 2024-04-14 14:09:58 +03:00
86e64501df ask 2024-04-14 12:43:26 +03:00
f0230fce79 gpt-4-turbo-2024-04-09 2024-04-14 12:37:54 +03:00
4683a29819 s 2024-04-14 12:34:14 +03:00
8f0f08006f s 2024-04-14 12:00:19 +03:00
a4680ded93 protections 2024-04-12 20:32:47 +03:00
Tal
654f88b98a Merge pull request #858 from pkvach/handle-missing-openai-key
Handle OPENAI_KEY not set error in github_action_runner.py
2024-04-12 18:30:15 +03:00
4c83bf695d Handle OPENAI_KEY not set error in github_action_runner.py
Fixes https://github.com/Codium-ai/pr-agent/issues/855
2024-04-12 10:50:00 +03:00
Tal
af8ca7d1a4 Merge pull request #853 from idubnori/feature/gha-outputs-1
feat: set review data to github actions output
2024-04-11 16:34:49 +03:00
9e4ffd824c Merge branch 'main' into feature/gha-outputs-1 2024-04-10 23:27:44 +09:00
aef1c6ecde docs: add feature spec and config 2024-04-10 23:04:29 +09:00
5e5ead98de test: rename & add error case 2024-04-10 22:36:15 +09:00
ae633b3cea refine: github_action_output 2024-04-10 22:30:16 +09:00
97dcb34d77 clean: rename to github_action_output 2024-04-10 22:16:09 +09:00
Tal
f0c5aec0e4 Merge pull request #854 from riya-amemiya/riya-amemiya/add_model
add support for gpt-4-turbo model
2024-04-10 09:20:53 +03:00
108b1afa0e add new models 2024-04-10 14:44:38 +09:00
Tal
4a69ebe816 Merge pull request #851 from phuongvietnamlab/hotfix/is_valid_file
Failed to review PR: name 'is_valid_file' is not defined
2024-04-10 08:21:43 +03:00
3412095d81 chore: change default to true, if use in github actions 2024-04-10 09:18:21 +09:00
45176ab893 test: add config not set case 2024-04-10 09:17:29 +09:00
75c4befadf feat: set review data to github actions output 2024-04-10 01:02:05 +09:00
0257b619ff Failed to review PR: name 'is_valid_file' is not defined 2024-04-09 15:47:54 +07:00
Tal
7e664184be Merge pull request #848 from Codium-ai/tr/readme
Tr/readme
2024-04-08 15:50:19 +03:00
8a5b01b465 empty calc_pr_statistics 2024-04-08 14:49:00 +03:00
84d8f78d0c publish_output 2024-04-08 14:00:41 +03:00
Tal
c1c11e6c77 Merge pull request #846 from Codium-ai/tr/readme
readme
2024-04-08 09:14:54 +03:00
a543d7ed1a readme 2024-04-08 09:12:50 +03:00
Tal
236d7c44e2 Merge pull request #845 from Codium-ai/change-docs-readme
Update docs readme
2024-04-08 09:06:23 +03:00
09f76f45ef Update docs readme 2024-04-08 08:18:33 +03:00
Tal
61388f6d28 Merge pull request #844 from Codium-ai/tr/readme
readme
2024-04-07 17:05:09 +03:00
a5a68c2a73 readme 2024-04-07 17:02:37 +03:00
2be0e9108e readme 2024-04-07 17:00:40 +03:00
aa2121a48d readme 2024-04-07 16:28:30 +03:00
Tal
4841f0db7c Merge pull request #843 from network-charles/network-charles-patch-1
Fix Broken URL in README.md
2024-04-07 13:03:10 +03:00
dc14b87657 Update README.md 2024-04-07 10:06:05 +01:00
Tal
7b4d833e06 Merge pull request #842 from Codium-ai/tr/readme
readme
2024-04-07 11:53:25 +03:00
68f29a41ef readme 2024-04-07 11:52:42 +03:00
d6b037a63a readme 2024-04-07 11:51:06 +03:00
45eefaa4f0 readme 2024-04-07 11:04:23 +03:00
f3b4695617 readme 2024-04-07 10:43:56 +03:00
Tal
dbcbe52d3e Merge pull request #841 from Codium-ai/tr/readme
readme
2024-04-07 09:41:21 +03:00
60fd1c67fa readme 2024-04-07 09:35:41 +03:00
d9efc441df readme 2024-04-07 09:28:22 +03:00
Tal
cb13740166 Merge pull request #840 from Codium-ai/tr/readme
readme
2024-04-07 09:11:19 +03:00
4dc160bc16 readme 2024-04-07 09:08:40 +03:00
Tal
d9b4481701 Merge pull request #839 from Codium-ai/mrT23-patch-1
Update additional_configurations.md
2024-04-05 17:24:45 +03:00
Tal
bbd302360f Update additional_configurations.md 2024-04-05 17:22:54 +03:00
877aeffbb3 Update describe.md 2024-04-03 14:59:53 +03:00
d7b19af117 Update README.md 2024-04-03 14:53:56 +03:00
Tal
7bc4f3a1c1 Merge pull request #838 from Codium-ai/tr/single_encoder
TokenEncoder
2024-04-03 08:49:49 +03:00
9c3673209d TokenEncoder 2024-04-03 08:42:50 +03:00
Tal
a13c6e964b Merge pull request #837 from Codium-ai/tr/persistent_describe
feat: add persistent comment option for PR descriptions
2024-04-02 17:59:17 +03:00
9614f619e8 feat: add persistent comment option for PR descriptions 2024-04-02 17:54:37 +03:00
3ebb72e3f1 feat: add persistent comment option for PR descriptions 2024-04-02 17:52:34 +03:00
Tal
dfe8301dcd Merge pull request #836 from gregoryboue/main
feat: allows ollama usage
2024-04-02 16:30:54 +03:00
501b059575 feat: allows ollama usage
Fix https://github.com/Codium-ai/pr-agent/issues/657
2024-04-02 11:01:45 +02:00
Tal
27cdd419e5 Update index.md 2024-04-01 18:56:36 +03:00
Tal
3d86430f18 Update automations_and_usage.md 2024-04-01 18:46:08 +03:00
b7237c113b Merge pull request #834 from Codium-ai/analytics
analytics
2024-04-01 10:19:17 +03:00
a53ba4596e fix custom analytics 2024-04-01 10:03:36 +03:00
b86b37e6a2 analytics 2024-04-01 09:54:59 +03:00
Tal
4391ac4d4d Merge pull request #833 from Codium-ai/tr/help
docs: Add "Improve Component" tool documentation and update related g…
2024-03-31 12:18:20 +03:00
ce47adf986 C# 2024-03-31 12:15:29 +03:00
8bda365636 docs: Add "Improve Component" tool documentation and update related guides 2024-03-31 12:13:25 +03:00
Tal
30bb2f3fc9 Merge pull request #832 from Codium-ai/tr/help
refine help
2024-03-31 11:44:29 +03:00
c3b3651769 refine help 2024-03-31 11:43:00 +03:00
Tal
949808d0d2 Merge pull request #831 from Codium-ai/tr/readme4
docs: Refine project description and reorganize documentation links i…
2024-03-29 13:43:48 +03:00
7e84acc63c docs: Refine project description and reorganize documentation links in README 2024-03-29 13:34:23 +03:00
aae6869964 docs: Update PR-Agent usage guide 2024-03-28 09:37:29 +02:00
79bdb9a69f bugfix: validate output publishing with progress condition in pr_code_suggestions 2024-03-27 19:56:27 +02:00
Tal
a86913aa7f Merge pull request #828 from idubnori/work/fix-827
Improve trigger condition in github actions
2024-03-27 19:07:53 +02:00
020a29ebb8 docs: optimize condition of github actions 2024-03-27 20:53:46 +09:00
Tal
a8bee89ae9 Update custom.css 2024-03-27 13:00:16 +02:00
Tal
d0dc2af918 Merge pull request #829 from Codium-ai/mrT23-patch-7
Update github.md
2024-03-27 12:42:07 +02:00
Tal
82d9c77489 Update github.md 2024-03-27 12:40:47 +02:00
Tal
c42f2d17e7 Merge pull request #825 from Codium-ai/improve-docs-images
Refactor markdown image syntax and enhance documentation presentation
2024-03-27 12:36:30 +02:00
Tal
cd4deefbf8 Merge pull request #826 from s1moe2/fix/issue-824
fix: missing requirements.txt on lambda dockerfile
2024-03-27 12:32:23 +02:00
493f73f1ce chore: add logging the reason not execute 2024-03-27 12:03:27 +09:00
fa889fbb06 docs: add pull request event types 2024-03-27 12:00:24 +09:00
0241fe5c13 fix: missing git binary on lambda dockerfile 2024-03-26 23:58:07 +00:00
d250cb46f4 fix: missing requirements.txt on lambda dockerfile 2024-03-26 22:28:19 +00:00
c97702982c fix image 2024-03-26 23:09:37 +02:00
2f823fb4e1 update deprecated plugin 2024-03-26 23:06:07 +02:00
736c8a6953 Refactor markdown image syntax and enhance documentation presentation 2024-03-26 23:00:57 +02:00
Tal
26c4a98fc8 Merge pull request #820 from riya-amemiya/riya-amemiya/change_gpt-4-turbo_model
add support for gpt-4-turbo-preview model
2024-03-26 10:46:51 +02:00
a7494746df revert default model 2024-03-26 16:21:30 +09:00
Tal
182e485741 Merge pull request #821 from Codium-ai/tr/installation_id
logs
2024-03-26 08:12:43 +02:00
1491bcba96 logs 2024-03-26 08:09:33 +02:00
d064a352ad feat(pr_agent): add support for gpt-4-turbo-preview model and update default settings 2024-03-26 14:47:05 +09:00
9c284e64cf dont log pr-agent bot 2024-03-25 12:27:45 +02:00
903d74b2f7 ignore_bot_pr = true 2024-03-25 11:42:24 +02:00
Tal
4651ced0f6 Merge pull request #817 from Codium-ai/tr/shorter_help
ignore bot
2024-03-25 09:17:07 +02:00
3cdadb3ad1 always ignore bot 2024-03-25 09:04:07 +02:00
Tal
cff6f2b597 Merge pull request #816 from Codium-ai/tr/shorter_help
Tr/shorter help
2024-03-25 08:55:33 +02:00
695f0706a8 Refactor help text for clarity and update configuration links in help.py; standardize variable naming in cli.py 2024-03-25 08:53:13 +02:00
07f5025b03 Refactor help text for clarity and update configuration links in help.py; standardize variable naming in cli.py 2024-03-25 08:51:59 +02:00
Tal
1701eb5b07 Merge pull request #815 from Codium-ai/tr/pypi
adjustments to pypi
2024-03-23 16:20:30 +02:00
ee4798acca adjustments to pypi 2024-03-23 16:16:32 +02:00
Tal
a355fb5d20 Merge pull request #814 from Codium-ai/tr/pypi
Tr/pypi
2024-03-23 11:20:04 +02:00
8e39394bcf adjustments to pypi 2024-03-23 11:16:21 +02:00
cfea8caf1c adjustments to pypi 2024-03-23 11:13:20 +02:00
9a46690121 adjustments to pypi 2024-03-23 09:55:08 +02:00
2fccadc469 adjustments to pypi 2024-03-22 21:43:41 +02:00
887d640ba5 Merge remote-tracking branch 'origin/main' into tr/pypi 2024-03-22 21:36:45 +02:00
0816370b1a adjustments to pypi 2024-03-22 21:36:22 +02:00
Tal
b4b2c7c620 Merge pull request #800 from koid/feature/ignore-bot-pr-on-github-app
Added `ignore_bot_pr` option
2024-03-21 18:42:45 +02:00
Tal
6323ff2ca2 Merge pull request #811 from veryyet/main
chore: fix some typos
2024-03-21 18:07:41 +02:00
92fbf21bd3 chore: fix some typos
Signed-off-by: veryyet <zhengxingru@outlook.com>
2024-03-21 14:41:29 +08:00
Tal
83ab5f7c1e Merge pull request #809 from Codium-ai/mrT23-patch-7
Update build-and-test.yaml
2024-03-21 08:21:21 +02:00
cae0b96054 use sender_type on bot check 2024-03-21 12:06:46 +09:00
4f2bbf936e Merge pull request #810 from Codium-ai/hl/docs_patch1
Small update to docs
2024-03-20 13:48:30 +02:00
61b2a1a053 update default 2024-03-20 11:11:06 +02:00
31bb72d65d add enable help text to documentation 2024-03-20 11:09:23 +02:00
Tal
a969d10381 Update build-and-test.yaml 2024-03-20 09:07:52 +02:00
29a2412de6 name 2024-03-20 08:36:46 +02:00
Tal
11502c5938 Merge pull request #807 from Codium-ai/tr/persistent_improve
Add persistent improve
2024-03-20 08:16:59 +02:00
b70225294c Update 'improve' tool documentation and functionality: Add persistent comment option, adjust default values, and enhance comment handling in pr_code_suggestions.py 2024-03-20 08:14:08 +02:00
Tal
f121652e4d Update improve.md 2024-03-19 17:29:21 +02:00
cf15f768fc Review vs. Improve tools comparison 2024-03-19 16:33:43 +02:00
Tal
795f619805 Merge pull request #806 from Codium-ai/tr/readme22
Review vs. Improve tools comparison
2024-03-19 16:19:04 +02:00
a39ff5d2dd Review vs. Improve tools comparison 2024-03-19 16:16:22 +02:00
Tal
158370e66c Update build-and-test.yaml 2024-03-19 14:36:16 +02:00
Tal
8ab27cf3b5 Merge pull request #805 from Codium-ai/hl/change_incremental_review_screenshot
Update review.md
2024-03-19 14:35:39 +02:00
7254211ed3 Update review.md 2024-03-19 13:38:54 +02:00
Tal
60fc6679c8 Merge pull request #804 from Codium-ai/mrT23-patch-7
Update build-and-test.yaml
2024-03-19 12:09:34 +02:00
Tal
2a76e77ba2 Update build-and-test.yaml 2024-03-19 12:02:38 +02:00
Tal
7ffdac98b3 Merge pull request #803 from Codium-ai/tr/readme22
Refactor improve.md: Improve image formatting, restructure content, a…
2024-03-19 10:00:51 +02:00
0aea45ec9c type 2024-03-19 10:00:04 +02:00
1db58fd028 Refactor improve.md: Improve image formatting, restructure content, and enhance descriptions 2024-03-19 09:56:10 +02:00
Tal
728997fd0e Merge pull request #802 from Codium-ai/tr/fixes4
Refactor review.md: Improve image formatting, restructure content, an…
2024-03-19 09:30:06 +02:00
Tal
be76a4132e Merge branch 'main' into tr/fixes4 2024-03-19 09:29:09 +02:00
ae09040543 Refactor review.md: Improve image formatting, restructure content, and enhance descriptions 2024-03-19 09:27:17 +02:00
Tal
431ed1babd Merge pull request #801 from Codium-ai/tr/fixes4
Update describe.md: Improve image formatting, restructure content, an…
2024-03-19 09:05:56 +02:00
edb59744ec Update describe.md: Improve image formatting, restructure content, and enhance descriptions 2024-03-19 09:03:50 +02:00
d9bf931a58 Update describe.md: Improve image formatting, restructure content, and enhance descriptions 2024-03-19 08:59:49 +02:00
b71523f13e use endswith 2024-03-18 16:14:58 +09:00
80a793a257 ignore bot pr option on github app mode 2024-03-18 16:14:54 +09:00
Tal
dd83b196b4 Merge pull request #781 from koid/feature/support-bedrock-claude3
added support for bedrock/claude3
2024-03-18 08:03:29 +02:00
Tal
eff6468651 Merge pull request #798 from Codium-ai/change-v-emoji
Replace checkmark emojis with tick emojis in documentation
2024-03-17 13:26:08 +02:00
Tal
b124dbffa6 Merge pull request #799 from Codium-ai/tr/split
Added docs for pr-agent-pro
2024-03-17 13:25:23 +02:00
008ee0dbc2 Replace checkmark emojis with tick emojis in documentation 2024-03-17 13:17:01 +02:00
1db03ccc36 Refactor PR-Agent Pro installation documentation and update navigation links 2024-03-17 13:15:21 +02:00
8ccb998b82 Refactor PR-Agent Pro installation documentation and update navigation links 2024-03-17 13:11:08 +02:00
Tal
8fea771502 Merge pull request #796 from Codium-ai/tr/split
Initialize current_labels to empty list if no labels exist in pr_revi…
2024-03-17 11:40:36 +02:00
b6dd57375f Initialize current_labels to empty list if no labels exist in pr_reviewer.py 2024-03-17 11:39:10 +02:00
Tal
11fed1e22d Merge pull request #756 from Codium-ai/tr/split
can PR be split feature
2024-03-17 01:03:06 -07:00
ac2c062190 readme 2024-03-17 10:01:30 +02:00
498b4cb34e readme 2024-03-17 09:59:55 +02:00
6d39773a17 prompt 2024-03-17 09:44:50 +02:00
99a676d792 Merge remote-tracking branch 'origin/main' into tr/split 2024-03-17 09:00:04 +02:00
Tal
1e504fc9c6 Merge pull request #795 from Codium-ai/tr/fixes4
Enhance AI handler logging and add main PR language attribute to AI h…
2024-03-16 04:53:24 -07:00
669e076938 Enhance AI handler logging and add main PR language attribute to AI handler in various tools 2024-03-16 13:52:02 +02:00
74345284bd Enhance AI handler logging and add main PR language attribute to AI handler in various tools 2024-03-16 13:47:44 +02:00
de0f3d3b0e Merge pull request #793 from Codium-ai/logo-and-title-sizing
add corect size logo to the header and adjust title spacing
2024-03-15 13:20:37 +02:00
44386573eb ad dcorect size logo to the header and adjust title spacing 2024-03-15 12:04:07 +01:00
Tal
e555610b82 Merge pull request #792 from Codium-ai/tr/fixes4
Refactor code in pr_code_suggestions.py
2024-03-15 03:47:34 -07:00
1593d8932b Refactor code in pr_code_suggestions.py and remove 'use_repo_settings_file' from azure.md and automations_and_usage.md 2024-03-15 12:37:50 +02:00
Tal
4425607a7e Merge pull request #786 from Codium-ai/add-google-analytics
Added Google Analytics to mkdocs configuration
2024-03-14 08:22:57 -07:00
b472149714 Replace hardcoded Google Analytics ID with environment variable in mkdocs.yml 2024-03-14 16:13:08 +02:00
50d0af0372 Added Google Analytics to mkdocs configuration 2024-03-14 13:56:10 +02:00
3bae515e39 add claude-3-haiku 2024-03-14 16:58:44 +09:00
0cdd3bf436 update docs 2024-03-13 14:23:57 +09:00
33d2d78bbc update docs 2024-03-13 11:36:13 +09:00
f94a0fd704 add Claude3Config 2024-03-13 11:24:51 +09:00
1ed2cd064a add config litellm.drop_params 2024-03-13 11:20:02 +09:00
d62796ac68 update max_tokens 2024-03-13 11:14:04 +09:00
3f66a1f0c9 update litellm 2024-03-13 11:10:19 +09:00
78cabf28a4 Update label comparison logic in pr_reviewer.py and pr_description.py to consider unordered lists 2024-03-12 18:25:42 +02:00
8b29c3a2be typo 2024-03-12 18:18:08 +02:00
Tal
53cc929d8a Merge pull request #780 from Codium-ai/tr/links
update links
2024-03-12 08:51:44 -07:00
785fbe04ae update links 2024-03-12 17:42:19 +02:00
Tal
d201403036 Merge pull request #779 from Codium-ai/tr/describe_keep_labels
Update get_pr_labels method to support label updates
2024-03-12 08:18:24 -07:00
Tal
b8a1378d1c Merge pull request #776 from Codium-ai/fix-docs-footer
Update footer title and improve responsive design in footer.html
2024-03-12 08:14:13 -07:00
31a8f5302a Update get_pr_labels method to support label updates and prevent unnecessary label republishing 2024-03-12 17:02:45 +02:00
5f98a0c539 Update footer title and improve responsive design in footer.html 2024-03-12 10:22:48 +02:00
8fb75c16af doc update 2024-03-11 20:08:16 +02:00
c1c89577f7 Merge remote-tracking branch 'origin/main' 2024-03-11 11:58:44 +02:00
d83643083f fixed numbers 2024-03-11 11:58:35 +02:00
42cd85b420 Merge pull request #769 from Codium-ai/hl/incremental_review_update
fix
2024-03-11 11:33:48 +02:00
476d64bc18 fix 2024-03-11 11:30:05 +02:00
72cbf36e6c Merge pull request #768 from Codium-ai/hl/incremental_review_update
Hl/incremental review handle edge cases
2024-03-11 10:49:29 +02:00
ad240f7640 small fix 2024-03-11 10:13:41 +02:00
5c20fffee9 fix when no previous review where found, reivew -i should run as regular review 2024-03-11 09:59:16 +02:00
84dadb0469 rename + check github 2024-03-11 09:42:10 +02:00
b4776d5e00 Merge remote-tracking branch 'origin/main' 2024-03-11 09:38:01 +02:00
86dc87831b remove is_temporary 2024-03-11 09:37:51 +02:00
Tal
351e1b94a8 Merge pull request #767 from Codium-ai/tr/readme2
readme
2024-03-11 00:15:23 -07:00
4739fd3d37 readme 2024-03-11 09:13:35 +02:00
Tal
75800a745c Merge pull request #764 from Codium-ai/hl/incremental_review_update
Hl/incremental review update
2024-03-11 00:03:16 -07:00
Tal
256d1a3369 Merge pull request #751 from danstis/fix/ado-spaces
Fix URL encoding in Azure DevOps webhook handler
2024-03-10 23:57:59 -07:00
Tal
0efa4c1319 Merge pull request #765 from Codium-ai/tr/fixes5
Enhance logging and refactor code in gitlab_webhook.py
2024-03-10 23:57:33 -07:00
33a911da4c log 2024-03-11 08:56:48 +02:00
a27ad0feb6 log 2024-03-11 08:55:07 +02:00
6c5697b07c Enhance logging and refactor code in gitlab_webhook.py, update logger level in bitbucket_app.py and github_polling.py, remove redundant section in github.md 2024-03-11 08:50:19 +02:00
5453507097 small fix 2024-03-10 17:19:27 +02:00
003c49052e skip incremental review if no file changed since last review 2024-03-10 17:15:25 +02:00
c876f271a4 contains several themes 2024-03-10 17:13:40 +02:00
4810b8549b docs 2024-03-10 16:59:37 +02:00
10a96d61ca Merge remote-tracking branch 'origin/main' into tr/split
# Conflicts:
#	pr_agent/settings/pr_reviewer_prompts.toml
2024-03-10 16:57:25 +02:00
8324e9a38d can_be_split 2024-03-10 16:56:32 +02:00
Tal
5f529c9adf Update index.md 2024-03-10 16:16:25 +02:00
Tal
fd1fdc90dd Merge pull request #763 from Codium-ai/tr/readme_links
Update README.md with relevant links
2024-03-10 07:04:49 -07:00
6d52bcc636 Update README.md with relevant links 2024-03-10 16:02:24 +02:00
ff2346eacc update markdown 2024-03-10 14:18:29 +02:00
Tal
1cf6d1dfe1 Merge pull request #762 from Codium-ai/hl/add_manual_similar_docs
Update similar_code.md
2024-03-10 04:04:37 -07:00
1dc933b123 Update similar_code.md 2024-03-10 12:58:52 +02:00
Tal
6181f5290f Update README.md 2024-03-10 12:35:53 +02:00
Tal
fc400147d9 Merge pull request #761 from Codium-ai/tr/readme_links
Update README.md with new documentation portal links
2024-03-10 03:35:12 -07:00
498334ac5d Update README.md with relevant links 2024-03-10 12:34:17 +02:00
c8f93b1d47 Update README.md with new documentation portal links 2024-03-10 12:24:55 +02:00
Tal
1597b888e3 Merge pull request #760 from Codium-ai/tr/readme_links
Tr/readme links
2024-03-10 03:23:15 -07:00
212e7f6fb9 Update README.md with new documentation portal links 2024-03-10 12:22:30 +02:00
869978b977 Update README.md with new documentation portal links 2024-03-10 12:19:28 +02:00
Tal
a7e6690771 Merge pull request #757 from Codium-ai/add-docs-portal
Add docs portal
2024-03-10 01:45:37 -08:00
Tal
d1a2f596c7 Merge pull request #759 from Codium-ai/tr/fix_prompts
fixed bug in inline_code_suggestions in review
2024-03-09 21:53:26 -08:00
b4e9c55d8d fixed bug in inline_code_suggestions in review 2024-03-10 07:50:12 +02:00
Tal
def78ea723 Merge pull request #758 from Codium-ai/tr/fix_prompts
Fix missing colons in class definitions in pr_reviewer_prompts.toml
2024-03-09 21:40:49 -08:00
bb341a6568 Fix missing colons in class definitions in pr_reviewer_prompts.toml 2024-03-10 07:39:10 +02:00
2943204b9b Create CNAME 2024-03-09 21:07:49 +02:00
1be2039caa fix broken links 2024-03-09 21:01:38 +02:00
e4a26d2a0a fix broken links 2024-03-09 20:47:07 +02:00
4c0a98f865 Added local icon + logo 2024-03-09 20:29:25 +02:00
53dbd6f0b2 add favicon 2024-03-09 19:56:50 +02:00
9ff6c4ad86 Merge branch 'main' into add-docs-portal 2024-03-09 12:23:46 +02:00
c1d48c42e6 Updated logo reference in mkdocs.yml 2024-03-09 12:15:43 +02:00
73624148a5 Fix URL encoding in Azure DevOps webhook handler 2024-03-08 04:39:57 +00:00
c7315c53fc Merge pull request #748 from Codium-ai/ok/refactor_update_changelog
Refactor update changelog
2024-03-07 13:07:36 +02:00
05b0c4ff70 add cache to gitignore 2024-03-07 11:14:24 +02:00
228cabf610 remove cache 2024-03-07 11:13:30 +02:00
Tal
51b4cd05c3 Update CI_FEEDBACK.md 2024-03-07 10:01:40 +02:00
1ff0afabae Refactor update changelog 2024-03-07 00:48:33 +02:00
ff2b4864b4 Update README.md 2024-03-06 22:25:21 +02:00
992865dc70 Update docs-ci.yaml 2024-03-06 22:24:55 +02:00
afef57bb87 Update README.md 2024-03-06 22:22:37 +02:00
f9bef46d76 Update docs-ci.yaml 2024-03-06 22:22:11 +02:00
a602359f24 Add GitHub Actions workflow for docs deployment and remove outdated markdown files 2024-03-06 22:20:20 +02:00
852359e6ea Add documentation portal with MKDocs 2024-03-06 21:52:11 +02:00
fbbd65873e Merge pull request #747 from Codium-ai/tr/claude3
Refactor litellm_ai_handler.py and update requirements.txt
2024-03-06 12:31:18 +02:00
0690f2bbfd Refactor litellm_ai_handler.py and update requirements.txt
- Replace retry library with tenacity for better exception handling
- Add verbosity level checks for logging prompts and AI responses
- Add support for HuggingFace API base and repetition penalty in chat completion
- Update requirements.txt with tenacity library
2024-03-06 12:13:54 +02:00
Tal
8083a6e74a Merge pull request #746 from Codium-ai/tr/claude3
Tr/claude3
2024-03-06 01:08:41 -08:00
26fb2a4164 Add support for Anthropic Claude-3 model in configuration and update Usage.md 2024-03-06 08:20:08 +02:00
1c856a7d41 upgrade litellm 2024-03-06 08:06:59 +02:00
2f6f1d5879 Add command execution functionality to Bitbucket app and update configuration settings 2024-03-06 07:53:13 +02:00
Tal
3016d5d1ed Update REVIEW.md 2024-03-05 20:51:17 +02:00
Tal
f777b6e765 Merge pull request #744 from Codium-ai/tr/final_update_message
Add 'final_update_message' option to control publishing of update messages
2024-03-05 10:12:23 -08:00
c7eb70d00d protections 2024-03-05 20:11:39 +02:00
d77db93f80 protections 2024-03-05 18:34:18 +02:00
359a15c84e Add 'final_update_message' option to control publishing of update message in persistent comments 2024-03-05 17:33:29 +02:00
acefbff62b Add 'final_update_message' option to control publishing of update message in persistent comments 2024-03-05 17:29:17 +02:00
Tal
7e993558e0 Merge pull request #735 from Codium-ai/tr/fixes3
Add unique_strings function and remove duplicate issues in utils.py
2024-03-04 07:37:13 -08:00
a1355fa12a Merge pull request #736 from Codium-ai/ok/azure_openai_doc_fix
Doc update
2024-03-04 17:04:11 +02:00
273f361e31 Update section title in Usage.md from 'Usage Types' to 'Automation and Usage' 2024-03-04 15:28:21 +02:00
96bccb3156 Doc update 2024-03-04 14:28:32 +02:00
da39149c61 Add unique_strings function and remove duplicate issues in utils.py; Update pr_reviewer_prompts.toml template 2024-03-04 11:07:39 +02:00
Tal
234a4f352d Merge pull request #734 from Codium-ai/tr/fixes3
Update suggestion content in pr_code_suggestions_prompts.toml
2024-03-03 22:18:57 -08:00
eed23a7aaa Add truncation and summarization features to PR code suggestions 2024-03-04 08:16:05 +02:00
248c6b13be Update suggestion content in pr_code_suggestions_prompts.toml 2024-03-04 07:56:44 +02:00
Tal
7e07347b99 Merge pull request #733 from Codium-ai/tr/fixes3
readme updates
2024-03-03 05:10:08 -08:00
aa9dbf7111 updated readme 2024-03-03 15:04:59 +02:00
Tal
0709d5f663 Merge pull request #730 from Codium-ai/tr/issue_header
Enhance markdown formatting fo issues
2024-03-03 04:06:04 -08:00
c372c71514 prompt 2024-03-03 14:04:09 +02:00
b3fd05c465 try-except 2024-03-03 13:58:10 +02:00
Tal
68fab0bab9 Merge pull request #732 from Codium-ai/tr/remove_outdated_option
Remove functionality and references to 'remove_previous_review_comment'
2024-03-03 01:27:16 -08:00
f1bd67b7e9 Remove functionality and references to 'remove_previous_review_comment' option 2024-03-03 11:24:30 +02:00
Tal
5500d35856 Update Usage.md 2024-03-03 08:21:04 +02:00
5880221d00 Update logger setup to include debug level in github_app.py 2024-03-02 23:32:26 +02:00
Tal
c031653f68 Update README.md 2024-03-02 22:27:33 +02:00
Tal
5949a794c2 Update README.md 2024-03-02 22:26:24 +02:00
Tal
49dda61642 Update README.md 2024-03-02 22:25:55 +02:00
Tal
488caf2a90 Update Usage.md 2024-03-02 20:46:47 +02:00
Tal
9a0288250d Merge pull request #729 from Codium-ai/tr/wiki
wiki
2024-03-02 10:24:27 -08:00
917bdd5cb8 Refactor Usage.md for improved readability and organization 2024-03-02 20:23:10 +02:00
aabe96c7ff Refactor Usage.md for improved readability and organization 2024-03-02 20:20:08 +02:00
db796416d9 wiki 2024-03-02 20:16:29 +02:00
35315c070f major 2024-03-01 13:18:53 +02:00
7d081aa1d1 fix tests 2024-03-01 13:09:47 +02:00
e589dcb489 Enhance markdown formatting and update prompt descriptions in pr_reviewer_prompts.toml 2024-03-01 13:02:50 +02:00
Tal
60bd57538a Merge pull request #728 from Codium-ai/mrT23-patch-5
Update IMPROVE.md
2024-02-29 07:22:43 -08:00
Tal
a6cdd72966 Update IMPROVE.md 2024-02-29 17:20:15 +02:00
a86a3f52f0 a minor bugfix 2024-02-29 16:03:00 +02:00
Tal
2340f95488 Merge pull request #727 from Codium-ai/tr/repo_log
log event
2024-02-28 22:10:26 -08:00
dd4dc4b761 log event 2024-02-29 08:09:25 +02:00
Tal
6a51a646ee Merge pull request #725 from Codium-ai/tr/repo_log
get_log_context
2024-02-28 11:26:53 -08:00
8d498cd70c git_org 2024-02-28 16:14:13 +02:00
d5e72c2183 get_log_context 2024-02-28 16:10:57 +02:00
b09b936b15 get_log_context 2024-02-28 16:05:52 +02:00
Tal
6f22e5f557 Merge pull request #714 from Codium-ai/tr/improve_tweaks
improve tweaks
2024-02-28 05:57:38 -08:00
dbe772e708 capitalize 2024-02-28 13:59:04 +02:00
9c7ac125e1 Tweak analytics log message to add api_url 2024-02-28 12:05:01 +02:00
a8c5ac10b6 Merge remote-tracking branch 'origin/main' into tr/improve_tweaks 2024-02-28 11:09:48 +02:00
Tal
d54c5574a1 Merge pull request #723 from Codium-ai/tr/fixes2
some fixes
2024-02-27 23:27:54 -08:00
047c370683 Update README.md and add gfm markdown support check in pr_help_message.py 2024-02-28 09:20:14 +02:00
07f507c442 remove_initial_comment 2024-02-28 09:08:48 +02:00
39538c5356 cleaning 2024-02-28 09:01:39 +02:00
0c654b3b64 handle unsupported platforms for update changelog 2024-02-28 08:41:25 +02:00
Tal
92d3627de0 Update IMPROVE.md 2024-02-27 23:10:44 +02:00
4316d00941 log_context 2024-02-26 21:12:28 +02:00
edc9d8944e Refactor handle_closed_pr function to check for merged PRs 2024-02-26 20:56:43 +02:00
910c56c851 Merge pull request #721 from Codium-ai/ok/identity_provider
Identity provider
2024-02-26 20:23:09 +02:00
ab29cf2b30 Identity provider 2024-02-26 20:21:20 +02:00
Tal
540433b82c Merge pull request #720 from Codium-ai/tr/pr_statistics
Add functionality to calculate and log PR statistics on closure
2024-02-26 10:10:07 -08:00
60a37158b1 Add functionality to calculate and log PR statistics on closure 2024-02-26 20:09:01 +02:00
4921c26432 Add functionality to calculate and log PR statistics on closure 2024-02-26 20:02:11 +02:00
Tal
34fe2721fb Merge pull request #719 from Codium-ai/ok/identity_provider
Ok/identity provider
2024-02-26 09:34:06 -08:00
8bdc90c0f7 Identity provider 2024-02-26 19:00:21 +02:00
77831c793d Identity provider 2024-02-26 18:31:12 +02:00
Tal
5a2b5d97a0 Merge pull request #717 from Codium-ai/tr/logs_message
Add documentation for 'ignore_pr_titles' parameter in Usage.md
2024-02-26 06:43:22 -08:00
86c7c495f2 Add documentation for 'ignore_pr_titles' parameter in Usage.md 2024-02-26 16:29:40 +02:00
4b8fe84f88 Merge pull request #716 from Codium-ai/ok/analytics_support
Add analytics logging
2024-02-26 16:25:32 +02:00
8843f7bc8b Add analytics logging 2024-02-26 16:15:23 +02:00
Tal
64feef585a Merge pull request #715 from Codium-ai/tr/logs_message
small log improvement
2024-02-26 05:19:49 -08:00
ffe4512b7d small log improvement 2024-02-26 15:16:59 +02:00
a5cb35418e remove 'review_requested' (can trigger rate limit, and doesnt make sense algorighmically) 2024-02-26 14:20:50 +02:00
8594c93186 improve tweaks 2024-02-26 12:05:29 +02:00
Tal
116dd75a14 Merge pull request #712 from Codium-ai/tr/review_tweaks
Tr/review tweaks
2024-02-26 01:19:36 -08:00
85cdf05ca8 review formatting 2024-02-26 09:36:16 +02:00
7c9a389abf review formatting 2024-02-26 09:27:13 +02:00
18472492bc s 2024-02-26 09:14:12 +02:00
Tal
9002dccf6b Update IMPROVE.md 2024-02-25 19:10:56 +02:00
Tal
3ad53a34cd Update REVIEW.md 2024-02-25 17:33:24 +02:00
Tal
29714f9bd7 Merge pull request #710 from Codium-ai/tr/direct_link_bug
Refactor link generation in github_provider.py to use get_pr_url method
2024-02-25 07:28:47 -08:00
Tal
f921b5e9b9 Merge pull request #711 from Codium-ai/mrT23-patch-4
Update REVIEW.md
2024-02-25 07:23:04 -08:00
5f9969f30c base_url 2024-02-25 17:22:35 +02:00
Tal
0430f68d39 Update REVIEW.md 2024-02-25 17:17:55 +02:00
Tal
7f7045fd8a Update REVIEW.md 2024-02-25 17:16:10 +02:00
2dfddd8cea Fix a bug 2024-02-25 17:13:35 +02:00
bc88e0492f Fix a bug 2024-02-25 17:12:40 +02:00
a15d4f7a94 base_url 2024-02-25 16:55:20 +02:00
4258ce165b Refactor link generation in github_provider.py to use get_pr_url method 2024-02-25 16:33:19 +02:00
Tal
39e2b02933 Merge pull request #709 from Codium-ai/tr/adjustment
adjustment
2024-02-25 06:27:37 -08:00
1275cf0123 adjustment 2024-02-25 16:23:44 +02:00
5ab69af5a7 Merge pull request #695 from Codium-ai/ok/analytics
Add support for analytics file
2024-02-25 11:17:09 +02:00
Tal
118c9addaa Merge pull request #708 from Codium-ai/tr/logs
Refactor logging
2024-02-25 00:47:49 -08:00
dad3d3429f artifact 2024-02-25 10:45:15 +02:00
984a2888ae Refactor logging statements for better readability and debugging 2024-02-25 10:04:04 +02:00
8252b98bf5 Refactor logging statements for better readability and debugging 2024-02-25 10:01:53 +02:00
34e421f79b Refactor logging statements for better readability and debugging 2024-02-25 09:58:58 +02:00
877796b539 Refactor logging statements for better readability and debugging 2024-02-25 09:46:07 +02:00
Tal
df3a463668 Merge pull request #707 from KennyDizi/main
Introduced collapsible file list threshold as a constant
2024-02-24 06:29:44 -08:00
3bcf085f61 Fix context 2024-02-24 17:00:58 +07:00
f3a712683a Use constant in stead of hard code number for collapsible file list threadhold 2024-02-24 16:53:18 +07:00
Tal
51ce484bab Update github_app.py 2024-02-24 09:40:15 +02:00
Tal
214f65902c Merge pull request #701 from Codium-ai/ok/github_app_startup
Change github app startup logic to support gunicorj
2024-02-23 11:14:28 -08:00
4d8c38e5e1 Change github app startup logic to support gunicorj 2024-02-23 18:29:35 +02:00
2242f73661 Merge remote-tracking branch 'origin/ok/github_app_startup' into ok/github_app_startup 2024-02-23 18:29:09 +02:00
2f3171e422 Change github app startup logic to support gunicorj 2024-02-23 18:28:58 +02:00
90599f53d4 Change github app startup logic to support gunicorj 2024-02-23 18:27:34 +02:00
b878f64793 add analytics support 2024-02-23 17:30:20 +02:00
4242e157ab Merge remote-tracking branch 'origin/main' into ok/analytics 2024-02-23 17:16:43 +02:00
Tal
6df2a6769e Update DESCRIBE.md 2024-02-22 22:03:39 +02:00
Tal
dadb760aae Merge pull request #696 from Codium-ai/tr/app_refactor
Refactor GitHup App
2024-02-22 09:28:44 -08:00
85492f20fa 'debug' for request body 2024-02-22 18:13:42 +02:00
8b76eb1014 fixed bugs with incremental review 2024-02-22 18:03:00 +02:00
adc5709b29 Refactor github_app.py to improve handling of PR events and comments 2024-02-22 17:34:51 +02:00
b884920ef2 Refactor github_app.py to improve handling of PR events and comments 2024-02-22 17:26:47 +02:00
4ebac16ff7 Add support for analytics file 2024-02-22 13:21:56 +02:00
ee59d34e39 Merge pull request #694 from Codium-ai/ok/title_regex
Adds an option to ignore PR opens by regex matching
2024-02-22 12:26:57 +02:00
e3dba12fea Adds an option to ignore PR opens by regex matching 2024-02-22 12:14:04 +02:00
Tal
42bcda1eb8 Merge pull request #687 from Codium-ai/tr/ado
Update README.md to include Azure DevOps in supported platforms
2024-02-21 11:10:51 -08:00
1b214114ec Update README.md to include Azure DevOps in supported platforms 2024-02-21 21:06:47 +02:00
Tal
764aa8d679 Merge pull request #686 from Codium-ai/tr/reduce_number_of_calls
Tr/reduce number of calls
2024-02-21 08:26:10 -08:00
4d0f691b64 repo_settings 2024-02-21 18:23:34 +02:00
048d90623f Ignore comment not starting with a slash 2024-02-21 17:59:58 +02:00
Tal
7c87c9d3a5 Merge pull request #685 from Codium-ai/tr/reduce_number_of_calls
repo_settings
2024-02-21 07:20:21 -08:00
8ffdaf00c1 repo_settings 2024-02-21 17:18:54 +02:00
Tal
a94b5c6682 Merge pull request #684 from Codium-ai/tr/reduce_number_of_calls
Tr/reduce number of calls
2024-02-21 07:05:00 -08:00
fc7b267c9a self.diff_files 2024-02-21 17:00:11 +02:00
e291bd352e protections 2024-02-21 16:46:57 +02:00
f08ce53de3 Optimize PR commit retrieval and caching in GitHub provider and utils 2024-02-21 16:33:32 +02:00
Tal
34797fe809 Merge pull request #683 from Codium-ai/tr/fixes
Tr/fixes
2024-02-21 01:11:40 -08:00
f3c1c61c2e readme 2024-02-21 11:11:03 +02:00
0f1614bedc readme 2024-02-21 11:10:03 +02:00
a41a427b58 readme 2024-02-21 11:08:08 +02:00
b1dfd905c4 text 2024-02-21 09:40:39 +02:00
dd5386e07e try-except 2024-02-21 09:27:40 +02:00
275f0d6a05 Update GitLab configuration and documentation for webhook setup 2024-02-21 09:20:28 +02:00
0e3417b4ab webhook 2024-02-21 08:55:59 +02:00
Tal
d0a86ab684 Merge pull request #682 from jfouchard/patch-2
Add a note about change the target for Gitlab install
2024-02-20 06:58:21 -08:00
1348a67cd2 Add more detail to the pr-agent url 2024-02-20 08:33:34 -05:00
7b98db20d5 Add a note about change the target for Gitlab install
This is just a minor documentation update about changing the target when building the Docker image for Gitlab.  While it's obvious in retrospect, if you jump straight to the Gitlab section of the document how this is supposed to work.  If you follow the directions exactly you run into [this issue](https://github.com/Codium-ai/pr-agent/issues/456)
2024-02-20 08:24:43 -05:00
Tal
a4467a5773 Merge pull request #679 from Codium-ai/tr/fixes
Refactor reaction handling in GitHub provider and update help text
2024-02-19 22:11:48 -08:00
4a0b12c036 Refactor reaction handling in GitHub provider and update help text in PR tools 2024-02-20 08:06:33 +02:00
Tal
6eca495801 Merge pull request #666 from yochail/yochail/support_azure_devops_managed_identity
Add Az Devops managed identity support
2024-02-19 21:44:23 -08:00
Tal
5c8160444a Merge pull request #678 from Codium-ai/tr/help_invoke
Tr/help invoke
2024-02-19 11:48:13 -08:00
82ba285395 finalize 2024-02-19 21:44:00 +02:00
2be0339a27 help improved 2024-02-19 21:42:13 +02:00
Tal
3e7f83ffdb Merge pull request #677 from Codium-ai/tr/help_invoke
help improved
2024-02-19 11:21:31 -08:00
8d6c6a35db help improved 2024-02-19 21:10:20 +02:00
34e89e45bd help improved 2024-02-19 21:07:24 +02:00
Tal
c3ff5c46a6 Merge pull request #676 from Codium-ai/tr/bitbucket_review_suggestions
bitbucket code suggestions
2024-02-19 09:55:14 -08:00
345f923569 bitbucket code suggestions 2024-02-19 19:52:49 +02:00
0f815876e5 bitbucket code suggestions 2024-02-19 19:46:57 +02:00
d47a840179 bitbucket code suggestions 2024-02-19 19:43:31 +02:00
3770704db7 reset commit 2024-02-19 08:35:45 -05:00
Tal
9cc147dda0 Merge pull request #675 from Codium-ai/hl/notification_readme
Update Usage.md
2024-02-19 04:10:34 -08:00
787b82d888 Update Usage.md 2024-02-19 14:07:46 +02:00
Tal
20483d63b7 Merge pull request #674 from Codium-ai/tr/help_command
Refactor PR help message and update related documentation
2024-02-18 22:35:32 -08:00
36aa22bd18 Refactor PR help message and update related documentation 2024-02-19 08:30:45 +02:00
Tal
d9775e6b8c Merge pull request #673 from Codium-ai/tr/help_command
Added PRHelpMessage to command execution in pr_agent.py
2024-02-18 03:16:36 -08:00
28e8707c1b Added PRHelpMessage to command execution in pr_agent.py 2024-02-18 13:16:07 +02:00
687ece1e86 Added PRHelpMessage to command execution in pr_agent.py 2024-02-18 13:09:17 +02:00
0515b80247 Added PRHelpMessage to command execution in pr_agent.py 2024-02-18 13:08:05 +02:00
ed5856493c Added PRHelpMessage to command execution in pr_agent.py 2024-02-18 13:06:57 +02:00
e9382b18b6 Added PRHelpMessage to command execution in pr_agent.py 2024-02-18 12:01:16 +02:00
Tal
a70e5c9e1f Update README.md 2024-02-18 09:57:34 +02:00
Tal
9991fde864 Merge pull request #669 from Codium-ai/tr/readme_18_2
readme
2024-02-17 22:27:51 -08:00
163132dd6d quotes 2024-02-18 08:25:30 +02:00
8b27559510 table 2024-02-18 08:22:59 +02:00
688cb374f6 lint 2024-02-18 08:19:01 +02:00
e821ba2a5b readme 2024-02-18 08:16:47 +02:00
d371bff0ba readme 2024-02-18 08:14:21 +02:00
Tal
7b15101051 Merge pull request #661 from Codium-ai/hl/ask_line
Hl/ask line
2024-02-17 22:08:55 -08:00
5918943959 readme 2024-02-18 08:07:12 +02:00
Tal
cd8a40c7a6 Merge pull request #665 from Codium-ai/tr/checks_readme
Update README and documentation with new CI Feedback tool
2024-02-17 22:04:59 -08:00
Tal
2b12042a85 Merge pull request #667 from Codium-ai/tr_ado
azure webhook
2024-02-17 22:01:57 -08:00
9e3b79b21b readme 2024-02-18 07:59:53 +02:00
c6cb0524b4 rstrip 2024-02-18 07:56:14 +02:00
481a4fe7a1 revert 2024-02-17 19:43:34 +02:00
de4af313ba azure dev ops 2024-02-17 19:40:06 +02:00
b402bd5591 revert azuredevops_provider.py change 2024-02-17 08:36:26 -05:00
cb3ebd9169 Update README and documentation with new CI Feedback tool 2024-02-16 20:40:45 +02:00
c98e736e3b added github action support 2024-02-16 14:49:01 +02:00
40fbd55da4 added github action support 2024-02-16 12:58:55 +02:00
3eef0a4ebd fix line selection, don't support line deletions 2024-02-15 22:21:58 +02:00
6712c0a7f8 remove unnecessary call 2024-02-15 21:43:25 +02:00
cfe794947d Gitlab /ask line works 2024-02-15 21:35:51 +02:00
24dd57e5b7 clean 2024-02-15 17:14:06 +02:00
8ed98c8a4f Add Documentation 2024-02-15 15:20:15 +02:00
fff52e9e26 Add ask line feature 2024-02-15 14:25:22 +02:00
4947c6b841 Merge pull request #660 from Codium-ai/ok/add_command_to_log
Add logging context to command execution in pr_agent.py
2024-02-15 12:27:25 +02:00
433b8d24b8 Add logging context to command execution in pr_agent.py 2024-02-15 12:13:56 +02:00
bd88c66717 Merge remote-tracking branch 'origin/main' 2024-02-15 08:45:25 +02:00
d2ad8b1dbd Refactor publish_persistent_comment method to include name parameter 2024-02-15 08:45:17 +02:00
1053fa84f6 rename azure_devops_server var 2024-02-13 22:27:07 -05:00
b833d63468 PR comment: change name to azure_devops_server 2024-02-13 22:25:52 -05:00
Tal
70b83bac78 Merge pull request #659 from Codium-ai/tr/bitbucket_review
no html bitbucket
2024-02-13 08:40:57 -08:00
54a989d30f no html bitbucket 2024-02-13 18:37:48 +02:00
480a890741 no html bitbucket 2024-02-13 18:33:22 +02:00
2f327c26e8 auto approve 2024-02-13 11:21:59 +02:00
9ff62dce08 Add legacy url support 2024-02-12 18:40:06 -05:00
e8c2ec034d Update azuredevops_server_webhook.py
fix returned HTTP status
2024-02-12 18:38:08 -05:00
bbd0d62c85 fix auto_describe key 2024-02-11 18:10:22 -05:00
8fa058ff7f add azure devops pat to secret template config 2024-02-11 18:06:56 -05:00
34378384da add get endpoint for container status 2024-02-11 17:59:02 -05:00
95344c7083 fix basic auth 2024-02-11 17:42:06 -05:00
bc38fad4db add support for auto events 2024-02-11 17:23:56 -05:00
076d8e7187 fix PR code suggestions 2024-02-11 17:17:25 -05:00
22d0c275d7 fix PR comments 2024-02-11 17:13:59 -05:00
a168defd28 clean readme 2024-02-11 17:09:09 -05:00
b7a522ed69 add docker file 2024-02-11 17:05:44 -05:00
86d4a31eef add docs 2024-02-11 17:02:14 -05:00
9a54be5414 add webhook support 2024-02-11 16:52:49 -05:00
Tal
d0958022a0 Merge pull request #649 from rajyan/patch-2
filter events to align with pr-agent's setting
2024-02-11 10:54:42 -08:00
Tal
ec2aab805d Merge pull request #650 from yochail/yocail/support_azure_inline_comment
Support Azure Inline Comment
2024-02-11 10:54:10 -08:00
47060ddcac fix PR comments
- added line position
- added try-catch per comment
2024-02-11 12:40:36 -05:00
Tal
60d6fecd37 Merge pull request #653 from Codium-ai/hl/loading_improve
add loading comment to /improve
2024-02-11 07:28:57 -08:00
Tal
bdbb101183 Merge pull request #655 from Codium-ai/ok/disclaimer
Add AI disclaimer fields to configuration.toml
2024-02-11 07:28:47 -08:00
8a677e07a2 Fix a typo 2024-02-11 16:39:38 +02:00
3f42bb6793 Add AI disclaimer fields to configuration.toml 2024-02-11 16:22:26 +02:00
3420c6cf79 update label to https://github.com/Codium-ai/pr-agent/pull/654 2024-02-11 23:21:58 +09:00
Tal
159e2f7dd6 Merge pull request #654 from rajyan/rajyan-patch-2
add pull_request event triggers for github action
2024-02-11 06:08:48 -08:00
67fde2c17e add pull_request event triggers for github action
https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request
2024-02-11 21:21:20 +09:00
0e08520c0c match pr-pro 2024-02-11 13:21:59 +02:00
6c500413f1 default behavior for bitbucket 2024-02-11 13:14:47 +02:00
73d2b1565d Implement edit comment 2024-02-11 12:31:30 +02:00
a40643bbba add return response 2024-02-11 12:20:06 +02:00
d93a24bbf7 add loading comment to /improve 2024-02-11 12:14:25 +02:00
Tal
79dac3f419 Merge pull request #651 from Codium-ai/tr/br_inside_code
insert_br_after_x_chars can already handle code
2024-02-11 01:47:12 -08:00
c75413fac5 count_chars_without_html 2024-02-11 11:37:11 +02:00
4e386153ea insert_br_after_x_chars can already handle code 2024-02-11 11:32:16 +02:00
8800bad658 revamped 2024-02-11 11:00:12 +02:00
cfb576d1ae revamped 2024-02-11 10:58:13 +02:00
7c9b65ba65 prompts 2024-02-11 08:05:09 +02:00
ba854c228b Update azuredevops_provider.py 2024-02-10 22:36:01 -05:00
d8ea2731ea add support for azure inline commnets 2024-02-11 03:27:47 +00:00
078e87139a possible_issues 2024-02-09 21:34:07 +02:00
bf11033349 possible_issues 2024-02-09 21:27:22 +02:00
01fbebfc5e relevant tests 2024-02-09 12:50:51 +02:00
Tal
b660badd09 Merge pull request #646 from Codium-ai/hl/pr_review_table
Hl/pr review table
2024-02-09 01:49:59 -08:00
796e203c01 rstrip() 2024-02-09 11:45:12 +02:00
6837e43114 help 2024-02-09 11:30:28 +02:00
555151602f rstrip() 2024-02-09 11:26:43 +02:00
f74b35fb6f Merge remote-tracking branch 'origin/main' into hl/pr_review_table 2024-02-09 11:05:13 +02:00
f8e1bd3d4c get_pr_url 2024-02-09 11:02:23 +02:00
e01025706a filter events to align with pr-agent's setting 2024-02-09 17:45:29 +09:00
5af9e8e749 fix 2024-02-08 23:53:29 +02:00
24c575737c fix2 2024-02-08 23:05:56 +02:00
4175e8c467 fix test2 2024-02-08 20:49:42 +02:00
77e7463395 fix tests 2024-02-08 20:14:25 +02:00
2e1462580f s 2024-02-08 19:02:56 +02:00
fa077dc516 formatting 2024-02-08 18:55:58 +02:00
a3f4c44632 PR Review 2024-02-08 15:25:43 +02:00
4447110118 small fix 2024-02-08 14:35:39 +02:00
c2088b7752 Merge commit 'e4f177908b620e46740b03966fda9243473d979e' into hl/pr_review_table 2024-02-08 14:26:29 +02:00
ddb89a7474 New PR Reviewer with Table view 2024-02-08 14:26:14 +02:00
Tal
e4f177908b Merge pull request #644 from Codium-ai/tr/parallel_calls
Tr/parallel calls
2024-02-07 10:29:00 -08:00
b077873c3d parallel_calls 2024-02-07 08:00:16 +02:00
a7ce2b11b4 parallel_calls 2024-02-07 08:00:01 +02:00
Tal
ef1b0ce3e3 Merge pull request #643 from Codium-ai/hl/docs_add_table_trigger
DOCS: add table to files changes action
2024-02-06 21:32:25 -08:00
Tal
ea3a34be08 Update DESCRIBE.md 2024-02-07 07:31:21 +02:00
9a26ed7c43 Update DESCRIBE.md 2024-02-06 21:19:47 +02:00
5d81f31ccc Update DESCRIBE.md 2024-02-06 21:18:56 +02:00
Tal
92d2f484d2 Merge pull request #642 from Codium-ai/tr/readme
readme cleaning
2024-02-06 08:04:55 -08:00
91e77787c0 readme cleaning 2024-02-06 18:03:14 +02:00
Tal
034c654bac Update .pr_agent.toml 2024-02-06 17:47:14 +02:00
Tal
94e2f00c06 Merge pull request #641 from Codium-ai/tr/auto_approve
auto approval feature
2024-02-06 07:18:43 -08:00
2bc398f74e readme 2024-02-06 16:48:29 +02:00
1c9bd3e9a8 get_pr_url 2024-02-06 09:26:00 +02:00
8a04a4f481 auto approval 2024-02-06 09:12:52 +02:00
3e96812c5d Merge remote-tracking branch 'origin/main' into tr/auto_approve 2024-02-06 09:10:00 +02:00
b190b1879e auto approval 2024-02-06 09:09:07 +02:00
Tal
9d3e6620c1 Merge pull request #640 from Codium-ai/tr/publish_output
publish_output fix
2024-02-05 21:47:23 -08:00
Tal
4636c8a1fa Merge pull request #634 from Codium-ai/tr/secret_provider
protections for 'get_secret_provider'
2024-02-05 21:46:17 -08:00
3773303bfd publish_output fix 2024-02-06 07:44:20 +02:00
Tal
a126ef64fc Merge pull request #639 from Codium-ai/tr/describe_bullets
Tr/describe bullets
2024-02-05 05:55:25 -08:00
c1c7b3b6da fixed code 2024-02-05 13:00:57 +02:00
2b6e8c3f09 minor change 2024-02-05 12:39:03 +02:00
Tal
d4e78118fe Merge pull request #638 from Codium-ai/tr/describe_bullets
insert_br_after_x_chars
2024-02-05 02:06:13 -08:00
cce3c70369 - patch_extra_lines = 1
- describe is with turbo model (for larger context)
2024-02-05 12:03:30 +02:00
32e8ba331a insert_br_after_x_chars 2024-02-05 10:12:47 +02:00
3f2a7869dd insert_br_after_x_chars 2024-02-05 09:22:26 +02:00
2ee329674f insert_br_after_x_chars 2024-02-05 09:20:36 +02:00
e104bd7a3f large patch protection 2024-02-04 16:27:57 +02:00
3e128869dc large patch protection 2024-02-04 16:10:53 +02:00
cf2ed9d483 Merge remote-tracking branch 'origin/main' 2024-02-04 14:25:57 +02:00
e1b0e4a40a minor prompt changes 2024-02-04 14:24:55 +02:00
Tal
1013f7586b Merge pull request #637 from Codium-ai/tr/pr-actions
pr-actions
2024-02-02 04:21:33 -08:00
023f2eb77c pr-actions 2024-02-02 14:17:45 +02:00
Tal
cb8ff2b318 Merge pull request #636 from Codium-ai/tr/model_turbo
moving the 'improve' command to turbo mode, with auto_extended=true
2024-02-01 06:57:42 -08:00
d04d8b616a moving the 'improve' command to turbo mode, with auto_extended=true 2024-02-01 09:46:04 +02:00
Tal
2816cd2c4b Update README.md 2024-02-01 09:06:01 +02:00
2112defa51 lancedb bump 2024-02-01 08:44:23 +02:00
9579be028d protections for 'get_secret_provider' 2024-02-01 08:31:11 +02:00
Tal
7168326911 Update TOOLS_GUIDE.md 2024-01-30 08:22:29 +02:00
Tal
e1ae51e7a0 Update TOOLS_GUIDE.md 2024-01-30 08:21:43 +02:00
Tal
c69962479a Merge pull request #630 from Codium-ai/tr/language
Enhancements in Patch Formatting and Code Suggestions Handling
2024-01-29 12:11:23 -08:00
15c8fe94bb feat: Improve patch formatting and handle empty data in pr_code_suggestions.py 2024-01-29 22:00:11 +02:00
0d86779799 feat: Improve patch formatting and handle empty data in pr_code_suggestions.py 2024-01-29 21:52:54 +02:00
6565556e01 feat: Add 'language' field to CodeSuggestion, FileDescription, and ReviewerPrompt models in settings files 2024-01-29 20:51:24 +02:00
Tal
6998089549 Update README.md 2024-01-29 20:21:23 +02:00
8d36e2e2f7 feat: Add new configuration options in pr_test section and update TEST.md documentation 2024-01-29 20:17:39 +02:00
Tal
93f1854c68 Merge pull request #629 from Codium-ai/tr/tests
s
2024-01-29 01:43:46 -08:00
40a7ef9132 s 2024-01-29 11:42:32 +02:00
042eab1641 s 2024-01-29 11:39:50 +02:00
567b400f97 Revert "s1"
This reverts commit 412159bba5.
2024-01-29 11:30:58 +02:00
412159bba5 s1 2024-01-29 11:28:58 +02:00
Tal
e6f548920b Merge branch 'main' into tr/tests 2024-01-29 01:23:27 -08:00
f1fe2563f4 s 2024-01-29 11:22:46 +02:00
467e2ae68e s 2024-01-29 11:19:37 +02:00
78bb54bd8f s 2024-01-29 11:11:30 +02:00
Tal
2bebfba4b6 Update README.md 2024-01-28 20:39:45 +02:00
Tal
815073e04f Merge pull request #628 from Codium-ai/tr/tests
tests readme
2024-01-28 10:32:27 -08:00
5f1722ed4a s 2024-01-28 20:30:40 +02:00
47af04d158 s 2024-01-28 20:26:58 +02:00
Tal
335654b02a Update Usage.md 2024-01-27 21:38:25 +02:00
Tal
68e17ed2be Merge pull request #627 from Codium-ai/tr/updates2
Tr/updates2
2024-01-27 11:33:33 -08:00
ecb46435b3 s 2024-01-27 21:29:19 +02:00
98ce0a7036 s 2024-01-27 21:25:43 +02:00
76f44b13f8 docs: Update GitHub app configurations section in Usage.md 2024-01-27 21:20:10 +02:00
06dede29f2 feat: Update configuration and handling of GitHub Action settings 2024-01-27 21:15:23 +02:00
Tal
dbf5ebcb8d Merge pull request #622 from eltociear/fix-filename
docs: fix file name
2024-01-25 02:09:27 -08:00
Tal
d6a45663f1 Merge pull request #624 from Codium-ai/hl/small_fixes
small fixes
2024-01-25 02:09:04 -08:00
07eaa59e78 small fixes 2024-01-25 11:07:43 +02:00
1e2d4e9830 docs: fix file name 2024-01-25 15:03:58 +09:00
Tal
cc03f7f615 Merge pull request #620 from Codium-ai/tr/updates
Configuration updates
2024-01-24 09:59:43 -08:00
Tal
040da2fbb1 Merge pull request #612 from Codium-ai/mrT23-patch-1
Update README.md
2024-01-24 09:59:25 -08:00
Tal
a83a492b22 Merge branch 'main' into mrT23-patch-1 2024-01-24 09:58:23 -08:00
e056cd5988 type 2024-01-24 19:55:33 +02:00
4077c5556d enable_review_labels_effort set to true by default 2024-01-24 19:49:43 +02:00
d8465ea9f9 removed include_improved_code 2024-01-24 19:47:30 +02:00
f4037e0dfa feat: Add LanceDB support for similar_issue tool and refactor SOC2 compliance feature name 2024-01-24 19:40:58 +02:00
9986f5307c Merge pull request #618 from Codium-ai/hl/describe_usage_guide
Enhance Documentation for "Inline File Walkthrough" Feature
2024-01-24 10:15:21 +02:00
60c0371854 highlight options 2024-01-23 18:13:08 +02:00
139bbfc67a update docs and usage guide 2024-01-23 17:58:55 +02:00
b33b8c12cd Merge pull request #616 from Codium-ai/hl/walkthrough_title_ui_improvements
update default config for inline_file_summary to false
2024-01-22 10:37:02 +02:00
968684b461 update default config for inline_file_summary to false 2024-01-22 10:25:34 +02:00
Tal
4a5cff4995 Update CUSTOM_SUGGESTIONS.md 2024-01-21 17:58:01 +02:00
599c6773f3 Merge pull request #613 from Codium-ai/hl/walkthrough_title_ui_improvements
Add changes title of files and improve table style and alignments
2024-01-21 17:52:44 +02:00
Tal
7178ddac10 Update CUSTOM_SUGGESTIONS.md 2024-01-21 17:31:33 +02:00
Tal
5dedc381a6 Merge pull request #615 from Codium-ai/mrT23-patch-2
Update README.md
2024-01-21 07:30:14 -08:00
Tal
cba14ada2c Update README.md 2024-01-21 17:29:29 +02:00
Tal
f81fe0a12d Merge pull request #614 from Codium-ai/tr/custom_suggestions
feat: Add custom suggestions tool to README.md
2024-01-21 07:19:22 -08:00
78d886459a feat: Add custom suggestions tool to README.md 2024-01-21 17:15:34 +02:00
27aafb06cb feat: Add custom suggestions tool to README.md 2024-01-21 17:10:23 +02:00
329f7fa9d6 feat: Add custom suggestions tool to README.md 2024-01-21 17:06:25 +02:00
e79919b5c6 update describe screenshot to the new describe 2024-01-21 14:09:17 +02:00
8d513e078a Add changes title of files and improve table style and alignments 2024-01-21 13:43:37 +02:00
Tal
69f7923552 Update README.md 2024-01-20 13:02:07 +02:00
Tal
2430a1a608 Merge pull request #594 from Codium-ai/tr/fallback_bad_review_comment
Enhanced Comment Verification and Fallback Mechanism for Inline Comment Publishing
2024-01-20 02:04:06 -08:00
e54388d807 s 2024-01-20 11:59:45 +02:00
d942bdb8bd s 2024-01-20 11:56:17 +02:00
Tal
84d87aa870 Merge pull request #607 from Codium-ai/tr/edge_cases
feat: Improve error handling and code readability in pr_agent tools
2024-01-18 07:09:07 -08:00
39891e4ab1 feat: Improve error handling and code readability in pr_agent tools 2024-01-18 17:01:25 +02:00
d7858efbbe Merge pull request #581 from Codium-ai/sm/azure_devops
Enhancement of AzureDevopsProvider with new functionalities and refactoring
2024-01-18 16:28:28 +02:00
Tal
b3365b8d6c Merge pull request #605 from Codium-ai/tr/edge_cases
No suggestions found
2024-01-18 06:18:43 -08:00
fc5b00f4d3 s 2024-01-18 16:11:44 +02:00
Tal
5150e66723 Merge pull request #603 from Codium-ai/mrT23-patch-1
Update README.md
2024-01-17 22:21:44 -08:00
Tal
4dad1af77b Update README.md 2024-01-18 08:20:09 +02:00
Tal
02129b40cf Merge pull request #601 from Codium-ai/hl/diffview_file_summary
Readme Inline file summary 💎
2024-01-17 06:37:53 -08:00
3fb6d17338 width 2024-01-17 16:36:26 +02:00
3be7bfce79 feat: Add repository labels retrieval function in gitlab_provider.py
docs: Update links and add Inline file summary to TOC in DESCRIBE.md
2024-01-17 16:33:48 +02:00
472646ddfd Readme 2024-01-17 16:27:07 +02:00
eb4a1c515e Merge pull request #600 from Codium-ai/tr/improve_usage_guide
readme updates
2024-01-17 15:55:42 +02:00
e4af0b22ad s 2024-01-17 15:51:42 +02:00
a3e59a418e Merge remote-tracking branch 'origin/main' into tr/improve_usage_guide 2024-01-17 15:46:05 +02:00
4e833c0c28 s 2024-01-17 15:43:01 +02:00
Tal
0b811d97a7 Merge pull request #598 from Codium-ai/tr/improve_usage_guide
Enhancements to the 'improve' tool and updates to the related documentation
2024-01-17 03:13:33 -08:00
8f510dc553 s 2024-01-17 11:47:59 +02:00
2132771f46 s 2024-01-17 11:29:50 +02:00
e66bd7caa7 fallback to commitable 2024-01-17 11:18:30 +02:00
17ce2f0ed0 improve usage guide 2024-01-17 10:09:44 +02:00
7298548f82 improve usage guide 2024-01-17 10:06:27 +02:00
298c41a100 improve usage guide 2024-01-17 10:03:48 +02:00
58163e5129 improve usage guide 2024-01-17 09:50:48 +02:00
Tal
fae3bf6309 Merge pull request #590 from EduardDurech/patch-2
Fixed Run from source instructions for Python
2024-01-16 22:53:36 -08:00
06f0235577 Merge pull request #597 from Codium-ai/hl/improve_ui_table
Hl/improve UI table
2024-01-16 09:46:34 +02:00
d7e0aad527 small fixes 2024-01-16 09:41:31 +02:00
31576b77ff improve backticks 2024-01-15 19:07:41 +02:00
ea39e8684f works 2024-01-15 16:42:50 +02:00
afefc15b9c improve doce suggestions UI with difflib 2024-01-15 15:56:48 +02:00
5e17ccaf86 add colaplsable 2024-01-15 15:17:57 +02:00
9b1eb86d75 first iteration of improved UI for /improve --extended 2024-01-15 15:10:54 +02:00
9f5c2e5f17 feat: Refactor comment verification in github_provider.py 2024-01-14 11:55:07 +02:00
7377f4e4b2 feat: Refactor comment verification in github_provider.py 2024-01-14 11:49:51 +02:00
d6f4c1638d feat: Refactor comment verification in github_provider.py 2024-01-14 10:49:05 +02:00
a58c385b0f Fixed Rust warning tip as behaviour is inconsistent 2024-01-14 04:16:32 +01:00
7a3830d228 Fixed Run from source instructions for Python
Previously only installed dependencies but not pr_agent

+ Fixed link to OpenAI API Key and added for GitHub access token
2024-01-13 06:29:07 +01:00
Tal
e7251ada3f Merge pull request #588 from barnett-yuxiang/ignore-ds-store
Ignore .DS_Store files
2024-01-10 07:25:49 -08:00
aca3fcb571 Ignore .DS_Store files
This commit updates the .gitignore file to ignore .DS_Store files, which are created by macOS. These files are not relevant to the project and should not be included in version control.

Signed-off-by: Kamakura.Yx <barnett.yuxiang@gmail.com>
2024-01-10 23:13:57 +08:00
b9951fce62 Typo when parsing the suggestion part 2024-01-10 11:59:45 +02:00
Tal
609836bd6a Merge pull request #587 from Codium-ai/tr/abbrevations
Enhancement: Improve PR-Agent Tool with Custom Labels, Extra Instructions, and Summarize Mode
2024-01-09 23:39:04 -08:00
09ee0b64ba feat: Refactor instructions and fields in pr_code_suggestions_prompts.toml 2024-01-10 09:37:05 +02:00
Tal
fb4746fd09 Merge pull request #584 from samanhappy/link
Fix link formatting for relevant_line
2024-01-09 23:22:55 -08:00
729b5d11c9 feat: Refactor instructions and fields in pr_code_suggestions_prompts.toml 2024-01-09 22:56:25 +02:00
fc502a6fd5 feat: Refactor instructions and fields in pr_code_suggestions_prompts.toml 2024-01-09 22:49:26 +02:00
2b607dbd9a feat: Refactor instructions and fields in pr_code_suggestions_prompts.toml 2024-01-09 22:32:09 +02:00
9c6aabb0bb feat: Add custom labels and extra instructions sections to help.py, summarize mode to pr_code_suggestions.py, and summarize mode condition to pr_code_suggestions_prompts.toml 2024-01-09 22:09:48 +02:00
Tal
da3ac656ee Merge pull request #586 from Codium-ai/tr/ask_usage
ask helper
2024-01-09 06:55:30 -08:00
a42e57d09b ask helper 2024-01-09 16:36:39 +02:00
e56c443fd6 ask helper 2024-01-09 16:34:27 +02:00
abc05e7711 ask helper 2024-01-09 16:25:23 +02:00
Tal
a77d539866 Merge pull request #585 from samanhappy/url
Enhancement: Update GitLab link generation to support self-managed GitLab server and different projects
2024-01-09 06:12:05 -08:00
19c14b940e Try fixing invalid inline comments 2024-01-09 09:54:29 +02:00
36f1cfb51f Enhancement: Update GitLab link generation to support self-managed GitLab server and different projects 2024-01-09 15:11:27 +08:00
0f2a4654a7 Fix link formatting for relevant_line 2024-01-09 14:56:18 +08:00
28c5ad1d8b nit 2024-01-08 13:06:03 +02:00
2bb5ae8c0d Remove redundant condition (status 422 already means the same) 2024-01-08 13:05:10 +02:00
b0bffdec84 Refactor and add configuration toggle 2024-01-08 12:00:20 +02:00
Tal
11b96b1c1a Merge pull request #583 from Codium-ai/tr/unique_titles
feat: Remove bot help text from github_polling.py
2024-01-08 01:51:43 -08:00
e0f4bc7ded feat: Remove bot help text from github_polling.py 2024-01-08 11:45:01 +02:00
Tal
62d83f6753 Merge pull request #582 from Codium-ai/tr/unique_titles
Enhance PR description headers with bold formatting and include original user description
2024-01-08 01:28:56 -08:00
e9a2a0a96f s 2024-01-08 10:37:51 +02:00
46a38473e4 Merge remote-tracking branch 'origin/main' into tr/unique_titles 2024-01-08 10:30:58 +02:00
c9e55be275 s 2024-01-08 10:30:47 +02:00
Tal
f714592dec Merge pull request #579 from Codium-ai/tr/user_description
Enhancements to Logging, Help Messages, and PR Descriptions and Reviews
2024-01-07 23:46:25 -08:00
8bb2eb48af s 2024-01-08 09:43:34 +02:00
9cfb8ce475 s 2024-01-08 09:39:19 +02:00
67cb133c52 s 2024-01-08 09:28:44 +02:00
9c054bb80f s 2024-01-08 09:18:46 +02:00
b776e5069c feat: Refactor AzureDevopsProvider class in azuredevops_provider.py
- Reorder class methods and constructor for better readability
- Add error logging for failed operations
- Implement get_pr_description_full method
- Update get_pr_description method to always return full description
- Modify _parse_pr_url method to return workspace_slug, repo_slug, and pr_number
- Make _get_azure_devops_client a static method
- Add error handling in get_pr_id method
2024-01-08 09:15:34 +02:00
c8bca487e5 feat: Implement methods in AzureDevopsProvider for publishing code suggestions, labels, and removing comments 2024-01-08 08:59:12 +02:00
Tal
78fa61eac6 Merge branch 'main' into tr/user_description 2024-01-07 22:55:18 -08:00
Tal
582cbd623f Merge pull request #580 from Codium-ai/tr/add_logs
feat: Add debug logs to git_provider and pr_description modules
2024-01-07 09:58:20 -08:00
3ea08a6cf5 feat: Add debug logs to git_provider and pr_description modules 2024-01-07 19:57:49 +02:00
3154ebbf9f feat: Add debug logs to git_provider and pr_description modules 2024-01-07 19:56:05 +02:00
Tal
8fe608884d Merge pull request #578 from Codium-ai/ok/atlassian_version
feat: Update atlassian-python-api version in requirements.txt
2024-01-07 09:17:56 -08:00
60e79f0134 feat: Update atlassian-python-api version in requirements.txt 2024-01-07 18:08:11 +02:00
a6bbd04efb s 2024-01-07 17:02:18 +02:00
578d15c6fc usage guide 2024-01-07 16:38:08 +02:00
22d17985a1 Less noisy fallback for publish_code_suggestions in case of invalid comments
As a first option, `publish_code_suggestions` will try to post all review comments in a single GitHub review. This is preferred because it will group all comments together in the GitHub UI under the same review, and will trigger just one notification for any viewers of the PR.

If just one of the comments is malformed, the entire API request will fail and none of the comments will be posted to the PR. In the current implementation, the fallback mechanism is to just post each comment separately with `try/except` and skip the invalid comments. This works, but potentially creates a lot of noise in the PR as each comment is posted as in a separate review, creating multiple notifications.

This suggested fallback is based on a similar idea, but without creating multiple review notifications. The it works is by iterating over the potential comments, and starting a PENDING review for the current comment. The review is not submitted and does not trigger a notification, but it is verified against the GitHub API, and so we can verify if the comment is valid. After checking all comments we then submit a single review with all the verified comments which is guaranteed to succeed.

The end result is having the exact same comments posted to the PR as with the current fallback method, but the downside is having twice as many API calls (for each comment we have 1 extra API call to delete the pending review).
2024-01-07 16:00:44 +02:00
Tal
faba5a224a Merge pull request #575 from Codium-ai/tr/user_description
docs: Enhance 'improve' tool documentation and update 'DESCRIBE.md' w…
2024-01-07 01:30:44 -08:00
19f85f08b0 docs: Enhance 'improve' tool documentation and update 'DESCRIBE.md' with hyperlink 2024-01-07 11:29:07 +02:00
8512e9dffb docs: Enhance 'improve' tool documentation and update 'DESCRIBE.md' with hyperlink 2024-01-07 11:26:24 +02:00
7c0be8ca44 docs: Enhance 'improve' tool documentation and update 'DESCRIBE.md' with hyperlink 2024-01-07 11:22:53 +02:00
d9872d7031 docs: Enhance 'improve' tool documentation and update 'DESCRIBE.md' with hyperlink 2024-01-07 11:19:47 +02:00
Tal
be4b9c4991 Merge pull request #574 from Codium-ai/tr/user_description
Enhance and reorganize documentation for review and describe tools
2024-01-07 00:01:30 -08:00
94172104f0 docs: Reorganize and enhance documentation for review and describe tools 2024-01-07 09:56:09 +02:00
8ec790d4f7 Merge remote-tracking branch 'origin/main' into tr/user_description
# Conflicts:
#	docs/DESCRIBE.md
2024-01-07 09:49:43 +02:00
640972b00a docs: Reorganize and enhance documentation for review and describe tools 2024-01-07 09:48:17 +02:00
7810ba7d76 docs: Reorganize and enhance documentation for review and describe tools 2024-01-07 09:40:24 +02:00
d91f1fce09 docs: Reorganize and enhance documentation for review and describe tools 2024-01-07 09:36:03 +02:00
edcb666fbc docs: Reorganize and enhance documentation for review and describe tools 2024-01-07 09:28:06 +02:00
Tal
6d359fe1d8 Update DESCRIBE.md 2024-01-06 21:46:11 +02:00
Tal
19e38595f3 Merge pull request #573 from Codium-ai/tr/user_description
feat: Update adaptive collapsible file list logic in pr_description.py
2024-01-06 11:08:55 -08:00
355ef8c476 feat: Update adaptive collapsible file list logic in pr_description.py 2024-01-06 10:36:36 +02:00
Tal
f08d225360 Merge pull request #572 from Codium-ai/tr/user_description
describe docs
2024-01-06 00:15:36 -08:00
22b7dd9f2d s 2024-01-06 10:15:04 +02:00
a85a328791 s 2024-01-06 10:08:29 +02:00
82d10f24f0 s 2024-01-06 10:04:48 +02:00
Tal
c9717f1d73 Update README.md 2024-01-05 23:29:59 +02:00
Tal
82b58d5b09 Update README.md 2024-01-05 21:37:45 +02:00
Tal
b6d41d6a91 Merge pull request #571 from Codium-ai/tr/user_description
Enhance Documentation and Configuration of 'describe' Tool
2024-01-05 11:30:41 -08:00
ac74fa8431 docs 2024-01-05 21:28:54 +02:00
42704d5781 Merge remote-tracking branch 'origin/main' into tr/user_description 2024-01-05 17:03:30 +02:00
3628786a61 feat: Clarify PRType label member usage in pr_description_prompts.toml 2024-01-05 17:03:14 +02:00
Tal
c69ede0138 Update REVIEW.md 2024-01-05 11:10:55 +02:00
Tal
4349156e97 Merge pull request #570 from wesvetter/patch-1
📚 Minor update to REVIEW.md for inclusive language
2024-01-04 22:48:36 -08:00
9f88105f72 📚 Minor update to REVIEW.md for inclusive language
Replaces "his [judgement]" with "their".
2024-01-04 10:32:53 -08:00
Tal
fe6b2065fb Merge pull request #569 from zmeir/zmeir/enhance/auto_improve_extended_simple
Add toggle to automatically enable `/improve --extended`
2024-01-04 09:06:08 -08:00
c2b0891c0b Simpler auto-extended toggle and keep the default as false 2024-01-04 18:53:45 +02:00
Tal
782f1ca1bd Merge pull request #568 from Codium-ai/tr/user_description
Enhancement: Improved Extraction and Placement of User Descriptions in PRs
2024-01-04 08:35:34 -08:00
6d18a0c843 feat: Improve user description extraction in git_provider.py 2024-01-04 18:34:00 +02:00
Tal
e6093cd768 Merge pull request #567 from zmeir/zmeir/enhance/support_azure_in_langchain_ai_handler
Add support for Azure OpenAI in LangChainOpenAIHandler
2024-01-04 08:22:01 -08:00
Tal
aea0c4d45f Merge pull request #566 from zmeir/zmeir/fix/config_command_missing_arg
Fix failing `/config` command
2024-01-04 08:14:29 -08:00
1c2bb2ef3d feat: Update user description extraction and placement in PR description 2024-01-04 18:05:28 +02:00
7762bf59bf feat: Update user description extraction and placement in PR description 2024-01-04 18:01:55 +02:00
3e29848cd0 Merge remote-tracking branch 'origin/main' into tr/user_description
# Conflicts:
#	pr_agent/git_providers/git_provider.py
2024-01-04 17:49:10 +02:00
c3b5aaf8cc feat: Update user description extraction and placement in PR description 2024-01-04 17:46:24 +02:00
ba3f22d81e Move logging to a central location for all AI Handlers 2024-01-04 16:22:22 +02:00
ac7aaa0cd3 Add support for Azure OpenAI in LangChainOpenAIHandler 2024-01-04 16:22:22 +02:00
1ade09eaa3 Fix failing /config command
All commands need the `ai_handler` argument. The PRConfig class was missing it in the `__init__` method and so it failed with this error:

```
File "/home/vcap/app/pr_agent/agent/pr_agent.py", line 76, in handle_request
    await command2class[action](pr_url, ai_handler=self.ai_handler, args=args).run()
TypeError: PRConfig.__init__() got an unexpected keyword argument 'ai_handler'
```
2024-01-04 14:49:34 +02:00
Tal
b7af45166a Merge pull request #561 from zmeir/zmeir/fix/get_user_description
Fix `get_user_description`
2024-01-04 00:40:08 -08:00
Tal
92f89e6ca0 Merge pull request #565 from Codium-ai/tr/remove_old_walkthrough
Remove old 'enable_file_walkthrough' mode
2024-01-04 00:36:05 -08:00
ed78bfd946 use_collapsible_file_list 2024-01-04 10:27:07 +02:00
4204d78d7e feat: Remove file walkthrough feature from PR agent 2024-01-04 09:59:44 +02:00
3c2ed8bbf1 feat: Remove file walkthrough feature from PR agent 2024-01-04 09:42:15 +02:00
8d2da74380 Find user description in a case-insensitive way 2024-01-04 09:41:55 +02:00
39c1866121 Revert title() to capitalize() 2024-01-04 09:41:24 +02:00
Tal
1bba0162f8 Merge pull request #563 from zmeir/zmeir/enhance/refine_add_docs_prompt
Refine the prompt for `add_docs` command
2024-01-03 23:14:27 -08:00
Tal
c07ea5ea32 Merge pull request #560 from zmeir/zmeir/fix/drop_python3.9
Drop support for python 3.9
2024-01-03 23:09:54 -08:00
2f9fbbf0ac Prevent reducing the number of suggestions if already low enough 2024-01-03 16:43:39 +02:00
0189e12fb1 Automatically enable improve extended mode for large PRs 2024-01-03 16:43:38 +02:00
58f93e0615 Drop support for python 3.9
The `bitbucket_server_provider.py` uses structural pattern matching that was introduced in python 3.10, and so trying to run any command with python 3.9 will fail (because we import all the providers right at the top of `pr_agent.git_providers`)
2024-01-03 12:30:09 +02:00
967494ce17 Refine the prompt for add_docs command
I found that without it, python docstrings are sometimes suggested above the function signature, instead of below.
2024-01-03 12:27:23 +02:00
560d30dbb1 Fix get_user_description
The headers changed from "PR Type"/"PR Description"/etc to "Type"/"Description"/etc
2024-01-03 12:20:51 +02:00
Tal
c31ce3de35 Merge pull request #559 from pzarfos/fix/prompt-spelling
feat: Fix typo
2024-01-02 21:41:34 -08:00
0bd2f045a3 feat: Fix typo 2024-01-02 08:11:31 -05:00
Tal
0b4a98b3aa Merge pull request #558 from Codium-ai/tr/soc2_ticket
feat: Add SOC2 compliance review feature to PR agent 💎
2024-01-01 22:02:22 -08:00
7dfc306e7c feat: Add SOC2 compliance review feature to PR agent 2024-01-01 20:15:36 +02:00
Tal
be88624e2a Merge pull request #556 from Codium-ai/mrT23-patch-1
Update Usage.md
2023-12-31 07:35:40 -08:00
Tal
ac9a46d4c4 Update Usage.md 2023-12-31 17:34:13 +02:00
3e1349ed1f Merge pull request #554 from xens/patch-1
fix: missing flag in INSTALL.md
2023-12-28 10:29:14 -08:00
0d89e6e760 fix: missing flag in INSTALL.md
Fixing a missing flag on the Docker cli to declare a variable.
2023-12-28 17:24:08 +01:00
a9c8fb6a73 Merge pull request #552 from KennyDizi/main
Add `enable_help_text` setting and update PR review preparation method
2023-12-26 21:45:21 -08:00
fce52a66ff feat: Update enable_help_text flag explaination 2023-12-27 10:22:43 +07:00
dff31ff8f5 feat: Fix typo 2023-12-27 10:17:56 +07:00
37b040b50a Use 'and' in lieu of '&' operator 2023-12-27 10:17:08 +07:00
31168cd7de Get PR review enable help text from setting 2023-12-27 10:12:41 +07:00
db6ca434ac Update Usage.md 2023-12-26 17:15:48 +02:00
958bfe1000 Merge pull request #551 from Codium-ai/tr/global_configuration
global configuration
2023-12-26 07:08:52 -08:00
815862e428 markdown 2023-12-26 17:06:29 +02:00
b1ce29e27a global configuration 2023-12-26 16:45:39 +02:00
f7c2b3128f Merge pull request #550 from Codium-ai/tr/gfm_markdown
feat: Refactor help text addition in pr_reviewer.py and update tool n…
2023-12-25 23:30:36 -08:00
a6764c9058 feat: Update help text addition condition in pr_reviewer.py 2023-12-26 09:25:15 +02:00
a854e1a408 feat: Refactor help text addition in pr_reviewer.py and update tool names in README.md 2023-12-26 09:18:38 +02:00
ba3a8b24f0 Merge pull request #548 from PrashantDixit0/main
LanceDB Integration
2023-12-25 06:39:11 -08:00
26cb85c4f5 default pinecone 2023-12-25 14:50:15 +05:30
1d435ef3fa removed comments 2023-12-25 00:45:24 +05:30
1632696c2f Merge branch 'main' of github.com:PrashantDixit0/pr-agent 2023-12-25 00:41:28 +05:30
d8d954bb0f lancedb integration 2023-12-25 00:38:24 +05:30
08e9a91021 Merge pull request #547 from Codium-ai/tr/readme_update
Readme for PR-Agent-Pro
2023-12-24 06:30:04 -08:00
648c22ed1e tools update 2023-12-24 16:22:45 +02:00
49592ba2d7 docs: Refine markdown formatting in Analyze.md and README.md 2023-12-24 16:21:41 +02:00
0c4d451d9a readme 2023-12-24 16:18:20 +02:00
e698c7e2f3 Merge pull request #546 from Codium-ai/tr/backticks_review
Single-label for suggestions
2023-12-24 03:35:49 -08:00
663632e2d9 fixed bug 2023-12-24 10:27:48 +02:00
5fd3fdfae1 feat: Add loop to populate suggestion_list in pr_code_suggestions.py 2023-12-24 10:08:36 +02:00
47b267a73d prompt 2023-12-24 09:52:59 +02:00
5c49ff216a feat: Update inline comment creation in git providers and improve code suggestion handling
- Update `create_inline_comment` method in various git providers to include `absolute_position` parameter
- Remove `create_inline_comment` method from providers that do not support inline comments
- Enhance `find_line_number_of_relevant_line_in_file` function to handle absolute position
- Modify `pr_code_suggestions.py` to handle improved code inclusion in suggestions
- Add `include_improved_code` configuration option in `configuration.toml` and update documentation accordingly
2023-12-24 09:44:08 +02:00
5dc2595dcf feat: Refactor code suggestion handling and update YAML schema in pr_code_suggestions.py and pr_code_suggestions_prompts.toml
- Update key names in pr_code_suggestions.py to use snake_case for consistency
- Implement removal of invalid suggestions where existing code is equal to improved code
- Update YAML parsing in _prepare_pr_code_suggestions method to include keys_fix_yaml parameter
- Refactor push_inline_code_suggestions method to use updated key names
- Update _prepare_prediction_extended method to use new key names
- Refactor _prepare_markdown method to include suggestion label and use updated key names
- Update instructions and YAML schema in pr_code_suggestions_prompts.toml to reflect changes in pr_code_suggestions.py
- Remove redundant removal of invalid suggestions in rank_suggestions method
2023-12-24 08:30:35 +02:00
664b1c9d17 Merge pull request #545 from Codium-ai/tr/backticks_review
feat: Improve suggestion formatting in markdown text generation
2023-12-23 10:41:17 -08:00
ba7781ba00 feat: Update instruction formatting in pr_code_suggestions_prompts.toml and pr_reviewer_prompts.toml 2023-12-23 20:40:30 +02:00
42be96a99b feat: Improve suggestion formatting in markdown text generation 2023-12-23 20:32:03 +02:00
64a2c55d48 Merge pull request #542 from Codium-ai/tr/title_last
Enhancement: Update PR description prompts and reorder keys in PR description data
2023-12-21 03:55:17 -08:00
eca8078071 feat: Reorder keys in PR description data and update PRDescription model in toml file 2023-12-21 08:51:57 +02:00
9995ccd4c7 feat: Update PR description prompts in toml file to include semantic file types and custom labels options 2023-12-21 08:31:54 +02:00
851c001aa5 Merge pull request #541 from Codium-ai/tr/changes
feat: Enhance YAML parsing with additional fallbacks and key customiz…
2023-12-20 22:26:15 -08:00
2b23700aec feat: Enhance YAML parsing with additional fallbacks and key customization in load_yaml and try_fix_yaml functions 2023-12-21 08:24:07 +02:00
553dad0bee feat: Enhance YAML parsing with additional fallbacks and key customization in load_yaml and try_fix_yaml functions 2023-12-21 08:21:34 +02:00
37259e550f Merge pull request #540 from Codium-ai/tr/backticks
Enhancement of PR Description Formatting and Instructions Update
2023-12-20 22:16:53 -08:00
66cbd6ef8f Merge pull request #537 from koid/feature/ignore-header-description-in-ai-response
Enhancement of AI Response Parsing Mechanism
2023-12-20 22:15:43 -08:00
a9d789978b fix: remove last line 2023-12-21 11:11:46 +09:00
f99862088e re-implemented test case 2023-12-21 11:09:25 +09:00
e2797ad09a re-implemented YAML extraction as a fallback 2023-12-21 11:06:41 +09:00
ccb116922f Merge pull request #529 from lukefx/bitbucket_webhook_improvements
feat: Improved server, security and commands
2023-12-20 17:27:06 +02:00
c079deba21 feat: Enhance PR description formatting and update instructions in pr_description_prompts.toml 2023-12-20 16:45:21 +02:00
16b61eb4e8 ignore header description in ai response 2023-12-20 11:50:27 +09:00
68c26b362b Merge pull request #533 from Codium-ai/hl/fix_incomplete_yaml
bug fix
2023-12-18 10:07:07 -08:00
6e63cf4014 Add log 2023-12-18 17:35:04 +02:00
c59e9f77a6 fix 2023-12-18 17:06:02 +02:00
2a3779776a Merge pull request #532 from Codium-ai/hl/native_labels_readme
Hl/native labels readme
2023-12-18 16:12:38 +02:00
e25980f141 fix: using the same get_settings convention 2023-12-18 14:58:25 +01:00
6c80fde6df fix 2023-12-18 13:44:37 +02:00
75dcb035a7 Update 2023-12-18 13:41:50 +02:00
2ac86f429f Merge pull request #531 from Codium-ai/disable_github_action
Update pr-agent-review.yaml
2023-12-18 13:39:09 +02:00
9d2003d789 Update pr-agent-review.yaml 2023-12-18 13:38:06 +02:00
d2aef95847 Merge pull request #530 from Codium-ai/tr/labels
Enhancement: Implement label case conversion and update label descriptions in settings files
2023-12-18 03:21:48 -08:00
1c4e64333c feat: Implement label case conversion and update label descriptions in settings files 2023-12-18 12:29:06 +02:00
f121a420c9 Add to describe 2023-12-18 10:08:29 +02:00
3b13738943 Add docs to custom labels page 2023-12-18 10:04:05 +02:00
7a5acb29ac feat: Improved server, security and commands
Signed-off-by: Luca Simone <info@lucasimone.info>
2023-12-17 17:38:27 +01:00
ce35addcd3 Merge pull request #528 from Codium-ai/tr/lazy_init
Refactor AI handler instantiation to use lazy initialization in PR tools
2023-12-17 07:01:24 -08:00
5fb373b212 Refactor AI handler instantiation to use lazy initialization in PR tools 2023-12-17 16:52:03 +02:00
54891ad1d2 Merge pull request #514 from brianpham93/abstract-BaseAiHandler
Abstract AiHandler to BaseAiHandler
2023-12-14 07:54:13 -08:00
02871b1e3d Remove logging from pr_agent.py and add line breaks in cli.py and github_action_runner.py 2023-12-14 09:08:47 +02:00
38ea9143f3 Make LangChain dependency optional in pr-agent and update requirements.txt 2023-12-14 09:05:53 +02:00
246be6147f Set LiteLLMAIHandler as default AI handler in all PR tools and simplify AI handler injection in PRAgent 2023-12-14 09:00:14 +02:00
3531016a2c Refactor AI handler instantiation in PRAgent and related classes 2023-12-14 08:53:22 +02:00
e37598fdca Merge remote-tracking branch 'upstream/main' into abstract-BaseAiHandler 2023-12-14 07:45:43 +08:00
557b39ec87 Merge branch 'base-ai-handler' into abstract-BaseAiHandler 2023-12-14 07:44:13 +08:00
69a7c77a0d Refactor PRAgent class and has_ai_handler_param
method

This commit refactors the PRAgent class and the has_ai_handler_param
method. The has_ai_handler_param method is moved outside the class and
made a standalone function. This change improves code organization and
readability. The has_ai_handler_param function now takes a class object
as a parameter and checks if the class constructor has an "ai_handler"
parameter. This refactoring is done to streamline the code and improve
its maintainability.

No issue references.
2023-12-14 07:15:56 +08:00
2a8c2e488a Merge pull request #524 from Codium-ai/hl/native_labels_gitlab
feat: Add repository labels retrieval function in gitlab_provider.py
2023-12-13 17:36:18 +02:00
89c30ab5dc feat: Add repository labels retrieval function in gitlab_provider.py 2023-12-13 17:21:58 +02:00
ebb2ed891b Add logging to pr_agent.py 2023-12-13 08:16:45 +08:00
be8d6af87f Add code documentation generation for PR diffs 2023-12-13 08:16:31 +08:00
8fb4a42ef1 Update AI handler instantiation in server files 2023-12-13 08:16:02 +08:00
ca1ccd7b91 update base 2023-12-12 23:56:20 +08:00
b7225cc674 update langchain 2023-12-12 23:52:50 +08:00
a627dcd64f Update langchain 2023-12-12 23:28:58 +08:00
0c66554d50 langchain: move model and temperature to chat_completion 2023-12-12 23:07:46 +08:00
506eafc0c5 add langchain in requirement 2023-12-12 23:04:01 +08:00
6c7beccb4f add LangChain AI Handler 2023-12-12 23:03:49 +08:00
7eb2e769cf Move ai handlers to specific folder 2023-12-12 23:03:38 +08:00
5239e1c3e9 Load default AI Handler from util function 2023-12-12 21:51:05 +08:00
648dd3299f Merge pull request #521 from Codium-ai/tr/bitbucket_app
feat: Enable PR description publishing as comment in bitbucket_app.py
2023-12-12 00:27:48 -08:00
77a6fafdfc feat: Update Usage.md with limitations of bitbucket platform in auto_describe tool usage 2023-12-12 10:26:09 +02:00
ea7511e3c8 feat: Update Usage.md with limitations of bitbucket platform in auto_describe tool usage 2023-12-12 10:23:37 +02:00
512c92fe51 feat: Enable PR description publishing as comment in bitbucket_app.py 2023-12-12 10:19:17 +02:00
1853b4ef47 Merge pull request #520 from Codium-ai/tr/bitbucket_app
Refactor auto tool execution order and enhance logging and documentation
2023-12-12 00:02:02 -08:00
2f10b4f3c5 feat: Refactor auto tool execution order in bitbucket_app.py, add logging in pr_description.py, and update tool configuration instructions in Usage.md 2023-12-12 09:59:26 +02:00
73a20076eb Merge pull request #519 from Codium-ai/tr/bitbucket_app
Enhancement: Automatic Tool Configuration for Bitbucket App
2023-12-11 23:26:30 -08:00
afb633811f remove bad default 2023-12-12 09:18:51 +02:00
81da328ae3 feat: Add automatic tool configuration for Bitbucket app in bitbucket_app.py and configuration.toml, update Usage.md 2023-12-12 08:06:20 +02:00
729f5e9c8e Merge pull request #518 from Codium-ai/hl/github_native_labels
Refactoring Label Handling Across Git Providers
2023-12-11 16:50:19 +02:00
fdc776887d Refactor labels 2023-12-11 16:47:38 +02:00
cb64f92cce Merge pull request #511 from Codium-ai/tr/local_settings_on_push
Enhancement: Apply Repository Settings on Every 'Synchronize' Event
2023-12-11 06:27:29 -08:00
f3ad0e1d2a Merge pull request #517 from Codium-ai/tr/main_tmp
Improve PR description formatting and handling in pr_description.py
2023-12-11 06:15:46 -08:00
480e2ee678 feat: Improve PR description formatting in pr_description.py 2023-12-11 15:55:04 +02:00
9b97073174 s 2023-12-11 12:00:44 +02:00
4271bb7e52 Merge pull request #516 from Codium-ai/coditamar-readme-clarifications
Refine README.md for clarity and precision
2023-12-11 01:53:46 -08:00
e9bf8574a8 Update README.md 2023-12-11 11:52:36 +02:00
ebf7027aab add openai handler 2023-12-11 17:49:20 +08:00
a1cbd80b2a update base ai handler 2023-12-11 17:49:09 +08:00
2ce4af16cb Update README.md
fix grammar according to PR-Agent suggestions
2023-12-11 11:10:27 +02:00
2c1dfe7f3f Update README.md 2023-12-11 10:58:30 +02:00
b8021d7ca3 rename file 2023-12-11 16:57:23 +08:00
523a896465 Rename AiHandler to LiteLLMAiHandler 2023-12-11 16:56:49 +08:00
f7a6348401 Merge pull request #515 from Codium-ai/tr/review_graphics
Enhancement of Code Feedback Formatting in utils.py
2023-12-10 22:37:18 -08:00
02c0c89b13 feat: Add exception handling for discussion creation in gitlab_provider.py 2023-12-11 08:29:09 +02:00
b8cc110cbe s 2023-12-10 19:51:08 +02:00
2b1e841ef1 s 2023-12-10 19:45:54 +02:00
a247fc3263 s 2023-12-10 17:46:49 +02:00
654938f27c feat: Enhance code feedback formatting in utils.py 2023-12-10 17:30:27 +02:00
b6409929d2 Remove extra code 2023-12-09 16:51:50 +00:00
c0303ff9ec Merge remote-tracking branch 'upstream/main' into abstract-BaseAiHandler 2023-12-09 16:47:13 +00:00
f2abe5c73e Abstract AiHandler to BaseAiHandler 2023-12-09 16:39:25 +00:00
7e47baa9db Refactor AI handler classes 2023-12-10 00:25:25 +08:00
a7a0de764c Merge pull request #512 from Codium-ai/trlabeling_files_extended
Refactoring and Enhancement of PR Description Formatting in 'pr_description.py'
2023-12-07 05:38:37 -08:00
1b22e59b4b feat: Update RELEASE_NOTES.md with version 0.11 details 2023-12-07 15:35:48 +02:00
f908d02ab4 readme 2023-12-07 15:26:36 +02:00
7d2a35e32c final commit 2023-12-07 10:27:19 +02:00
e351428848 s 2023-12-07 10:24:36 +02:00
4cd6649a44 feat: Enhance PR description formatting in pr_description.py
Improve the table structure for relevant files in PR description by adjusting the header and filename display. Add padding for filename and change summary, and move diff_plus_minus to a separate column. Refactor _insert_br_after_x_chars function to accept a variable length parameter.
2023-12-07 10:14:18 +02:00
e62acef6d2 s1 2023-12-07 09:50:36 +02:00
a043eb939b feat: Apply repo settings on push trigger in github_app.py 2023-12-07 08:42:18 +02:00
73eafa2c3d Merge pull request #509 from Codium-ai/trlabeling_files_extended
Enhancement of PR Description and Labeling Features
2023-12-06 07:05:22 -08:00
a61e492fe1 feat: Refactor PR files processing into separate function in pr_description.py 2023-12-06 17:01:21 +02:00
243f0f2b21 Update INSTALL.md 2023-12-06 16:52:47 +02:00
93b6d31505 s 2023-12-06 16:36:27 +02:00
429aed04b1 s 2023-12-06 16:32:53 +02:00
eeb20b055a feat: Add line count to file patch info and enhance PR description formatting 2023-12-06 15:29:45 +02:00
4b073b32a5 feat: Enhance PR description with file label dictionary and update prompts in pr_description_prompts.toml 2023-12-06 12:30:51 +02:00
f629755a9a feat: Refine field descriptions in pr_description_prompts.toml for semantic file labels 2023-12-06 10:59:44 +02:00
c1ed3ee511 feat: Refine field descriptions in pr_description_prompts.toml for semantic file labels 2023-12-06 08:08:01 +02:00
a4e6c99c82 Merge branch 'main' into hl/labeling_files 2023-12-05 08:28:59 -08:00
0b70e07b8c feat: Improve formatting in help.py command descriptions 2023-12-05 18:26:35 +02:00
862c236076 s 2023-12-05 18:10:13 +02:00
5c2f81a928 Merge pull request #508 from Codium-ai/trt/fix_describe
docs: Update issue link in INSTALL.md and enhance key formatting in p…
2023-12-05 07:01:07 -08:00
b76bc390f1 Merge pull request #503 from pzarfos/python312
Update dependencies in requirements.txt for Python 3.12
2023-12-05 06:55:19 -08:00
25d1e84b7f docs: Update issue link in INSTALL.md and enhance key formatting in pr_description.py 2023-12-05 16:54:18 +02:00
70a409abf1 Merge pull request #450 from koid/fix/specify-cache-directory-in-azure-devops
Specify Cache Directory in Azure DevOps in Lambda Function Setup
2023-12-05 06:48:44 -08:00
cf3401536a feat: Remove 'Refactoring' label from custom labels and update related descriptions 2023-12-05 07:48:21 +02:00
2feaee4306 feat: Update field descriptions in pr_description_prompts.toml for clarity 2023-12-04 21:45:22 +02:00
863eb0105d feat: Refactor semantic labels in PR description and improve clarity in pr_description.py and pr_description_prompts.toml 2023-12-04 21:23:59 +02:00
21a7a0f136 feat: Enhance link generation for relevant lines and refactor code in git providers and PR description tools 2023-12-04 21:06:56 +02:00
d2a129fe30 Add labeling files 2023-12-04 18:22:35 +02:00
fe796245a3 Merge pull request #501 from Codium-ai/tr/prompt_tuning
Refactoring and Enhancement of PR Agent Prompts
2023-12-04 03:18:12 -08:00
10bc84eb5b Merge pull request #505 from Codium-ai/mrT23-patch-1
Update Usage.md
2023-12-04 01:15:06 -08:00
06c0a35a65 Update Usage.md 2023-12-04 11:11:02 +02:00
082bcd00a1 Merge pull request #502 from pzarfos/local_models
Add descriptive error message for missing model in MAX_TOKENS array
2023-12-03 21:26:21 -08:00
71b421efa3 Updated requirements.txt for Python 3.12 2023-12-03 21:54:19 -05:00
317fec0536 Throw descriptive error message if model is not in MAX_TOKENS array 2023-12-03 21:06:55 -05:00
4dcbce41c8 feat: Refine prompts and improve formatting in pr_sort_code_suggestions_prompts.toml and pr_update_changelog_prompts.toml 2023-12-03 17:27:22 +02:00
b3fa654446 feat: Refactor prompts and improve formatting in pr_questions_prompts.toml 2023-12-03 17:23:52 +02:00
e09439fc1b feat: Enhance formatting and clarity in pr_information_from_user_prompts.toml 2023-12-03 17:17:24 +02:00
324e481ce7 feat: Improve formatting and clarity in pr_custom_labels.toml 2023-12-03 17:15:29 +02:00
abfad088e3 feat: Refine prompts and instructions in pr_add_docs.toml 2023-12-03 17:10:33 +02:00
f30789e6c8 feat: Refactor and enhance prompts in pr_code_suggestions_prompts.toml 2023-12-03 16:59:47 +02:00
5c01f97f54 feat: Enhance PR description prompts in pr_description_prompts.toml 2023-12-03 16:48:26 +02:00
2d726edbe4 feat: Improve formatting and clarity in pr_reviewer_prompts.toml 2023-12-03 16:40:06 +02:00
526ad00812 Merge pull request #500 from Codium-ai/tr/describe_message
Enhance pr_url assignment in github_provider.py for GitHub Actions compatibility
2023-12-03 02:05:38 -08:00
37812dfede feat: Update pr_url assignment in github_provider.py for GitHub Actions compatibility 2023-12-03 11:34:17 +02:00
c9debc38f2 Merge pull request #499 from Codium-ai/tr/describe_message
final update message in PR description
2023-12-03 01:02:21 -08:00
fe7d2bb924 update docs 2023-12-03 10:52:00 +02:00
586785ffde feat: Add pr_url attribute to git providers and final update message in PR description 2023-12-03 10:46:02 +02:00
c21e606eee Merge pull request #498 from Codium-ai/tr/update_pics
Update Image URLs in Markdown Documentation
2023-12-03 00:11:13 -08:00
a658766046 Merge pull request #495 from Codium-ai/tr/review_protection
Enhanced Exception Handling and Code Suggestion Formatting
2023-12-03 00:11:02 -08:00
3f2175e548 diagram 2023-12-03 09:12:10 +02:00
3ff30fcc92 fix logo for non-github image 2023-12-03 08:58:28 +02:00
07abf4788c docs: Update image URLs in markdown files 2023-12-03 08:41:09 +02:00
492dd3c281 docs: Update Azure setup instructions in Usage.md 2023-12-03 08:25:12 +02:00
d2fb1cfce5 Merge pull request #497 from network-charles/network-charles-patch-1
Update pr-agent/docs/Review.md Image
2023-12-02 22:18:56 -08:00
24fe5a572a Update REVIEW.md 2023-12-02 10:36:37 +01:00
3af9c3bfb9 feat: Enhance code suggestion publishing with language-specific formatting in pr_code_suggestions.py 2023-12-01 12:12:49 +02:00
c22084c7ac feat: Add exception handling for missing previous review in github_provider.py 2023-12-01 11:56:03 +02:00
96b91c9daa feat: Add dynaconf to requirements.txt 2023-11-30 18:29:27 +02:00
55464d5c5b Merge pull request #492 from Codium-ai/mrT23-patch-1
Update IMPROVE.md
2023-11-30 18:19:36 +02:00
f6048e8157 Merge pull request #490 from network-charles/network-charles-patch-1
Alphabetical Reordering of requirements.txt
2023-11-30 08:16:01 -08:00
e474982485 Merge pull request #491 from network-charles/network-charles-patch-2
Update INSTALL.md
2023-11-30 07:18:48 -08:00
18f06cc670 Update IMPROVE.md 2023-11-30 17:13:47 +02:00
574e3b9d32 Update IMPROVE.md 2023-11-30 16:35:44 +02:00
f7410da330 Update INSTALL.md 2023-11-30 14:13:20 +01:00
76f3d54519 Update INSTALL.md 2023-11-30 13:56:22 +01:00
59f117d916 Update INSTALL.md 2023-11-29 16:07:57 +01:00
4a71259be7 Update requirements.txt 2023-11-29 15:47:53 +01:00
b90dde48c0 Merge pull request #483 from tmokmss/add-bedrock-support
Add Amazon Bedrock support
2023-11-29 03:08:01 -08:00
c57807e53a Merge pull request #489 from Codium-ai/ok/gh_actions_fix
Improve error handling in settings retrieval
2023-11-29 11:55:22 +02:00
0e54a13272 Improve error handling in settings retrieval
Fix bug where default values were not being used in GitHub Action runners when environmental variables are not set. Now, if an environmental variable cannot be found and no default is given, the default value will be used if one exists. This will prevent errors during setup on different environments and ensure system stability.
2023-11-29 11:52:02 +02:00
ddc6c02018 Merge pull request #488 from Codium-ai/ok/gh_actions_fix
"Add fallback to environment variables in GitHub Action Runner"
2023-11-29 11:49:40 +02:00
b67d06ae59 "Add fallback to environment variables in GitHub Action Runner"
A new function `get_setting_or_env` was implemented to facilitate fetching of either settings or environmental variables in the GitHub Action Runner. This was necessary to resolve an issue where a certain undefined behaviour occurs in GitHub Actions, leading to an attribute error. The new function also provides a default value parameter to ensure the return of a value even in failed attempts to fetch from either settings or environment variables.
2023-11-29 11:47:52 +02:00
ca1289af03 Update pr-agent-review.yaml 2023-11-29 11:03:24 +02:00
5e642c10fa fallback to try_fix_yaml 2023-11-29 17:57:54 +09:00
b5a643d67a Merge pull request #487 from Codium-ai/ok/gh_actions_fix
Add utility function to handle boolean type conversion
2023-11-29 10:38:39 +02:00
580eede021 Add utility function to handle boolean type conversion
A utility function (`is_true`) was added to take care of validating and converting boolean values from string or boolean types. This function is used in three parts of the `run_action` method where automatic PR review, description, and improvement actions are triggered based on environment settings. This change makes the condition checks cleaner and prevents code duplication.
2023-11-29 10:33:12 +02:00
ea56910a2f Merge pull request #485 from Codium-ai/tr/bitbucket
Enhancement of Inline Comment Publishing in Bitbucket Provider and Logging Addition
2023-11-28 08:35:40 -08:00
51e1278cd7 feat: Enhance inline comment publishing in Bitbucket provider and add logging for no suggestions in pr_code_suggestions.py 2023-11-28 18:29:35 +02:00
ddeb4b598d Merge pull request #484 from Codium-ai/tr/review_fix_tags
Refactor: Improved label handling in pr_reviewer.py
2023-11-28 07:14:29 -08:00
7e029ead45 refactor: Improve label handling in pr_reviewer.py 2023-11-28 17:03:55 +02:00
f8f57419c4 Update ai_handler.py 2023-11-28 23:08:17 +09:00
917f4b6a01 hard code value 2023-11-28 20:59:21 +09:00
97d6fb999a set max_tokens_to_sample 2023-11-28 20:58:57 +09:00
1373ca23fc support Amazon Bedrock 2023-11-28 20:58:42 +09:00
4521077433 Merge pull request #481 from Codium-ai/ok/fix_improve
Refactoring Environment Variables Access
2023-11-27 23:31:47 -08:00
6264624c05 Merge branch 'main' into ok/fix_improve 2023-11-27 07:27:25 -08:00
5f6fa5a082 Update Usage.md 2023-11-27 16:18:02 +02:00
2dcee63df5 fix improve 2023-11-27 12:32:53 +02:00
c6cc676275 Update pr-agent-review.yaml 2023-11-27 08:22:58 +02:00
b8e4d10b9d summarize=true 2023-11-27 07:36:02 +02:00
70a957caf0 AUTO_IMPROVE 2023-11-27 07:35:17 +02:00
5ff9aaedfd Update IMPROVE.md 2023-11-26 17:41:20 +02:00
fc8865f8dc Merge pull request #476 from Codium-ai/tr/improve_inplace
Enhancements and Bug Fixes in Code Suggestions and Line Link Generation
2023-11-26 07:32:37 -08:00
466af37675 s 2023-11-26 17:21:02 +02:00
2202ff1cdf s 2023-11-26 17:17:36 +02:00
2022018d4c update tests 2023-11-26 17:16:04 +02:00
b1c374808d feat: Add line link generation in Bitbucket provider and improve markdown formatting in pr_code_suggestions.py and IMRPOVE.md 2023-11-26 17:12:02 +02:00
20978402ea s 2023-11-26 16:56:06 +02:00
8f615e17a3 s 2023-11-26 16:42:41 +02:00
5cbbaf44c9 feat: Add line link generation for GitLab and improve markdown formatting in pr_code_suggestions.py 2023-11-26 13:42:57 +02:00
f96d4924e7 feat: Add line link generation in git providers and refactor code suggestions generation 2023-11-26 11:57:45 +02:00
f36b672eaa feat: Add option to summarize code suggestions in pr_code_suggestions.py 2023-11-26 11:22:14 +02:00
f104b70703 Update INSTALL.md 2023-11-26 10:38:49 +02:00
d4e979cb02 Merge pull request #447 from Codium-ai/tr/pydantic
Refactor PR label handling and update CLI commands
2023-11-25 23:37:02 -08:00
668041c09f Code suggestions guidelines: 2023-11-26 09:32:02 +02:00
aa73eb2841 PR 2023-11-26 09:24:33 +02:00
14d4ca8c74 PR 2023-11-26 09:22:19 +02:00
690c113603 refactor: Improve clarity and consistency in pr_code_suggestions_prompts.toml and pr_reviewer_prompts.toml files 2023-11-26 09:17:42 +02:00
1a28c77783 Previous description 2023-11-26 09:08:33 +02:00
0326b7e4ac refactor: Update PR prompts in toml files for clarity and consistency 2023-11-26 09:05:45 +02:00
d8ae32fc55 language_extension_map 2023-11-26 08:52:55 +02:00
8db2e3b2a0 feat: Enhance readability in toml files and add verbosity level logging in pr_generate_labels.py 2023-11-26 08:42:04 +02:00
9465b7b577 refactor: Move clip_tokens function from pr_processing to utils module, and add tests 2023-11-26 08:29:47 +02:00
d7df4287f8 feat: Update PR prompts in toml files to enhance readability and consistency 2023-11-26 08:17:16 +02:00
b3238e90f2 s 2023-11-26 08:10:01 +02:00
fdfd6247fb Merge branch 'main' into tr/pydantic 2023-11-25 21:36:16 -08:00
46d4d04e94 Merge pull request #455 from lukefx/bitbucket-server
Added BitBucket Server and Data Center support
2023-11-25 21:33:26 -08:00
0f6564f42d feat: Added server and documentation 2023-11-25 17:37:44 +01:00
cddf183e03 Merge pull request #470 from Codium-ai/tr/glob
Enhance glob pattern handling and logging in file filtering
2023-11-22 23:19:09 -08:00
e80a0ed9c8 glob 2023-11-23 09:16:50 +02:00
d6d362b51e Merge pull request #469 from Codium-ai/mrT23-patch-1
Improve Documentation in Usage.md
2023-11-22 22:14:22 -08:00
4eff0282a1 Update Usage.md 2023-11-23 08:06:07 +02:00
8fc07df6ef Update INSTALL.md 2023-11-21 18:39:36 +02:00
84e4b607cc Merge pull request #467 from Codium-ai/ok/base_url
Add support for base_url in GitHub SDK
2023-11-21 16:51:16 +02:00
613ccb4c34 Add support for base_url in GitHub SDK 2023-11-21 16:48:36 +02:00
e95a6a8b07 Merge pull request #466 from Codium-ai/ok/gitlab_fix
Fix a bug in GitLab webhook
2023-11-21 16:36:40 +02:00
2add584fbc Fix a bug in GitLab webhook 2023-11-21 16:28:01 +02:00
54d7d59177 Update Usage.md 2023-11-20 20:06:07 +02:00
b3129c7dd9 Merge pull request #464 from Codium-ai/tr/more_protections
Refactor YAML parsing for improved error handling
2023-11-20 02:28:57 -08:00
3f76d95495 ScannerError 2023-11-20 10:35:35 +02:00
1b600cd85f Refactor YAML parsing for improved error handling 2023-11-20 10:30:59 +02:00
26cc26129c Merge pull request #463 from Codium-ai/tr/more_protections
minor fix
2023-11-19 07:45:39 -08:00
d1d7903e39 minor fix 2023-11-19 17:44:11 +02:00
dff4d1befc Merge pull request #462 from Codium-ai/tr/more_protections
Enhancements in YAML Parsing and Error Handling
2023-11-19 07:40:06 -08:00
3504a64269 protections 2023-11-19 17:35:40 +02:00
83247cadec protections 2023-11-19 17:30:57 +02:00
5ca1748b93 Merge pull request #460 from Codium-ai/tr/update_instructions
GFM mode for 'review' instructions
2023-11-19 01:20:36 -08:00
c7a681038d gfm instructions 2023-11-19 11:11:11 +02:00
eb977b4c24 gfm instructions 2023-11-19 11:02:11 +02:00
b62e0967d5 fix: Revert back to exception since context.get will not throw KeyError 2023-11-17 10:08:40 +01:00
14a934b146 Update Usage.md 2023-11-17 10:41:52 +02:00
26dc2e9d21 fix: raising exception instead of empty string
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-11-16 11:19:46 +01:00
d78a71184d fix: Use checked exception KeyError for missing key
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-11-16 10:59:01 +01:00
eae30c32a2 fix: Use checked exception for ValueError
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-11-16 10:58:35 +01:00
bc28d657b2 Merge pull request #438 from koid/fix/remove-unnecessary-setup
Removal of Redundant Logger Setup
2023-11-15 10:35:13 -08:00
416a5495da Merge pull request #453 from Codium-ai/tr/v_010
Version 0.10 Release and Workflow Update
2023-11-15 09:46:31 -08:00
a2b27dcac8 v10 2023-11-15 19:45:51 +02:00
d8e4e2e8fd Merge pull request #454 from Codium-ai/coditamar-bitbucket-doc-type
Update INSTALL.md
2023-11-15 09:44:03 -08:00
3fae5cbd8d feat: Added BitBucket Server
Signed-off-by: Luca Simone <info@lucasimone.info>
2023-11-15 15:47:44 +01:00
896a81d173 Update INSTALL.md 2023-11-15 15:20:50 +02:00
b216af8f04 v10 2023-11-15 14:49:18 +02:00
388cc740b6 Merge pull request #436 from rhyst/support-vertex-ai
Support Google's Vertex AI
2023-11-15 04:26:08 -08:00
6214494c84 Merge pull request #452 from Codium-ai/tr/review_extra_labels
Add Review Labels for Security and Effort Estimation
2023-11-15 04:25:03 -08:00
762a6981e1 extra_labels 2023-11-15 14:12:59 +02:00
b362c406bc Merge remote-tracking branch 'origin/main' into tr/review_extra_labels 2023-11-15 14:07:44 +02:00
7a342d3312 extra_labels 2023-11-15 14:07:32 +02:00
2e95988741 extra_labels 2023-11-15 14:04:17 +02:00
9478447141 extra_labels 2023-11-15 14:02:13 +02:00
082293b48c Merge pull request #451 from Codium-ai/tr/persistent_enhacments
Enhancement of Persistent Comments in PR Review
2023-11-15 03:55:15 -08:00
e1d92206f3 docs 2023-11-15 13:32:32 +02:00
557ec72bfe Update documentation for Vertex AI 2023-11-15 10:27:48 +00:00
6b4b16dcf9 Support Google's Vertex AI 2023-11-15 10:26:58 +00:00
c4899a6c54 bitbucket 2023-11-15 12:11:02 +02:00
24d82e65cb gitlab 2023-11-15 09:45:10 +02:00
2567a6cf27 gitlab 2023-11-15 09:40:45 +02:00
94cb6b9795 more feedback 2023-11-15 09:06:26 +02:00
e878bbbe36 Merge pull request #449 from zmeir/patch-1
Fix `get_user_description` in case `pr_description.enable_pr_type=false`
2023-11-14 22:09:59 -08:00
172b5f0787 add instructions to lambda function section 2023-11-15 13:22:07 +09:00
0df0542958 prompt 2023-11-13 15:55:35 +02:00
7d89b82967 Fix get_user_description in case pr_description.enable_pr_type=false
Fixes an issue when getting the user description after a PR-Agent description was already generated, in case the configuration setting `pr_description.enable_pr_type` was `false`.
2023-11-13 14:41:14 +02:00
c5f9bbbf92 Merge pull request #448 from Codium-ai/hl/optional_custom_labels
remove the "one or more" for custom labels
2023-11-13 13:51:18 +02:00
a5e5a82952 s 2023-11-13 13:49:16 +02:00
ccbb62b50a remove the "one or more" for custom labels 2023-11-13 13:47:06 +02:00
a8dddd1999 prompt 2023-11-13 12:14:18 +02:00
f5c6dd55b8 triple quote 2023-11-13 12:04:58 +02:00
0e932af2e3 multi line 2023-11-13 12:01:08 +02:00
1df36c6a44 Merge pull request #446 from Codium-ai/tr/fix_cli_args
Handling CLI Arguments with Quotes in pr_agent
2023-11-12 17:29:38 +02:00
e9891fc530 s1 2023-11-12 16:37:53 +02:00
9e5e9afe92 Refactor CLI argument handling and request processing 2023-11-12 16:11:34 +02:00
5e43c202dd s1 2023-11-12 15:45:22 +02:00
727eea2b62 s1 2023-11-12 15:00:06 +02:00
37e6608e68 Merge pull request #444 from Codium-ai/tr/fallback_yaml
Implementing Fallback Mechanisms for YAML Parsing
2023-11-12 00:43:15 -08:00
f64d5f1e2a tests 2023-11-12 08:36:57 +02:00
8fdf174dec fallback 2023-11-10 18:44:19 +02:00
29d4f98b19 Merge pull request #441 from Codium-ai/tr/presistent_review
Add Persistent Review Feature to PR Agent
2023-11-09 05:26:51 -08:00
737792d83c publish_persistent_comment 2023-11-09 15:24:55 +02:00
7e5889061c publish_persistent_comment 2023-11-09 15:20:31 +02:00
755e04cf65 bitbucket finally works 2023-11-08 20:41:55 +02:00
44d6c95714 response 2023-11-08 20:38:18 +02:00
14610d5375 persistent
s
2023-11-08 20:16:08 +02:00
f9c832d6cb Merge pull request #439 from Codium-ai/tr/fixes_added_files
Enhancement of Patch Handling and PR Processing
2023-11-08 04:48:07 -08:00
c2bec614e5 s 2023-11-08 14:46:11 +02:00
49725e92f2 s 2023-11-08 14:41:15 +02:00
a1e32d8331 s 2023-11-08 14:36:59 +02:00
0293412a42 s 2023-11-08 14:31:08 +02:00
10ec0a1812 s 2023-11-08 14:21:03 +02:00
69b68b78f5 s 2023-11-08 14:17:59 +02:00
c5bc4b44ff fix added files 2023-11-08 12:51:30 +02:00
39e5102a2e fix added files 2023-11-08 12:47:18 +02:00
f0991526b5 remove unnecessary setup_logger 2023-11-08 16:56:44 +09:00
6c82bc9a3e Merge pull request #437 from Codium-ai/tr/new_gpt4
Introduce support for 'gpt-4-1106-preview' model and dynamic token limit calculation
2023-11-07 04:49:50 -08:00
54f41dd603 code 2023-11-07 14:41:15 +02:00
094f641fb5 code 2023-11-07 14:38:37 +02:00
a35a75eb34 get_max_tokens + added 'gpt-4-1106-preview' 2023-11-07 14:28:41 +02:00
5a7c118b56 Merge pull request #434 from Codium-ai/document_describe
Update DESCRIBE.md
2023-11-06 11:00:06 -08:00
cf9e0fbbc5 Update DESCRIBE.md 2023-11-06 17:55:58 +02:00
ef9af261ed Merge pull request #433 from Codium-ai/hl/user_labels
Keep user labels
2023-11-06 15:17:19 +02:00
ff79776410 Keep user labels 2023-11-06 15:14:08 +02:00
ec3f2fb485 Revert "generate labels keep user labels only"
This reverts commit 94a2a5e527.
2023-11-06 15:08:29 +02:00
94a2a5e527 generate labels keep user labels only 2023-11-06 15:07:06 +02:00
ea4bc548fc Merge pull request #432 from Codium-ai/hl/type_vs_labels
Support git providers with no label support
2023-11-06 14:38:29 +02:00
1eefd3365b Merge commit 'e352c98ce83bfbd99078f62d8705eb938a6ba5b5' into hl/type_vs_labels 2023-11-06 14:24:33 +02:00
db37ee819a support git providers with no label support 2023-11-06 14:11:49 +02:00
e352c98ce8 Merge pull request #431 from Codium-ai/hl/type_vs_labels
Refactoring PR Labels Handling and Display
2023-11-06 02:10:38 -08:00
e96b03da57 add configuration enable_pr_type 2023-11-06 11:58:26 +02:00
1d2aedf169 Don't Display pr labels in the text 2023-11-06 11:35:22 +02:00
4c484f8e86 Merge pull request #423 from zmeir/zmeir-external-incremental_review_thresholds
Implementing Thresholds for Incremental PR Reviews
2023-11-06 01:07:01 -08:00
8a79114ed9 Merge pull request #430 from Codium-ai/tr/fix_prompt
Fix PR Description Prompt and Data Preparation
2023-11-06 01:06:26 -08:00
cd69f43c77 Merge pull request #428 from Codium-ai/tr/fixes
Enhancements and Fixes in Bitbucket Provider
2023-11-06 01:06:15 -08:00
6d6d864417 fix prompt 2023-11-06 09:44:59 +02:00
b286c8ed20 Added documentation for the new configurations 2023-11-06 09:44:04 +02:00
7238c81f0c fix prompt 2023-11-06 09:41:26 +02:00
62412f8cd4 fix prompt 2023-11-06 09:38:39 +02:00
5d2bdadb45 fix prompt 2023-11-06 09:33:10 +02:00
06d030637c fix prompt 2023-11-06 09:32:46 +02:00
8e3fa3926a Extract incremental review checks to separate method 2023-11-06 09:21:22 +02:00
92071fcf1c Stack all incremental parameters 2023-11-06 09:13:04 +02:00
fed1c160eb files walkthrough bullets 2023-11-06 08:43:15 +02:00
e37daf6987 link to change 2023-11-06 08:27:34 +02:00
8fc663911f fixe bitbucket get_repo_settings bug 2023-11-06 08:15:43 +02:00
bb2760ae41 tools 2023-11-06 08:10:04 +02:00
3548b88463 type and labels 2023-11-05 15:48:39 +02:00
c917e48098 Merge pull request #427 from koid/fix/add-middleware
Adding Middleware to FastAPI Initialization
2023-11-05 01:40:37 -07:00
e6ef123ce5 add middleware when initializing fastapi 2023-11-05 15:38:19 +09:00
194bfe1193 Update INSTALL.md 2023-11-05 07:59:59 +02:00
e456cf36aa Merge pull request #425 from Codium-ai/ok/protect_apply_settings
Add exception handling for applying repo settings failure
2023-11-03 11:07:49 -07:00
fe3527de3c Add exception handling for applying repo settings failure 2023-11-03 12:23:49 +02:00
b99c769b53 Merge pull request #415 from zmeir/zmeir-patch-2
Refactor Command Handling for Different Triggers
2023-11-02 18:32:42 +02:00
60bdfb78df Merge pull request #424 from Codium-ai/ok/bitbucket_fix
Update Bitbucket Provider to Use 'position' Instead of 'start_line' for Inline Comments
2023-11-02 18:31:18 +02:00
c0b3c76884 Merge remote-tracking branch 'origin/main' into ok/bitbucket_fix 2023-11-02 15:27:11 +02:00
e1370a8385 Update publish_inline_comments in bitbucket_provider.py to use 'position' instead of 'start_line' 2023-11-02 15:24:47 +02:00
c623c3baf4 Added new configurations to prevent too frequent incremental commits on push trigger 2023-11-02 12:24:54 +02:00
d0f3a4139d Merge pull request #422 from Codium-ai/pr_review_fix_type_example
small fix to pr type example yaml
2023-11-02 11:48:49 +02:00
3ddc7e79d1 Update pr_reviewer_prompts.toml 2023-11-02 11:45:34 +02:00
3e14edfd4e Merge pull request #421 from zmeir/patch-1
Fix error in `get_main_pr_languages` when the diff is empty
2023-11-02 01:20:36 -07:00
15573e2286 Fix error in get_main_pr_languages when the diff is empty
This can happen for example when you have one commit add a line to a file and the next commit deletes that line. Then if those are the only 2 commits in the PR the diff will be empty.
2023-11-02 10:10:54 +02:00
ce64877063 Merge pull request #419 from KennyDizi/fix_synstax_error
Fix Syntax Error in f-string Expression
2023-11-02 08:23:17 +02:00
6666a128ee Update Usage.md 2023-11-01 18:36:12 +02:00
9fbf89670d Improve expression portion of f-strings 2023-11-01 19:11:52 +07:00
ad1c51c536 Fix SyntaxError: f-string expression part cannot include a backslash 2023-11-01 19:06:29 +07:00
9ab7ccd20d Merge pull request #416 from zmeir/patch-1
Fix formatting when last commit message contains _
2023-11-01 13:13:31 +02:00
c907f93ab8 Merge pull request #418 from KennyDizi/fix/configuration-typo
Fix Typo and Update Comment for Ollama Configuration
2023-10-31 11:14:51 -07:00
29a8cf8357 fix typo for ollama 2023-10-31 20:38:27 +07:00
7b6a6c7164 Fix formatting when last commit message contains _ 2023-10-31 10:05:13 +02:00
cf4d007737 Fix commands list for push trigger 2023-10-31 00:00:48 +02:00
a751bb0ef0 Merge pull request #414 from Codium-ai/ok/fix_github_bug
Bugfix: ignored github_app.commands on .pr-agent.toml
2023-10-30 20:28:54 +02:00
26d6280a20 Merge remote-tracking branch 'origin/main' into ok/fix_github_bug 2023-10-30 20:19:41 +02:00
32a19fdab6 Merge pull request #413 from Codium-ai/ok/bitbucket_repo_settings
Update Method to Fetch Repository Settings in bitbucket_provider.py
2023-10-30 20:18:59 +02:00
775ccb3f25 Refactor _perform_commands function in github_app.py to improve command handling 2023-10-30 20:14:25 +02:00
a1c6c57f7b Merge remote-tracking branch 'origin/main' into ok/bitbucket_repo_settings 2023-10-30 18:38:08 +02:00
73bb70fef4 Update get_repo_settings in bitbucket_provider.py to fetch file via API request 2023-10-30 18:36:46 +02:00
dcac6c145c Merge pull request #412 from Codium-ai/ok/fix_gitlab_bug
Update get_repo_settings to decode file from target branch in gitlab_…
2023-10-30 17:04:09 +02:00
4bda9dfe04 Update get_repo_settings to decode file from target branch in gitlab_provider.py 2023-10-30 17:01:49 +02:00
66644f0224 Merge pull request #411 from Codium-ai/ok/fix_gitlab_bug
Add Logging Context to Handle Request Calls in gitlab_webhook.py
2023-10-30 16:53:40 +02:00
e74bb80668 Refactor get_repo_settings method in gitlab_provider.py to decode file contents 2023-10-30 16:45:47 +02:00
e06fb534d3 Merge remote-tracking branch 'origin/main' into ok/fix_gitlab_bug 2023-10-30 16:34:03 +02:00
71a341855e Add log_context to handle_request calls in gitlab_webhook.py 2023-10-30 16:00:09 +02:00
7d949ad6e2 Update GENERATE_CUSTOM_LABELS.md 2023-10-30 15:20:17 +02:00
4b5f86fcf0 Merge pull request #410 from Codium-ai/fix_link_in_install
small fix in link in install.md
2023-10-30 02:58:52 -07:00
cd11f51df0 small fix in link in install.md 2023-10-30 11:47:24 +02:00
b40c0b9b23 Merge pull request #409 from zmeir/patch-1
Fix call to `_get_previous_review_comment`
2023-10-30 01:28:12 -07:00
816ddeeb9e Fix call to _get_previous_review_comment
Hey @mrT23, I thinks there's a problem with moving this line to after `self.git_provider.publish_comment(pr_comment)`.

The reason I originally placed it here is because otherwise, if you run `/review --pr_reviewer.remove_previous_review_comment=true` it will publish your review and then immediately after delete it, because it will look for the previous review comment only after you published your new review - so it will take your new review as the previous one. In order to get the real "previous" review you must collect the comments list before publishing a review, so placing this method call first ensures that.

The method `self._get_previous_review_comment()` is a no-op if `pr_reviewer.remove_previous_review_comment=false` so I see no downside in keeping it before `self.git_provider.publish_comment(pr_comment)`

Additionally, the check for `if previous_review_comment:` is redundant because it's done internally in `self._remove_previous_review_comment`. I thought it looked cleaner without this extra nesting here, but if you think more verbosity is better I'll keep it.
2023-10-30 09:06:51 +02:00
11f01a226c Update RELEASE_NOTES.md 2023-10-30 08:22:36 +02:00
b57ec301e8 Merge pull request #408 from Codium-ai/tr/final_fixes
fixed review
2023-10-29 09:02:48 -07:00
71da20ea7e better link 2023-10-29 18:01:50 +02:00
c895657310 fixed review 2023-10-29 17:59:46 +02:00
eda20ccca9 Merge pull request #407 from zmeir/patch-1
Update Usage.md with new GitHub App features
2023-10-29 16:54:59 +02:00
aed113cd79 Update Usage.md with new GitHub App features 2023-10-29 16:33:38 +02:00
0ab07a46c6 Merge pull request #405 from Codium-ai/tr/final_fixes
Final Fixes and Updates to PR Agent
2023-10-29 06:02:34 -07:00
5f32e28933 generate_labels 2023-10-29 15:02:16 +02:00
7538c4dd2f generate_labels 2023-10-29 14:59:50 +02:00
e3845283f8 release notes 2023-10-29 14:58:36 +02:00
a85921d3c5 release notes 2023-10-29 14:49:35 +02:00
27b64fbcaf release notes 2023-10-29 14:47:46 +02:00
8d50f2ae82 release notes 2023-10-29 14:43:45 +02:00
e97a03f522 Merge remote-tracking branch 'origin/main' into tr/final_fixes 2023-10-29 14:38:33 +02:00
2e3344b5b0 Merge pull request #406 from Codium-ai/hl/custom_labels
Add documentation to custom labels
2023-10-29 05:38:11 -07:00
e1b51eace7 release notes 2023-10-29 14:37:04 +02:00
49e3d5ec5f Add documentation 2023-10-29 13:58:01 +02:00
afa78ed3fb final fixes 2023-10-29 13:07:22 +02:00
72d5e4748e final fixes 2023-10-29 13:05:15 +02:00
61d3e1ebf4 Merge pull request #394 from zmeir/zmeir-external-push_trigger
Added support for automatic review on push event
2023-10-29 13:04:33 +02:00
055b5ea700 final fixes 2023-10-29 13:03:12 +02:00
3434296792 Documentation 2023-10-29 13:02:07 +02:00
ae375c2ff0 final fixes 2023-10-29 13:01:55 +02:00
3d5efdf4f3 Merge commit '9a585de36461a6941cb77009e5ab5f4b568a1ff7' into hl/custom_labels 2023-10-29 13:01:53 +02:00
9a585de364 Merge pull request #404 from Codium-ai/tr/final_fixes
final fixes
2023-10-29 12:31:40 +02:00
c27dc436c4 final fixes 2023-10-29 12:29:14 +02:00
e83747300d Merge branch 'main' of github.com:Codium-ai/pr-agent into hl/custom_labels 2023-10-29 12:09:43 +02:00
7374243d0b enable_custom_labels 2023-10-29 11:40:36 +02:00
5c568bc0c5 Merge pull request #403 from Codium-ai/tr/fix_custom_labels
Refactoring Custom Labels Handling and Documentation Update
2023-10-29 02:34:18 -07:00
22c196cb3b Merge remote-tracking branch 'origin/main' into tr/fix_custom_labels
# Conflicts:
#	pr_agent/git_providers/github_provider.py
2023-10-29 10:58:42 +02:00
d2cc856cfc Merge pull request #402 from Codium-ai/tr/github_action_uses_toml
Update GitHub Action to Use .pr_agent.toml
2023-10-29 01:55:33 -07:00
013a689b33 generate_labels fix 2023-10-29 10:43:04 +02:00
d772213cfc fix labels 2023-10-29 08:58:12 +02:00
638db96311 github action now also uses .pr_agent.toml 2023-10-28 13:34:32 +03:00
4dffabf397 Merge pull request #396 from Codium-ai/hl/custom_labels
Implement Custom Labels for PRs
2023-10-28 01:37:54 +03:00
6f2bbd3baa Add documentation 2023-10-28 00:45:59 +03:00
9e41f3780c disable custom labels by default 2023-10-27 21:22:56 +03:00
f53ec1d0cc move enable custom labels to custom labels function 2023-10-27 21:12:58 +03:00
f7666cb59a Update INSTALL.md 2023-10-27 11:49:39 +03:00
a7cb59ca8b small fix 2023-10-27 08:10:29 +03:00
ca0ea77415 refactor 2023-10-27 07:58:42 +03:00
0cf27e5fee custom labels disabled by default 2023-10-27 07:54:59 +03:00
f3bdbfc103 Add /generate_labels function + fix issues 2023-10-26 23:28:33 +03:00
20e3acdd86 Merge pull request #393 from Kryslynn93/patch-1
Update configuration.toml
2023-10-26 07:43:00 -07:00
f965b09571 Merge pull request #398 from Codium-ai/tr/readme_updates
Update Documentation and Installation Instructions
2023-10-26 07:37:05 -07:00
e6bea76eee Typo 2023-10-26 17:07:16 +03:00
414f2b6767 Fix incremental review if there are no new commits (would have performed a full review instead) 2023-10-26 16:49:55 +03:00
6541575a0e Refactor to use pull_request synchronize event 2023-10-26 16:49:54 +03:00
02570ea797 Remove previous review comment on push event 2023-10-26 16:46:54 +03:00
b8583c998d readme 2023-10-26 12:16:58 +03:00
726594600b readme 2023-10-26 12:10:14 +03:00
c77cc1d6ed readme 2023-10-26 11:56:03 +03:00
b6c9e01a59 readme 2023-10-26 11:51:32 +03:00
ec673214c8 Update INSTALL.md 2023-10-26 11:18:07 +03:00
16777a5334 Add custom label description 2023-10-25 13:48:27 +03:00
65bb70a1dd Added support for automatic review on push event
The new feature can be enabled via the new configuration `github_app.handle_push_event`. To avoid any unwanted side-effects, the current default of this configuration is set to `false`.

The high level flow (assuming the configuration is enabled):
1. receive push event from GitHub
2. extract branch and commits from event
3. find PR url for branch (currently does not support PRs from forks)
4. perform configured commands (e.g. `/describe`, `/review -i`)

The push event flow is guarded by a backlog queue so that multiple push events on the same branch won't trigger multiple duplicate runs of the PR-Agent commands.
Example timeline:
1. push 1 - start handling event
2. push 2 - waiting to be handled while push 1 event is still running
3. push 3 - event is dropped since handling it and handling push 2 is the same, so it is redundant
4. push 1 finished being handled
5. push 2 awakens from wait and continues handling (potentially reviewing the commits of both push 2 and push 3)

All of these options are configurable and can be enabled/disabled as per the user's desire.

Additional minor changes in this PR:
1. Created `DefaultDictWithTimeout` utility class to avoid too much boilerplate code in managing caches for outdated triggers.
2. Guard against running increment review when there are no new commits.
3. Minor styling changes for incremented review text.
2023-10-25 11:15:23 +03:00
1a89c7eadf refactor + add description options 2023-10-24 22:28:57 +03:00
07617eab5a add custom labels 2023-10-24 22:06:27 +03:00
f9e4c2b098 Update configuration.toml 2023-10-23 21:34:12 -04:00
fa24413201 Custom Labels 2023-10-23 16:29:33 +03:00
b6cabda586 quick fix 2023-10-19 17:24:37 +03:00
abbce60f18 Merge remote-tracking branch 'origin/main' 2023-10-19 17:10:30 +03:00
5daaaf2c1d quick fix 2023-10-19 17:10:21 +03:00
e8f207691e Merge pull request #391 from Codium-ai/tr/readme
Update and Enhance DESCRIBE.md Documentation
2023-10-19 02:03:50 -07:00
b0dce4ceae describe 2023-10-19 12:02:12 +03:00
fc494296d7 Merge pull request #387 from Codium-ai/ok/json_logging_in_bitbucket
Enhancing Logging in Bitbucket, GitLab, and Google Cloud Storage Secret Provider
2023-10-19 11:59:26 +03:00
67b4069540 describe 2023-10-19 11:45:41 +03:00
e6defcc846 describe 2023-10-19 11:43:18 +03:00
096fcbbc17 describe 2023-10-19 11:40:01 +03:00
eb7add1c77 describe 2023-10-19 11:38:21 +03:00
1b6fb3ea53 Merge pull request #385 from Codium-ai/hl/fix_add_docs_in_scripts
Add Blacklist for Non-Editable File Extensions in Documentation
2023-10-19 11:21:36 +03:00
c57b70f1d4 Merge pull request #390 from Codium-ai/tr/readme
Enhancing Documentation and Updating Configuration for PR Descriptions
2023-10-19 01:04:24 -07:00
a2c3db463a use_bullet_points 2023-10-19 10:45:42 +03:00
193da1c356 update readme 2023-10-19 09:22:26 +03:00
5bc26880b3 update readme 2023-10-19 09:20:36 +03:00
21a1cc970e - update readme
- minor prompts change
2023-10-19 09:16:20 +03:00
954727ad67 Merge pull request #386 from Codium-ai/ok/fix_bitbucket_pipeline
Refactor Bitbucket Pipeline Integration and Update Documentation
2023-10-18 16:45:26 +03:00
1314898cbf Enhance logging in bitbucket_app, gitlab_webhook, and google_cloud_storage_secret_provider with JSON format and additional context 2023-10-18 16:44:03 +03:00
ff04d459d7 Update Bitbucket Pipeline instructions in INSTALL.md, remove redundant functionality 2023-10-18 15:46:43 +03:00
88ca501c0c Merge pull request #377 from zmeir/zmeir-review_incremental_detect_header
Get previous incremental review
2023-10-18 00:30:42 +03:00
fe284a8f91 Merge pull request #382 from Codium-ai/tr/similar_issue_fix
Enhancements and Error Handling in Similar Issue Tool
2023-10-17 09:49:35 -07:00
d41fe0cf79 comment 2023-10-17 19:45:04 +03:00
3673924fe9 Add docs editable blacklist of file extensions like sql, yaml... 2023-10-17 18:50:39 +03:00
d5c098de73 another protection 2023-10-17 10:21:05 +03:00
9f5c0daa8e protection 2023-10-17 09:43:48 +03:00
bce2262d4e Merge pull request #381 from moccajoghurt/feature-allow-custom-urls
Support Custom Domain URLs for Azure DevOps Integration
2023-10-16 22:38:27 -07:00
e6f1e0520a remove azure.com url restriction 2023-10-16 20:38:14 +02:00
d8de89ae33 Get previous incremental review
When getting the last commit in `/review -i` consider also the last __incremental__ review, not just the last __full__ review

Full disclosure I'm not really sure the `/review -i` feature work very well - I might be wrong but it seemed like the actual review in fact addressed all the changes in the PR, and not just the ones from the last review (even though it adds a link to the commit of the last review).  
I think the commit list gathered in `/review -i` doesn't propagate the actual list the reviewer uses. Again, I might be wrong, just took a brief glance at it.
2023-10-16 16:37:10 +03:00
428c38e3d9 Merge pull request #376 from Codium-ai/feature/better_logger
Refactor logging system to use custom logger across the codebase
2023-10-16 16:32:27 +03:00
7ffdf8de37 Remove verbosity level check in handle_patch_deletions test 2023-10-16 16:25:57 +03:00
83e670c5df Enhance logging context in github_app server with server type 2023-10-16 16:13:09 +03:00
c324d88be3 Refactor logging system to use custom logger across the codebase 2023-10-16 14:56:00 +03:00
41166dc271 Merge pull request #374 from Codium-ai/fix/repo_specfic_settings
Repo settings file - fix a bug and apply to GitHub app
2023-10-13 15:44:05 -07:00
e7258e732b Refactor repo-specific settings application into a utility function, fix merge bug 2023-10-14 01:39:05 +03:00
18ee9d66b0 Update Usage.md 2023-10-13 05:00:41 +03:00
8755f635b4 Update Usage.md 2023-10-10 17:23:58 +03:00
e2417ebe88 Merge pull request #363 from Codium-ai/tr/pr_suggestions
publish each suggestion seperatly only on gitlab
2023-10-08 17:01:44 +03:00
264dea2a8b Merge pull request #359 from pzarfos/codecommit_changelog
added checkmark on features table for update_changelog with CodeCommit
2023-10-08 17:00:59 +03:00
da98fd712f note 2023-10-08 16:58:22 +03:00
e6548f4fe1 simpler solution 2023-10-08 16:57:22 +03:00
e66fed2468 Merge pull request #362 from zmeir/zmeir-fix_help_message_for_bot
Fixed help message for bot user
2023-10-08 16:52:18 +03:00
1b3fb49f9c publish each suggestion seperatly only on gitlab 2023-10-08 16:50:25 +03:00
66a5f06b45 Merge pull request #360 from zmeir/zmeir-fix_typo_in_describe_md
Small typo in DESCRIBE.md
2023-10-08 16:37:51 +03:00
51c817ba29 Merge pull request #357 from jamesrom/feat/file_ignores
Add support for ignoring files
2023-10-08 16:30:02 +03:00
8f9f09ecbf Fixed help message for bot user
This changes the help message to display properly when running a custom deployment of the PR-Agent app (i.e. not via GitHub Actions, and with the setting `github_app.override_deployment_type=false`)
2023-10-08 16:19:11 +03:00
d77a71bf47 Small typo in DESCRIBE.md 2023-10-08 14:35:54 +03:00
70c0ef5ce1 added checkmark on features table for update_changelog with CodeCommit 2023-10-07 09:57:51 -04:00
92e9012fb6 Error handling 2023-10-07 09:39:53 +11:00
43dc648b05 Simplify filter 2023-10-06 22:44:29 +11:00
6dee18b24a Update usage documentation 2023-10-06 22:13:03 +11:00
baa0e95227 Code comments for ignore.toml 2023-10-06 21:53:10 +11:00
b27f57d05d Update settings, documentation 2023-10-06 21:03:36 +11:00
fd8c90041c azure 2023-10-06 08:31:31 +03:00
ea6253e2e8 revert azure 2023-10-06 08:12:11 +03:00
2a270886ea Merge pull request #354 from Codium-ai/tr/prompts
Enhancements in Markdown Conversion and Line Number Linking
2023-10-05 18:27:29 +03:00
2945c36899 source_branch 2023-10-05 18:21:52 +03:00
1bab26f1c5 gfm_supported 2023-10-05 18:08:02 +03:00
72eecbbf61 add line number 2023-10-05 17:59:08 +03:00
989c56220b add line number 2023-10-05 17:48:36 +03:00
e387086890 Add support for ignoring files
Add ignore.toml, configuration for ignoring files
Add file_filter.py, for matching files against glob/regex patterns
Update relevant code to use file filter
+Tests
2023-10-06 01:43:35 +11:00
088f256415 stable 2023-10-05 17:03:10 +03:00
d92f5284df Merge pull request #352 from Codium-ai/tr/prompts
Refactoring Patch Extra Lines and Updating Prompts
2023-10-05 08:55:14 +03:00
f3e794e50b Patch Extra Lines 2023-10-05 08:46:02 +03:00
44239f1a79 Patch Extra Lines 2023-10-05 08:38:43 +03:00
428e6382bd prompts minor update 2023-10-05 08:17:37 +03:00
d13a92515b Merge pull request #349 from Codium-ai/tr/large_prs_readme
readme updates
2023-10-02 18:20:41 +03:00
eaf7cfbcf2 readme updates 2023-10-02 18:18:15 +03:00
abb633db0f readme updates 2023-10-02 18:10:41 +03:00
ca11cfa54e Merge pull request #347 from Codium-ai/hl/document_incremental_review
Add Incremental Review to user guide
2023-10-02 14:17:04 +03:00
8df57941c6 Merge pull request #348 from Codium-ai/add-x-badge
Update README.md - add X badge
2023-10-02 13:21:49 +03:00
af45dcc7df Update README.md - add X badge 2023-10-02 11:59:56 +03:00
18c33ae6fc add screenshot 2023-10-02 11:45:05 +03:00
896d65a43a Update README.md 2023-10-02 10:59:03 +03:00
02ea2c7a40 Merge pull request #345 from brianpham93/azure-devops-get-item-error
Azure Devops: Set file content as empty string when azure_devops_client.get_item fails
2023-10-02 10:57:08 +03:00
fdbb7f176c Merge pull request #346 from Codium-ai/GadiZimerman-patch-1
Update README.md
2023-10-02 10:56:46 +03:00
5386ec359d Merge pull request #337 from Codium-ai/hl/add_docs
Add code documentations in PR
2023-10-02 10:55:36 +03:00
85f64ad895 update readme and user guide 2023-10-02 10:11:28 +03:00
589d329a3c Add error logs for troubleshooting 2023-10-02 05:37:27 +00:00
3585a4ebff Update README.md 2023-10-01 23:20:13 +03:00
706f6bf44d update Roadmap 2023-10-01 19:57:34 +03:00
54f29fcf38 add Incremental Review to user guide 2023-10-01 19:55:41 +03:00
e941fa9ec0 Add to user tools guide 2023-10-01 19:51:15 +03:00
4479c5f11b Azure Devops: Set file content as empty string when error 2023-10-01 16:22:37 +00:00
b2369c66d8 Merge commit '8d075b76ae081d0d38813f789478e4fa0f404cd8' into hl/add_docs
# Conflicts:
#	README.md
2023-10-01 13:55:50 +03:00
ab5ac8ffa8 rename vars + Add to README.md 2023-10-01 13:52:00 +03:00
ccc7f1e10a rename vars 2023-10-01 13:07:08 +03:00
8d075b76ae Merge pull request #344 from brianpham93/azure-devops-ignore-tree
Ignore change item with `gitObjectType == 'tree'`
2023-10-01 10:39:03 +03:00
32a8b0e9bc Ignore change item with gitObjectType == 'tree' 2023-10-01 07:34:01 +00:00
69c6acf89d Merge pull request #343 from Codium-ai/tr/prompts_and_readme
Update Documentation and Prompts
2023-10-01 09:05:16 +03:00
e07412c098 prompt and readme updates 2023-10-01 09:00:58 +03:00
8cec3ffde3 Merge pull request #341 from Codium-ai/tr/readme
Update and Refactor Documentation
2023-09-30 10:54:58 +03:00
25bc54785b update docs 2023-09-30 10:51:37 +03:00
8b033ccc94 Merge pull request #340 from Codium-ai/tr/readme
Update Documentation and CLI Execution Method
2023-09-29 16:43:10 +03:00
2003b6915b typos 2023-09-29 16:39:25 +03:00
175218c779 cli 2023-09-29 16:31:13 +03:00
f96c6cbc95 Merge pull request #339 from Codium-ai/tr/readme
Enhancements to PR-Agent Documentation and Settings
2023-09-29 11:56:02 +03:00
4dbb70c9d5 typos 2023-09-29 11:54:37 +03:00
73cc7c2d71 typos 2023-09-29 11:53:39 +03:00
902975b660 Merge remote-tracking branch 'origin/tr/readme' into tr/readme 2023-09-29 11:44:19 +03:00
813fa8571e tools guide 2023-09-29 11:44:03 +03:00
b5c505f727 ASK 2023-09-29 11:43:38 +03:00
26b9e8a235 ASK 2023-09-29 11:37:31 +03:00
c90e72cb75 Improve 2023-09-29 11:30:47 +03:00
55f022d93e improve 2023-09-29 11:24:26 +03:00
71b532d4d5 <kbd> 2023-09-29 10:38:01 +03:00
c18ae77299 <kbd> 2023-09-29 10:36:58 +03:00
2f0fa246c0 borders 2023-09-29 10:34:18 +03:00
a371f7ab84 review 2023-09-29 10:30:20 +03:00
e1149862b2 similar issue 2023-09-29 10:01:32 +03:00
b8f93516ce describe 2023-09-29 09:47:13 +03:00
d15d374cdc Merge pull request #338 from coka-stefan/main
Add lockb to bad extensions
2023-09-29 09:20:49 +03:00
cae0f627e2 Add lockb to bad extensions 2023-09-28 22:26:25 +02:00
7fbdc3aead rstrip 2023-09-28 22:47:26 +03:00
0551922839 Merge commit '663ae92bdf3bb3a22b8b7ab437385c882f96e475' into hl/add_docs
# Conflicts:
#	pr_agent/tools/pr_add_docs.py
2023-09-28 22:46:07 +03:00
043d453cab add doc placement before after 2023-09-28 22:44:15 +03:00
663ae92bdf Add Docs 2023-09-28 22:42:03 +03:00
96824aa9e2 Revert "Add Docs"
This reverts commit 5cca299b16.
2023-09-28 21:16:14 +03:00
5cca299b16 Add Docs 2023-09-28 21:13:48 +03:00
cd3527f7d4 add configurable docstring style 2023-09-28 20:58:37 +03:00
bb12c75431 reformat 2023-09-28 20:15:18 +03:00
4accddcaa7 revert verbosity 2023-09-28 20:12:36 +03:00
bb8a0f10f4 refine /add_docs 2023-09-28 20:11:18 +03:00
c3cbaaf09e Initial add docs 2023-09-27 16:48:17 +03:00
a6e65e867f release notes v0.8 2023-09-27 09:23:19 +03:00
0df8071673 Merge pull request #331 from dulalbert/patch-2
INSTALL.md Fixed typo in the hyperlink
2023-09-26 08:22:07 +03:00
b17a4d9551 INSTALL.md Fixed typo in the hyperlink 2023-09-26 10:29:26 +08:00
dc7db4cbdd Merge pull request #330 from Codium-ai/tr/action_defaults
Enhancements in GitHub Action and Error Handling
2023-09-25 18:59:57 +03:00
4e94fcc372 typo 2023-09-25 18:57:50 +03:00
4c72cfbff4 auto tools in github action 2023-09-25 18:56:10 +03:00
ac89867ac7 Merge pull request #329 from Codium-ai/tr/action_defaults
Adding Environment Variables for Automated Actions in GitHub
2023-09-25 18:30:53 +03:00
34ed598c20 yaml 2023-09-25 18:30:20 +03:00
e7aee84ea8 isinstance 2023-09-25 18:23:56 +03:00
388684e2e8 none 2023-09-25 18:19:35 +03:00
8f81c18647 auto commands in github action 2023-09-25 18:01:32 +03:00
ba78475944 Merge pull request #327 from Codium-ai/tr/no_comments
Update Review Guidelines to Exclude Comments
2023-09-25 17:25:31 +03:00
75dd5688fa Merge pull request #324 from pzarfos/feature/get_pr_id_320
Added 'get_pr_id' function for the CodeCommit provider
2023-09-25 17:24:21 +03:00
aa32024078 no comments 2023-09-25 16:58:08 +03:00
9167c20512 added unit tests 2023-09-23 10:41:53 -04:00
a7fb5d98b1 add get_pr_id() to CodeCommitProvider 2023-09-23 08:08:46 -04:00
fda47bb5cf Merge pull request #304 from sarbjitsinghgrewal/fix_bitbucket_pipeline
Fix bitbucket pipeline
2023-09-22 14:36:42 +03:00
9c4f849066 Merge pull request #321 from dulalbert/patch-1
Correct typo in pr_reviewer_prompts.toml
2023-09-22 12:44:09 +03:00
3e2e2d6c6e update install.md 2023-09-22 12:23:41 +05:30
56cc804fcf Merge branch 'main' of https://github.com/Codium-ai/pr-agent into fix_bitbucket_pipeline 2023-09-22 12:19:49 +05:30
62746294e3 Correct typo in pr_reviewer_prompts.toml 2023-09-22 10:23:01 +08:00
d384b0644e Merge pull request #320 from Codium-ai/tr/pr_id
Implementing get_pr_id method in Git Providers
2023-09-21 21:38:49 +03:00
3e07fe618f pr_id gitlab 2023-09-21 21:35:00 +03:00
be54fb5bf8 pr_id 2023-09-21 21:29:41 +03:00
46ec3c0754 implement suggestions in bitbucket pipeline 2023-09-21 14:42:59 +05:30
5e608cc7e7 Merge branch 'main' of https://github.com/Codium-ai/pr-agent into fix_bitbucket_pipeline 2023-09-21 12:48:32 +05:30
04162564ca Merge pull request #315 from Codium-ai/tr/fixes_20_9
Fixing potential null values in git patch processing
2023-09-20 17:00:59 +03:00
992f51a019 protections 2023-09-20 15:59:35 +03:00
2bc25b7435 Merge remote-tracking branch 'origin/main' into tr/fixes_20_9 2023-09-20 15:58:05 +03:00
fcd9821d10 protections 2023-09-20 15:57:06 +03:00
911ad299e2 Merge pull request #314 from Codium-ai/mrT23-patch-1
Update README.md
2023-09-20 14:50:53 +03:00
fbfa186733 Update README.md 2023-09-20 14:50:21 +03:00
7545b25823 Update README.md 2023-09-20 14:49:50 +03:00
1370a051f1 Update INSTALL.md 2023-09-20 14:47:52 +03:00
dcbd3132d1 Release notes 2023-09-20 14:41:24 +03:00
497f84b3bd Update release notes 2023-09-20 14:23:55 +03:00
c2fe2fc657 Added a release notes file 2023-09-20 13:50:10 +03:00
f7abdc6ae8 Merge branch 'main' of https://github.com/Codium-ai/pr-agent into fix_bitbucket_pipeline 2023-09-20 14:47:21 +05:30
d327245edf Merge pull request #312 from Codium-ai/tr/fixes_20_9
Enhancing error handling in PR review tools
2023-09-20 07:59:02 +03:00
632de3f186 protections 2023-09-20 07:39:56 +03:00
de14b0e4c0 Merge pull request #310 from never-known-soldier/update/README.md
Update README.md file
2023-09-19 13:29:35 +03:00
f010d1389b Merge branch 'main' into update/README.md 2023-09-19 13:28:39 +03:00
4411f6d88a Update README.md file 2023-09-19 12:54:33 +05:30
a2ca43afcd Merge branch 'main' of https://github.com/Codium-ai/pr-agent into fix_bitbucket_pipeline 2023-09-18 10:34:18 +05:30
1f62520606 Merge pull request #306 from Codium-ai/tr/etr
Adding Estimated Review Effort Feature and Handling Cases with No Detected Language
2023-09-17 17:10:52 +03:00
c0511c954e icon 2023-09-17 17:08:02 +03:00
818ab5a9e8 fixed tests 2023-09-17 16:56:23 +03:00
291ffdd6ae gfm_markdown 2023-09-17 16:51:16 +03:00
4fbe7d14b5 protection for no language 2023-09-17 16:41:53 +03:00
ea91a38541 Estimated effort to review 2023-09-17 16:31:58 +03:00
caaee4e43d Estimated time to review 2023-09-15 17:09:58 +03:00
43af4aa182 remove token from config 2023-09-15 16:08:13 +05:30
e343ce8468 bitbucket pipeline for adding reviews 2023-09-15 16:05:55 +05:30
7b2c01181b Merge pull request #3 from sarbjitsinghgrewal/fix_bitbucket_pipeline
Fix bitbucket pipeline
2023-09-15 12:44:14 +05:30
978c56c128 update pipeline 2023-09-15 12:38:34 +05:30
4043dfff9e Merge branch 'main' of https://github.com/Codium-ai/pr-agent into fix_bitbucket_pipeline 2023-09-14 15:31:18 +05:30
279d45996f Merge pull request #301 from Codium-ai/add-links-to-readme
Addition of Relevant Links to README.md
2023-09-14 12:38:57 +03:00
01aa038ad6 Update README.md - add links 2023-09-14 11:53:47 +03:00
084256b923 fixed config 2023-09-14 08:23:34 +03:00
dc42713217 Merge pull request #285 from Codium-ai/markers
Markers
2023-09-14 08:21:35 +03:00
99f17666c5 merge 2023-09-14 08:20:36 +03:00
bba22667f1 merge 2023-09-14 08:13:00 +03:00
1b8349b0ef merge 2023-09-14 07:47:04 +03:00
b94e3521d1 Merge remote-tracking branch 'origin/main' into markers
# Conflicts:
#	pr_agent/tools/pr_description.py
2023-09-14 07:46:30 +03:00
32931f0bc0 Update Usage.md 2023-09-13 10:38:31 +03:00
72ac8e8091 Merge pull request #299 from Codium-ai/tr/readme
Enhancement of Similar Issue Tool and Documentation Updates
2023-09-13 08:19:13 +03:00
33045e6898 graphic adjustments 2023-09-13 08:17:13 +03:00
069c3a8e5c Merge remote-tracking branch 'origin/tr/readme' into tr/readme 2023-09-13 08:16:36 +03:00
9c0656c296 graphic adjustments 2023-09-13 08:16:23 +03:00
228ee26541 graphic adjustments 2023-09-13 08:16:08 +03:00
f8d548367f graphic adjustments 2023-09-13 08:15:15 +03:00
d3f466f59b graphic adjustments 2023-09-13 08:04:36 +03:00
6b45940128 Merge remote-tracking branch 'origin/main' into tr/readme 2023-09-13 07:47:21 +03:00
a52e94fcbc similar issue 2023-09-13 07:46:43 +03:00
ee3874f0aa Merge pull request #297 from Codium-ai/tr/fix_tests
Enhancing Logging in pr_similar_issue.py
2023-09-13 07:27:50 +03:00
31ba7acf49 Support issue comments in GitHub Actions 2023-09-12 16:53:54 +03:00
b7a2551cab Support issue comments in GitHub Actions 2023-09-12 16:46:02 +03:00
d4eb100cbc Support issue comments in GitHub Actions 2023-09-12 16:44:20 +03:00
21feb92b75 Support issue comments in GitHub Actions 2023-09-12 16:41:12 +03:00
2f6178306f Fix a bug in GitHub Actions 2023-09-12 13:28:35 +03:00
36e7c1c22f Merge remote-tracking branch 'origin/main' 2023-09-12 13:24:55 +03:00
c31baa5aea Fix a bug in GitHub Actions 2023-09-12 13:24:47 +03:00
67052aa714 add bitbucket access token 2023-09-12 11:28:36 +05:30
caee7cbf50 add bitbucket access token 2023-09-12 11:20:38 +05:30
9bee3055c2 add bitbucket access token 2023-09-12 11:15:10 +05:30
901eda2f10 logs 2023-09-12 07:57:21 +03:00
8cf7d2d0b1 Merge pull request #296 from Codium-ai/tr/fix_tests
gfm_supported
2023-09-12 07:49:19 +03:00
d7f43d6ee0 gfm_supported 2023-09-12 07:43:15 +03:00
9bd5140ea4 update access token 2023-09-11 16:33:45 +05:30
12bd9e8b42 add bitbucket pipeline 2023-09-11 16:08:23 +05:30
ca8997b616 Merge branch 'main' of https://github.com/Codium-ai/pr-agent into fix_bitbucket_publish_description 2023-09-11 09:36:23 +05:30
8e42162b5e Merge pull request #278 from sarbjitsinghgrewal/fix_bitbucket_publish_description
Fix bitbucket publish description
2023-09-10 14:13:26 +03:00
98d0835c48 Merge remote-tracking branch 'origin/main' into fix_bitbucket_publish_description 2023-09-10 14:08:17 +03:00
2aef9dfe55 Merge remote-tracking branch 'origin/main' into fix_bitbucket_publish_description 2023-09-10 14:06:54 +03:00
115b513c9b Remove 'bitbucket' explicit dependency anywhere that's not in bitbucket_provider.py 2023-09-10 14:06:13 +03:00
fd63fe4c95 Merge pull request #293 from Codium-ai/tr/litellm_debugger
Integration of Litellm Client with AI Handler
2023-09-10 13:56:06 +03:00
d40285e4d3 Merge branch 'main' into tr/litellm_debugger 2023-09-10 13:40:35 +03:00
517658fb37 Merge pull request #282 from Codium-ai/tr/issue_tool
Adding Similar Issue Tool and Pinecone Integration
2023-09-10 13:39:34 +03:00
f9f0f220c2 pinecone-datasets 2023-09-10 13:31:36 +03:00
6382b8a68b LITELLM_TOKEN 2023-09-10 13:28:56 +03:00
e371b217ec Merge remote-tracking branch 'origin/main' into tr/litellm_debugger 2023-09-10 13:27:19 +03:00
7dec7b0583 Merge pull request #291 from krrishdholakia/main
adding documentation on how to call local hf models
2023-09-10 13:25:44 +03:00
bf6a235add pinecone-datasets==0.6.1 2023-09-10 13:16:05 +03:00
1d9489c734 Merge remote-tracking branch 'origin/tr/issue_tool' into tr/issue_tool 2023-09-10 08:39:20 +03:00
bd588b4509 solved dependencies 2023-09-10 08:39:03 +03:00
245f29e58a solved dependencies 2023-09-10 08:22:42 +03:00
7f5f2d2d1a solved dependencies 2023-09-10 08:07:39 +03:00
fe500845b7 upgrade pip 2023-09-10 07:46:51 +03:00
b42b2536b5 upgrade pip 2023-09-10 07:39:01 +03:00
498ad3d19c upgrade pip 2023-09-10 07:36:25 +03:00
892dbe458e litellm client 2023-09-09 17:35:45 +03:00
1b098aea13 adding documentation on how to call local hf models 2023-09-08 09:59:44 -07:00
ed1816a2d7 Merge branch 'main' of https://github.com/Codium-ai/pr-agent into fix_bitbucket_publish_description 2023-09-08 11:24:05 +05:30
e90c9e5853 Merge pull request #287 from cloudlinux/gerrit
[gerrit] Added support project's config file: `.pr_agent.toml`
2023-09-07 19:06:32 +03:00
e4f28b157f Added support project's config file: .pr_agent.toml
+ removed markdown/html formatting from the review due to gerrit does not support it
2023-09-07 13:13:07 +01:00
6fb8a882af ordering requirements.txt 2023-09-07 12:41:31 +03:00
9889d26d3e merged main 2023-09-07 12:31:22 +03:00
b23a4c0535 Merge remote-tracking branch 'origin/main' into tr/issue_tool
# Conflicts:
#	requirements.txt
2023-09-07 12:30:16 +03:00
0f7a481eaa Merge pull request #277 from krrishdholakia/hf-usage
Showing how to use huggingface models with PR-Agent
2023-09-07 12:28:47 +03:00
3fc88b2bc4 Merge pull request #276 from krrishdholakia/main
Add docs on using Azure
2023-09-07 12:20:26 +03:00
ed5aaaab45 Merge branch 'main' into main 2023-09-07 12:19:59 +03:00
145b5db458 added 'publish_description_as_comment' support 2023-09-07 12:10:33 +03:00
8321792a8d == 2023-09-06 18:12:16 +03:00
8af8fd8e5d github action 2023-09-06 17:43:43 +03:00
753ea3e44c Update INSTALL.md 2023-09-06 11:35:41 +03:00
660601f7c5 Merge pull request #280 from Codium-ai/coditamar/install
Update INSTALL.md
2023-09-06 11:32:18 +03:00
4e7f67f596 Merge pull request #279 from Codium-ai/coditamar/readme-minor-enhancement
Enhancements to README.md for Improved Clarity and Detail
2023-09-06 11:31:55 +03:00
e486addb8f Update INSTALL.md
minor clarification to Method 8 GitLab
2023-09-06 11:28:19 +03:00
4a5310e2a1 Update README.md 2023-09-06 10:46:25 +03:00
8962c9cf8a stable 2023-09-06 09:43:23 +03:00
bc95cf5b8e stable 2023-09-06 09:12:25 +03:00
dcd8196b94 Merge remote-tracking branch 'origin/main' into tr/issue_tool
# Conflicts:
#	pr_agent/settings/configuration.toml
2023-09-06 08:43:41 +03:00
901c1dc3f0 issue tool 2023-09-06 08:43:01 +03:00
adb9964823 Merge branch 'main' of https://github.com/Codium-ai/pr-agent into fix_bitbucket_publish_description 2023-09-06 09:32:43 +05:30
335877c4a7 fix publish description for bitbucket 2023-09-06 09:26:23 +05:30
5da6a0147c showing how to use huggingface models 2023-09-05 16:23:22 -07:00
cd1ae55f4f bump litellm version to fix azure deployment id error 2023-09-05 15:26:45 -07:00
ca50724952 adding details on calling azure 2023-09-05 15:19:56 -07:00
460b315b53 Add Gitlab webhook installation documentation 2023-09-05 18:34:19 +03:00
00ff516e8a Merge pull request #264 from Codium-ai/ok/gitlab_webhook
Implementing Gitlab Webhook Secret Verification
2023-09-05 18:33:03 +03:00
55b3c3fe5c Add Gitlab webhook installation documentation 2023-09-05 18:31:29 +03:00
1443df7227 Merge remote-tracking branch 'origin/main' into ok/gitlab_webhook 2023-09-05 18:15:51 +03:00
739b63f73b Merge pull request #272 from cloudlinux/gerrit
Gerrit support
2023-09-05 13:54:57 +03:00
4a54532b6a Set github provider by default
- merge README.md
2023-09-05 09:09:35 +01:00
0dbe64e401 Merge branch 'main' into gerrit 2023-09-05 09:04:32 +01:00
c0b23e1091 Merge remote-tracking branch 'origin/main' into tr/issue_tool
# Conflicts:
#	pr_agent/algo/utils.py
2023-09-05 08:05:33 +03:00
704c169181 Merge branch 'main' of https://github.com/Codium-ai/pr-agent into fix_bitbucket_improve_issue 2023-09-05 10:00:07 +05:30
746140b26e Add support for markers in description 2023-09-04 12:11:39 -04:00
53ce609266 Msg is mandatory field for the request 2023-09-04 15:50:36 +01:00
7584ec84ce Update README.md 2023-09-04 15:48:18 +01:00
140760c517 Add Gitlab webhook secret 2023-09-04 16:39:31 +03:00
56e9493f7a Add Gitlab webhook secret 2023-09-04 15:29:21 +03:00
958ecf333a Merge pull request #271 from pzarfos/codecommit_implemented_improve_cli
implement 'improve' command for CodeCommit
2023-09-04 07:56:23 +03:00
ae3d7067d3 implemented 'improve' command for CodeCommit 2023-09-03 09:22:08 -04:00
a49e81d959 Merge pull request #270 from Codium-ai/tr/readme_updates
Tr/readme updates
2023-09-03 11:43:23 +03:00
916d7c236e update README.md 2023-09-03 11:42:11 +03:00
6343d35616 Merge pull request #269 from pzarfos/remove_extra_swift
Removed duplicate swift statement
2023-09-03 10:35:27 +03:00
0203086aac removed duplicate swift statement 2023-09-02 15:39:57 -04:00
0066156aca Merge pull request #268 from Codium-ai/tr/readme_updates
Update Documentation and Reorder Installation Methods
2023-09-02 09:44:56 +03:00
544bac7010 update README.md 2023-09-02 09:43:46 +03:00
34090b078b Merge remote-tracking branch 'origin/main' into tr/readme_updates 2023-09-02 09:37:57 +03:00
9567199bb2 update README.md 2023-09-02 09:37:44 +03:00
1f7a833a54 update README.md 2023-09-02 09:33:33 +03:00
990f69a95d update README.md 2023-09-02 09:25:38 +03:00
2b8a8ce824 update README.md 2023-09-02 09:19:35 +03:00
6585854c85 Merge pull request #267 from Codium-ai/tr/readme_updates
Update Documentation and README
2023-09-01 20:28:09 +03:00
98019fe97f update CONFIGURATION.md 2023-09-01 20:27:29 +03:00
d52c11b907 update CONFIGURATION.md 2023-09-01 20:26:36 +03:00
e79bcbed93 update CONFIGURATION.md 2023-09-01 20:25:07 +03:00
690c819479 update CONFIGURATION.md 2023-09-01 20:22:10 +03:00
630d1d9e03 Merge remote-tracking branch 'origin/tr/readme_updates' into tr/readme_updates
# Conflicts:
#	CONFIGURATION.md
2023-09-01 20:14:56 +03:00
20c32375e1 auto 2023-09-01 20:14:14 +03:00
44b790567b update readme 2023-09-01 20:10:23 +03:00
4d6d6c4812 update 2023-09-01 20:09:53 +03:00
7f6493009c update 2023-09-01 20:05:33 +03:00
7a6efbcb55 update 2023-09-01 19:56:20 +03:00
777c773a90 update 2023-09-01 19:50:10 +03:00
f7c698ff54 update 2023-09-01 19:40:38 +03:00
1b780c0496 Merge pull request #265 from szecsip/feature_azure_devops_docs
Add docs and dependencies for Azure DevOps provider
2023-09-01 19:32:23 +03:00
2e095807b7 Update README.md
Added information about features of gerrit provider
2023-09-01 15:05:48 +01:00
ae98cfe17b Return status of upload suggestion to the gerrit 2023-09-01 14:56:16 +01:00
35a6eb2e52 Add unique patch to according to multiple execution of publish_code_suggestions 2023-09-01 14:51:29 +01:00
8b477c694c Fix after rebase on main branch 2023-09-01 14:41:56 +01:00
1254ad1727 Gerrit:
- support reflect/answer
2023-09-01 14:31:35 +01:00
eeea38dab3 Gerrit support 2023-09-01 14:31:34 +01:00
8983fd9071 Merge pull request #261 from Codium-ai/tr/github_app
Update Configuration Documentation
2023-08-31 20:43:58 +03:00
918ae25654 Merge remote-tracking branch 'origin/main' into tr/github_app 2023-08-31 20:36:56 +03:00
de39595522 Merge pull request #252 from zmeir/zmeir-try_to_fix_split_line_ranges
Try to refine the prompt to prevent split line ranges that give bad suggestions
2023-08-31 20:36:33 +03:00
4c6595148b Add Gitlab webhook secret 2023-08-31 17:03:58 +03:00
02e0f958e7 Add Gitlab webhook secret 2023-08-31 14:56:45 +03:00
be19b64542 add dependencies for Azure DevOps provider 2023-08-31 11:53:54 +00:00
24900305d6 update docs for Azure DevOps 2023-08-31 11:50:41 +00:00
06d00032df update docs for Azure DevOps 2023-08-31 11:47:51 +00:00
244cbbd27f Merge pull request #262 from idavidov/idavidov/add_reference
Idavidov/add reference
2023-08-31 13:24:59 +03:00
970a7896e9 Merge branch 'main' of https://github.com/Codium-ai/pr-agent into fix_bitbucket_improve_issue 2023-08-31 13:35:32 +05:30
8263bf5f9c small refactor of azure devops 2023-08-31 09:26:16 +03:00
8823d8c0e9 small format change 2023-08-31 09:21:40 +03:00
5cbcef276c cross link in INSTALL for GitAPP configuration overwrite 2023-08-31 09:19:02 +03:00
ce9014073c Editing the prompts 2023-08-31 08:19:33 +03:00
376c4523dd Editing the prompts 2023-08-31 08:08:09 +03:00
e0ca594a69 Editing the prompts 2023-08-31 08:06:43 +03:00
48233fde23 Editing the prompts 2023-08-31 08:02:14 +03:00
9c05a6b1b5 Merge pull request #258 from Codium-ai/tr/github_app
Update GitHub App Configuration Instructions
2023-08-31 02:17:36 +03:00
da848d7e39 Merge pull request #260 from zmeir/zmeir-fix_describe_user_description
Fix #254
2023-08-31 02:16:55 +03:00
c6c97ac98a Try to change the improve command prompt to prevent split lines range 2023-08-30 23:33:38 +03:00
92e23ff260 Fix #254 2023-08-30 23:05:41 +03:00
aa03654ffc Merge pull request #259 from krrishdholakia/patch-3
bump litellm version - prevent default logging
2023-08-30 20:32:59 +03:00
85130c0d30 Merge pull request #255 from pzarfos/issue_138_codecommit_describe
Enhancement of AWS CodeCommit support in PR-Agent
2023-08-30 20:30:50 +03:00
3c27432f50 GitHub App instructions 2023-08-30 19:53:28 +03:00
eec62c14dc bump litellm version - prevent default logging 2023-08-30 09:49:01 -07:00
ad6dd38fe3 GitHub App instructions 2023-08-30 19:46:33 +03:00
307b3b4bf7 GitHub App instructions 2023-08-30 19:42:46 +03:00
8e7e13ab62 Merge pull request #253 from Codium-ai/coditamar/readme-minor
Enhancements to README.md
2023-08-30 18:45:59 +03:00
bd085e610a Merge pull request #256 from Codium-ai/ok/override_settings
Allow overriding GitHub app default action by using repo local file
2023-08-30 18:44:45 +03:00
d64b1f80da Allow overriding GitHub app default action by using repo local file 2023-08-30 12:12:09 +03:00
f26264daf1 added describe command to CodeCommit 2023-08-29 17:59:52 -04:00
2aaa722102 Merge branch 'main' of https://github.com/Codium-ai/pr-agent into fix_bitbucket_improve_issue 2023-08-29 09:49:19 +05:30
edaeb99b43 Update README.md
type

Co-authored-by: Tim Perkins <tjwp@users.noreply.github.com>
2023-08-28 22:29:08 +03:00
ce54a7b79e Update README.md 2023-08-28 22:08:08 +03:00
f14c5d296a Merge pull request #251 from zmeir/zmeir-fix_azure_api
Fixed incorrect usage for Azure OpenAI API
2023-08-28 20:52:04 +03:00
18d46fb655 Merge pull request #250 from Codium-ai/tr/prompts_yaml
Refactor Code to Use YAML Instead of JSON for PR Code Suggestions
2023-08-28 20:25:31 +03:00
07bd926678 Merge pull request #249 from Codium-ai/tr/readme_updates
Enhancements to Installation Instructions and Readme
2023-08-28 20:22:41 +03:00
d3c7dcc407 AZURE_DEVOPS_AVAILABLE 2023-08-28 20:21:29 +03:00
f5dd7207dc Merge remote-tracking branch 'origin/main' into tr/prompts_yaml 2023-08-28 20:19:22 +03:00
e5e10d5ec5 Merge pull request #241 from szecsip/feature_azure_devops
Add Azure DevOps provider with basic functionality
2023-08-28 17:03:05 +03:00
314d13e25f Fixed incorrect usage for Azure OpenAI API 2023-08-28 16:13:26 +03:00
2dc2a45e4b yaml 2023-08-28 09:48:43 +03:00
39522abc03 fix conflicts 2023-08-28 11:21:47 +05:30
3051dc50fb update README.md 2023-08-28 08:41:02 +03:00
e776cebc33 update README.md 2023-08-28 08:31:56 +03:00
33ef23289f Merge pull request #248 from Codium-ai/ok/requirements
Consolidation of Redundant Dependency Lists
2023-08-27 16:36:46 +03:00
85bc307186 Consolidate redundant dependency list 2023-08-27 16:00:38 +03:00
a0f53d23af Consolidate redundant dependency list 2023-08-27 15:58:14 +03:00
82ac9d447b Consolidate redundant dependency list 2023-08-27 15:39:45 +03:00
9286e61753 Consolidate redundant dependency list 2023-08-27 15:36:39 +03:00
56828f0170 Merge pull request #246 from Codium-ai/ok/bitbucket_server
Implementing Bitbucket Server Support
2023-08-27 10:27:00 +03:00
9e878d0d9a Bitbucket server 2023-08-27 10:11:46 +03:00
0e42634da4 add publish_labels and get_labels functions 2023-08-25 10:15:30 +05:30
b94ed61219 Merge branch 'main' into feature_azure_devops 2023-08-24 16:41:33 +00:00
ceaff2a269 fix exception printing 2023-08-24 16:35:34 +00:00
12167bc3a1 fix imports 2023-08-24 16:34:20 +00:00
355abfc39a Bitbucket server, WIP 2023-08-24 18:35:41 +03:00
c163d47a63 fix imports 2023-08-24 15:22:14 +00:00
5d529a71ad some minor changes in Azure DevOps git provider 2023-08-24 15:20:00 +00:00
5079daa4ad Bitbucket server, WIP 2023-08-24 16:33:51 +03:00
f0dc485305 Merge branch 'main' of https://github.com/Codium-ai/pr-agent into fix_bitbucket_improve_issue 2023-08-24 16:14:29 +05:30
db6bf41051 update readme 2023-08-24 15:56:20 +05:30
123741faf3 Bitbucket server, WIP 2023-08-24 12:10:13 +03:00
67ff50583a fix improve, update_changelog and review inline comment 2023-08-24 11:52:20 +05:30
01d1cf98f4 init Azure DevOps git provider 2023-08-23 16:01:10 +00:00
52ba2793cd modify get_main_pr_language to handle azuredevops provided language format 2023-08-23 15:59:49 +00:00
fd39c64bed Merge pull request #233 from zmeir/zmeir-automatic_github_app_options
Support custom deployments for github_app.py and add more options for automatic review actions
2023-08-23 09:20:46 +03:00
49c58f997a Merge pull request #234 from Codium-ai/tr/tweaks_and_improvements
Refactoring PR Reviewer's Settings and Markdown Conversion
2023-08-23 09:19:56 +03:00
16150e9c84 update litellm 2023-08-23 09:19:15 +03:00
6599cbc7f2 Merge remote-tracking branch 'origin/main' into tr/tweaks_and_improvements 2023-08-23 09:17:53 +03:00
2dfad0bb20 Merge pull request #228 from krrishdholakia/main
adding huggingface inference support + litellm debugger
2023-08-23 09:17:33 +03:00
53108a9b20 Merge branch 'main' into main 2023-08-23 09:16:00 +03:00
f2ab623e76 Merge pull request #235 from pzarfos/issue_138_codecommit_pr_2
Initial implementation of CodeCommit (second attempt)
2023-08-23 00:39:50 +03:00
3a93dcd6a7 Add build and test on pull request open, reopen 2023-08-23 00:37:04 +03:00
d31b66b656 initial implementation of CodeCommit 2023-08-22 17:15:11 -04:00
f17b4fcc9e Made the automatic describe command the least destructive 2023-08-22 21:14:03 +03:00
5582a901ff Merge branch 'main' into zmeir-automatic_github_app_options 2023-08-22 21:09:23 +03:00
412c86593d fixed tests 2023-08-22 20:21:52 +03:00
04be1573d5 improved review 2023-08-22 20:10:36 +03:00
3d771e28ce Remove redundant None default in dict.get 2023-08-22 18:33:25 +03:00
a9a7a55f02 Remove redundant toggle 2023-08-22 18:28:43 +03:00
62fe1de12d Remove redundant toggle 2023-08-22 18:28:06 +03:00
4184f81090 Merge pull request #231 from idavidov/idavidov/gihub-action-doc-permissions
adding permissions to the GitHub Actions section of INSTALL
2023-08-22 17:00:25 +03:00
635b243280 Merge pull request #223 from zmeir/zmeir-keep_original_pr_description
Enhancement: Retain Original User Description and Title in PRs
2023-08-22 16:47:16 +03:00
cbe0a695d8 Merge pull request #229 from Codium-ai/tr/sequential_improve
Implementing Extended Improve Mode for More Thorough PR Reviews
2023-08-22 16:46:52 +03:00
782c170883 Support custom deployments for github_app.py and add more options for automatic review actions 2023-08-22 16:46:03 +03:00
9157fa670e -> bool 2023-08-22 16:32:22 +03:00
36e5e5a17e update 2023-08-22 16:30:18 +03:00
f4f040bf8d publish each suggestion separably 2023-08-22 16:11:51 +03:00
82fb611a26 Add options to keep original user title 2023-08-22 10:32:58 +03:00
580af44e7d Could we consider adding permissions to the GitHub Actions section? I've noticed that this has been a point of confusion for some users, as evidenced by questions in our Discord channel and GitHub issues. Some folks may even be discouraged to the point of not seeking help. I believe adding permissions could significantly improve the user experience. What are your thoughts? 2023-08-22 10:24:20 +03:00
09ef809080 Added comments explaining the logic behind get_user_description 2023-08-22 10:04:21 +03:00
2b22f712fb Renamed keep_user_description --> add_original_user_description 2023-08-22 09:55:56 +03:00
b85679e5e4 improve --extend 2023-08-22 09:42:59 +03:00
dcad490513 adding huggingface inference support + litellm debugger 2023-08-21 15:31:51 -07:00
fb9335f424 extended improve 2023-08-21 18:17:34 +03:00
81c38f9646 Added type hints 2023-08-21 09:22:58 +03:00
b1a2e3e323 Merge pull request #224 from pzarfos/hotfix/remove_duplicate_get_repo_settings
Remove duplicate get_repo_settings() in bitbucket_provider
2023-08-21 08:19:19 +03:00
542bc9586a Remove duplicate get_repo_settings() in bitbucket_provider 2023-08-20 12:58:44 -04:00
b3749d08e2 Set default configuration to false to allow users to opt-in 2023-08-20 19:00:56 +03:00
31e91edebc Allow keeping the original user description 2023-08-20 18:59:40 +03:00
6693aa3cbc semi stable 2023-08-20 15:01:06 +03:00
fda98643c2 Merge pull request #217 from sarbjitsinghgrewal/fix_bitbucket_improve_issue
fix bitbucket improve issue
2023-08-20 14:42:15 +03:00
2bbb25d59c Merge pull request #222 from Codium-ai/ok/fix_gitlab
Fix repo settings bug in Gitlab
2023-08-20 14:41:31 +03:00
08afeb9759 Merge pull request #219 from idavidov/idavidov/gitlab_bug
Fixing GitLab Inline Comment Diff Issue by Implementing Relevant Diff Selection
2023-08-20 14:40:32 +03:00
2d5b0fa37f Fix repo settings bug in Gitlab 2023-08-20 14:39:05 +03:00
99f5a2ab0f Merge pull request #216 from idavidov/idavidov/specific_version
Adding Instructions for Specific Docker Image Version and GitHub Action Commit in Installation Guide
2023-08-20 14:12:29 +03:00
d7dcecfe00 Merge pull request #220 from zmeir/zmeir-safe_parse_config_overrides
Safe parse key value in config override
2023-08-20 10:29:53 +03:00
c6f8d985c2 Safe parse key value in config override 2023-08-20 10:11:39 +03:00
532dfd223e Merge pull request #215 from tjwp/auto-review
Addition of Automatic Review Configuration for GitHub App
2023-08-19 16:50:34 +03:00
9770f4709a few more changes suggested by AI implemented 2023-08-19 16:26:15 +03:00
35afe758e9 revert back conf 2023-08-19 16:16:16 +03:00
50125ae57f various changes as outcomes from AI review 2023-08-19 16:12:48 +03:00
6595c3e0c9 2 more /improve good suggestions 2023-08-19 15:47:45 +03:00
fdd16f6c75 raize exception when no diffs in MR 2023-08-19 15:40:40 +03:00
7b7e913195 to changes suggested by /improve with my small touch 2023-08-19 15:31:02 +03:00
5477469a91 in order to have exact sha's we have to find correct diff for this change
otherwise gitlab web doesn't able show diff on page and return 500 or 400 errors based on different scenarios
2023-08-19 15:06:22 +03:00
dff4646920 fix bitbucket improve issue 2023-08-18 17:48:45 +05:30
6e7622822e Merge branch 'main' into idavidov/specific_version 2023-08-18 10:04:23 +03:00
631fb93b28 Implement Automatic Review Configuration for GitHub app 2023-08-16 16:24:30 -04:00
dee1f168f8 Merge pull request #206 from pzarfos/fix/bitbucket_get_repo_settings
Implement get_repo_settings for BitbucketProvider
2023-08-16 18:54:36 +03:00
bb18e32c56 Merge pull request #209 from tjwp/no-suggestions
Publish comment when improve has no suggestions
2023-08-16 18:53:39 +03:00
7803d8eec4 + pin to specific commit with gihub actions in Istallation part of readme 2023-08-16 14:22:14 +03:00
9a84b4b184 + digest usage for docker in Istallation part of readme 2023-08-16 12:56:15 +03:00
70286e9574 Make the message more modest 2023-08-15 08:35:57 -04:00
3f60d12a9a Publish comment when improve has no suggestions 2023-08-14 13:07:00 -04:00
164b340c29 Merge branch 'main' into fix/bitbucket_get_repo_settings 2023-08-14 08:30:14 -04:00
4bb035ec0f Merge pull request #208 from sarbjitsinghgrewal/fix_bitbucket_ask_issue
Fix bitbucket ask issue
2023-08-14 14:52:45 +03:00
23a79bc8fe Merge pull request #183 from zmeir/zmeir-fallback_deployments
Support fallback deployments to accompany fallback models
2023-08-14 14:51:14 +03:00
1db53ae1ad update readme file 2023-08-14 14:45:25 +05:30
cca951d787 fix bitbucket ask issue 2023-08-14 14:30:30 +05:30
230d684cd3 Merge pull request #202 from zmeir/zmeir-remove_blank_line
Remove extra blank line in help message
2023-08-14 07:12:50 +03:00
0a02fa8597 Merge pull request #203 from tjwp/tjwp/contents-permission
Contents read-only permission needed by /review -i
2023-08-14 07:12:38 +03:00
f82b9620af Implement get_repo_settings for BitbucketProvider 2023-08-13 18:25:11 -04:00
524faadffb init AzureDevopsProvider 2023-08-13 23:00:45 +02:00
82710c2d15 add AzureDevopsProvider to __init__.py 2023-08-13 22:56:50 +02:00
ce29d9eb49 Contents read-only permission needed by /review -i 2023-08-13 07:28:05 -04:00
b7b650eb05 Remove extra blank line in help message 2023-08-13 11:32:02 +03:00
6ca0655517 Extracted to helper functions 2023-08-13 11:03:10 +03:00
edcf89a456 Improve comment 2023-08-13 10:56:16 +03:00
7762a67250 Fail if not enough fallback deployments 2023-08-13 10:55:44 +03:00
7049c73790 Merge branch 'main' into zmeir-fallback_deployments 2023-08-13 10:48:21 +03:00
cc7be0811a Merge pull request #200 from Codium-ai/tr/block_scalar
Block scalar format
2023-08-12 09:49:27 +03:00
d3a5aea89e update_changelog 2023-08-11 18:50:56 +03:00
dd87df49f5 block scalar 2023-08-11 18:43:46 +03:00
e85bcf3a17 Merge remote-tracking branch 'origin/tr/block_scalar' into tr/block_scalar 2023-08-11 18:38:06 +03:00
abb754b16b block scalar 2023-08-11 18:37:55 +03:00
bb5878c99a Merge branch 'main' into tr/block_scalar 2023-08-11 18:36:21 +03:00
273a9e35d9 block scalar 2023-08-11 18:35:34 +03:00
fcc208d09f Merge pull request #194 from Codium-ai/ok/test_action
Implementing GitHub Actions Workflow for Build and Test
2023-08-10 16:47:26 +03:00
20bbdac135 Test github action 2023-08-10 16:41:50 +03:00
ceedf2bf83 Merge branch 'main' into ok/test_action 2023-08-10 16:40:01 +03:00
2d6b947292 Test github action 2023-08-10 16:37:02 +03:00
2e13b12fe6 Merge pull request #193 from coditamar/fix/workflow_yaml_permissions
adding `permissions` to `review.yaml`, also adding some comments
2023-08-10 16:17:32 +03:00
2d56c88291 Merge remote-tracking branch 'upstream/main' into fix/workflow_yaml_permissions 2023-08-10 16:16:47 +03:00
cf9c6a872d Test github action 2023-08-10 16:09:29 +03:00
0bb8ab70a4 Merge remote-tracking branch 'origin/main' 2023-08-10 15:16:10 +03:00
4a47b78a90 Rename workflow 2023-08-10 15:16:03 +03:00
3e542cd88b adding permissions to review.yaml, also adding some comments 2023-08-10 08:10:10 +03:00
17ed050ca7 Merge pull request #192 from coditamar/fix/minor_cli_and_requirements_fixes
Correcting CLI and README Descriptions and Fixing Requirements.txt
2023-08-10 02:18:13 +03:00
e24c5e3501 Update requirements.txt 2023-08-10 02:16:16 +03:00
b206b1c5ff Protect for empty description 2023-08-10 02:08:36 +03:00
0270306d3c litellm was mentioned twice in the requirements.txt 2023-08-10 01:34:24 +03:00
3e09b9ac37 fixing pr_url param description (was wrongly mentioned as pr-url) 2023-08-10 01:31:06 +03:00
725ac9e85d fixing cli pr_url help description 2023-08-10 01:30:12 +03:00
e00500b90c PyYAML dependency 2023-08-10 00:56:28 +03:00
f1f271fa00 PyYAML dependency 2023-08-10 00:44:00 +03:00
d38c5236dd Merge pull request #187 from Codium-ai/ok/limit_description
Limiting Description and Commit Messages Length
2023-08-09 14:14:47 +03:00
49a3a1e511 Merge pull request #188 from Codium-ai/tr/update_review_prompt
Update PR Review and Description Generation to Use YAML
2023-08-09 14:14:36 +03:00
1b0b90e51d block scalar 2023-08-09 14:11:58 +03:00
64481e2d84 block scalar 2023-08-09 14:01:48 +03:00
e0f295659d A less hacky way 2023-08-09 12:17:54 +03:00
fe75e3f2ec yaml
yaml
2023-08-09 12:15:52 +03:00
e3274af831 A (still) hacky way to clip description and commit messages 2023-08-09 10:17:58 +03:00
95b6abef09 Merge branch 'main' into zmeir-fallback_deployments 2023-08-08 11:00:13 +03:00
7f1849a867 Logging 2023-08-07 22:42:53 +03:00
7760f37dee Merge pull request #185 from zmeir/zmeir-fix_inline_comment_position
Attempt to fix bug in create_inline_comment
2023-08-07 20:41:52 +03:00
ebbe655c40 Don't commment on Github, only eyes reaction 2023-08-07 18:09:39 +03:00
164ed77d72 Attempt to fix bug in create_inline_comment 2023-08-07 17:09:50 +03:00
b1148e5f7a Don't commment on Github, only eyes reaction 2023-08-07 16:34:28 +03:00
2012e25596 Merge pull request #182 from Codium-ai/ok/add_eyes_reaction
Add Eyes Reaction to Comments and Configure AI Timeout
2023-08-07 16:28:38 +03:00
a75253097b Don't remove eyes 2023-08-07 16:28:20 +03:00
079d62af56 Merge pull request #181 from Codium-ai/ok/inference_timeout
Configurable AI Timeout
2023-08-07 16:23:06 +03:00
6c4a5bae52 Support fallback deployments to accompany fallback models
This is useful for example in Azure OpenAI deployments where you have a different deployment per model, so the current fallback implementation doesn't work (still uses the same deployment for each fallback attempt)
2023-08-07 16:18:48 +03:00
886139c6b5 Support adding / removing reaction from comments in GitHub different servers 2023-08-07 16:18:08 +03:00
8f751f7371 Default timeout for AI is now 180s, configurable 2023-08-07 13:26:28 +03:00
43297b851f Merge pull request #177 from Codium-ai/tr/update_readme
Update README and CONFIGURATION Documentation
2023-08-07 09:26:12 +03:00
4f39239e73 readme update
readme update
2023-08-07 09:11:54 +03:00
00e1925927 Merge pull request #172 from krrishdholakia/patch-1
adding support for Anthropic, Cohere, Replicate, Azure
2023-08-06 18:38:36 +03:00
7189b3ab41 suggestions -> feedback 2023-08-06 18:20:39 +03:00
a00038fbd8 Merge remote-tracking branch 'origin/main' into patch-1 2023-08-06 18:09:09 +03:00
a45343793a Merge pull request #175 from Codium-ai/tr/review_adjustments
Making the 'Review' Feature Great Again
2023-08-06 12:14:43 +03:00
703215fe83 updating secrets template 2023-08-05 22:53:59 -07:00
0f975ccf4a bug fixes 2023-08-05 22:50:41 -07:00
7367c62cf9 TestFindLineNumberOfRelevantLineInFile 2023-08-06 08:31:15 +03:00
fed0ea349a find_line_number_of_relevant_line_in_file
find_line_number_of_relevant_line_in_file
2023-08-06 08:13:07 +03:00
bd86266a4b Merge pull request #173 from Codium-ai/tr/caching
Optimization of PR Diff Processing
2023-08-05 09:23:45 +03:00
bd07a0cd7f Update Configuration.md 2023-08-04 12:13:04 +03:00
ed8554699b bug fixes and updates 2023-08-03 16:05:46 -07:00
749ae1be79 Update CHANGELOG.md 2023-08-03 19:55:51 +00:00
0e3dbbd0f2 fix major bug in gitlab 2023-08-03 22:51:38 +03:00
7a57db5d88 load_large_diff is done once 2023-08-03 22:14:05 +03:00
102edcdcf1 adding support for Anthropic, Cohere, Replicate, Azure 2023-08-03 12:04:08 -07:00
c92648cbd5 caching 2023-08-03 21:38:18 +03:00
26b008565b Merge pull request #170 from Codium-ai/tr/edge_case_for_hunks
Handling edge case for hunks in git patch processing
2023-08-03 12:11:27 +03:00
0dec24aa37 edge case for hunks 2023-08-03 10:50:22 +03:00
68a2f2a27d fix requirement.txt 2023-08-03 10:19:51 +03:00
cfa14178f8 Merge pull request #168 from Codium-ai/tr/further_use_commit_messages
Use commit messages in PR tools
2023-08-03 07:58:25 +03:00
b97c4b6114 Update CHANGELOG.md 2023-08-02 18:36:34 +03:00
3d43cecbea Merge pull request #167 from zmeir/zmeir-list_configurations_as_comment
Add /config command to list the possible configuration settings
2023-08-02 18:35:20 +03:00
eb143ec851 Update CHANGELOG.md 2023-08-02 15:32:15 +00:00
3e94a71dcd commit_messages_str is used in all tools 2023-08-02 18:26:39 +03:00
dd14423b07 Add /config command to list the possible configuration settings 2023-08-02 16:42:54 +03:00
8e47fdc284 Merge pull request #164 from Codium-ai/ok/repo_config
Support for Repo-Specific Configuration File
2023-08-01 19:09:23 +03:00
ab607d74be Support repo-specific configuration file 2023-08-01 18:36:20 +03:00
bfe7304449 Support repo-specific configuration file 2023-08-01 18:04:52 +03:00
e12874b696 Support repo-specific configuration file 2023-08-01 17:44:08 +03:00
696e2bd6ff Support repo-specific configuration file 2023-08-01 17:27:25 +03:00
450f410e3c Support repo-specific configuration file 2023-08-01 17:22:03 +03:00
08a3f033cb Merge pull request #162 from Codium-ai/ok/settings_refactor
Refactor settings usage and CLI
2023-08-01 16:05:20 +03:00
c5a79ceedd Merge remote-tracking branch 'origin/main' into ok/settings_refactor 2023-08-01 16:01:04 +03:00
13547afc58 Merge pull request #163 from Codium-ai/tr/commit_messages
Adding Commit Messages Retrieval Functionality
2023-08-01 15:59:26 +03:00
8ae936e504 Bug fixes 2023-08-01 15:58:23 +03:00
e577d27f9b Update CHANGELOG.md 2023-08-01 12:38:31 +00:00
dfb73c963a get_commit_messages for gitlab 2023-08-01 15:30:14 +03:00
8c0370a166 Commit messages in pr-description 2023-08-01 15:15:59 +03:00
d7b77764c3 Support context aware settings (for each incoming request), support override of settings, refactor CLI to use pr_agent.py 2023-08-01 14:43:26 +03:00
6605f9c444 typos in 'commands_text' 2023-07-31 11:02:30 +03:00
2a8adcbbd6 update README.md 2023-07-30 22:16:56 +03:00
0b22c8d427 update README.md 2023-07-30 22:04:59 +03:00
dfa0d9fd43 update README.md 2023-07-30 22:01:14 +03:00
c8470645e2 add tests and update README.md 2023-07-30 21:54:07 +03:00
5a181e52d5 Merge pull request #159 from Codium-ai/tr/edit_any_config_setting
The Configurator Strikes Back
2023-07-30 15:19:07 +03:00
0ad8dcd2aa Merge remote-tracking branch 'origin/tr/edit_any_config_setting' into tr/edit_any_config_setting 2023-07-30 12:27:40 +03:00
e2d015a20c final 2023-07-30 12:27:32 +03:00
a0cfe4b48a Update CHANGELOG.md 2023-07-30 12:26:53 +03:00
a6ba8b614a Example args 2023-07-30 12:16:43 +03:00
4f0fabd2ca update_settings_from_args refactor 2023-07-30 12:14:26 +03:00
42b047a14e update_settings_from_args 2023-07-30 12:04:57 +03:00
3daf94954a update_settings_from_args 2023-07-30 11:43:44 +03:00
b564d8ac32 Merge pull request #147 from zmeir/zmeir-align_describe_styling
Minor improvements to describe command
2023-07-28 20:55:15 +03:00
d8e6da74db Update .dockerignore 2023-07-28 12:15:17 +03:00
278f1883fd Merge pull request #153 from marshally/fix_iteration_error_in_reflect_tmp
fix TypeError when iterating discussion_messages
2023-07-28 12:12:12 +03:00
ef71a7049e fix TypeError when iterating discussion_messages
When `pr-agent` is reviewing a long list of messages, a TypeError is thrown on the line

```python
for message in reversed(discussion_messages):
```

When reviewing the PyGithub library, the recommend an alternate syntax for iterating a paginated list in reverse.

https://github.com/PyGithub/PyGithub/blob/v1.59.0/github/PaginatedList.py#L122-L125

```
    If you want to iterate in reversed order, just do::

        for repo in user.get_repos().reversed:
            print(repo.name)
```

And here's a copy of the actual traceback

```
Traceback (most recent call last):
  File "/app/pr_agent/servers/github_action_runner.py", line 68, in <module>
    asyncio.run(run_action())
  File "/usr/local/lib/python3.10/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/usr/local/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete
    return future.result()
  File "/app/pr_agent/servers/github_action_runner.py", line 64, in run_action
    await PRAgent().handle_request(pr_url, body)
  File "/app/pr_agent/agent/pr_agent.py", line 19, in handle_request
    await PRReviewer(pr_url, is_answer=True).review()
  File "/app/pr_agent/tools/pr_reviewer.py", line 49, in __init__
    answer_str, question_str = self._get_user_answers()
  File "/app/pr_agent/tools/pr_reviewer.py", line 253, in _get_user_answers
    for message in reversed(discussion_messages):
TypeError: object of type 'PaginatedList' has no len()
```
2023-07-28 11:04:46 +02:00
6fde87b3bd Merge pull request #152 from Codium-ai/tr/gitlab_fixes
Improvements and Error Handling for GitLab Provider
2023-07-28 11:40:53 +03:00
07fe91e57b Update CHANGELOG.md 2023-07-28 08:39:42 +00:00
01e2f3f0cd Merge pull request #150 from Codium-ai/ok/handle_installation_id_properly
Github App: handle concurrent requests from multiple installations of app
2023-07-28 11:38:14 +03:00
63a703c000 Handle marketplace hook 2023-07-28 11:30:51 +03:00
4664d91844 bug fixes in gitlab code suggestion 2023-07-28 11:24:14 +03:00
8f16c46012 try-except 2023-07-28 10:52:49 +03:00
a8780f722d Handle marketplace hook 2023-07-28 03:22:25 +03:00
1a8fce1505 Updated handling of installation id 2023-07-28 02:44:28 +03:00
8519b106f9 Updated .gitignore 2023-07-28 02:28:50 +03:00
d375dd62fe Merge pull request #141 from patryk-kowalski-ds/pg/pip_package
Transition to pip package with pyproject.toml
2023-07-28 02:23:06 +03:00
3770bf8031 Update setup.py 2023-07-28 02:22:38 +03:00
5c527eca66 Merge remote-tracking branch 'origin/main' into pg/pip_package 2023-07-28 02:19:04 +03:00
b4ca52c7d8 updated Dockerfile.github_action 2023-07-28 02:18:12 +03:00
a78d741292 updated pyproject.toml 2023-07-28 02:09:01 +03:00
42388b1f8d Merge pull request #146 from idavidov/idsvidov/gitlabpaginator_fix
Fix for GitLab Paginator in GitLab Provider
2023-07-28 02:01:04 +03:00
0167003bbc handle no diffs 2023-07-28 01:59:10 +03:00
2ce91fbdf5 Merge pull request #148 from eltociear/patch-1
Fix typo in PR_COMPRESSION.md
2023-07-28 01:50:30 +03:00
aa7659d6bf Fix typo in PR_COMPRESSION.md
Withing -> Within
2023-07-28 00:18:58 +09:00
4aa54b9bd4 Add /describe -c option 2023-07-27 17:42:50 +03:00
c6d0bacc08 Match styling of both /describe modes 2023-07-27 17:31:31 +03:00
99ed9b22a1 latest documentation suggest get_all not all
https://python-gitlab.readthedocs.io/en/stable/api-usage.html#pagination
2023-07-27 15:39:19 +03:00
eee6d51b40 issue #145
get all diffs in merge request and not only gitlab default 20
2023-07-27 14:41:36 +03:00
a50e137bba Merge pull request #133 from idavidov/idavidov/github-ratelimit-message
Handling GitHub API Rate Limit Exceeded Exception
2023-07-27 14:22:11 +03:00
92c0522f4d Merge pull request #144 from Codium-ai/tr/readme_update
Update README with 'Why use PR-Agent?' section
2023-07-27 10:43:56 +03:00
6a72df2981 Merge pull request #139 from Codium-ai/tr/changelog
Add feature to update CHANGELOG.md based on PR content
2023-07-27 09:04:48 +03:00
808ca48605 if not self.commit_changelog: 2023-07-27 08:48:39 +03:00
c827cbc0ae final touches 2023-07-27 08:47:26 +03:00
48fcb46d4f Delete CHANGELOG.md 2023-07-27 08:46:14 +03:00
66b94599ec Update CHANGELOG.md 2023-07-27 08:45:33 +03:00
231efb33c1 add CHANGELOG.md 2023-07-27 08:43:29 +03:00
eb798dae6f Why use PR-Agent
Why use PR-Agent
2023-07-27 08:25:05 +03:00
52576c79b3 Update CHANGELOG.md 2023-07-26 20:40:28 +03:00
cce2a79a1f add CHANGELOG.md 2023-07-26 20:40:15 +03:00
413e5f6d77 general 2023-07-26 20:37:38 +03:00
09ca848d4c Merge remote-tracking branch 'origin/tr/changelog' into tr/changelog 2023-07-26 20:33:32 +03:00
801923789b final 2023-07-26 20:33:21 +03:00
cfb696dfd5 Delete CHANGELOG.md 2023-07-26 20:09:18 +03:00
2e7a0a88fa Update CHANGELOG.md 2023-07-26 20:08:29 +03:00
1dbbafc30a add CHANGELOG.md 2023-07-26 20:08:06 +03:00
d8eae7faab Delete CHANGELOG.md 2023-07-26 20:06:23 +03:00
14eceb6e61 PRUpdateChangelog 2023-07-26 20:05:18 +03:00
884317c4f7 stable 2023-07-26 20:03:22 +03:00
c5f4b229b8 Merge pull request #142 from patryk-kowalski-ds/pk/local-git-provider-impvs
Improvements to Local Git Provider
2023-07-26 19:18:35 +03:00
5a2a17ec25 Merge pull request #140 from Codium-ai/tr/enhance_review
Enhancement of PRReviewer class in pr_reviewer.py
2023-07-26 17:32:15 +03:00
1bd47b0d53 enhance pr_reviewer.py code 2023-07-26 17:24:03 +03:00
7531ccd31f stable 2023-07-26 16:29:42 +03:00
3b19827ae2 Add validation for repository path 2023-07-26 15:29:09 +02:00
ea6e1811c1 Fixed PR title - should be feature branch name, not target branch name 2023-07-26 14:15:50 +02:00
bc2cf75b76 Use pyproject.toml to install dependencies instead of requirements.txt. Fix incorrect mangum version 2023-07-26 09:14:24 +02:00
9e1e0766b7 Set python min version to 3.10 2023-07-26 09:13:54 +02:00
ccde68293f Update README.md 2023-07-26 10:09:01 +03:00
99d53af28d Update CHANGELOG.md 2023-07-26 09:50:21 +03:00
5ea607be58 Add package setup 2023-07-26 08:48:12 +02:00
e3846a480e s 2023-07-26 09:21:31 +03:00
a60a58794c Merge pull request #132 from Codium-ai/tr/code_enhancment
Enhancement of GitHub Webhook and Polling Server
2023-07-26 07:24:46 +03:00
8ae5faca53 Fix cyclic dependency 2023-07-25 16:52:18 +03:00
28d6adf62a Quick fix for github action 2023-07-25 16:41:29 +03:00
1229fba346 + settings.github.ratelimit_retries setup in configuration.toml 2023-07-25 16:37:13 +03:00
59a59ebf66 Quick fix for github action 2023-07-25 16:36:58 +03:00
36ab12c486 Merge pull request #136 from Codium-ai/ok/handle_sub_group
Handle subgroup in GitLab merge request URL parsing
2023-07-25 16:15:35 +03:00
0254e3d04a Merge pull request #128 from patryk-kowalski-ds/deepsense.ai/local-git-provider
Add Local Git Provider Support
2023-07-25 16:15:02 +03:00
f6036e936e + settings.github.ratelimit_retries setup in configuration.toml 2023-07-25 15:23:40 +03:00
10a07e497d Handle sub group in gitlab MR URLs 2023-07-25 15:15:51 +03:00
3b334805ee still need GithubException.RateLimitExceededException in pr_processing.py for correct exception catch 2023-07-25 15:14:56 +03:00
b6f6c903a0 moved @retry to github_provider.py and fetch number of retries from settings 2023-07-25 15:12:02 +03:00
55637a5620 added retry decorator similar to used in ai_handler following @okotek suggestion 2023-07-25 14:42:54 +03:00
404cc0a00e small change to show message and fail 2023-07-25 14:20:20 +03:00
0815e2024c - Replaced two dot diff with three dot diff. Cleaned up obsolete code linked to double dot diff.
- Moved target_branch_existence assertion to _prepare_repo method
- Renamed branch_name -> target_branch_name
- Simplified get_files method
2023-07-25 13:07:21 +02:00
41dcb75e8e Merge pull request #134 from Codium-ai/ok/gitlat_use_oauth
Use OAuth token for GitLab API
2023-07-25 14:04:50 +03:00
d23daf880f Change gitlab API to use oauth_token instead of PAT (PAT shuold work as well) 2023-07-25 13:58:48 +03:00
d1a8a610e9 Revert "show how much time until rate limit reset"
This reverts commit 8f482cd41a.
2023-07-25 13:38:55 +03:00
918549a4fc Implementing 'is_supported' method 2023-07-25 12:35:39 +02:00
8f482cd41a show how much time until rate limit reset
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-25 13:23:19 +03:00
34096059ff quick and dirty response for github API ratelimit, until some smart solution will be implemented 2023-07-25 13:05:56 +03:00
2dfbfec8c2 refactor 2023-07-24 19:48:24 +03:00
6170995665 replaced hardcoded main with actual target_branch name' 2023-07-24 16:59:07 +02:00
ca42a54bc3 Update pr_agent/git_providers/local_git_provider.py
Co-authored-by: Ori Kotek <orikotek@gmail.com>
2023-07-24 16:47:05 +02:00
c0610afe2a Update pr_agent/git_providers/local_git_provider.py
Co-authored-by: Ori Kotek <orikotek@gmail.com>
2023-07-24 16:46:46 +02:00
d4cbcc465c Update pr_agent/git_providers/local_git_provider.py
Co-authored-by: Ori Kotek <orikotek@gmail.com>
2023-07-24 16:46:36 +02:00
adb3f17258 Merge pull request #131 from Codium-ai/ok/gitlab_webook
GitLab Webhook Integration and Provider Enhancements
2023-07-24 16:01:17 +03:00
2c03a67312 Add labels 2023-07-24 16:00:51 +03:00
55eb741965 Merge pull request #125 from Codium-ai/tr/code_enhancment
Code Enhancement in PR Agent
2023-07-24 15:37:53 +03:00
8e6518f071 Added GitPython to requirements. Changed default review path (aesthetics) 2023-07-24 14:28:37 +02:00
c9c95d60d4 Implement gitlab webhook 2023-07-24 15:05:24 +03:00
02ecaa340f Local Git Provider Implementation 2023-07-24 12:49:57 +02:00
cca809e91c run_action 2023-07-24 12:45:24 +03:00
57ff46ecc1 stable 2023-07-24 12:41:00 +03:00
3819d52eb0 Merge remote-tracking branch 'origin/tr/code_enhancment' into tr/code_enhancment 2023-07-24 12:15:17 +03:00
3072325d2c PRDescription 2023-07-24 12:14:53 +03:00
abca2fdcb7 Merge remote-tracking branch 'origin/main' into tr/code_enhancment 2023-07-24 12:04:54 +03:00
4d84f76948 _get_prediction 2023-07-24 11:31:35 +03:00
dd8f6eb923 Merge pull request #126 from Codium-ai/ok/preserve_labels
Add functionality to preserve existing labels in PRs
2023-07-24 10:22:51 +03:00
b9c25e487a On /describe, preserve the current labels 2023-07-24 10:17:26 +03:00
1bf27c38a7 _prepare_pr_answer 2023-07-24 09:15:45 +03:00
1f987380ed Merge pull request #124 from Xyand/bugfix/mising_model
Bugfix - missing function argument
2023-07-24 07:36:21 +03:00
cd8bbbf889 bugfix 2023-07-24 00:58:21 +03:00
8e5498ee97 Merge pull request #122 from Codium-ai/update-readme-gifs-2
Update README.md
2023-07-23 17:40:26 +03:00
0412d7aca0 Update README.md 2023-07-23 17:38:08 +03:00
1eac3245d9 Merge pull request #121 from Codium-ai/update-gifs
Update GIF URLs in README
2023-07-23 17:33:47 +03:00
cd51bef7f7 Merge pull request #119 from zmeir/zmeir-code_suggestions_single_api_call
Optimize Code Suggestions API Calls
2023-07-23 17:30:37 +03:00
e8aa33fa0b Update README.md 2023-07-23 17:27:26 +03:00
54b021b02c Merge pull request #120 from Codium-ai/ok/remove_gitlab_polling
Temporarily remove gitlab polling server until a rewrite is ready
2023-07-23 17:07:59 +03:00
32151e3d9a Temporarily remove gitlab polling server until a rewrite is ready 2023-07-23 17:04:41 +03:00
32358678e6 Reduce the number of GitHub API calls when pushing code suggestions 2023-07-23 16:59:08 +03:00
42e32664a1 Merge pull request #118 from Codium-ai/ok/fallback_models
Handling exceptions in fallback models
2023-07-23 16:43:30 +03:00
1e97236a15 Add support for fallback models 2023-07-23 16:39:25 +03:00
321f7bce46 Merge pull request #117 from Codium-ai/ok/fallback_models
Implementing Fallback Models for Tokenization
2023-07-23 16:20:10 +03:00
02a1d8dbfc Add support for fallback models 2023-07-23 16:16:36 +03:00
e34f9d8d1c Merge pull request #116 from Codium-ai/fix-describe-gif
Fix describe gif
2023-07-23 14:18:21 +03:00
35dac012bd Update README.md 2023-07-23 14:17:27 +03:00
21ced18f50 Merge pull request #115 from Codium-ai/ok/readme_update
Update Installation Instructions in README
2023-07-23 13:42:06 +03:00
fca78cf395 Merge pull request #114 from Codium-ai/update-readme-gifs
Update README GIFs
2023-07-23 13:33:27 +03:00
d1b91b0ea3 Update INSTALL.md 2023-07-23 13:03:44 +03:00
76e00acbdb Update INSTALL.md 2023-07-23 13:02:32 +03:00
2f83e7738c Update README.md gifs 2023-07-23 12:06:04 +03:00
f4a226b0f7 Merge pull request #113 from Codium-ai/tr/cli_refactor
Refactoring CLI Commands Handling
2023-07-23 08:37:26 +03:00
f5e2838fc3 refactor 2023-07-21 22:12:51 +03:00
bbdfd2c3d4 Merge pull request #108 from patryk-kowalski-ds/deepsense.ai/configurable-language-extensions
Configurable Language Extensions
2023-07-21 21:47:52 +03:00
74572e1768 Update action.yaml 2023-07-20 22:02:08 +03:00
f0a17b863c Merge remote-tracking branch 'origin/main' 2023-07-20 22:00:24 +03:00
86fd84e113 Update action name 2023-07-20 22:00:17 +03:00
d5b9be23d3 Merge pull request #110 from linuxlewis/main
Fix TypeError for GitlabProvider
2023-07-20 19:52:43 +03:00
057bb3932f Merge pull request #109 from Codium-ai/mrT23-patch-1
Update README.md
2023-07-20 19:51:51 +03:00
05f29cc406 Fix TypeError for GitlabProvider 2023-07-20 11:49:42 -05:00
63c4c7e584 Merge pull request #90 from zmeir/zmeir-output_progress
Add Option to Control Comment Publishing Progress
2023-07-20 18:48:20 +03:00
1ea23cab96 Merge pull request #105 from Codium-ai/ok/retry_on_rate_limit_error
Retry on Rate Limit Error
2023-07-20 18:31:04 +03:00
e99f9fd59f Update README.md 2023-07-20 17:36:40 +03:00
fdf6a3e833 Merge pull request #107 from Codium-ai/mrT23-patch-1
Update README.md
2023-07-20 16:49:20 +03:00
79cb94b4c2 Add use_extra_bad_extensions to configuration.toml 2023-07-20 15:41:03 +02:00
9adec7cc10 README update 2023-07-20 16:40:14 +03:00
1f0df47b4d Update README.md 2023-07-20 16:39:28 +03:00
a71a12791b Move hard-coded language configurations to a configuration file.
Load this configuration file in the config loader.
2023-07-20 15:37:42 +02:00
23fa834721 Merge pull request #106 from Codium-ai/ok/readme_update
Update README.md
2023-07-20 15:35:12 +03:00
9f67d07156 README update 2023-07-20 15:32:16 +03:00
6731a7643e README update 2023-07-20 15:31:35 +03:00
f87fdd88ad README update 2023-07-20 15:29:46 +03:00
f825f6b90a README update 2023-07-20 15:29:46 +03:00
f5d5008a24 README update 2023-07-20 15:29:46 +03:00
0b63d4cde5 README update 2023-07-20 15:29:46 +03:00
2e246869d0 Retry on rate limit error on OpenAI calls 2023-07-20 15:02:34 +03:00
2f9546e144 Retry on rate limit error on OpenAI calls 2023-07-20 15:01:12 +03:00
6134c2ff61 Merge remote-tracking branch 'origin/main' 2023-07-20 14:56:24 +03:00
3cfbba74f8 Fix README 2023-07-20 14:56:14 +03:00
050bb60671 Merge pull request #103 from Codium-ai/mrT23-patch-1
Update README.md
2023-07-20 14:39:55 +03:00
12a7e1ce6e Update README.md 2023-07-20 12:09:58 +03:00
cd0438005b Merge pull request #101 from Codium-ai/tr/docstring
Adding Docstrings to Python Files
2023-07-20 11:53:17 +03:00
7c3188ae06 Merge pull request #102 from Codium-ai/hl/question_fix
Refactoring Question Handling in CLI
2023-07-20 11:18:00 +03:00
6cd38a37cd fix question cli 2023-07-20 11:10:34 +03:00
12e51bb6aa Merge remote-tracking branch 'origin/main' into tr/docstring 2023-07-20 10:54:53 +03:00
e2a4cd6b03 docstring 2023-07-20 10:51:21 +03:00
329e228aa2 Merge pull request #100 from Codium-ai/tr/describe_labels
Enhancement of Code Review Functionality
2023-07-19 21:32:28 +03:00
3d5d517f2a code suggestions 2023-07-19 20:57:14 +03:00
a2eb2e4dac Update pr_agent/git_providers/github_provider.py 2023-07-19 20:31:10 +03:00
d89792d379 PR Type label 2023-07-19 20:25:54 +03:00
23ed2553c4 Update README.md 2023-07-19 18:42:21 +03:00
fe29ce2911 Update README.md 2023-07-19 18:33:38 +03:00
df25a3ede2 typo 2023-07-19 18:22:26 +03:00
4c36fb4df2 args bug 2023-07-19 18:18:18 +03:00
67c61e0ac8 Update help 2023-07-19 17:27:12 +03:00
0985db4e36 Update help 2023-07-19 17:20:26 +03:00
ee2c00abeb split(" ") -> split() 2023-07-19 17:14:55 +03:00
577f24d107 Merge pull request #89 from zmeir/zmeir-review_score
Add Score Review Feature
2023-07-19 17:07:05 +03:00
fc24b34c2b Merge pull request #96 from Codium-ai/ok/update_readme
Update INSTALL.md with additional information on handling secrets
2023-07-19 17:05:12 +03:00
1e962476da Merge pull request #94 from Codium-ai/hl/incremental_review
Add Incremental Review /review -i
2023-07-19 17:02:38 +03:00
3326327572 More refactoring.... 2023-07-19 17:01:56 +03:00
36be79ea38 ignore merge from main 2023-07-19 16:14:59 +03:00
523839be7d Merge commit 'd1586ddd77b86f0d3b29aee3370f29624799e388' into hl/incremental_review 2023-07-19 16:14:33 +03:00
d1586ddd77 Merge pull request #97 from Codium-ai/mrT23-patch-1
Update utils.py
2023-07-19 15:32:41 +03:00
3420853923 Merge pull request #98 from Codium-ai/hl/update_readme
Update README.md
2023-07-19 15:32:06 +03:00
1f373d7b0a Update README.md 2023-07-19 15:31:29 +03:00
7fdbd6a680 Update utils.py 2023-07-19 15:12:50 +03:00
17b40a1fa1 Merge commit '7abbe08ff15d31c7e20de6d88638bfe27430c2f4' into hl/incremental_review 2023-07-19 14:24:44 +03:00
c47e74c5c7 Merge commit '5bc2ef1eff1f570779191a8f3c7a562f5b8fe230' into hl/incremental_review 2023-07-19 14:24:01 +03:00
7abbe08ff1 Merge pull request #95 from Codium-ai/tr/disable_review_suggestiosn
disable code suggestions by default for review
2023-07-19 14:23:54 +03:00
8038b6ab99 refactor and clean 2023-07-19 14:22:34 +03:00
6e26ad0966 Merge branch 'main' into zmeir-review_score 2023-07-19 13:37:55 +03:00
7e2449b228 Changed score type to int 2023-07-19 13:37:35 +03:00
97bfee47a3 minor fixes 2023-07-19 11:34:55 +03:00
3b27c834a4 Merge remote-tracking branch 'origin/main' into ok/update_readme 2023-07-19 11:14:44 +03:00
5bc2ef1eff Merge pull request #92 from YuviGold/deploy-on-lambda
Deployment on AWS Lambda
2023-07-19 11:12:29 +03:00
2f558006bf Update INSTALL.md, add notes about injecting secrets 2023-07-19 11:09:35 +03:00
8868c92141 Merge branch 'main' into zmeir-review_score 2023-07-19 11:05:24 +03:00
370520df51 Update docker/Dockerfile.lambda
have a fixed mangum version

Co-authored-by: Ori Kotek <orikotek@gmail.com>
2023-07-19 11:05:24 +03:00
e17dd66dce Disable score review by default 2023-07-19 11:00:28 +03:00
fc8494d696 Rephrase score description in promt 2023-07-19 10:59:52 +03:00
f8aea909b4 Add example output 2023-07-19 10:57:35 +03:00
2e832b8fb4 Merge pull request #86 from Codium-ai/GadiZimerman-patch-1
Update README.md
2023-07-19 10:51:31 +03:00
ccddbeccad num_code_suggestions=0 for review 2023-07-19 09:34:17 +03:00
a47fa342cb Merge pull request #88 from zmeir/zmeir-cli_args
CLI Arguments Refactoring
2023-07-19 08:15:19 +03:00
f73cddcb93 Change Review title when 2023-07-19 01:03:47 +03:00
5f36f0d753 Merge commit 'bdf7eff7cd0a8894c3e66e49bdf89f27da1bfcb4' into hl/incremental_review 2023-07-18 23:28:43 +03:00
dc4bf13d39 Add Incremental Review 2023-07-18 23:14:47 +03:00
bdf7eff7cd Merge pull request #87 from Codium-ai/tr/bug_fix
Add Insights from User's Answers and Fix User Answers Fetching
2023-07-18 18:20:15 +03:00
dc67e6a66e Support deploying pr-agent on AWS Lambda 2023-07-18 17:46:42 +03:00
6d91f44634 Added configuration option to control publishing review progress
This can be useful in a few situations:
1. To reduce the number of GitHub API calls (thus avoiding hitting the rate limit)
2. When the trigger for the agent is an external process (e.g. some external CI job), so there is no need to publish a message like "preparing review..." because it's not a part of a natual conversation with the user
2023-07-18 16:41:58 +03:00
0396e10706 Add configuration to request a score for the PR
This can help teams compare the review of the PR agent with that of a human reviewer, and fine-tune a score threshold for automatic approval where they decide the agent's review is satisfactory.
2023-07-18 16:40:35 +03:00
77f243b7ab Allow passing CLI args (helps with debugging) 2023-07-18 16:39:46 +03:00
c507785475 bugfix 2023-07-18 16:32:51 +03:00
5c5015b267 Update README.md 2023-07-18 14:45:15 +03:00
3efe08d619 Merge pull request #85 from Codium-ai/hl/always_filer_bad_extensions
Filter out bad files before getting their head and original source code and diff
2023-07-18 13:50:25 +03:00
2e36fce4eb Merge pull request #83 from Codium-ai/hl/gitlab_description
Support describe for Gitlab
2023-07-18 13:47:32 +03:00
d6d4427545 Merge pull request #84 from Codium-ai/GadiZimerman-patch-1
Update README.md
2023-07-18 13:37:43 +03:00
5d45632247 Performance improvement: Filter out bad files before getting their head and original source code and diff 2023-07-18 13:33:32 +03:00
90c045e3d0 Update README.md
changing image
2023-07-18 13:26:19 +03:00
7f0a96d8f7 readme 2023-07-18 13:17:30 +03:00
8fb9affef3 add try catch 2023-07-18 13:14:01 +03:00
6c42a471e1 Merge pull request #76 from zmeir/zmeir-publish_inline_comments_single_api_call
Optimization of Inline Comments Publishing
2023-07-18 13:05:11 +03:00
f2b74b6970 support gitlab describe function 2023-07-18 13:03:36 +03:00
ffd11aeffc Merge pull request #81 from Codium-ai/GadiZimerman-patch-1
Update README.md
2023-07-18 12:55:26 +03:00
05e4e09dfc Lint 2023-07-18 12:27:28 +03:00
13092118dc Move the new git provider function to the abstract interface 2023-07-18 12:26:49 +03:00
7d108992fc Merge remote-tracking branch 'origin/main' into zmeir-publish_inline_comments_single_api_call 2023-07-18 11:53:41 +03:00
e5a8ed205e Merge pull request #82 from Codium-ai/ok/lint
Linting and Code Cleanup
2023-07-18 11:40:43 +03:00
90f97b0226 Lint fixes 2023-07-18 11:34:57 +03:00
9e0f5f0ccc Merge pull request #78 from Codium-ai/tr/agent_logic
Enhancement of PR Agent with User Interaction
2023-07-18 10:37:08 +03:00
87ea0176b9 Update README.md 2023-07-18 10:36:05 +03:00
62f08f4ec4 removed an unneeded file 2023-07-18 10:35:05 +03:00
fe0058f25f Merge branch 'tr/agent_logic' of github.com:Codium-ai/pr-agent into tr/agent_logic 2023-07-18 10:34:40 +03:00
6d2673f39d Merge remote-tracking branch 'origin/tr/agent_logic' into tr/agent_logic 2023-07-18 10:32:43 +03:00
b3a1d456b2 if settings.pr_reviewer.num_code_suggestions 2023-07-18 10:32:36 +03:00
f77a5f6929 Call PRAgent from github_action_runner.py 2023-07-18 10:31:24 +03:00
fdeae9c209 Update pr_agent/agent/pr_agent.py 2023-07-18 10:20:52 +03:00
a994ec1427 Call PRAgent from github_action_runner.py 2023-07-18 10:19:32 +03:00
e5259e2f5c Small refactor 2023-07-18 10:17:09 +03:00
978348240b Update README.md 2023-07-18 09:59:47 +03:00
4d92e7d9c2 Update README.md
consider changing section headers to reflect commands format
2023-07-18 09:56:40 +03:00
6f1b418b25 Merge pull request #79 from patryk-kowalski-ds/deepsense.ai/gitlab-provider-file-creation-handling
Fixes 404 error on gitlab file provider happening in case a MR introduced a new file.
2023-07-18 08:27:59 +03:00
51e08c3c2b reflect and review + protections 2023-07-18 08:22:25 +03:00
4c29ff2db1 Merge remote-tracking branch 'origin/tr/agent_logic' into tr/agent_logic
# Conflicts:
#	pr_agent/tools/pr_description.py
2023-07-18 08:06:47 +03:00
5fbaa4366f publish_output instead publish_review 2023-07-18 08:05:42 +03:00
aee08ebbfe Merge branch 'main' into tr/agent_logic 2023-07-18 08:04:47 +03:00
6ad8df6be7 Merge pull request #80 from Codium-ai/ok/remove_pics
Remove most pics from repo
2023-07-17 23:51:24 +03:00
539edcad3c works 2023-07-17 16:53:38 +03:00
b7172df700 Remove most pics from repo 2023-07-17 16:52:23 +03:00
768bd40ad8 Remove most pics from repo 2023-07-17 16:50:27 +03:00
ea27c63f13 Insights from user's answers 2023-07-17 15:59:57 +03:00
c866288b0a Merge remote-tracking branch 'origin/main' into tr/agent_logic 2023-07-17 15:59:37 +03:00
8ae3c60670 In case of new file creation by the MR there is a 404 error on file retrieval by gitlab provider.
It was handled by catching the error and replacing the file string with an empty string.
Type checking was added before byte decoding - necessary in case of the empty string.
2023-07-17 14:53:23 +02:00
f8f415eb75 stable 2023-07-17 15:49:29 +03:00
24583b05f7 Publish GitHub review comments with single API call 2023-07-17 10:41:02 +03:00
fa421fd169 Merge pull request #75 from Codium-ai/bugfix/rename_get_description
get_description was removed
2023-07-17 10:32:01 +03:00
e0ae5c945e get_description was removed 2023-07-17 10:30:44 +03:00
865888e4e8 Merge pull request #74 from Codium-ai/update-gifs
Update GIFs
2023-07-17 09:35:06 +03:00
3b7cfe7bc5 Merge pull request #73 from Codium-ai/hl/clean_comments
Clean comments
2023-07-17 09:33:49 +03:00
262f9dddbc Merge pull request #72 from Codium-ai/tr/minor_fixes
Minor fixes
2023-07-17 09:33:18 +03:00
fa706b6e96 update gifs 2023-07-17 09:30:45 +03:00
ff51ab0946 Add files via upload 2023-07-17 09:27:41 +03:00
7884aa2348 Clean 2023-07-17 09:25:38 +03:00
8f3520807c minor fixes
minor fixes
2023-07-17 08:42:18 +03:00
fa90b242e3 pr_information_from_user_prompts 2023-07-17 08:09:56 +03:00
2dfd34bd61 Merge pull request #71 from Codium-ai/Minor-spelling-fix
Minor Spelling Fix
2023-07-17 08:08:45 +03:00
48f569bef0 Update README.md 2023-07-17 02:39:58 +03:00
a20fb9cc0c Merge pull request #70 from Codium-ai/hl/gitlab_code_suggestion
GitLab Code Suggestions Integration
2023-07-17 02:11:30 +03:00
215 changed files with 22778 additions and 2067 deletions

View File

@ -1,2 +1,5 @@
venv/
pr_agent/settings/.secrets.toml
pr_agent/settings/.secrets.toml
pics/
pr_agent.egg-info/
build/

39
.github/workflows/build-and-test.yaml vendored Normal file
View File

@ -0,0 +1,39 @@
name: Build-and-test
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- id: checkout
uses: actions/checkout@v2
- id: dockerx
name: Setup Docker Buildx
uses: docker/setup-buildx-action@v2
- id: build
name: Build dev docker
uses: docker/build-push-action@v2
with:
context: .
file: ./docker/Dockerfile
push: false
load: true
tags: codiumai/pr-agent:test
cache-from: type=gha,scope=dev
cache-to: type=gha,mode=max,scope=dev
target: test
- id: test
name: Test dev docker
run: |
docker run --rm codiumai/pr-agent:test pytest -v tests/unittest

54
.github/workflows/code_coverage.yaml vendored Normal file
View File

@ -0,0 +1,54 @@
name: Code-coverage
on:
workflow_dispatch:
# push:
# branches:
# - main
pull_request:
branches:
- main
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- id: checkout
uses: actions/checkout@v2
- id: dockerx
name: Setup Docker Buildx
uses: docker/setup-buildx-action@v2
- id: build
name: Build dev docker
uses: docker/build-push-action@v2
with:
context: .
file: ./docker/Dockerfile
push: false
load: true
tags: codiumai/pr-agent:test
cache-from: type=gha,scope=dev
cache-to: type=gha,mode=max,scope=dev
target: test
- id: code_cov
name: Test dev docker
run: |
docker run --name test_container codiumai/pr-agent:test pytest tests/unittest --cov=pr_agent --cov-report term --cov-report xml:coverage.xml
docker cp test_container:/app/coverage.xml coverage.xml
docker rm test_container
- name: Validate coverage report
run: |
if [ ! -f coverage.xml ]; then
echo "Coverage report not found"
exit 1
fi
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4.0.1
with:
token: ${{ secrets.CODECOV_TOKEN }}

33
.github/workflows/docs-ci.yaml vendored Normal file
View File

@ -0,0 +1,33 @@
name: docs-ci
on:
push:
branches:
- main
- add-docs-portal
paths:
- docs/**
permissions:
contents: write
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Configure Git Credentials
run: |
git config user.name github-actions[bot]
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
- uses: actions/setup-python@v5
with:
python-version: 3.x
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
- uses: actions/cache@v4
with:
key: mkdocs-material-${{ env.cache_id }}
path: .cache
restore-keys: |
mkdocs-material-
- run: pip install mkdocs-material
- run: pip install "mkdocs-material[imaging]"
- run: pip install mkdocs-glightbox
- run: mkdocs gh-deploy -f docs/mkdocs.yml --force

46
.github/workflows/e2e_tests.yaml vendored Normal file
View File

@ -0,0 +1,46 @@
name: PR-Agent E2E tests
on:
workflow_dispatch:
# schedule:
# - cron: '0 0 * * *' # This cron expression runs the workflow every night at midnight UTC
jobs:
pr_agent_job:
runs-on: ubuntu-latest
name: PR-Agent E2E GitHub App Test
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v2
- id: build
name: Build dev docker
uses: docker/build-push-action@v2
with:
context: .
file: ./docker/Dockerfile
push: false
load: true
tags: codiumai/pr-agent:test
cache-from: type=gha,scope=dev
cache-to: type=gha,mode=max,scope=dev
target: test
- id: test1
name: E2E test github app
run: |
docker run -e GITHUB.USER_TOKEN=${{ secrets.TOKEN_GITHUB }} --rm codiumai/pr-agent:test pytest -v tests/e2e_tests/test_github_app.py
- id: test2
name: E2E gitlab webhook
run: |
docker run -e gitlab.PERSONAL_ACCESS_TOKEN=${{ secrets.TOKEN_GITLAB }} --rm codiumai/pr-agent:test pytest -v tests/e2e_tests/test_gitlab_webhook.py
- id: test3
name: E2E bitbucket app
run: |
docker run -e BITBUCKET.USERNAME=${{ secrets.BITBUCKET_USERNAME }} -e BITBUCKET.PASSWORD=${{ secrets.BITBUCKET_PASSWORD }} --rm codiumai/pr-agent:test pytest -v tests/e2e_tests/test_bitbucket_app.py

32
.github/workflows/pr-agent-review.yaml vendored Normal file
View File

@ -0,0 +1,32 @@
# This workflow enables developers to call PR-Agents `/[actions]` in PR's comments and upon PR creation.
# Learn more at https://www.codium.ai/pr-agent/
# This is v0.2 of this workflow file
name: PR-Agent
on:
# pull_request:
# issue_comment:
workflow_dispatch:
permissions:
issues: write
pull-requests: write
jobs:
pr_agent_job:
runs-on: ubuntu-latest
name: Run pr agent on every pull request
steps:
- name: PR Agent action step
id: pragent
uses: Codium-ai/pr-agent@main
env:
OPENAI_KEY: ${{ secrets.OPENAI_KEY }}
OPENAI_ORG: ${{ secrets.OPENAI_ORG }} # optional
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PINECONE.API_KEY: ${{ secrets.PINECONE_API_KEY }}
PINECONE.ENVIRONMENT: ${{ secrets.PINECONE_ENVIRONMENT }}
GITHUB_ACTION_CONFIG.AUTO_DESCRIBE: true
GITHUB_ACTION_CONFIG.AUTO_REVIEW: true
GITHUB_ACTION_CONFIG.AUTO_IMPROVE: true

17
.github/workflows/pre-commit.yml vendored Normal file
View File

@ -0,0 +1,17 @@
# disabled. We might run it manually if needed.
name: pre-commit
on:
workflow_dispatch:
# pull_request:
# push:
# branches: [main]
jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v5
# SEE https://github.com/pre-commit/action
- uses: pre-commit/action@v3.0.1

View File

@ -1,16 +0,0 @@
on:
pull_request:
issue_comment:
jobs:
pr_agent_job:
runs-on: ubuntu-latest
name: Run pr agent on every pull request
steps:
- name: PR Agent action step
id: pragent
uses: Codium-ai/pr-agent@main
env:
OPENAI_KEY: ${{ secrets.OPENAI_KEY }}
OPENAI_ORG: ${{ secrets.OPENAI_ORG }} # optional
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

11
.gitignore vendored
View File

@ -1,4 +1,13 @@
.idea/
.lsp/
.vscode/
.env
venv/
pr_agent/settings/.secrets.toml
__pycache__
__pycache__
dist/
*.egg-info/
build/
.DS_Store
docs/.cache/
.qodo

3
.pr_agent.toml Normal file
View File

@ -0,0 +1,3 @@
[pr_reviewer]
enable_review_labels_effort = true
enable_auto_approval = true

46
.pre-commit-config.yaml Normal file
View File

@ -0,0 +1,46 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
default_language_version:
python: python3
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: check-added-large-files
- id: check-toml
- id: check-yaml
- id: end-of-file-fixer
- id: trailing-whitespace
# - repo: https://github.com/rhysd/actionlint
# rev: v1.7.3
# hooks:
# - id: actionlint
- repo: https://github.com/pycqa/isort
# rev must match what's in dev-requirements.txt
rev: 5.13.2
hooks:
- id: isort
# - repo: https://github.com/PyCQA/bandit
# rev: 1.7.10
# hooks:
# - id: bandit
# args: [
# "-c", "pyproject.toml",
# ]
# - repo: https://github.com/astral-sh/ruff-pre-commit
# rev: v0.7.1
# hooks:
# - id: ruff
# args:
# - --fix
# - id: ruff-format
# - repo: https://github.com/PyCQA/autoflake
# rev: v2.3.1
# hooks:
# - id: autoflake
# args:
# - --in-place
# - --remove-all-unused-imports
# - --remove-unused-variables

45
CHANGELOG.md Normal file
View File

@ -0,0 +1,45 @@
## 2023-08-03
### Optimized
- Optimized PR diff processing by introducing caching for diff files, reducing the number of API calls.
- Refactored `load_large_diff` function to generate a patch only when necessary.
- Fixed a bug in the GitLab provider where the new file was not retrieved correctly.
## 2023-08-02
### Enhanced
- Updated several tools in the `pr_agent` package to use commit messages in their functionality.
- Commit messages are now retrieved and stored in the `vars` dictionary for each tool.
- Added a section to display the commit messages in the prompts of various tools.
## 2023-08-01
### Enhanced
- Introduced the ability to retrieve commit messages from pull requests across different git providers.
- Implemented commit messages retrieval for GitHub and GitLab providers.
- Updated the PR description template to include a section for commit messages if they exist.
- Added support for repository-specific configuration files (.pr_agent.yaml) for the PR Agent.
- Implemented this feature for both GitHub and GitLab providers.
- Added a new configuration option 'use_repo_settings_file' to enable or disable the use of a repo-specific settings file.
## 2023-07-30
### Enhanced
- Added the ability to modify any configuration parameter from 'configuration.toml' on-the-fly.
- Updated the command line interface and bot commands to accept configuration changes as arguments.
- Improved the PR agent to handle additional arguments for each action.
## 2023-07-28
### Improved
- Enhanced error handling and logging in the GitLab provider.
- Improved handling of inline comments and code suggestions in GitLab.
- Fixed a bug where an additional unneeded line was added to code suggestions in GitLab.
## 2023-07-26
### Added
- New feature for updating the CHANGELOG.md based on the contents of a PR.
- Added support for this feature for the Github provider.
- New configuration settings and prompts for the changelog update feature.

View File

@ -1,18 +0,0 @@
## Configuration
The different tools and sub-tools used by CodiumAI pr-agent are easily configurable via the configuration file: `/pr-agent/settings/configuration.toml`.
##### Git Provider:
You can select your git_provider with the flag `git_provider` in the `config` section
##### PR Reviewer:
You can enable/disable the different PR Reviewer abilities with the following flags (`pr_reviewer` section):
```
require_focused_review=true
require_tests_review=true
require_security_review=true
```
You can contol the number of suggestions returned by the PR Reviewer with the following flag:
```inline_code_comments=3```
And enable/disable the inline code suggestions with the following flag:
```inline_code_comments=true```

View File

@ -1,9 +1,11 @@
FROM python:3.10 as base
FROM python:3.12 as base
WORKDIR /app
ADD pyproject.toml .
ADD requirements.txt .
RUN pip install -r requirements.txt && rm requirements.txt
RUN pip install . && rm pyproject.toml requirements.txt
ENV PYTHONPATH=/app
ADD docs docs
ADD pr_agent pr_agent
ADD github_action/entrypoint.sh /
RUN chmod +x /entrypoint.sh

View File

@ -1,180 +0,0 @@
## Installation
---
#### Method 1: Use Docker image (no installation required)
To request a review for a PR, or ask a question about a PR, you can run directly from the Docker image. Here's how:
1. To request a review for a PR, run the following command:
```
docker run --rm -it -e OPENAI.KEY=<your key> -e GITHUB.USER_TOKEN=<your token> codiumai/pr-agent --pr_url <pr_url> review
```
2. To ask a question about a PR, run the following command:
```
docker run --rm -it -e OPENAI.KEY=<your key> -e GITHUB.USER_TOKEN=<your token> codiumai/pr-agent --pr_url <pr_url> ask "<your question>"
```
Possible questions you can ask include:
- What is the main theme of this PR?
- Is the PR ready for merge?
- What are the main changes in this PR?
- Should this PR be split into smaller parts?
- Can you compose a rhymed song about this PR?
---
#### Method 2: Run as a GitHub Action
You can use our pre-built Github Action Docker image to run PR-Agent as a Github Action.
1. Add the following file to your repository under `.github/workflows/pr_agent.yml`:
```yaml
on:
pull_request:
issue_comment:
jobs:
pr_agent_job:
runs-on: ubuntu-latest
name: Run pr agent on every pull request, respond to user comments
steps:
- name: PR Agent action step
id: pragent
uses: Codium-ai/pr-agent@main
env:
OPENAI_KEY: ${{ secrets.OPENAI_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
```
2. Add the following secret to your repository under `Settings > Secrets`:
```
OPENAI_KEY: <your key>
```
The GITHUB_TOKEN secret is automatically created by GitHub.
3. Merge this change to your main branch.
When you open your next PR, you should see a comment from `github-actions` bot with a review of your PR, and instructions on how to use the rest of the tools.
4. You may configure PR-Agent by adding environment variables under the env section corresponding to any configurable property in the [configuration](./CONFIGURATION.md) file. Some examples:
```yaml
env:
# ... previous environment values
OPENAI.ORG: "<Your organization name under your OpenAI account>"
PR_REVIEWER.REQUIRE_TESTS_REVIEW: "false" # Disable tests review
PR_CODE_SUGGESTIONS.NUM_CODE_SUGGESTIONS: 6 # Increase number of code suggestions
```
---
#### Method 3: Run from source
1. Clone this repository:
```
git clone https://github.com/Codium-ai/pr-agent.git
```
2. Install the requirements in your favorite virtual environment:
```
pip install -r requirements.txt
```
3. Copy the secrets template file and fill in your OpenAI key and your GitHub user token:
```
cp pr_agent/settings/.secrets_template.toml pr_agent/settings/.secrets.toml
# Edit .secrets.toml file
```
4. Run the appropriate Python scripts from the scripts folder:
```
python pr_agent/cli.py --pr_url <pr_url> review
python pr_agent/cli.py --pr_url <pr_url> ask <your question>
python pr_agent/cli.py --pr_url <pr_url> describe
python pr_agent/cli.py --pr_url <pr_url> improve
```
---
#### Method 4: Run as a polling server
Request reviews by tagging your Github user on a PR
Follow steps 1-3 of method 2.
Run the following command to start the server:
```
python pr_agent/servers/github_polling.py
```
---
#### Method 5: Run as a GitHub App
Allowing you to automate the review process on your private or public repositories.
1. Create a GitHub App from the [Github Developer Portal](https://docs.github.com/en/developers/apps/creating-a-github-app).
- Set the following permissions:
- Pull requests: Read & write
- Issue comment: Read & write
- Metadata: Read-only
- Set the following events:
- Issue comment
- Pull request
2. Generate a random secret for your app, and save it for later. For example, you can use:
```
WEBHOOK_SECRET=$(python -c "import secrets; print(secrets.token_hex(10))")
```
3. Acquire the following pieces of information from your app's settings page:
- App private key (click "Generate a private key" and save the file)
- App ID
4. Clone this repository:
```
git clone https://github.com/Codium-ai/pr-agent.git
```
5. Copy the secrets template file and fill in the following:
- Your OpenAI key.
- Set deployment_type to 'app'
- Copy your app's private key to the private_key field.
- Copy your app's ID to the app_id field.
- Copy your app's webhook secret to the webhook_secret field.
```
cp pr_agent/settings/.secrets_template.toml pr_agent/settings/.secrets.toml
# Edit .secrets.toml file
```
6. Build a Docker image for the app and optionally push it to a Docker repository. We'll use Dockerhub as an example:
```
docker build . -t codiumai/pr-agent:github_app --target github_app -f docker/Dockerfile
docker push codiumai/pr-agent:github_app # Push to your Docker repository
```
7. Host the app using a server, serverless function, or container environment. Alternatively, for development and
debugging, you may use tools like smee.io to forward webhooks to your local machine.
8. Go back to your app's settings, and set the following:
- Webhook URL: The URL of your app's server or the URL of the smee.io channel.
- Webhook secret: The secret you generated earlier.
9. Install the app by navigating to the "Install App" tab and selecting your desired repositories.
---

View File

@ -199,4 +199,4 @@
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
limitations under the License.

2
MANIFEST.in Normal file
View File

@ -0,0 +1,2 @@
recursive-include pr_agent *.toml
recursive-exclude pr_agent *.secrets.toml

350
README.md
View File

@ -2,157 +2,285 @@
<div align="center">
<img src="./pics/logo-dark.png#gh-dark-mode-only" width="250"/>
<img src="./pics/logo-light.png#gh-light-mode-only" width="250"/>
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://codium.ai/images/pr_agent/logo-dark.png" width="330">
<source media="(prefers-color-scheme: light)" srcset="https://codium.ai/images/pr_agent/logo-light.png" width="330">
<img src="https://codium.ai/images/pr_agent/logo-light.png" alt="logo" width="330">
</picture>
<br/>
Qode Merge PR-Agent aims to help efficiently review and handle pull requests, by providing AI feedback and suggestions
</div>
[![GitHub license](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://github.com/Codium-ai/pr-agent/blob/main/LICENSE)
[![Static Badge](https://img.shields.io/badge/Chrome-Extension-violet)](https://chromewebstore.google.com/detail/pr-agent-chrome-extension/ephlnjeghhogofkifjloamocljapahnl)
[![Static Badge](https://img.shields.io/badge/Pro-App-blue)](https://github.com/apps/qodo-merge-pro/)
[![Static Badge](https://img.shields.io/badge/OpenSource-App-red)](https://github.com/apps/qodo-merge-pro-for-open-source/)
[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label&color=purple)](https://discord.com/channels/1057273017547378788/1126104260430528613)
<a href="https://github.com/Codium-ai/pr-agent/commits/main">
<img alt="GitHub" src="https://img.shields.io/github/last-commit/Codium-ai/pr-agent/main?style=for-the-badge" height="20">
</a>
</div>
### [Documentation](https://pr-agent-docs.codium.ai/)
- See the [Installation Guide](https://qodo-merge-docs.qodo.ai/installation/) for instructions on installing Qode Merge PR-Agent on different platforms.
- See the [Usage Guide](https://qodo-merge-docs.qodo.ai/usage-guide/) for instructions on running Qode Merge PR-Agent tools via different interfaces, such as CLI, PR Comments, or by automatically triggering them when a new PR is opened.
- See the [Tools Guide](https://qodo-merge-docs.qodo.ai/tools/) for a detailed description of the different tools, and the available configurations for each tool.
## Table of Contents
- [News and Updates](#news-and-updates)
- [Overview](#overview)
- [Example results](#example-results)
- [Try it now](#try-it-now)
- [PR-Agent Pro 💎](https://pr-agent-docs.codium.ai/overview/pr_agent_pro/)
- [How it works](#how-it-works)
- [Why use PR-Agent?](#why-use-pr-agent)
## News and Updates
### Jan 2, 2025
New tool [/Implement](https://qodo-merge-docs.qodo.ai/tools/implement/) (💎), which converts human code review discussions and feedback into ready-to-commit code changes.
<kbd><img src="https://codium.ai/images/pr_agent/implement1.png" width="512"></kbd>
### Jan 1, 2025
Update logic and [documentation](https://qodo-merge-docs.qodo.ai/usage-guide/changing_a_model/#ollama) for running local models via Ollama.
### December 30, 2024
Following [feedback](https://research.kudelskisecurity.com/2024/08/29/careful-where-you-code-multiple-vulnerabilities-in-ai-powered-pr-agent/) from the community, we have addressed two vulnerabilities identified in the open-source PR-Agent project. The fixes are now included in the newly released version (v0.26), available as of today.
### December 25, 2024
The `review` tool previously included a legacy feature for providing code suggestions (controlled by '--pr_reviewer.num_code_suggestion'). This functionality has been deprecated. Use instead the [`improve`](https://qodo-merge-docs.qodo.ai/tools/improve/) tool, which offers higher quality and more actionable code suggestions.
### December 2, 2024
Open-source repositories can now freely use Qodo Merge Pro, and enjoy easy one-click installation using a marketplace [app](https://github.com/apps/qodo-merge-pro-for-open-source).
<kbd><img src="https://github.com/user-attachments/assets/b0838724-87b9-43b0-ab62-73739a3a855c" width="512"></kbd>
See [here](https://qodo-merge-docs.qodo.ai/installation/pr_agent_pro/) for more details about installing Qodo Merge Pro for private repositories.
### November 18, 2024
A new mode was enabled by default for code suggestions - `--pr_code_suggestions.focus_only_on_problems=true`:
- This option reduces the number of code suggestions received
- The suggestions will focus more on identifying and fixing code problems, rather than style considerations like best practices, maintainability, or readability.
- The suggestions will be categorized into just two groups: "Possible Issues" and "General".
Still, if you prefer the previous mode, you can set `--pr_code_suggestions.focus_only_on_problems=false` in the [configuration file](https://qodo-merge-docs.qodo.ai/usage-guide/configuration_options/).
**Example results:**
Original mode
<kbd><img src="https://qodo.ai/images/pr_agent/code_suggestions_original_mode.png" width="512"></kbd>
Focused mode
<kbd><img src="https://qodo.ai/images/pr_agent/code_suggestions_focused_mode.png" width="512"></kbd>
## Overview
<div style="text-align:left;">
CodiumAI `PR-Agent` is an open-source tool aiming to help developers review PRs faster and more efficiently. It automatically analyzes the PR and can provide several types of feedback:
Supported commands per platform:
**Auto-Description**: Automatically generating PR description - name, type, summary, and code walkthrough.
\
**PR Review**: Feedback about the PR main theme, type, relevant tests, security issues, focused PR, and various suggestions for the PR content.
\
**Question Answering**: Answering free-text questions about the PR.
\
**Code Suggestion**: Committable code suggestions for improving the PR.
| | | GitHub | GitLab | Bitbucket | Azure DevOps |
|-------|---------------------------------------------------------------------------------------------------------|:--------------------:|:--------------------:|:--------------------:|:------------:|
| TOOLS | [Review](https://qodo-merge-docs.qodo.ai/tools/review/) | ✅ | ✅ | ✅ | ✅ |
| | [Describe](https://qodo-merge-docs.qodo.ai/tools/describe/) | ✅ | ✅ | ✅ | ✅ |
| | [Improve](https://qodo-merge-docs.qodo.ai/tools/improve/) | ✅ | ✅ | ✅ | ✅ |
| | [Ask](https://qodo-merge-docs.qodo.ai/tools/ask/) | ✅ | ✅ | ✅ | ✅ |
| | ⮑ [Ask on code lines](https://pr-agent-docs.codium.ai/tools/ask#ask-lines) | ✅ | ✅ | | |
| | [Update CHANGELOG](https://qodo-merge-docs.qodo.ai/tools/update_changelog/) | ✅ | ✅ | ✅ | ✅ |
| | [Ticket Context](https://qodo-merge-docs.qodo.ai/core-abilities/fetching_ticket_context/) 💎 | ✅ | ✅ | ✅ | |
| | [Utilizing Best Practices](https://qodo-merge-docs.qodo.ai/tools/improve/#best-practices) 💎 | ✅ | ✅ | ✅ | |
| | [PR Chat](https://qodo-merge-docs.qodo.ai/chrome-extension/features/#pr-chat) 💎 | ✅ | | | |
| | [Suggestion Tracking](https://qodo-merge-docs.qodo.ai/tools/improve/#suggestion-tracking) 💎 | ✅ | ✅ | | |
| | [CI Feedback](https://pr-agent-docs.codium.ai/tools/ci_feedback/) 💎 | ✅ | | | |
| | [PR Documentation](https://pr-agent-docs.codium.ai/tools/documentation/) 💎 | ✅ | ✅ | | |
| | [Custom Labels](https://pr-agent-docs.codium.ai/tools/custom_labels/) 💎 | ✅ | ✅ | | |
| | [Analyze](https://pr-agent-docs.codium.ai/tools/analyze/) 💎 | ✅ | ✅ | | |
| | [Similar Code](https://pr-agent-docs.codium.ai/tools/similar_code/) 💎 | ✅ | | | |
| | [Custom Prompt](https://pr-agent-docs.codium.ai/tools/custom_prompt/) 💎 | ✅ | ✅ | ✅ | |
| | [Test](https://pr-agent-docs.codium.ai/tools/test/) 💎 | ✅ | ✅ | | |
| | [Implement](https://pr-agent-docs.codium.ai/tools/implement/) 💎 | ✅ | ✅ | ✅ | |
| | | | | | |
| USAGE | [CLI](https://qodo-merge-docs.qodo.ai/usage-guide/automations_and_usage/#local-repo-cli) | ✅ | ✅ | ✅ | ✅ |
| | [App / webhook](https://qodo-merge-docs.qodo.ai/usage-guide/automations_and_usage/#github-app) | ✅ | ✅ | ✅ | ✅ |
| | [Tagging bot](https://github.com/Codium-ai/pr-agent#try-it-now) | ✅ | | | |
| | [Actions](https://qodo-merge-docs.qodo.ai/installation/github/#run-as-a-github-action) | ✅ |✅| ✅ |✅|
| | | | | | |
| CORE | [PR compression](https://qodo-merge-docs.qodo.ai/core-abilities/compression_strategy/) | ✅ | ✅ | ✅ | ✅ |
| | Adaptive and token-aware file patch fitting | ✅ | ✅ | ✅ | ✅ |
| | [Multiple models support](https://qodo-merge-docs.qodo.ai/usage-guide/changing_a_model/) | ✅ | ✅ | ✅ | ✅ |
| | [Local and global metadata](https://qodo-merge-docs.qodo.ai/core-abilities/metadata/) | ✅ | ✅ | ✅ | ✅ |
| | [Dynamic context](https://qodo-merge-docs.qodo.ai/core-abilities/dynamic_context/) | ✅ | ✅ | ✅ | ✅ |
| | [Self reflection](https://qodo-merge-docs.qodo.ai/core-abilities/self_reflection/) | ✅ | ✅ | ✅ | ✅ |
| | [Static code analysis](https://qodo-merge-docs.qodo.ai/core-abilities/static_code_analysis/) 💎 | ✅ | ✅ | ✅ | |
| | [Global and wiki configurations](https://pr-agent-docs.codium.ai/usage-guide/configuration_options/) 💎 | ✅ | ✅ | ✅ | |
| | [PR interactive actions](https://www.codium.ai/images/pr_agent/pr-actions.mp4) 💎 | ✅ | ✅ | | |
| | [Impact Evaluation](https://qodo-merge-docs.qodo.ai/core-abilities/impact_evaluation/) 💎 | ✅ | ✅ | | |
- 💎 means this feature is available only in [PR-Agent Pro](https://www.codium.ai/pricing/)
<h3>Example results:</h2>
[//]: # (- Support for additional git providers is described in [here]&#40;./docs/Full_environments.md&#41;)
___
**Auto Description ([`/describe`](https://pr-agent-docs.codium.ai/tools/describe/))**: Automatically generating PR description - title, type, summary, code walkthrough and labels.
\
**Auto Review ([`/review`](https://pr-agent-docs.codium.ai/tools/review/))**: Adjustable feedback about the PR, possible issues, security concerns, review effort and more.
\
**Code Suggestions ([`/improve`](https://pr-agent-docs.codium.ai/tools/improve/))**: Code suggestions for improving the PR.
\
**Question Answering ([`/ask ...`](https://pr-agent-docs.codium.ai/tools/ask/))**: Answering free-text questions about the PR.
\
**Update Changelog ([`/update_changelog`](https://pr-agent-docs.codium.ai/tools/update_changelog/))**: Automatically updating the CHANGELOG.md file with the PR changes.
\
**Find Similar Issue ([`/similar_issue`](https://pr-agent-docs.codium.ai/tools/similar_issues/))**: Automatically retrieves and presents similar issues.
\
**Add Documentation 💎 ([`/add_docs`](https://pr-agent-docs.codium.ai/tools/documentation/))**: Generates documentation to methods/functions/classes that changed in the PR.
\
**Generate Custom Labels 💎 ([`/generate_labels`](https://pr-agent-docs.codium.ai/tools/custom_labels/))**: Generates custom labels for the PR, based on specific guidelines defined by the user.
\
**Analyze 💎 ([`/analyze`](https://pr-agent-docs.codium.ai/tools/analyze/))**: Identify code components that changed in the PR, and enables to interactively generate tests, docs, and code suggestions for each component.
\
**Test 💎 ([`/test`](https://pr-agent-docs.codium.ai/tools/test/))**: Generate tests for a selected component, based on the PR code changes.
\
**Custom Prompt 💎 ([`/custom_prompt`](https://pr-agent-docs.codium.ai/tools/custom_prompt/))**: Automatically generates custom suggestions for improving the PR code, based on specific guidelines defined by the user.
\
**Generate Tests 💎 ([`/test component_name`](https://pr-agent-docs.codium.ai/tools/test/))**: Generates unit tests for a selected component, based on the PR code changes.
\
**CI Feedback 💎 ([`/checks ci_job`](https://pr-agent-docs.codium.ai/tools/ci_feedback/))**: Automatically generates feedback and analysis for a failed CI job.
\
**Similar Code 💎 ([`/find_similar_component`](https://pr-agent-docs.codium.ai/tools/similar_code/))**: Retrieves the most similar code components from inside the organization's codebase, or from open-source code.
\
**Implement 💎 ([`/implement`](https://qodo-merge-docs.qodo.ai/tools/implement/))**: Generates implementation code from review suggestions.
___
## Example results
</div>
<h4>Describe:</h4>
<h4><a href="https://github.com/Codium-ai/pr-agent/pull/530">/describe</a></h4>
<div align="center">
<p float="center">
<img src="./pics/describe.gif" width="800">
<img src="https://www.codium.ai/images/pr_agent/describe_new_short_main.png" width="512">
</p>
</div>
<h4>Review:</h4>
<hr>
<h4><a href="https://github.com/Codium-ai/pr-agent/pull/732#issuecomment-1975099151">/review</a></h4>
<div align="center">
<p float="center">
<img src="./pics/review.gif" width="800">
<kbd>
<img src="https://www.codium.ai/images/pr_agent/review_new_short_main.png" width="512">
</kbd>
</p>
</div>
<h4>Ask:</h4>
<hr>
<h4><a href="https://github.com/Codium-ai/pr-agent/pull/732#issuecomment-1975099159">/improve</a></h4>
<div align="center">
<p float="center">
<img src="./pics/ask.gif" width="800">
</p>
</div>
<h4>Improve:</h4>
<div align="center">
<p float="center">
<img src="./pics/improve.gif" width="800">
<kbd>
<img src="https://www.codium.ai/images/pr_agent/improve_new_short_main.png" width="512">
</kbd>
</p>
</div>
<div align="left">
- [Live demo](#live-demo)
- [Overview](#overview)
- [Quickstart](#quickstart)
- [Usage and tools](#usage-and-tools)
- [Configuration](./CONFIGURATION.md)
- [How it works](#how-it-works)
- [Roadmap](#roadmap)
- [Similar projects](#similar-projects)
</div>
<hr>
## Live demo
Experience GPT-4 powered PR review on your public GitHub repository with our hosted PR-Agent. To try it, just mention `@CodiumAI-Agent` and add the desired command in any PR comment! The agent will generate a response based on your command.
## Try it now
![Review generation process](./pics/demo.gif)
Try the GPT-4 powered PR-Agent instantly on _your public GitHub repository_. Just mention `@CodiumAI-Agent` and add the desired command in any PR comment. The agent will generate a response based on your command.
For example, add a comment to any pull request with the following text:
```
@CodiumAI-Agent /review
```
and the agent will respond with a review of your PR.
To set up your own PR-Agent, see the [Quickstart](#Quickstart) section
Note that this is a promotional bot, suitable only for initial experimentation.
It does not have 'edit' access to your repo, for example, so it cannot update the PR description or add labels (`@CodiumAI-Agent /describe` will publish PR description as a comment). In addition, the bot cannot be used on private repositories, as it does not have access to the files there.
![Review generation process](https://www.codium.ai/images/demo-2.gif)
To set up your own PR-Agent, see the [Installation](https://pr-agent-docs.codium.ai/installation/) section below.
Note that when you set your own PR-Agent or use CodiumAI hosted PR-Agent, there is no need to mention `@CodiumAI-Agent ...`. Instead, directly start with the command, e.g., `/ask ...`.
---
## Overview
`PR-Agent` offers extensive pull request functionalities across various git providers:
| | | Github | Gitlab | Bitbucket |
|-------|---------------------------------------------|--------|--------|-----------|
| TOOLS | Review | ✓ | ✓ | ✓ |
| | ⮑ Inline review | ✓ | ✓ | |
| | Ask | ✓ | ✓ | |
| | Auto-Description | ✓ | | |
| | Improve Code | ✓ | ✓ | |
| | | | | |
| USAGE | CLI | ✓ | ✓ | ✓ |
| | Tagging bot | ✓ | ✓ | |
| | Actions | ✓ | | |
| | | | | |
| CORE | PR compression | ✓ | ✓ | ✓ |
| | Repo language prioritization | ✓ | ✓ | ✓ |
| | Adaptive and token-aware<br />file patch fitting | ✓ | ✓ | ✓ |
Examples for invoking the different tools via the [CLI](#quickstart):
- **Review**: python cli.py --pr-url=<pr_url> review
- **Describe**: python cli.py --pr-url=<pr_url> describe
- **Improve**: python cli.py --pr-url=<pr_url> improve
- **Ask**: python cli.py --pr-url=<pr_url> ask "Write me a poem about this PR"
"<pr_url>" is the url of the relevant PR (for example: https://github.com/Codium-ai/pr-agent/pull/50).
In the [configuration](./CONFIGURATION.md) file you can select your git provider (Github, Gitlab, Bitbucket), and further configure the different tools.
## Quickstart
To get started with PR-Agent quickly, you first need to acquire two tokens:
1. An OpenAI key from [here](https://platform.openai.com/), with access to GPT-4.
2. A GitHub personal access token (classic) with the repo scope.
There are several ways to use PR-Agent. Let's start with the simplest one:
## Install
Here are several ways to install and run PR-Agent:
## PR-Agent Pro 💎
[PR-Agent Pro](https://www.codium.ai/pricing/) is a hosted version of PR-Agent, provided by CodiumAI. It is available for a monthly fee, and provides the following benefits:
1. **Fully managed** - We take care of everything for you - hosting, models, regular updates, and more. Installation is as simple as signing up and adding the PR-Agent app to your GitHub\GitLab\BitBucket repo.
2. **Improved privacy** - No data will be stored or used to train models. PR-Agent Pro will employ zero data retention, and will use an OpenAI account with zero data retention.
3. **Improved support** - PR-Agent Pro users will receive priority support, and will be able to request new features and capabilities.
4. **Extra features** -In addition to the benefits listed above, PR-Agent Pro will emphasize more customization, and the usage of static code analysis, in addition to LLM logic, to improve results.
See [here](https://qodo-merge-docs.qodo.ai/overview/pr_agent_pro/) for a list of features available in PR-Agent Pro.
- [Method 1: Use Docker image (no installation required)](INSTALL.md#method-1-use-docker-image-no-installation-required)
- [Method 2: Run as a Github Action](INSTALL.md#method-2-run-as-a-github-action)
- [Method 3: Run from source](INSTALL.md#method-3-run-from-source)
- [Method 4: Run as a polling server](INSTALL.md#method-4-run-as-a-polling-server)
- Request reviews by tagging your Github user on a PR
- [Method 5: Run as a Github App](INSTALL.md#method-5-run-as-a-github-app)
- Allowing you to automate the review process on your private or public repositories
## Usage and Tools
**PR-Agent** provides four types of interactions ("tools"): `"PR Reviewer"`, `"PR Q&A"`, `"PR Description"` and `"PR Code Sueggestions"`.
- The "PR Reviewer" tool automatically analyzes PRs, and provides different types of feedback.
- The "PR Ask" tool answers free-text questions about the PR.
- The "PR Description" tool automatically sets the PR Title and body.
- The "PR Code Suggestion" tool provide inline code suggestions for the PR that can be applied and committed.
## How it works
![PR-Agent Tools](./pics/pr_agent_overview.png)
The following diagram illustrates PR-Agent tools and their flow:
Check out the [PR Compression strategy](./PR_COMPRESSION.md) page for more details on how we convert a code diff to a manageable LLM prompt
![PR-Agent Tools](https://codium.ai/images/pr_agent/diagram-v0.9.png)
## Roadmap
Check out the [PR Compression strategy](https://pr-agent-docs.codium.ai/core-abilities/#pr-compression-strategy) page for more details on how we convert a code diff to a manageable LLM prompt
- [ ] Support open-source models, as a replacement for openai models. (Note - a minimal requirement for each open-source model is to have 8k+ context, and good support for generating json as an output)
- [x] Support other Git providers, such as Gitlab and Bitbucket.
- [ ] Develop additional logics for handling large PRs, and compressing git patches
- [ ] Dedicated tools and sub-tools for specific programming languages (Python, Javascript, Java, C++, etc)
- [ ] Add additional context to the prompt. For example, repo (or relevant files) summarization, with tools such a [ctags](https://github.com/universal-ctags/ctags)
- [ ] Adding more tools. Possible directions:
- [x] PR description
- [x] Inline code suggestions
- [ ] Enforcing CONTRIBUTING.md guidelines
- [ ] Performance (are there any performance issues)
- [ ] Documentation (is the PR properly documented)
- [ ] Rank the PR importance
- [ ] ...
## Why use PR-Agent?
## Similar Projects
A reasonable question that can be asked is: `"Why use PR-Agent? What makes it stand out from existing tools?"`
- [CodiumAI - Meaningful tests for busy devs](https://github.com/Codium-ai/codiumai-vscode-release)
- [Aider - GPT powered coding in your terminal](https://github.com/paul-gauthier/aider)
- [openai-pr-reviewer](https://github.com/coderabbitai/openai-pr-reviewer)
- [CodeReview BOT](https://github.com/anc95/ChatGPT-CodeReview)
- [AI-Maintainer](https://github.com/merwanehamadi/AI-Maintainer)
Here are some advantages of PR-Agent:
- We emphasize **real-life practical usage**. Each tool (review, improve, ask, ...) has a single GPT-4 call, no more. We feel that this is critical for realistic team usage - obtaining an answer quickly (~30 seconds) and affordably.
- Our [PR Compression strategy](https://pr-agent-docs.codium.ai/core-abilities/#pr-compression-strategy) is a core ability that enables to effectively tackle both short and long PRs.
- Our JSON prompting strategy enables to have **modular, customizable tools**. For example, the '/review' tool categories can be controlled via the [configuration](pr_agent/settings/configuration.toml) file. Adding additional categories is easy and accessible.
- We support **multiple git providers** (GitHub, Gitlab, Bitbucket), **multiple ways** to use the tool (CLI, GitHub Action, GitHub App, Docker, ...), and **multiple models** (GPT-4, GPT-3.5, Anthropic, Cohere, Llama2).
## Data privacy
### Self-hosted PR-Agent
- If you host PR-Agent with your OpenAI API key, it is between you and OpenAI. You can read their API data privacy policy here:
https://openai.com/enterprise-privacy
### CodiumAI-hosted PR-Agent Pro 💎
- When using PR-Agent Pro 💎, hosted by CodiumAI, we will not store any of your data, nor will we use it for training. You will also benefit from an OpenAI account with zero data retention.
- For certain clients, CodiumAI-hosted PR-Agent Pro will use CodiumAIs proprietary models — if this is the case, you will be notified.
- No passive collection of Code and Pull Requests data — PR-Agent will be active only when you invoke it, and it will then extract and analyze only data relevant to the executed command and queried pull request.
### PR-Agent Chrome extension
- The [PR-Agent Chrome extension](https://chromewebstore.google.com/detail/pr-agent-chrome-extension/ephlnjeghhogofkifjloamocljapahnl) serves solely to modify the visual appearance of a GitHub PR screen. It does not transmit any user's repo or pull request code. Code is only sent for processing when a user submits a GitHub comment that activates a PR-Agent tool, in accordance with the standard privacy policy of PR-Agent.
## Links
[![Join our Discord community](https://raw.githubusercontent.com/Codium-ai/codiumai-vscode-release/main/media/docs/Joincommunity.png)](https://discord.gg/kG35uSHDBc)
- Discord community: https://discord.gg/kG35uSHDBc
- CodiumAI site: https://codium.ai
- Blog: https://www.codium.ai/blog/
- Troubleshooting: https://www.codium.ai/blog/technical-faq-and-troubleshooting/
- Support: support@codium.ai

103
RELEASE_NOTES.md Normal file
View File

@ -0,0 +1,103 @@
## [Version 0.11] - 2023-12-07
- codiumai/pr-agent:0.11
- codiumai/pr-agent:0.11-github_app
- codiumai/pr-agent:0.11-bitbucket-app
- codiumai/pr-agent:0.11-gitlab_webhook
- codiumai/pr-agent:0.11-github_polling
- codiumai/pr-agent:0.11-github_action
### Added::Algo
- New section in `/describe` tool - [PR changes walkthrough](https://github.com/Codium-ai/pr-agent/pull/509)
- Improving PR Agent [prompts](https://github.com/Codium-ai/pr-agent/pull/501)
- Persistent tools (`/review`, `/describe`) now send an [update message](https://github.com/Codium-ai/pr-agent/pull/499) after finishing
- Add Amazon Bedrock [support](https://github.com/Codium-ai/pr-agent/pull/483)
### Fixed
- Update [dependencies](https://github.com/Codium-ai/pr-agent/pull/503) in requirements.txt for Python 3.12
## [Version 0.10] - 2023-11-15
- codiumai/pr-agent:0.10
- codiumai/pr-agent:0.10-github_app
- codiumai/pr-agent:0.10-bitbucket-app
- codiumai/pr-agent:0.10-gitlab_webhook
- codiumai/pr-agent:0.10-github_polling
- codiumai/pr-agent:0.10-github_action
### Added::Algo
- Review tool now works with [persistent comments](https://github.com/Codium-ai/pr-agent/pull/451) by default
- Bitbucket now publishes review suggestions with [code links](https://github.com/Codium-ai/pr-agent/pull/428)
- Enabling to limit [max number of tokens](https://github.com/Codium-ai/pr-agent/pull/437/files)
- Support ['gpt-4-1106-preview'](https://github.com/Codium-ai/pr-agent/pull/437/files) model
- Support for Google's [Vertex AI](https://github.com/Codium-ai/pr-agent/pull/436)
- Implementing [thresholds](https://github.com/Codium-ai/pr-agent/pull/423) for incremental PR reviews
- Decoupled custom labels from [PR type](https://github.com/Codium-ai/pr-agent/pull/431)
### Fixed
- Fixed bug in [parsing quotes](https://github.com/Codium-ai/pr-agent/pull/446) in CLI
- Preserve [user-added labels](https://github.com/Codium-ai/pr-agent/pull/433) in pull requests
- Bug fixes in GitLab and BitBucket
## [Version 0.9] - 2023-10-29
- codiumai/pr-agent:0.9
- codiumai/pr-agent:0.9-github_app
- codiumai/pr-agent:0.9-bitbucket-app
- codiumai/pr-agent:0.9-gitlab_webhook
- codiumai/pr-agent:0.9-github_polling
- codiumai/pr-agent:0.9-github_action
### Added::Algo
- New tool - [generate_labels](https://github.com/Codium-ai/pr-agent/blob/main/docs/GENERATE_CUSTOM_LABELS.md)
- New ability to use [customize labels](https://github.com/Codium-ai/pr-agent/blob/main/docs/GENERATE_CUSTOM_LABELS.md#how-to-enable-custom-labels) on the `review` and `describe` tools.
- New tool - [add_docs](https://github.com/Codium-ai/pr-agent/blob/main/docs/ADD_DOCUMENTATION.md)
- GitHub Action: Can now use a `.pr_agent.toml` file to control configuration parameters (see [Usage Guide](./Usage.md#working-with-github-action)).
- GitHub App: Added ability to trigger tools on [push events](https://github.com/Codium-ai/pr-agent/blob/main/Usage.md#github-app-automatic-tools-for-new-code-pr-push)
- Support custom domain URLs for Azure devops integration (see [link](https://github.com/Codium-ai/pr-agent/pull/381)).
- PR Description default mode is now in [bullet points](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/settings/configuration.toml#L35).
### Added::Documentation
Significant documentation updates (see [Installation Guide](https://github.com/Codium-ai/pr-agent/blob/main/INSTALL.md), [Usage Guide](https://github.com/Codium-ai/pr-agent/blob/main/Usage.md), and [Tools Guide](https://github.com/Codium-ai/pr-agent/blob/main/docs/TOOLS_GUIDE.md))
### Fixed
- Fixed support for BitBucket pipeline (see [link](https://github.com/Codium-ai/pr-agent/pull/386))
- Fixed a bug in `review -i` tool
- Added blacklist for specific file extensions in `add_docs` tool (see [link](https://github.com/Codium-ai/pr-agent/pull/385/))
## [Version 0.8] - 2023-09-27
- codiumai/pr-agent:0.8
- codiumai/pr-agent:0.8-github_app
- codiumai/pr-agent:0.8-bitbucket-app
- codiumai/pr-agent:0.8-gitlab_webhook
- codiumai/pr-agent:0.8-github_polling
- codiumai/pr-agent:0.8-github_action
### Added::Algo
- GitHub Action: Can control which tools will run automatically when a new PR is created. (see usage guide: https://github.com/Codium-ai/pr-agent/blob/main/Usage.md#working-with-github-action)
- Code suggestion tool: Will try to avoid an 'add comments' suggestion (see https://github.com/Codium-ai/pr-agent/pull/327)
### Fixed
- Gitlab: Fixed a bug of improper usage of pr_id
## [Version 0.7] - 2023-09-20
### Docker Tags
- codiumai/pr-agent:0.7
- codiumai/pr-agent:0.7-github_app
- codiumai/pr-agent:0.7-bitbucket-app
- codiumai/pr-agent:0.7-gitlab_webhook
- codiumai/pr-agent:0.7-github_polling
- codiumai/pr-agent:0.7-github_action
### Added::Algo
- New tool /similar_issue - Currently on GitHub app and CLI: indexes the issues in the repo, find the most similar issues to the target issue.
- Describe markers: Empower the /describe tool with a templating capability (see more details in https://github.com/Codium-ai/pr-agent/pull/273).
- New feature in the /review tool - added an estimated effort estimation to the review (https://github.com/Codium-ai/pr-agent/pull/306).
### Added::Infrastructure
- Implementation of a GitLab webhook.
- Implementation of a BitBucket app.
### Fixed
- Protection against no code suggestions generated.
- Resilience to repositories where the languages cannot be automatically detected.

View File

@ -1,5 +1,8 @@
name: 'PR Agent'
name: 'Codium PR Agent'
description: 'Summarize, review and suggest improvements for pull requests'
branding:
icon: 'award'
color: 'green'
runs:
using: 'docker'
image: 'Dockerfile.github_action_dockerhub'

5
codecov.yml Normal file
View File

@ -0,0 +1,5 @@
comment: false
coverage:
status:
patch: false
project: false

View File

@ -1,20 +1,42 @@
FROM python:3.10 as base
FROM python:3.12.3 AS base
WORKDIR /app
ADD pyproject.toml .
ADD requirements.txt .
RUN pip install -r requirements.txt && rm requirements.txt
ADD docs docs
RUN pip install . && rm pyproject.toml requirements.txt
ENV PYTHONPATH=/app
FROM base AS github_app
ADD pr_agent pr_agent
CMD ["python", "-m", "gunicorn", "-k", "uvicorn.workers.UvicornWorker", "-c", "pr_agent/servers/gunicorn_config.py", "--forwarded-allow-ips", "*", "pr_agent.servers.github_app:app"]
FROM base as github_app
CMD ["python", "pr_agent/servers/github_app.py"]
FROM base AS bitbucket_app
ADD pr_agent pr_agent
CMD ["python", "pr_agent/servers/bitbucket_app.py"]
FROM base as github_polling
FROM base AS bitbucket_server_webhook
ADD pr_agent pr_agent
CMD ["python", "pr_agent/servers/bitbucket_server_webhook.py"]
FROM base AS github_polling
ADD pr_agent pr_agent
CMD ["python", "pr_agent/servers/github_polling.py"]
FROM base as test
FROM base AS gitlab_webhook
ADD pr_agent pr_agent
CMD ["python", "pr_agent/servers/gitlab_webhook.py"]
FROM base AS azure_devops_webhook
ADD pr_agent pr_agent
CMD ["python", "pr_agent/servers/azuredevops_server_webhook.py"]
FROM base AS test
ADD requirements-dev.txt .
RUN pip install -r requirements-dev.txt && rm requirements-dev.txt
ADD pr_agent pr_agent
ADD tests tests
FROM base as cli
FROM base AS cli
ADD pr_agent pr_agent
ENTRYPOINT ["python", "pr_agent/cli.py"]

12
docker/Dockerfile.lambda Normal file
View File

@ -0,0 +1,12 @@
FROM public.ecr.aws/lambda/python:3.10
RUN yum update -y && \
yum install -y gcc python3-devel git && \
yum clean all
ADD pyproject.toml requirements.txt .
RUN pip install . && rm pyproject.toml
RUN pip install mangum==0.17.0
COPY pr_agent/ ${LAMBDA_TASK_ROOT}/pr_agent/
CMD ["pr_agent.servers.serverless.serverless"]

1
docs/README.md Normal file
View File

@ -0,0 +1 @@
# [Visit Our Docs Portal](https://qodo-merge-docs.qodo.ai/)

1
docs/docs/CNAME Normal file
View File

@ -0,0 +1 @@
qodo-merge-docs.qodo.ai

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

BIN
docs/docs/assets/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 KiB

View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 109.77 81.94"><defs><style>.cls-1{fill:#7968fa;}.cls-1,.cls-2{stroke-width:0px;}.cls-2{fill:#5ae3ae;}</style></defs><path class="cls-2" d="m109.77,40.98c0,22.62-7.11,40.96-15.89,40.96-3.6,0-6.89-3.09-9.58-8.31,6.82-7.46,11.22-19.3,11.22-32.64s-4.4-25.21-11.22-32.67C86.99,3.09,90.29,0,93.89,0c8.78,0,15.89,18.33,15.89,40.97"/><path class="cls-1" d="m95.53,40.99c0,13.35-4.4,25.19-11.23,32.64-3.81-7.46-6.28-19.3-6.28-32.64s2.47-25.21,6.28-32.67c6.83,7.46,11.23,19.32,11.23,32.67"/><path class="cls-2" d="m55.38,78.15c-4.99,2.42-10.52,3.79-16.38,3.79C17.46,81.93,0,63.6,0,40.98S17.46,0,39,0C44.86,0,50.39,1.37,55.38,3.79c-9.69,6.47-16.43,20.69-16.43,37.19s6.73,30.7,16.43,37.17"/><path class="cls-1" d="m78.02,40.99c0,16.48-9.27,30.7-22.65,37.17-9.69-6.47-16.43-20.69-16.43-37.17S45.68,10.28,55.38,3.81c13.37,6.49,22.65,20.69,22.65,37.19"/><path class="cls-2" d="m84.31,73.63c-4.73,5.22-10.64,8.31-17.06,8.31-4.24,0-8.27-1.35-11.87-3.79,13.37-6.48,22.65-20.7,22.65-37.17,0,13.35,2.47,25.19,6.28,32.64"/><path class="cls-2" d="m84.31,8.31c-3.81,7.46-6.28,19.32-6.28,32.67,0-16.5-9.27-30.7-22.65-37.19,3.6-2.45,7.63-3.8,11.87-3.8,6.43,0,12.33,3.09,17.06,8.31"/></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
docs/docs/assets/logo_.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

View File

@ -0,0 +1,4 @@
We take your code's security and privacy seriously:
- The Chrome extension will not send your code to any external servers.
- For private repositories, we will first validate the user's identity and permissions. After authentication, we generate responses using the existing Qodo Merge Pro integration.

View File

@ -0,0 +1,51 @@
### PR chat
The PR-Chat feature allows to freely chat with your PR code, within your GitHub environment.
It will seamlessly use the PR as context to your chat session, and provide AI-powered feedback.
To enable private chat, simply install the Qodo Merge Chrome extension. After installation, each PR's file-changed tab will include a chat box, where you may ask questions about your code.
This chat session is **private**, and won't be visible to other users.
All open-source repositories are supported.
For private repositories, you will also need to install Qodo Merge Pro, After installation, make sure to open at least one new PR to fully register your organization. Once done, you can chat with both new and existing PRs across all installed repositories.
#### Context-aware PR chat
Qodo Merge constructs a comprehensive context for each pull request, incorporating the PR description, commit messages, and code changes with extended dynamic context. This contextual information, along with additional PR-related data, forms the foundation for an AI-powered chat session. The agent then leverages this rich context to provide intelligent, tailored responses to user inquiries about the pull request.
<img src="https://codium.ai/images/pr_agent/pr_chat_1.png" width="768">
<img src="https://codium.ai/images/pr_agent/pr_chat_2.png" width="768">
### Toolbar extension
With Qodo Merge Chrome extension, it's [easier than ever](https://www.youtube.com/watch?v=gT5tli7X4H4) to interactively configure and experiment with the different tools and configuration options.
For private repositories, after you found the setup that works for you, you can also easily export it as a persistent configuration file, and use it for automatic commands.
<img src="https://codium.ai/images/pr_agent/toolbar1.png" width="512">
<img src="https://codium.ai/images/pr_agent/toolbar2.png" width="512">
### Qodo Merge filters
Qodo Merge filters is a sidepanel option. that allows you to filter different message in the conversation tab.
For example, you can choose to present only message from Qodo Merge, or filter those messages, focusing only on user's comments.
<img src="https://codium.ai/images/pr_agent/pr_agent_filters1.png" width="256">
<img src="https://codium.ai/images/pr_agent/pr_agent_filters2.png" width="256">
### Enhanced code suggestions
Qodo Merge Chrome extension adds the following capabilities to code suggestions tool's comments:
- Auto-expand the table when you are viewing a code block, to avoid clipping.
- Adding a "quote-and-reply" button, that enables to address and comment on a specific suggestion (for example, asking the author to fix the issue)
<img src="https://codium.ai/images/pr_agent/chrome_extension_code_suggestion1.png" width="512">
<img src="https://codium.ai/images/pr_agent/chrome_extension_code_suggestion2.png" width="512">

View File

@ -0,0 +1,14 @@
[Qodo Merge Chrome extension](https://chromewebstore.google.com/detail/pr-agent-chrome-extension/ephlnjeghhogofkifjloamocljapahnl){:target="_blank"} is a collection of tools that integrates seamlessly with your GitHub environment, aiming to enhance your Git usage experience, and providing AI-powered capabilities to your PRs.
With a single-click installation you will gain access to a context-aware chat on your pull requests code, a toolbar extension with multiple AI feedbacks, Qodo Merge filters, and additional abilities.
The extension is powered by top code models like Claude 3.5 Sonnet and GPT4. All the extension's features are free to use on public repositories.
For private repositories, you will need to install [Qodo Merge Pro](https://github.com/apps/qodo-merge-pro){:target="_blank"} in addition to the extension (Quick GitHub app setup with a 14-day free trial. No credit card needed).
For a demonstration of how to install Qodo Merge Pro and use it with the Chrome extension, please refer to the tutorial video at the provided [link](https://codium.ai/images/pr_agent/private_repos.mp4){:target="_blank"}.
<img src="https://codium.ai/images/pr_agent/PR-AgentChat.gif" width="768">
### Supported browsers
The extension is supported on all Chromium-based browsers, including Google Chrome, Arc, Opera, Brave, and Microsoft Edge.

View File

@ -0,0 +1,2 @@
## Overview
TBD

View File

@ -1,42 +1,47 @@
# Git Patch Logic
## Overview - PR Compression Strategy
There are two scenarios:
1. The PR is small enough to fit in a single prompt (including system and user prompt)
2. The PR is too large to fit in a single prompt (including system and user prompt)
For both scenarios, we first use the following strategy
#### Repo language prioritization strategy
#### Repo language prioritization strategy
We prioritize the languages of the repo based on the following criteria:
1. Exclude binary files and non code files (e.g. images, pdfs, etc)
2. Given the main languages used in the repo
2. We sort the PR files by the most common languages in the repo (in descending order):
3. We sort the PR files by the most common languages in the repo (in descending order):
* ```[[file.py, file2.py],[file3.js, file4.jsx],[readme.md]]```
## Small PR
### Small PR
In this case, we can fit the entire PR in a single prompt:
1. Exclude binary files and non code files (e.g. images, pdfs, etc)
2. We Expand the surrounding context of each patch to 6 lines above and below the patch
## Large PR
2. We Expand the surrounding context of each patch to 3 lines above and below the patch
### Motivation
### Large PR
#### Motivation
Pull Requests can be very long and contain a lot of information with varying degree of relevance to the pr-agent.
We want to be able to pack as much information as possible in a single LMM prompt, while keeping the information relevant to the pr-agent.
#### PR compression strategy
#### Compression strategy
We prioritize additions over deletions:
- Combine all deleted files into a single list (`deleted files`)
- File patches are a list of hunks, remove all hunks of type deletion-only from the hunks in the file patch
#### Adaptive and token-aware file patch fitting
We use [tiktoken](https://github.com/openai/tiktoken) to tokenize the patches after the modifications described above, and we use the following strategy to fit the patches into the prompt:
1. Withing each language we sort the files by the number of tokens in the file (in descending order):
* ```[[file2.py, file.py],[file4.jsx, file3.js],[readme.md]]```
2. Iterate through the patches in the order described above
2. Add the patches to the prompt until the prompt reaches a certain buffer from the max token length
3. If there are still patches left, add the remaining patches as a list called `other modified files` to the prompt until the prompt reaches the max token length (hard stop), skip the rest of the patches.
4. If we haven't reached the max token length, add the `deleted files` to the prompt until the prompt reaches the max token length (hard stop), skip the rest of the patches.
### Example
![](./pics/git_patch_logic.png)
1. Within each language we sort the files by the number of tokens in the file (in descending order):
- ```[[file2.py, file.py],[file4.jsx, file3.js],[readme.md]]```
2. Iterate through the patches in the order described above
3. Add the patches to the prompt until the prompt reaches a certain buffer from the max token length
4. If there are still patches left, add the remaining patches as a list called `other modified files` to the prompt until the prompt reaches the max token length (hard stop), skip the rest of the patches.
5. If we haven't reached the max token length, add the `deleted files` to the prompt until the prompt reaches the max token length (hard stop), skip the rest of the patches.
#### Example
![Core Abilities](https://codium.ai/images/git_patch_logic.png){width=768}

View File

@ -0,0 +1,72 @@
## TL;DR
Qodo Merge uses an **asymmetric and dynamic context strategy** to improve AI analysis of code changes in pull requests.
It provides more context before changes than after, and dynamically adjusts the context based on code structure (e.g., enclosing functions or classes).
This approach balances providing sufficient context for accurate analysis, while avoiding needle-in-the-haystack information overload that could degrade AI performance or exceed token limits.
## Introduction
Pull request code changes are retrieved in a unified diff format, showing three lines of context before and after each modified section, with additions marked by '+' and deletions by '-'.
```
@@ -12,5 +12,5 @@ def func1():
code line that already existed in the file...
code line that already existed in the file...
code line that already existed in the file....
-code line that was removed in the PR
+new code line added in the PR
code line that already existed in the file...
code line that already existed in the file...
code line that already existed in the file...
@@ -26,2 +26,4 @@ def func2():
...
```
This unified diff format can be challenging for AI models to interpret accurately, as it provides limited context for understanding the full scope of code changes.
The presentation of code using '+', '-', and ' ' symbols to indicate additions, deletions, and unchanged lines respectively also differs from the standard code formatting typically used to train AI models.
## Challenges of expanding the context window
While expanding the context window is technically feasible, it presents a more fundamental trade-off:
Pros:
- Enhanced context allows the model to better comprehend and localize the code changes, results (potentially) in more precise analysis and suggestions. Without enough context, the model may struggle to understand the code changes and provide relevant feedback.
Cons:
- Excessive context may overwhelm the model with extraneous information, creating a "needle in a haystack" scenario where focusing on the relevant details (the code that actually changed) becomes challenging.
LLM quality is known to degrade when the context gets larger.
Pull requests often encompass multiple changes across many files, potentially spanning hundreds of lines of modified code. This complexity presents a genuine risk of overwhelming the model with excessive context.
- Increased context expands the token count, increasing processing time and cost, and may prevent the model from processing the entire pull request in a single pass.
## Asymmetric and dynamic context
To address these challenges, Qodo Merge employs an **asymmetric** and **dynamic** context strategy, providing the model with more focused and relevant context information for each code change.
**Asymmetric:**
We start by recognizing that the context preceding a code change is typically more crucial for understanding the modification than the context following it.
Consequently, Qodo Merge implements an asymmetric context policy, decoupling the context window into two distinct segments: one for the code before the change and another for the code after.
By independently adjusting each context window, Qodo Merge can supply the model with a more tailored and pertinent context for individual code changes.
**Dynamic:**
We also employ a "dynamic" context strategy.
We start by recognizing that the optimal context for a code change often corresponds to its enclosing code component (e.g., function, class), rather than a fixed number of lines.
Consequently, we dynamically adjust the context window based on the code's structure, ensuring the model receives the most pertinent information for each modification.
To prevent overwhelming the model with excessive context, we impose a limit on the number of lines searched when identifying the enclosing component.
This balance allows for comprehensive understanding while maintaining efficiency and limiting context token usage.
## Appendix - relevant configuration options
```
[config]
patch_extension_skip_types =[".md",".txt"] # Skip files with these extensions when trying to extend the context
allow_dynamic_context=true # Allow dynamic context extension
max_extra_lines_before_dynamic_context = 8 # will try to include up to X extra lines before the hunk in the patch, until we reach an enclosing function or class
patch_extra_lines_before = 3 # Number of extra lines (+3 default ones) to include before each hunk in the patch
patch_extra_lines_after = 1 # Number of extra lines (+3 default ones) to include after each hunk in the patch
```

View File

@ -0,0 +1,170 @@
# Fetching Ticket Context for PRs
`Supported Git Platforms: GitHub, GitLab, Bitbucket`
## Overview
Qodo Merge PR Agent streamlines code review workflows by seamlessly connecting with multiple ticket management systems.
This integration enriches the review process by automatically surfacing relevant ticket information and context alongside code changes.
## Ticket systems supported
- GitHub
- Jira (💎)
Ticket data fetched:
1. Ticket Title
2. Ticket Description
3. Custom Fields (Acceptance criteria)
4. Subtasks (linked tasks)
5. Labels
6. Attached Images/Screenshots
## Affected Tools
Ticket Recognition Requirements:
- The PR description should contain a link to the ticket or if the branch name starts with the ticket id / number.
- For Jira tickets, you should follow the instructions in [Jira Integration](https://qodo-merge-docs.qodo.ai/core-abilities/fetching_ticket_context/#jira-integration) in order to authenticate with Jira.
### Describe tool
Qodo Merge PR Agent will recognize the ticket and use the ticket content (title, description, labels) to provide additional context for the code changes.
By understanding the reasoning and intent behind modifications, the LLM can offer more insightful and relevant code analysis.
### Review tool
Similarly to the `describe` tool, the `review` tool will use the ticket content to provide additional context for the code changes.
In addition, this feature will evaluate how well a Pull Request (PR) adheres to its original purpose/intent as defined by the associated ticket or issue mentioned in the PR description.
Each ticket will be assigned a label (Compliance/Alignment level), Indicates the degree to which the PR fulfills its original purpose, Options: Fully compliant, Partially compliant or Not compliant.
![Ticket Compliance](https://www.qodo.ai/images/pr_agent/ticket_compliance_review.png){width=768}
By default, the tool will automatically validate if the PR complies with the referenced ticket.
If you want to disable this feedback, add the following line to your configuration file:
```toml
[pr_reviewer]
require_ticket_analysis_review=false
```
## Providers
### Github Issues Integration
Qodo Merge PR Agent will automatically recognize Github issues mentioned in the PR description and fetch the issue content.
Examples of valid GitHub issue references:
- `https://github.com/<ORG_NAME>/<REPO_NAME>/issues/<ISSUE_NUMBER>`
- `#<ISSUE_NUMBER>`
- `<ORG_NAME>/<REPO_NAME>#<ISSUE_NUMBER>`
Since Qodo Merge PR Agent is integrated with GitHub, it doesn't require any additional configuration to fetch GitHub issues.
### Jira Integration 💎
We support both Jira Cloud and Jira Server/Data Center.
To integrate with Jira, you can link your PR to a ticket using either of these methods:
**Method 1: Description Reference:**
Include a ticket reference in your PR description using either the complete URL format https://<JIRA_ORG>.atlassian.net/browse/ISSUE-123 or the shortened ticket ID ISSUE-123.
**Method 2: Branch Name Detection:**
Name your branch with the ticket ID as a prefix (e.g., `ISSUE-123-feature-description` or `ISSUE-123/feature-description`).
!!! note "Jira Base URL"
For shortened ticket IDs or branch detection (method 2), you must configure the Jira base URL in your configuration file under the [jira] section:
```toml
[jira]
jira_base_url = "https://<JIRA_ORG>.atlassian.net"
```
#### Jira Cloud 💎
There are two ways to authenticate with Jira Cloud:
**1) Jira App Authentication**
The recommended way to authenticate with Jira Cloud is to install the Qodo Merge app in your Jira Cloud instance. This will allow Qodo Merge to access Jira data on your behalf.
Installation steps:
1. Click [here](https://auth.atlassian.com/authorize?audience=api.atlassian.com&client_id=8krKmA4gMD8mM8z24aRCgPCSepZNP1xf&scope=read%3Ajira-work%20offline_access&redirect_uri=https%3A%2F%2Fregister.jira.pr-agent.codium.ai&state=qodomerge&response_type=code&prompt=consent) to install the Qodo Merge app in your Jira Cloud instance, click the `accept` button.<br>
![Jira Cloud App Installation](https://www.qodo.ai/images/pr_agent/jira_app_installation1.png){width=384}
2. After installing the app, you will be redirected to the Qodo Merge registration page. and you will see a success message.<br>
![Jira Cloud App success message](https://www.qodo.ai/images/pr_agent/jira_app_success.png){width=384}
3. Now you can use the Jira integration in Qodo Merge PR Agent.
**2) Email/Token Authentication**
You can create an API token from your Atlassian account:
1. Log in to https://id.atlassian.com/manage-profile/security/api-tokens.
2. Click Create API token.
3. From the dialog that appears, enter a name for your new token and click Create.
4. Click Copy to clipboard.
![Jira Cloud API Token](https://images.ctfassets.net/zsv3d0ugroxu/1RYvh9lqgeZjjNe5S3Hbfb/155e846a1cb38f30bf17512b6dfd2229/screenshot_NewAPIToken){width=384}
5. In your [configuration file](https://qodo-merge-docs.qodo.ai/usage-guide/configuration_options/) add the following lines:
```toml
[jira]
jira_api_token = "YOUR_API_TOKEN"
jira_api_email = "YOUR_EMAIL"
```
#### Jira Data Center/Server 💎
##### Local App Authentication (For Qodo Merge On-Premise Customers)
##### 1. Step 1: Set up an application link in Jira Data Center/Server
* Go to Jira Administration > Applications > Application Links > Click on `Create link`
![application links](https://www.qodo.ai/images/pr_agent/jira_app_links.png){width=384}
* Choose `External application` and set the direction to `Incoming` and then click `Continue`
![external application](https://www.qodo.ai/images/pr_agent/jira_create_link.png){width=256}
* In the following screen, enter the following details:
* Name: `Qodo Merge`
* Redirect URL: Enter your Qodo Merge URL followed `https://{QODO_MERGE_ENDPOINT}/register_ticket_provider`
* Permission: Select `Read`
* Click `Save`
![external application details](https://www.qodo.ai/images/pr_agent/jira_fill_app_link.png){width=384}
* Copy the `Client ID` and `Client secret` and set them in your `.secrets` file:
![client id and secret](https://www.qodo.ai/images/pr_agent/jira_app_credentionals.png){width=256}
```toml
[jira]
jira_app_secret = "..."
jira_client_id = "..."
```
##### 2. Step 2: Authenticate with Jira Data Center/Server
* Open this URL in your browser: `https://{QODO_MERGE_ENDPOINT}/jira_auth`
* Click on link
![jira auth success](https://www.qodo.ai/images/pr_agent/jira_auth_page.png){width=384}
* You will be redirected to Jira Data Center/Server, click `Allow`
* You will be redirected back to Qodo Merge PR Agent and you will see a success message.
##### Personal Access Token (PAT) Authentication
We also support Personal Access Token (PAT) Authentication method.
1. Create a [Personal Access Token (PAT)](https://confluence.atlassian.com/enterprise/using-personal-access-tokens-1026032365.html) in your Jira account
2. In your Configuration file/Environment variables/Secrets file, add the following lines:
```toml
[jira]
jira_base_url = "YOUR_JIRA_BASE_URL" # e.g. https://jira.example.com
jira_api_token = "YOUR_API_TOKEN"
```

View File

@ -0,0 +1,44 @@
# Overview - Impact Evaluation 💎
Demonstrating the return on investment (ROI) of AI-powered initiatives is crucial for modern organizations.
To address this need, Qodo Merge has developed an AI impact measurement tools and metrics, providing advanced analytics to help businesses quantify the tangible benefits of AI adoption in their PR review process.
## Auto Impact Validator - Real-Time Tracking of Implemented Qodo Merge Suggestions
### How It Works
When a user pushes a new commit to the pull request, Qodo Merge automatically compares the updated code against the previous suggestions, marking them as implemented if the changes address these recommendations, whether directly or indirectly:
1. **Direct Implementation:** The user directly addresses the suggestion as-is in the PR, either by clicking on the "apply code suggestion" checkbox or by making the changes manually.
2. **Indirect Implementation:** Qodo Merge recognizes when a suggestion's intent is fulfilled, even if the exact code changes differ from the original recommendation. It marks these suggestions as implemented, acknowledging that users may achieve the same goal through alternative solutions.
### Real-Time Visual Feedback
Upon confirming that a suggestion was implemented, Qodo Merge automatically adds a ✅ (check mark) to the relevant suggestion, enabling transparent tracking of Qodo Merge's impact analysis.
Qodo Merge will also add, inside the relevant suggestions, an explanation of how the new code was impacted by each suggestion.
![Suggestion_checkmark](https://codium.ai/images/pr_agent/auto_suggestion_checkmark.png){width=512}
### Dashboard Metrics
The dashboard provides macro-level insights into the overall impact of Qodo Merge on the pull-request process with key productivity metrics.
By offering clear, data-driven evidence of Qodo Merge's impact, it empowers leadership teams to make informed decisions about the tool's effectiveness and ROI.
Here are key metrics that the dashboard tracks:
#### Qodo Merge Impacts per 1K Lines
![Dashboard](https://codium.ai/images/pr_agent/impacts_per_1k_llines.png){width=512}
> Explanation: for every 1K lines of code (additions/edits), Qodo Merge had on average ~X suggestions implemented.
**Why This Metric Matters:**
1. **Standardized and Comparable Measurement:** By measuring impacts per 1K lines of code additions, you create a standardized metric that can be compared across different projects, teams, customers, and time periods. This standardization is crucial for meaningful analysis, benchmarking, and identifying where Qodo Merge is most effective.
2. **Accounts for PR Variability and Incentivizes Quality:** This metric addresses the fact that "Not all PRs are created equal." By normalizing against lines of code rather than PR count, you account for the variability in PR sizes and focus on the quality and impact of suggestions rather than just the number of PRs affected.
3. **Quantifies Value and ROI:** The metric directly correlates with the value Qodo Merge is providing, showing how frequently it offers improvements relative to the amount of new code being written. This provides a clear, quantifiable way to demonstrate Qodo Merge's return on investment to stakeholders.
#### Suggestion Effectiveness Across Categories
![Impacted_Suggestion_Score](https://codium.ai/images/pr_agent/impact_by_category.png){width=512}
> Explanation: This chart illustrates the distribution of implemented suggestions across different categories, enabling teams to better understand Qodo Merge's impact on various aspects of code quality and development practices.
#### Suggestion Score Distribution
![Impacted_Suggestion_Score](https://codium.ai/images/pr_agent/impacted_score_dist.png){width=512}
> Explanation: The distribution of the suggestion score for the implemented suggestions, ensuring that higher-scored suggestions truly represent more significant improvements.

View File

@ -0,0 +1,29 @@
# Core Abilities
Qodo Merge utilizes a variety of core abilities to provide a comprehensive and efficient code review experience. These abilities include:
- [Fetching ticket context](https://qodo-merge-docs.qodo.ai/core-abilities/fetching_ticket_context/)
- [Local and global metadata](https://qodo-merge-docs.qodo.ai/core-abilities/metadata/)
- [Dynamic context](https://qodo-merge-docs.qodo.ai/core-abilities/dynamic_context/)
- [Self-reflection](https://qodo-merge-docs.qodo.ai/core-abilities/self_reflection/)
- [Impact evaluation](https://qodo-merge-docs.qodo.ai/core-abilities/impact_evaluation/)
- [Interactivity](https://qodo-merge-docs.qodo.ai/core-abilities/interactivity/)
- [Compression strategy](https://qodo-merge-docs.qodo.ai/core-abilities/compression_strategy/)
- [Code-oriented YAML](https://qodo-merge-docs.qodo.ai/core-abilities/code_oriented_yaml/)
- [Static code analysis](https://qodo-merge-docs.qodo.ai/core-abilities/static_code_analysis/)
- [Code fine-tuning benchmark](https://qodo-merge-docs.qodo.ai/finetuning_benchmark/)
## Blogs
Here are some additional technical blogs from Qodo, that delve deeper into the core capabilities and features of Large Language Models (LLMs) when applied to coding tasks.
These resources provide more comprehensive insights into leveraging LLMs for software development.
### Code Generation and LLMs
- [State-of-the-art Code Generation with AlphaCodium From Prompt Engineering to Flow Engineering](https://www.qodo.ai/blog/qodoflow-state-of-the-art-code-generation-for-code-contests/)
- [RAG for a Codebase with 10k Repos](https://www.qodo.ai/blog/rag-for-large-scale-code-repos/)
### Development Processes
- [Understanding the Challenges and Pain Points of the Pull Request Cycle](https://www.qodo.ai/blog/understanding-the-challenges-and-pain-points-of-the-pull-request-cycle/)
- [Introduction to Code Coverage Testing](https://www.qodo.ai/blog/introduction-to-code-coverage-testing/)
### Cost Optimization
- [Reduce Your Costs by 30% When Using GPT for Python Code](https://www.qodo.ai/blog/reduce-your-costs-by-30-when-using-gpt-3-for-python-code/)

View File

@ -0,0 +1,2 @@
## Interactive invocation 💎
TBD

View File

@ -0,0 +1,56 @@
## Local and global metadata injection with multi-stage analysis
(1)
Qodo Merge initially retrieves for each PR the following data:
- PR title and branch name
- PR original description
- Commit messages history
- PR diff patches, in [hunk diff](https://loicpefferkorn.net/2014/02/diff-files-what-are-hunks-and-how-to-extract-them/) format
- The entire content of the files that were modified in the PR
!!! tip "Tip: Organization-level metadata"
In addition to the inputs above, Qodo Merge can incorporate supplementary preferences provided by the user, like [`extra_instructions` and `organization best practices`](https://qodo-merge-docs.qodo.ai/tools/improve/#extra-instructions-and-best-practices). This information can be used to enhance the PR analysis.
(2)
By default, the first command that Qodo Merge executes is [`describe`](https://qodo-merge-docs.qodo.ai/tools/describe/), which generates three types of outputs:
- PR Type (e.g. bug fix, feature, refactor, etc)
- PR Description - a bullet point summary of the PR
- Changes walkthrough - for each modified file, provide a one-line summary followed by a detailed bullet point list of the changes.
These AI-generated outputs are now considered as part of the PR metadata, and can be used in subsequent commands like `review` and `improve`.
This effectively enables multi-stage chain-of-thought analysis, without doing any additional API calls which will cost time and money.
For example, when generating code suggestions for different files, Qodo Merge can inject the AI-generated ["Changes walkthrough"](https://github.com/Codium-ai/pr-agent/pull/1202#issue-2511546839) file summary in the prompt:
```
## File: 'src/file1.py'
### AI-generated file summary:
- edited function `func1` that does X
- Removed function `func2` that was not used
- ....
@@ ... @@ def func1():
__new hunk__
11 unchanged code line0
12 unchanged code line1
13 +new code line2 added
14 unchanged code line3
__old hunk__
unchanged code line0
unchanged code line1
-old code line2 removed
unchanged code line3
@@ ... @@ def func2():
__new hunk__
...
__old hunk__
...
```
(3) The entire PR files that were retrieved are also used to expand and enhance the PR context (see [Dynamic Context](https://qodo-merge-docs.qodo.ai/core-abilities/dynamic_context/)).
(4) All the metadata described above represents several level of cumulative analysis - ranging from hunk level, to file level, to PR level, to organization level.
This comprehensive approach enables Qodo Merge AI models to generate more precise and contextually relevant suggestions and feedback.

View File

@ -0,0 +1,50 @@
## TL;DR
Qodo Merge implements a **self-reflection** process where the AI model reflects, scores, and re-ranks its own suggestions, eliminating irrelevant or incorrect ones.
This approach improves the quality and relevance of suggestions, saving users time and enhancing their experience.
Configuration options allow users to set a score threshold for further filtering out suggestions.
## Introduction - Efficient Review with Hierarchical Presentation
Given that not all generated code suggestions will be relevant, it is crucial to enable users to review them in a fast and efficient way, allowing quick identification and filtering of non-applicable ones.
To achieve this goal, Qodo Merge offers a dedicated hierarchical structure when presenting suggestions to users:
- A "category" section groups suggestions by their category, allowing users to quickly dismiss irrelevant suggestions.
- Each suggestion is first described by a one-line summary, which can be expanded to a full description by clicking on a collapsible.
- Upon expanding a suggestion, the user receives a more comprehensive description, and a code snippet demonstrating the recommendation.
!!! note "Fast Review"
This hierarchical structure is designed to facilitate rapid review of each suggestion, with users spending an average of ~5-10 seconds per item.
## Self-reflection and Re-ranking
The AI model is initially tasked with generating suggestions, and outputting them in order of importance.
However, in practice we observe that models often struggle to simultaneously generate high-quality code suggestions and rank them well in a single pass.
Furthermore, the initial set of generated suggestions sometimes contains easily identifiable errors.
To address these issues, we implemented a "self-reflection" process that refines suggestion ranking and eliminates irrelevant or incorrect proposals.
This process consists of the following steps:
1. Presenting the generated suggestions to the model in a follow-up call.
2. Instructing the model to score each suggestion on a scale of 0-10 and provide a rationale for the assigned score.
3. Utilizing these scores to re-rank the suggestions and filter out incorrect ones (with a score of 0).
4. Optionally, filtering out all suggestions below a user-defined score threshold.
Note that presenting all generated suggestions simultaneously provides the model with a comprehensive context, enabling it to make more informed decisions compared to evaluating each suggestion individually.
To conclude, the self-reflection process enables Qodo Merge to prioritize suggestions based on their importance, eliminate inaccurate or irrelevant proposals, and optionally exclude suggestions that fall below a specified threshold of significance.
This results in a more refined and valuable set of suggestions for the user, saving time and improving the overall experience.
## Example Results
![self_reflection](https://codium.ai/images/pr_agent/self_reflection1.png){width=768}
![self_reflection](https://codium.ai/images/pr_agent/self_reflection2.png){width=768}
## Appendix - Relevant Configuration Options
```
[pr_code_suggestions]
suggestions_score_threshold = 0 # Filter out suggestions with a score below this threshold (0-10)
```

View File

@ -0,0 +1,70 @@
## Overview - Static Code Analysis 💎
By combining static code analysis with LLM capabilities, Qodo Merge can provide a comprehensive analysis of the PR code changes on a component level.
It scans the PR code changes, finds all the code components (methods, functions, classes) that changed, and enables to interactively generate tests, docs, code suggestions and similar code search for each component.
!!! note "Language that are currently supported:"
Python, Java, C++, JavaScript, TypeScript, C#.
## Capabilities
### Analyze PR
The [`analyze`](https://qodo-merge-docs.qodo.ai/tools/analyze/) tool enables to interactively generate tests, docs, code suggestions and similar code search for each component that changed in the PR.
It can be invoked manually by commenting on any PR:
```
/analyze
```
An example result:
![Analyze 1](https://codium.ai/images/pr_agent/analyze_1.png){width=768}
Clicking on each checkbox will trigger the relevant tool for the selected component.
### Generate Tests
The [`test`](https://qodo-merge-docs.qodo.ai/tools/test/) tool generate tests for a selected component, based on the PR code changes.
It can be invoked manually by commenting on any PR:
```
/test component_name
```
where 'component_name' is the name of a specific component in the PR, Or be triggered interactively by using the `analyze` tool.
![test1](https://codium.ai/images/pr_agent/test1.png){width=768}
### Generate Docs for a Component
The [`add_docs`](https://qodo-merge-docs.qodo.ai/tools/documentation/) tool scans the PR code changes, and automatically generate docstrings for any code components that changed in the PR.
It can be invoked manually by commenting on any PR:
```
/add_docs component_name
```
Or be triggered interactively by using the `analyze` tool.
![Docs single component](https://codium.ai/images/pr_agent/docs_single_component.png){width=768}
### Generate Code Suggestions for a Component
The [`improve_component`](https://qodo-merge-docs.qodo.ai/tools/improve_component/) tool generates code suggestions for a specific code component that changed in the PR.
It can be invoked manually by commenting on any PR:
```
/improve_component component_name
```
Or be triggered interactively by using the `analyze` tool.
![improve_component2](https://codium.ai/images/pr_agent/improve_component2.png){width=768}
### Find Similar Code
The [`similar code`](https://qodo-merge-docs.qodo.ai/tools/similar_code/) tool retrieves the most similar code components from inside the organization's codebase or from open-source code, including details about the license associated with each repository.
For example:
`Global Search` for a method called `chat_completion`:
![similar code global](https://codium.ai/images/pr_agent/similar_code_global2.png){width=768}

49
docs/docs/css/custom.css Normal file
View File

@ -0,0 +1,49 @@
:root {
--md-primary-fg-color: #765bfa;
--md-accent-fg-color: #AEA1F1;
}
.md-nav--primary {
.md-nav__link {
font-size: 18px; /* Change the font size as per your preference */
}
}
.md-nav--primary {
position: relative; /* Ensure the element is positioned */
}
.md-nav--primary::before {
content: "";
position: absolute;
top: 0;
right: 10px; /* Move the border 10 pixels to the right */
width: 2px;
height: 100%;
background-color: #f5f5f5; /* Match the border color */
}
/*.md-nav__title, .md-nav__link {*/
/* font-size: 18px;*/
/* margin-top: 14px; !* Adjust the space as needed *!*/
/* margin-bottom: 14px; !* Adjust the space as needed *!*/
/*}*/
.md-tabs__link {
font-size: 18px;
}
.md-header__title {
font-size: 20px;
margin-left: 0px !important;
}
.md-content img {
border-width: 1px;
border-style: solid;
border-color: black;
outline-width: 1px;
outline-style: solid;
outline-color: darkgray;
}

90
docs/docs/faq/index.md Normal file
View File

@ -0,0 +1,90 @@
# FAQ
??? note "Q: Can Qodo Merge serve as a substitute for a human reviewer?"
#### Answer:<span style="display:none;">1</span>
Qodo Merge is designed to assist, not replace, human reviewers.
Reviewing PRs is a tedious and time-consuming task often seen as a "chore". In addition, the longer the PR the shorter the relative feedback, since long PRs can overwhelm reviewers, both in terms of technical difficulty, and the actual review time.
Qodo Merge aims to address these pain points, and to assist and empower both the PR author and reviewer.
However, Qodo Merge has built-in safeguards to ensure the developer remains in the driver's seat. For example:
1. Preserves user's original PR header
2. Places user's description above the AI-generated PR description
3. Won't approve PRs; approval remains reviewer's responsibility
4. The code suggestions are optional, and aim to:
- Encourage self-review and self-reflection
- Highlight potential bugs or oversights
- Enhance code quality and promote best practices
Read more about this issue in our [blog](https://www.codium.ai/blog/understanding-the-challenges-and-pain-points-of-the-pull-request-cycle/)
___
??? note "Q: I received an incorrect or irrelevant suggestion. Why?"
#### Answer:<span style="display:none;">2</span>
- Modern AI models, like Claude 3.5 Sonnet and GPT-4, are improving rapidly but remain imperfect. Users should critically evaluate all suggestions rather than accepting them automatically.
- AI errors are rare, but possible. A main value from reviewing the code suggestions lies in their high probability of catching **mistakes or bugs made by the PR author**. We believe it's worth spending 30-60 seconds reviewing suggestions, even if some aren't relevant, as this practice can enhance code quality and prevent bugs in production.
- The hierarchical structure of the suggestions is designed to help the user _quickly_ understand them, and to decide which ones are relevant and which are not:
- Only if the `Category` header is relevant, the user should move to the summarized suggestion description.
- Only if the summarized suggestion description is relevant, the user should click on the collapsible, to read the full suggestion description with a code preview example.
- In addition, we recommend to use the [`extra_instructions`](https://qodo-merge-docs.qodo.ai/tools/improve/#extra-instructions-and-best-practices) field to guide the model to suggestions that are more relevant to the specific needs of the project.
- The interactive [PR chat](https://qodo-merge-docs.qodo.ai/chrome-extension/) also provides an easy way to get more tailored suggestions and feedback from the AI model.
___
??? note "Q: How can I get more tailored suggestions?"
#### Answer:<span style="display:none;">3</span>
See [here](https://qodo-merge-docs.qodo.ai/tools/improve/#extra-instructions-and-best-practices) for more information on how to use the `extra_instructions` and `best_practices` configuration options, to guide the model to more tailored suggestions.
___
??? note "Q: Will you store my code? Are you using my code to train models?"
#### Answer:<span style="display:none;">4</span>
No. Qodo Merge strict privacy policy ensures that your code is not stored or used for training purposes.
For a detailed overview of our data privacy policy, please refer to [this link](https://qodo-merge-docs.qodo.ai/overview/data_privacy/)
___
??? note "Q: Can I use my own LLM keys with Qodo Merge?"
#### Answer:<span style="display:none;">5</span>
When you self-host the [open-source](https://github.com/Codium-ai/pr-agent) version, you use your own keys.
Qodo Merge Pro with SaaS deployment is a hosted version of Qodo Merge, where Qodo manages the infrastructure and the keys.
For enterprise customers, on-prem deployment is also available. [Contact us](https://www.codium.ai/contact/#pricing) for more information.
___
??? note "Q: Can Qodo Merge review draft/offline PRs?"
#### Answer:<span style="display:none;">5</span>
Yes. While Qodo Merge won't automatically review draft PRs, you can still get feedback by manually requesting it through [online commenting](https://qodo-merge-docs.qodo.ai/usage-guide/automations_and_usage/#online-usage).
For active PRs, you can customize the automatic feedback settings [here](https://qodo-merge-docs.qodo.ai/usage-guide/automations_and_usage/#qodo-merge-automatic-feedback) to match your team's workflow.
___
??? note "Q: Can the 'Review effort' feedback be calibrated or customized?"
#### Answer:<span style="display:none;">5</span>
Yes, you can customize review effort estimates using the `extra_instructions` configuration option (see [documentation](https://qodo-merge-docs.qodo.ai/tools/review/#configuration-options)).
Example mapping:
- Effort 1: < 30 minutes review time
- Effort 2: 30-60 minutes review time
- Effort 3: 60-90 minutes review time
- ...
Note: The effort levels (1-5) are primarily meant for _comparative_ purposes, helping teams prioritize reviewing smaller PRs first. The actual review duration may vary, as the focus is on providing consistent relative effort estimates.
___

View File

@ -0,0 +1,93 @@
# Qodo Merge Code Fine-tuning Benchmark
On coding tasks, the gap between open-source models and top closed-source models such as GPT4 is significant.
<br>
In practice, open-source models are unsuitable for most real-world code tasks, and require further fine-tuning to produce acceptable results.
_Qodo Merge fine-tuning benchmark_ aims to benchmark open-source models on their ability to be fine-tuned for a coding task.
Specifically, we chose to fine-tune open-source models on the task of analyzing a pull request, and providing useful feedback and code suggestions.
Here are the results:
<br>
<br>
**Model performance:**
| Model name | Model size [B] | Better than gpt-4 rate, after fine-tuning [%] |
|-----------------------------|----------------|----------------------------------------------|
| **DeepSeek 34B-instruct** | **34** | **40.7** |
| DeepSeek 34B-base | 34 | 38.2 |
| Phind-34b | 34 | 38 |
| Granite-34B | 34 | 37.6 |
| Codestral-22B-v0.1 | 22 | 32.7 |
| QWEN-1.5-32B | 32 | 29 |
| | | |
| **CodeQwen1.5-7B** | **7** | **35.4** |
| Llama-3.1-8B-Instruct | 8 | 35.2 |
| Granite-8b-code-instruct | 8 | 34.2 |
| CodeLlama-7b-hf | 7 | 31.8 |
| Gemma-7B | 7 | 27.2 |
| DeepSeek coder-7b-instruct | 7 | 26.8 |
| Llama-3-8B-Instruct | 8 | 26.8 |
| Mistral-7B-v0.1 | 7 | 16.1 |
<br>
**Fine-tuning impact:**
| Model name | Model size [B] | Fine-tuned | Better than gpt-4 rate [%] |
|---------------------------|----------------|------------|----------------------------|
| DeepSeek 34B-instruct | 34 | yes | 40.7 |
| DeepSeek 34B-instruct | 34 | no | 3.6 |
## Results analysis
- **Fine-tuning is a must** - without fine-tuning, open-source models provide poor results on most real-world code tasks, which include complicated prompt and lengthy context. We clearly see that without fine-tuning, deepseek model was 96.4% of the time inferior to GPT-4, while after fine-tuning, it is better 40.7% of the time.
- **Always start from a code-dedicated model** — When fine-tuning, always start from a code-dedicated model, and not from a general-usage model. The gaps in downstream results are very big.
- **Don't believe the hype** —newer models, or models from big-tech companies (Llama3, Gemma, Mistral), are not always better for fine-tuning.
- **The best large model** - For large 34B code-dedicated models, the gaps when doing proper fine-tuning are small. The current top model is **DeepSeek 34B-instruct**
- **The best small model** - For small 7B code-dedicated models, the gaps when fine-tuning are much larger. **CodeQWEN 1.5-7B** is by far the best model for fine-tuning.
- **Base vs. instruct** - For the top model (deepseek), we saw small advantage when starting from the instruct version. However, we recommend testing both versions on each specific task, as the base model is generally considered more suitable for fine-tuning.
## The dataset
### Training dataset
Our training dataset comprises 25,000 pull requests, aggregated from permissive license repos. For each pull request, we generated responses for the three main tools of Qodo Merge:
[Describe](https://qodo-merge-docs.qodo.ai/tools/describe/), [Review](https://qodo-merge-docs.qodo.ai/tools/improve/) and [Improve](https://qodo-merge-docs.qodo.ai/tools/improve/).
On the raw data collected, we employed various automatic and manual cleaning techniques to ensure the outputs were of the highest quality, and suitable for instruct-tuning.
Here are the prompts, and example outputs, used as input-output pairs to fine-tune the models:
| Tool | Prompt | Example output |
|----------|------------------------------------------------------------------------------------------------------------|----------------|
| Describe | [link](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/settings/pr_description_prompts.toml) | [link](https://github.com/Codium-ai/pr-agent/pull/910#issue-2303989601) |
| Review | [link](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/settings/pr_reviewer_prompts.toml) | [link](https://github.com/Codium-ai/pr-agent/pull/910#issuecomment-2118761219) |
| Improve | [link](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/settings/pr_code_suggestions_prompts.toml) | [link](https://github.com/Codium-ai/pr-agent/pull/910#issuecomment-2118761309) |
### Evaluation dataset
- For each tool, we aggregated 100 additional examples to be used for evaluation. These examples were not used in the training dataset, and were manually selected to represent diverse real-world use-cases.
- For each test example, we generated two responses: one from the fine-tuned model, and one from the best code model in the world, `gpt-4-turbo-2024-04-09`.
- We used a third LLM to judge which response better answers the prompt, and will likely be perceived by a human as better response.
<br>
We experimented with three model as judges: `gpt-4-turbo-2024-04-09`, `gpt-4o`, and `claude-3-opus-20240229`. All three produced similar results, with the same ranking order. This strengthens the validity of our testing protocol.
The evaluation prompt can be found [here](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/settings/pr_evaluate_prompt_response.toml)
Here is an example of a judge model feedback:
```
command: improve
model1_score: 9,
model2_score: 6,
why: |
Response 1 is better because it provides more actionable and specific suggestions that directly
enhance the code's maintainability, performance, and best practices. For example, it suggests
using a variable for reusable widget instances and using named routes for navigation, which
are practical improvements. In contrast, Response 2 focuses more on general advice and less
actionable suggestions, such as changing variable names and adding comments, which are less
critical for immediate code improvement."
```

101
docs/docs/index.md Normal file
View File

@ -0,0 +1,101 @@
# Overview
Qodo Merge is an open-source tool to help efficiently review and handle pull requests.
- See the [Installation Guide](./installation/index.md) for instructions on installing and running the tool on different git platforms.
- See the [Usage Guide](./usage-guide/index.md) for instructions on running the Qodo Merge commands via different interfaces, including _CLI_, _online usage_, or by _automatically triggering_ them when a new PR is opened.
- See the [Tools Guide](./tools/index.md) for a detailed description of the different tools.
## Qodo Merge Docs Smart Search
To search the documentation site using natural language:
1) Comment `/help "your question"` in either:
- A pull request where Qodo Merge is installed
- A [PR Chat](https://qodo-merge-docs.qodo.ai/chrome-extension/features/#pr-chat)
2) Qodo Merge will respond with an [answer](https://github.com/Codium-ai/pr-agent/pull/1241#issuecomment-2365259334) that includes relevant documentation links.
## Qodo Merge Features
Qodo Merge offers extensive pull request functionalities across various git providers.
| | | GitHub | GitLab | Bitbucket | Azure DevOps |
|-------|---------------------------------------------------------------------------------------------------------|:--------------------:|:--------------------:|:--------------------:|:------------:|
| TOOLS | [Review](https://qodo-merge-docs.qodo.ai/tools/review/) | ✅ | ✅ | ✅ | ✅ |
| | [Describe](https://qodo-merge-docs.qodo.ai/tools/describe/) | ✅ | ✅ | ✅ | ✅ |
| | [Improve](https://qodo-merge-docs.qodo.ai/tools/improve/) | ✅ | ✅ | ✅ | ✅ |
| | [Ask](https://qodo-merge-docs.qodo.ai/tools/ask/) | ✅ | ✅ | ✅ | ✅ |
| | ⮑ [Ask on code lines](https://pr-agent-docs.codium.ai/tools/ask#ask-lines) | ✅ | ✅ | | |
| | [Update CHANGELOG](https://qodo-merge-docs.qodo.ai/tools/update_changelog/) | ✅ | ✅ | ✅ | ✅ |
| | [Ticket Context](https://qodo-merge-docs.qodo.ai/core-abilities/fetching_ticket_context/) 💎 | ✅ | ✅ | ✅ | |
| | [Utilizing Best Practices](https://qodo-merge-docs.qodo.ai/tools/improve/#best-practices) 💎 | ✅ | ✅ | ✅ | |
| | [PR Chat](https://qodo-merge-docs.qodo.ai/chrome-extension/features/#pr-chat) 💎 | ✅ | | | |
| | [Suggestion Tracking](https://qodo-merge-docs.qodo.ai/tools/improve/#suggestion-tracking) 💎 | ✅ | ✅ | | |
| | [CI Feedback](https://pr-agent-docs.codium.ai/tools/ci_feedback/) 💎 | ✅ | | | |
| | [PR Documentation](https://pr-agent-docs.codium.ai/tools/documentation/) 💎 | ✅ | ✅ | | |
| | [Custom Labels](https://pr-agent-docs.codium.ai/tools/custom_labels/) 💎 | ✅ | ✅ | | |
| | [Analyze](https://pr-agent-docs.codium.ai/tools/analyze/) 💎 | ✅ | ✅ | | |
| | [Similar Code](https://pr-agent-docs.codium.ai/tools/similar_code/) 💎 | ✅ | | | |
| | [Custom Prompt](https://pr-agent-docs.codium.ai/tools/custom_prompt/) 💎 | ✅ | ✅ | ✅ | |
| | [Test](https://pr-agent-docs.codium.ai/tools/test/) 💎 | ✅ | ✅ | | |
| | [Implement](https://pr-agent-docs.codium.ai/tools/implement/) 💎 | ✅ | ✅ | ✅ | |
| | | | | | |
| USAGE | [CLI](https://qodo-merge-docs.qodo.ai/usage-guide/automations_and_usage/#local-repo-cli) | ✅ | ✅ | ✅ | ✅ |
| | [App / webhook](https://qodo-merge-docs.qodo.ai/usage-guide/automations_and_usage/#github-app) | ✅ | ✅ | ✅ | ✅ |
| | [Tagging bot](https://github.com/Codium-ai/pr-agent#try-it-now) | ✅ | | | |
| | [Actions](https://qodo-merge-docs.qodo.ai/installation/github/#run-as-a-github-action) | ✅ |✅| ✅ |✅|
| | | | | | |
| CORE | [PR compression](https://qodo-merge-docs.qodo.ai/core-abilities/compression_strategy/) | ✅ | ✅ | ✅ | ✅ |
| | Adaptive and token-aware file patch fitting | ✅ | ✅ | ✅ | ✅ |
| | [Multiple models support](https://qodo-merge-docs.qodo.ai/usage-guide/changing_a_model/) | ✅ | ✅ | ✅ | ✅ |
| | [Local and global metadata](https://qodo-merge-docs.qodo.ai/core-abilities/metadata/) | ✅ | ✅ | ✅ | ✅ |
| | [Dynamic context](https://qodo-merge-docs.qodo.ai/core-abilities/dynamic_context/) | ✅ | ✅ | ✅ | ✅ |
| | [Self reflection](https://qodo-merge-docs.qodo.ai/core-abilities/self_reflection/) | ✅ | ✅ | ✅ | ✅ |
| | [Static code analysis](https://qodo-merge-docs.qodo.ai/core-abilities/static_code_analysis/) 💎 | ✅ | ✅ | ✅ | |
| | [Global and wiki configurations](https://pr-agent-docs.codium.ai/usage-guide/configuration_options/) 💎 | ✅ | ✅ | ✅ | |
| | [PR interactive actions](https://www.codium.ai/images/pr_agent/pr-actions.mp4) 💎 | ✅ | ✅ | | |
| | [Impact Evaluation](https://qodo-merge-docs.qodo.ai/core-abilities/impact_evaluation/) 💎 | ✅ | ✅ | | |
💎 marks a feature available only in [Qodo Merge Pro](https://www.qodo.ai/pricing/){:target="_blank"}
## Example Results
<hr>
#### [/describe](https://github.com/Codium-ai/pr-agent/pull/530)
<figure markdown="1">
![/describe](https://www.codium.ai/images/pr_agent/describe_new_short_main.png){width=512}
</figure>
<hr>
#### [/review](https://github.com/Codium-ai/pr-agent/pull/732#issuecomment-1975099151)
<figure markdown="1">
![/review](https://www.codium.ai/images/pr_agent/review_new_short_main.png){width=512}
</figure>
<hr>
#### [/improve](https://github.com/Codium-ai/pr-agent/pull/732#issuecomment-1975099159)
<figure markdown="1">
![/improve](https://www.codium.ai/images/pr_agent/improve_new_short_main.png){width=512}
</figure>
<hr>
#### [/generate_labels](https://github.com/Codium-ai/pr-agent/pull/530)
<figure markdown="1">
![/generate_labels](https://www.codium.ai/images/pr_agent/geneare_custom_labels_main_short.png){width=300}
</figure>
<hr>
## How it Works
The following diagram illustrates Qodo Merge tools and their flow:
![Qodo Merge Tools](https://codium.ai/images/pr_agent/diagram-v0.9.png)
Check out the [core abilities](core-abilities/index.md) page for a comprehensive overview of the variety of core abilities used by Qodo Merge.

View File

@ -0,0 +1,95 @@
## Azure DevOps Pipeline
You can use a pre-built Action Docker image to run Qodo Merge as an Azure devops pipeline.
add the following file to your repository under `azure-pipelines.yml`:
```yaml
# Opt out of CI triggers
trigger: none
# Configure PR trigger
pr:
branches:
include:
- '*'
autoCancel: true
drafts: false
stages:
- stage: pr_agent
displayName: 'PR Agent Stage'
jobs:
- job: pr_agent_job
displayName: 'PR Agent Job'
pool:
vmImage: 'ubuntu-latest'
container:
image: codiumai/pr-agent:latest
options: --entrypoint ""
variables:
- group: pr_agent
steps:
- script: |
echo "Running PR Agent action step"
# Construct PR_URL
PR_URL="${SYSTEM_COLLECTIONURI}${SYSTEM_TEAMPROJECT}/_git/${BUILD_REPOSITORY_NAME}/pullrequest/${SYSTEM_PULLREQUEST_PULLREQUESTID}"
echo "PR_URL=$PR_URL"
# Extract organization URL from System.CollectionUri
ORG_URL=$(echo "$(System.CollectionUri)" | sed 's/\/$//') # Remove trailing slash if present
echo "Organization URL: $ORG_URL"
export azure_devops__org="$ORG_URL"
export config__git_provider="azure"
pr-agent --pr_url="$PR_URL" describe
pr-agent --pr_url="$PR_URL" review
pr-agent --pr_url="$PR_URL" improve
env:
azure_devops__pat: $(azure_devops_pat)
openai__key: $(OPENAI_KEY)
displayName: 'Run Qodo Merge'
```
This script will run Qodo Merge on every new merge request, with the `improve`, `review`, and `describe` commands.
Note that you need to export the `azure_devops__pat` and `OPENAI_KEY` variables in the Azure DevOps pipeline settings (Pipelines -> Library -> + Variable group):
![Qodo Merge Pro](https://codium.ai/images/pr_agent/azure_devops_pipeline_secrets.png){width=468}
Make sure to give pipeline permissions to the `pr_agent` variable group.
> Note that Azure Pipelines lacks support for triggering workflows from PR comments. If you find a viable solution, please contribute it to our [issue tracker](https://github.com/Codium-ai/pr-agent/issues)
## Azure DevOps from CLI
To use Azure DevOps provider use the following settings in configuration.toml:
```
[config]
git_provider="azure"
```
Azure DevOps provider supports [PAT token](https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops&tabs=Windows) or [DefaultAzureCredential](https://learn.microsoft.com/en-us/azure/developer/python/sdk/authentication-overview#authentication-in-server-environments) authentication.
PAT is faster to create, but has build in expiration date, and will use the user identity for API calls.
Using DefaultAzureCredential you can use managed identity or Service principle, which are more secure and will create separate ADO user identity (via AAD) to the agent.
If PAT was chosen, you can assign the value in .secrets.toml.
If DefaultAzureCredential was chosen, you can assigned the additional env vars like AZURE_CLIENT_SECRET directly,
or use managed identity/az cli (for local development) without any additional configuration.
in any case, 'org' value must be assigned in .secrets.toml:
```
[azure_devops]
org = "https://dev.azure.com/YOUR_ORGANIZATION/"
# pat = "YOUR_PAT_TOKEN" needed only if using PAT for authentication
```
### Azure DevOps Webhook
To trigger from an Azure webhook, you need to manually [add a webhook](https://learn.microsoft.com/en-us/azure/devops/service-hooks/services/webhooks?view=azure-devops).
Use the "Pull request created" type to trigger a review, or "Pull request commented on" to trigger any supported comment with /<command> <args> comment on the relevant PR. Note that for the "Pull request commented on" trigger, only API v2.0 is supported.
For webhook security, create a sporadic username/password pair and configure the webhook username and password on both the server and Azure DevOps webhook. These will be sent as basic Auth data by the webhook with each request:
```
[azure_devops_server]
webhook_username = "<basic auth user>"
webhook_password = "<basic auth password>"
```
> :warning: **Ensure that the webhook endpoint is only accessible over HTTPS** to mitigate the risk of credential interception when using basic authentication.

View File

@ -0,0 +1,70 @@
## Run as a Bitbucket Pipeline
You can use the Bitbucket Pipeline system to run Qodo Merge on every pull request open or update.
1. Add the following file in your repository bitbucket-pipelines.yml
```yaml
pipelines:
pull-requests:
'**':
- step:
name: PR Agent Review
image: python:3.10
services:
- docker
script:
- docker run -e CONFIG.GIT_PROVIDER=bitbucket -e OPENAI.KEY=$OPENAI_API_KEY -e BITBUCKET.BEARER_TOKEN=$BITBUCKET_BEARER_TOKEN codiumai/pr-agent:latest --pr_url=https://bitbucket.org/$BITBUCKET_WORKSPACE/$BITBUCKET_REPO_SLUG/pull-requests/$BITBUCKET_PR_ID review
```
2. Add the following secure variables to your repository under Repository settings > Pipelines > Repository variables.
OPENAI_API_KEY: `<your key>`
BITBUCKET_BEARER_TOKEN: `<your token>`
You can get a Bitbucket token for your repository by following Repository Settings -> Security -> Access Tokens.
Note that comments on a PR are not supported in Bitbucket Pipeline.
## Run using CodiumAI-hosted Bitbucket app 💎
Please contact visit [Qodo Merge Pro](https://www.codium.ai/pricing/) if you're interested in a hosted BitBucket app solution that provides full functionality including PR reviews and comment handling. It's based on the [bitbucket_app.py](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/git_providers/bitbucket_provider.py) implementation.
## Bitbucket Server and Data Center
Login into your on-prem instance of Bitbucket with your service account username and password.
Navigate to `Manage account`, `HTTP Access tokens`, `Create Token`.
Generate the token and add it to .secret.toml under `bitbucket_server` section
```toml
[bitbucket_server]
bearer_token = "<your key>"
```
### Run it as CLI
Modify `configuration.toml`:
```toml
git_provider="bitbucket_server"
```
and pass the Pull request URL:
```shell
python cli.py --pr_url https://git.onpreminstanceofbitbucket.com/projects/PROJECT/repos/REPO/pull-requests/1 review
```
### Run it as service
To run Qodo Merge as webhook, build the docker image:
```
docker build . -t codiumai/pr-agent:bitbucket_server_webhook --target bitbucket_server_webhook -f docker/Dockerfile
docker push codiumai/pr-agent:bitbucket_server_webhook # Push to your Docker repository
```
Navigate to `Projects` or `Repositories`, `Settings`, `Webhooks`, `Create Webhook`.
Fill the name and URL, Authentication None select the Pull Request Opened checkbox to receive that event as webhook.
The URL should end with `/webhook`, for example: https://domain.com/webhook

View File

@ -0,0 +1,268 @@
## Run as a GitHub Action
You can use our pre-built Github Action Docker image to run Qodo Merge as a Github Action.
1) Add the following file to your repository under `.github/workflows/pr_agent.yml`:
```yaml
on:
pull_request:
types: [opened, reopened, ready_for_review]
issue_comment:
jobs:
pr_agent_job:
if: ${{ github.event.sender.type != 'Bot' }}
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
contents: write
name: Run pr agent on every pull request, respond to user comments
steps:
- name: PR Agent action step
id: pragent
uses: Codium-ai/pr-agent@main
env:
OPENAI_KEY: ${{ secrets.OPENAI_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
```
2) Add the following secret to your repository under `Settings > Secrets and variables > Actions > New repository secret > Add secret`:
```
Name = OPENAI_KEY
Secret = <your key>
```
The GITHUB_TOKEN secret is automatically created by GitHub.
3) Merge this change to your main branch.
When you open your next PR, you should see a comment from `github-actions` bot with a review of your PR, and instructions on how to use the rest of the tools.
4) You may configure Qodo Merge by adding environment variables under the env section corresponding to any configurable property in the [configuration](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/settings/configuration.toml) file. Some examples:
```yaml
env:
# ... previous environment values
OPENAI.ORG: "<Your organization name under your OpenAI account>"
PR_REVIEWER.REQUIRE_TESTS_REVIEW: "false" # Disable tests review
PR_CODE_SUGGESTIONS.NUM_CODE_SUGGESTIONS: 6 # Increase number of code suggestions
```
See detailed usage instructions in the [USAGE GUIDE](https://qodo-merge-docs.qodo.ai/usage-guide/automations_and_usage/#github-action)
### Using a specific release
!!! tip ""
if you want to pin your action to a specific release (v0.23 for example) for stability reasons, use:
```yaml
...
steps:
- name: PR Agent action step
id: pragent
uses: docker://codiumai/pr-agent:0.23-github_action
...
```
For enhanced security, you can also specify the Docker image by its [digest](https://hub.docker.com/repository/docker/codiumai/pr-agent/tags):
```yaml
...
steps:
- name: PR Agent action step
id: pragent
uses: docker://codiumai/pr-agent@sha256:14165e525678ace7d9b51cda8652c2d74abb4e1d76b57c4a6ccaeba84663cc64
...
```
### Action for GitHub enterprise server
!!! tip ""
To use the action with a GitHub enterprise server, add an environment variable `GITHUB.BASE_URL` with the API URL of your GitHub server.
For example, if your GitHub server is at `https://github.mycompany.com`, add the following to your workflow file:
```yaml
env:
# ... previous environment values
GITHUB.BASE_URL: "https://github.mycompany.com/api/v3"
```
---
## Run as a GitHub App
Allowing you to automate the review process on your private or public repositories.
1) Create a GitHub App from the [Github Developer Portal](https://docs.github.com/en/developers/apps/creating-a-github-app).
- Set the following permissions:
- Pull requests: Read & write
- Issue comment: Read & write
- Metadata: Read-only
- Contents: Read-only
- Set the following events:
- Issue comment
- Pull request
- Push (if you need to enable triggering on PR update)
2) Generate a random secret for your app, and save it for later. For example, you can use:
```
WEBHOOK_SECRET=$(python -c "import secrets; print(secrets.token_hex(10))")
```
3) Acquire the following pieces of information from your app's settings page:
- App private key (click "Generate a private key" and save the file)
- App ID
4) Clone this repository:
```
git clone https://github.com/Codium-ai/pr-agent.git
```
5) Copy the secrets template file and fill in the following:
```
cp pr_agent/settings/.secrets_template.toml pr_agent/settings/.secrets.toml
# Edit .secrets.toml file
```
- Your OpenAI key.
- Copy your app's private key to the private_key field.
- Copy your app's ID to the app_id field.
- Copy your app's webhook secret to the webhook_secret field.
- Set deployment_type to 'app' in [configuration.toml](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/settings/configuration.toml)
> The .secrets.toml file is not copied to the Docker image by default, and is only used for local development.
> If you want to use the .secrets.toml file in your Docker image, you can add remove it from the .dockerignore file.
> In most production environments, you would inject the secrets file as environment variables or as mounted volumes.
> For example, in order to inject a secrets file as a volume in a Kubernetes environment you can update your pod spec to include the following,
> assuming you have a secret named `pr-agent-settings` with a key named `.secrets.toml`:
```
volumes:
- name: settings-volume
secret:
secretName: pr-agent-settings
// ...
containers:
// ...
volumeMounts:
- mountPath: /app/pr_agent/settings_prod
name: settings-volume
```
> Another option is to set the secrets as environment variables in your deployment environment, for example `OPENAI.KEY` and `GITHUB.USER_TOKEN`.
6) Build a Docker image for the app and optionally push it to a Docker repository. We'll use Dockerhub as an example:
```
docker build . -t codiumai/pr-agent:github_app --target github_app -f docker/Dockerfile
docker push codiumai/pr-agent:github_app # Push to your Docker repository
```
7. Host the app using a server, serverless function, or container environment. Alternatively, for development and
debugging, you may use tools like smee.io to forward webhooks to your local machine.
You can check [Deploy as a Lambda Function](#deploy-as-a-lambda-function)
8. Go back to your app's settings, and set the following:
- Webhook URL: The URL of your app's server or the URL of the smee.io channel.
- Webhook secret: The secret you generated earlier.
9. Install the app by navigating to the "Install App" tab and selecting your desired repositories.
> **Note:** When running Qodo Merge from GitHub app, the default configuration file (configuration.toml) will be loaded.
> However, you can override the default tool parameters by uploading a local configuration file `.pr_agent.toml`
> For more information please check out the [USAGE GUIDE](../usage-guide/automations_and_usage.md#github-app)
---
## Deploy as a Lambda Function
Note that since AWS Lambda env vars cannot have "." in the name, you can replace each "." in an env variable with "__".<br>
For example: `GITHUB.WEBHOOK_SECRET` --> `GITHUB__WEBHOOK_SECRET`
1. Follow steps 1-5 from [here](#run-as-a-github-app).
2. Build a docker image that can be used as a lambda function
```shell
docker buildx build --platform=linux/amd64 . -t codiumai/pr-agent:serverless -f docker/Dockerfile.lambda
```
3. Push image to ECR
```shell
docker tag codiumai/pr-agent:serverless <AWS_ACCOUNT>.dkr.ecr.<AWS_REGION>.amazonaws.com/codiumai/pr-agent:serverless
docker push <AWS_ACCOUNT>.dkr.ecr.<AWS_REGION>.amazonaws.com/codiumai/pr-agent:serverless
```
4. Create a lambda function that uses the uploaded image. Set the lambda timeout to be at least 3m.
5. Configure the lambda function to have a Function URL.
6. In the environment variables of the Lambda function, specify `AZURE_DEVOPS_CACHE_DIR` to a writable location such as /tmp. (see [link](https://github.com/Codium-ai/pr-agent/pull/450#issuecomment-1840242269))
7. Go back to steps 8-9 of [Method 5](#run-as-a-github-app) with the function url as your Webhook URL.
The Webhook URL would look like `https://<LAMBDA_FUNCTION_URL>/api/v1/github_webhooks`
---
## AWS CodeCommit Setup
Not all features have been added to CodeCommit yet. As of right now, CodeCommit has been implemented to run the Qodo Merge CLI on the command line, using AWS credentials stored in environment variables. (More features will be added in the future.) The following is a set of instructions to have Qodo Merge do a review of your CodeCommit pull request from the command line:
1. Create an IAM user that you will use to read CodeCommit pull requests and post comments
* Note: That user should have CLI access only, not Console access
2. Add IAM permissions to that user, to allow access to CodeCommit (see IAM Role example below)
3. Generate an Access Key for your IAM user
4. Set the Access Key and Secret using environment variables (see Access Key example below)
5. Set the `git_provider` value to `codecommit` in the `pr_agent/settings/configuration.toml` settings file
6. Set the `PYTHONPATH` to include your `pr-agent` project directory
* Option A: Add `PYTHONPATH="/PATH/TO/PROJECTS/pr-agent` to your `.env` file
* Option B: Set `PYTHONPATH` and run the CLI in one command, for example:
* `PYTHONPATH="/PATH/TO/PROJECTS/pr-agent python pr_agent/cli.py [--ARGS]`
---
#### AWS CodeCommit IAM Role Example
Example IAM permissions to that user to allow access to CodeCommit:
* Note: The following is a working example of IAM permissions that has read access to the repositories and write access to allow posting comments
* Note: If you only want pr-agent to review your pull requests, you can tighten the IAM permissions further, however this IAM example will work, and allow the pr-agent to post comments to the PR
* Note: You may want to replace the `"Resource": "*"` with your list of repos, to limit access to only those repos
```
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codecommit:BatchDescribe*",
"codecommit:BatchGet*",
"codecommit:Describe*",
"codecommit:EvaluatePullRequestApprovalRules",
"codecommit:Get*",
"codecommit:List*",
"codecommit:PostComment*",
"codecommit:PutCommentReaction",
"codecommit:UpdatePullRequestDescription",
"codecommit:UpdatePullRequestTitle"
],
"Resource": "*"
}
]
}
```
#### AWS CodeCommit Access Key and Secret
Example setting the Access Key and Secret using environment variables
```sh
export AWS_ACCESS_KEY_ID="XXXXXXXXXXXXXXXX"
export AWS_SECRET_ACCESS_KEY="XXXXXXXXXXXXXXXX"
export AWS_DEFAULT_REGION="us-east-1"
```
#### AWS CodeCommit CLI Example
After you set up AWS CodeCommit using the instructions above, here is an example CLI run that tells pr-agent to **review** a given pull request.
(Replace your specific PYTHONPATH and PR URL in the example)
```sh
PYTHONPATH="/PATH/TO/PROJECTS/pr-agent" python pr_agent/cli.py \
--pr_url https://us-east-1.console.aws.amazon.com/codesuite/codecommit/repositories/MY_REPO_NAME/pull-requests/321 \
review
```

View File

@ -0,0 +1,78 @@
## Run as a GitLab Pipeline
You can use a pre-built Action Docker image to run Qodo Merge as a GitLab pipeline. This is a simple way to get started with Qodo Merge without setting up your own server.
(1) Add the following file to your repository under `.gitlab-ci.yml`:
```yaml
stages:
- pr_agent
pr_agent_job:
stage: pr_agent
image:
name: codiumai/pr-agent:latest
entrypoint: [""]
script:
- cd /app
- echo "Running PR Agent action step"
- export MR_URL="$CI_MERGE_REQUEST_PROJECT_URL/merge_requests/$CI_MERGE_REQUEST_IID"
- echo "MR_URL=$MR_URL"
- export gitlab__url=$CI_SERVER_PROTOCOL://$CI_SERVER_FQDN
- export gitlab__PERSONAL_ACCESS_TOKEN=$GITLAB_PERSONAL_ACCESS_TOKEN
- export config__git_provider="gitlab"
- export openai__key=$OPENAI_KEY
- python -m pr_agent.cli --pr_url="$MR_URL" describe
- python -m pr_agent.cli --pr_url="$MR_URL" review
- python -m pr_agent.cli --pr_url="$MR_URL" improve
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
```
This script will run Qodo Merge on every new merge request. You can modify the `rules` section to run Qodo Merge on different events.
You can also modify the `script` section to run different Qodo Merge commands, or with different parameters by exporting different environment variables.
(2) Add the following masked variables to your GitLab repository (CI/CD -> Variables):
- `GITLAB_PERSONAL_ACCESS_TOKEN`: Your GitLab personal access token.
- `OPENAI_KEY`: Your OpenAI key.
Note that if your base branches are not protected, don't set the variables as `protected`, since the pipeline will not have access to them.
> **Note**: The `$CI_SERVER_FQDN` variable is available starting from GitLab version 16.10. If you're using an earlier version, this variable will not be available. However, you can combine `$CI_SERVER_HOST` and `$CI_SERVER_PORT` to achieve the same result. Please ensure you're using a compatible version or adjust your configuration.
## Run a GitLab webhook server
1. From the GitLab workspace or group, create an access token with "Reporter" role ("Developer" if using Pro version of the agent) and "api" scope.
2. Generate a random secret for your app, and save it for later. For example, you can use:
```
WEBHOOK_SECRET=$(python -c "import secrets; print(secrets.token_hex(10))")
```
3. Clone this repository:
```
git clone https://github.com/Codium-ai/pr-agent.git
```
4. Prepare variables and secrets. Skip this step if you plan on settings these as environment variables when running the agent:
1. In the configuration file/variables:
- Set `deployment_type` to "gitlab"
2. In the secrets file/variables:
- Set your AI model key in the respective section
- In the [gitlab] section, set `personal_access_token` (with token from step 1) and `shared_secret` (with secret from step 2)
5. Build a Docker image for the app and optionally push it to a Docker repository. We'll use Dockerhub as an example:
```
docker build . -t gitlab_pr_agent --target gitlab_webhook -f docker/Dockerfile
docker push codiumai/pr-agent:gitlab_webhook # Push to your Docker repository
```
6. Create a webhook in GitLab. Set the URL to ```http[s]://<PR_AGENT_HOSTNAME>/webhook```, the secret token to the generated secret from step 2, and enable the triggers `push`, `comments` and `merge request events`.
7. Test your installation by opening a merge request or commenting on a merge request using one of CodiumAI's commands.
boxes

View File

@ -0,0 +1,21 @@
# Installation
## Self-hosted Qodo Merge
If you choose to host your own Qodo Merge, you first need to acquire two tokens:
1. An OpenAI key from [here](https://platform.openai.com/api-keys){:target="_blank"}, with access to GPT-4 (or a key for other [language models](https://qodo-merge-docs.qodo.ai/usage-guide/changing_a_model/), if you prefer).
2. A GitHub\GitLab\BitBucket personal access token (classic), with the repo scope. [GitHub from [here](https://github.com/settings/tokens){:target="_blank"}]
There are several ways to use self-hosted Qodo Merge:
- [Locally](./locally.md)
- [GitHub](./github.md)
- [GitLab](./gitlab.md)
- [BitBucket](./bitbucket.md)
- [Azure DevOps](./azure.md)
## Qodo Merge Pro 💎
Qodo Merge Pro, an app hosted by CodiumAI for GitHub\GitLab\BitBucket, is also available.
<br>
With Qodo Merge Pro, installation is as simple as signing up and adding the Qodo Merge app to your relevant repo.
See [here](https://qodo-merge-docs.qodo.ai/installation/pr_agent_pro/) for more details.

View File

@ -0,0 +1,136 @@
## Using pip package
Install the package:
```
pip install pr-agent
```
Then run the relevant tool with the script below.
<br>
Make sure to fill in the required parameters (`user_token`, `openai_key`, `pr_url`, `command`):
```python
from pr_agent import cli
from pr_agent.config_loader import get_settings
def main():
# Fill in the following values
provider = "github" # github/gitlab/bitbucket/azure_devops
user_token = "..." # user token
openai_key = "..." # OpenAI key
pr_url = "..." # PR URL, for example 'https://github.com/Codium-ai/pr-agent/pull/809'
command = "/review" # Command to run (e.g. '/review', '/describe', '/ask="What is the purpose of this PR?"', ...)
# Setting the configurations
get_settings().set("CONFIG.git_provider", provider)
get_settings().set("openai.key", openai_key)
get_settings().set("github.user_token", user_token)
# Run the command. Feedback will appear in GitHub PR comments
cli.run_command(pr_url, command)
if __name__ == '__main__':
main()
```
## Using Docker image
A list of the relevant tools can be found in the [tools guide](../tools/ask.md).
To invoke a tool (for example `review`), you can run directly from the Docker image. Here's how:
- For GitHub:
```
docker run --rm -it -e OPENAI.KEY=<your key> -e GITHUB.USER_TOKEN=<your token> codiumai/pr-agent:latest --pr_url <pr_url> review
```
If you are using GitHub enterprise server, you need to specify the custom url as variable.
For example, if your GitHub server is at `https://github.mycompany.com`, add the following to the command:
```
-e GITHUB.BASE_URL=https://github.mycompany.com/api/v3
```
- For GitLab:
```
docker run --rm -it -e OPENAI.KEY=<your key> -e CONFIG.GIT_PROVIDER=gitlab -e GITLAB.PERSONAL_ACCESS_TOKEN=<your token> codiumai/pr-agent:latest --pr_url <pr_url> review
```
If you have a dedicated GitLab instance, you need to specify the custom url as variable:
```
-e GITLAB.URL=<your gitlab instance url>
```
- For BitBucket:
```
docker run --rm -it -e CONFIG.GIT_PROVIDER=bitbucket -e OPENAI.KEY=$OPENAI_API_KEY -e BITBUCKET.BEARER_TOKEN=$BITBUCKET_BEARER_TOKEN codiumai/pr-agent:latest --pr_url=<pr_url> review
```
For other git providers, update `CONFIG.GIT_PROVIDER` accordingly and check the `pr_agent/settings/.secrets_template.toml` file for environment variables expected names and values.
The `pr_agent` uses [Dynaconf](https://www.dynaconf.com/) to load settings from configuration files.
It is also possible to provide or override the configuration by setting the corresponding environment variables.
You can define the corresponding environment variables by following this convention: `<TABLE>__<KEY>=<VALUE>` or `<TABLE>.<KEY>=<VALUE>`.
The `<TABLE>` refers to a table/section in a configuration file and `<KEY>=<VALUE>` refers to the key/value pair of a setting in the configuration file.
For example, suppose you want to run `pr_agent` that connects to a self-hosted GitLab instance similar to an example above.
You can define the environment variables in a plain text file named `.env` with the following content:
> Warning: Never commit the `.env` file to version control system as it might contains sensitive credentials!
```
CONFIG__GIT_PROVIDER="gitlab"
GITLAB__URL="<your url>"
GITLAB__PERSONAL_ACCESS_TOKEN="<your token>"
OPENAI__KEY="<your key>"
```
Then, you can run `pr_agent` using Docker with the following command:
```shell
docker run --rm -it --env-file .env codiumai/pr-agent:latest <tool> <tool parameter>
```
---
## Run from source
1. Clone this repository:
```
git clone https://github.com/Codium-ai/pr-agent.git
```
2. Navigate to the `/pr-agent` folder and install the requirements in your favorite virtual environment:
```
pip install -e .
```
*Note: If you get an error related to Rust in the dependency installation then make sure Rust is installed and in your `PATH`, instructions: https://rustup.rs*
3. Copy the secrets template file and fill in your OpenAI key and your GitHub user token:
```
cp pr_agent/settings/.secrets_template.toml pr_agent/settings/.secrets.toml
chmod 600 pr_agent/settings/.secrets.toml
# Edit .secrets.toml file
```
4. Run the cli.py script:
```
python3 -m pr_agent.cli --pr_url <pr_url> review
python3 -m pr_agent.cli --pr_url <pr_url> ask <your question>
python3 -m pr_agent.cli --pr_url <pr_url> describe
python3 -m pr_agent.cli --pr_url <pr_url> improve
python3 -m pr_agent.cli --pr_url <pr_url> add_docs
python3 -m pr_agent.cli --pr_url <pr_url> generate_labels
python3 -m pr_agent.cli --issue_url <issue_url> similar_issue
...
```
[Optional] Add the pr_agent folder to your PYTHONPATH
```
export PYTHONPATH=$PYTHONPATH:<PATH to pr_agent folder>
```

View File

@ -0,0 +1,81 @@
Qodo Merge Pro is a versatile application compatible with GitHub, GitLab, and BitBucket, hosted by QodoAI.
See [here](https://qodo-merge-docs.qodo.ai/overview/pr_agent_pro/) for more details about the benefits of using Qodo Merge Pro.
A complimentary two-week trial is provided to all new users. Following the trial period, user licenses (seats) are required for continued access.
To purchase user licenses, please visit our [pricing page](https://www.qodo.ai/pricing/).
Once subscribed, users can seamlessly deploy the application across any of their code repositories.
## Install Qodo Merge Pro for GitHub
### GitHub Cloud
Qodo Merge Pro for GitHub cloud is available for installation through the [GitHub Marketplace](https://github.com/apps/qodo-merge-pro).
![Qodo Merge Pro](https://codium.ai/images/pr_agent/pr_agent_pro_install.png){width=468}
### GitHub Enterprise Server
To use Qodo Merge Pro application on your private GitHub Enterprise Server, you will need to contact us for starting an [Enterprise](https://www.codium.ai/pricing/) trial.
### GitHub Open Source Projects
For open-source projects, Qodo Merge Pro is available for free usage. To install Qodo Merge Pro for your open-source repositories, use the following marketplace [link](https://github.com/apps/qodo-merge-pro-for-open-source).
## Install Qodo Merge Pro for Bitbucket
### Bitbucket Cloud
Qodo Merge Pro for Bitbucket Cloud is available for installation through the following [link](https://bitbucket.org/site/addons/authorize?addon_key=d6df813252c37258)
![Qodo Merge Pro](https://qodo.ai/images/pr_agent/pr_agent_pro_bitbucket_install.png){width=468}
### Bitbucket Server
To use Qodo Merge Pro application on your private Bitbucket Server, you will need to contact us for starting an [Enterprise](https://www.codium.ai/pricing/) trial.
## Install Qodo Merge Pro for GitLab (Teams & Enterprise)
Since GitLab platform does not support apps, installing Qodo Merge Pro for GitLab is a bit more involved, and requires the following steps:
#### Step 1
Acquire a personal, project or group level access token. Enable the “api” scope in order to allow Qodo Merge to read pull requests, comment and respond to requests.
<figure markdown="1">
![Step 1](https://www.codium.ai/images/pr_agent/gitlab_pro_pat.png){width=750}
</figure>
Store the token in a safe place, you wont be able to access it again after it was generated.
#### Step 2
Generate a shared secret and link it to the access token. Browse to [https://register.gitlab.pr-agent.codium.ai](https://register.gitlab.pr-agent.codium.ai).
Fill in your generated GitLab token and your company or personal name in the appropriate fields and click "Submit".
You should see "Success!" displayed above the Submit button, and a shared secret will be generated. Store it in a safe place, you wont be able to access it again after it was generated.
#### Step 3
Install a webhook for your repository or groups, by clicking “webhooks” on the settings menu. Click the “Add new webhook” button.
<figure markdown="1">
![Step 3.1](https://www.codium.ai/images/pr_agent/gitlab_pro_add_webhook.png)
</figure>
In the webhook definition form, fill in the following fields:
URL: https://pro.gitlab.pr-agent.codium.ai/webhook
Secret token: Your QodoAI key
Trigger: Check the comments and merge request events boxes.
Enable SSL verification: Check the box.
<figure markdown="1">
![Step 3.2](https://www.codium.ai/images/pr_agent/gitlab_pro_webhooks.png){width=750}
</figure>
#### Step 4
Youre all set!
Open a new merge request or add a MR comment with one of Qodo Merges commands such as /review, /describe or /improve.

View File

@ -0,0 +1,16 @@
## Self-hosted Qodo Merge
- If you self-host Qodo Merge with your OpenAI (or other LLM provider) API key, it is between you and the provider. We don't send your code data to Qodo Merge servers.
## Qodo Merge Pro 💎
- When using Qodo Merge Pro 💎, hosted by CodiumAI, we will not store any of your data, nor will we use it for training. You will also benefit from an OpenAI account with zero data retention.
- For certain clients, CodiumAI-hosted Qodo Merge Pro will use CodiumAIs proprietary models. If this is the case, you will be notified.
- No passive collection of Code and Pull Requests data — Qodo Merge will be active only when you invoke it, and it will then extract and analyze only data relevant to the executed command and queried pull request.
## Qodo Merge Chrome extension
- The [Qodo Merge Chrome extension](https://chromewebstore.google.com/detail/pr-agent-chrome-extension/ephlnjeghhogofkifjloamocljapahnl) will not send your code to any external servers.

View File

@ -0,0 +1,95 @@
# Overview
Qodo Merge is an open-source tool to help efficiently review and handle pull requests.
- See the [Installation Guide](./installation/index.md) for instructions on installing and running the tool on different git platforms.
- See the [Usage Guide](./usage-guide/index.md) for instructions on running the Qodo Merge commands via different interfaces, including _CLI_, _online usage_, or by _automatically triggering_ them when a new PR is opened.
- See the [Tools Guide](./tools/index.md) for a detailed description of the different tools.
## Qodo Merge Docs Smart Search
To search the documentation site using natural language:
1) Comment `/help "your question"` in either:
- A pull request where Qodo Merge is installed
- A [PR Chat](https://qodo-merge-docs.qodo.ai/chrome-extension/features/#pr-chat)
2) Qodo Merge will respond with an [answer](https://github.com/Codium-ai/pr-agent/pull/1241#issuecomment-2365259334) that includes relevant documentation links.
## Qodo Merge Features
Qodo Merge offers extensive pull request functionalities across various git providers.
| | | GitHub | Gitlab | Bitbucket | Azure DevOps |
|-------|-----------------------------------------------------------------------------------------------------------------------|:------:|:------:|:---------:|:------------:|
| TOOLS | Review | ✅ | ✅ | ✅ | ✅ |
| | ⮑ Incremental | ✅ | | | |
| | Ask | ✅ | ✅ | ✅ | ✅ |
| | Describe | ✅ | ✅ | ✅ | ✅ |
| | ⮑ [Inline file summary](https://qodo-merge-docs.qodo.ai/tools/describe/#inline-file-summary){:target="_blank"} 💎 | ✅ | ✅ | | ✅ |
| | Improve | ✅ | ✅ | ✅ | ✅ |
| | ⮑ Extended | ✅ | ✅ | ✅ | ✅ |
| | [Custom Prompt](./tools/custom_prompt.md){:target="_blank"} 💎 | ✅ | ✅ | ✅ | ✅ |
| | Reflect and Review | ✅ | ✅ | ✅ | ✅ |
| | Update CHANGELOG.md | ✅ | ✅ | ✅ | |
| | Find Similar Issue | ✅ | | | |
| | [Add PR Documentation](./tools/documentation.md){:target="_blank"} 💎 | ✅ | ✅ | | ✅ |
| | [Generate Custom Labels](./tools/describe.md#handle-custom-labels-from-the-repos-labels-page-💎){:target="_blank"} 💎 | ✅ | ✅ | | ✅ |
| | [Analyze PR Components](./tools/analyze.md){:target="_blank"} 💎 | ✅ | ✅ | | ✅ |
| | [Test](https://pr-agent-docs.codium.ai/tools/test/) 💎 | ✅ | ✅ | | |
| | [Implement](https://pr-agent-docs.codium.ai/tools/implement/) 💎 | ✅ | ✅ | ✅ | |
| | | | | | |
| USAGE | CLI | ✅ | ✅ | ✅ | ✅ |
| | App / webhook | ✅ | ✅ | ✅ | ✅ |
| | Actions | ✅ | | | |
| | | | | |
| CORE | PR compression | ✅ | ✅ | ✅ | ✅ |
| | Repo language prioritization | ✅ | ✅ | ✅ | ✅ |
| | Adaptive and token-aware file patch fitting | ✅ | ✅ | ✅ | ✅ |
| | Multiple models support | ✅ | ✅ | ✅ | ✅ |
| | Incremental PR review | ✅ | | | |
| | [Static code analysis](./tools/analyze.md/){:target="_blank"} 💎 | ✅ | ✅ | ✅ | ✅ |
| | [Multiple configuration options](./usage-guide/configuration_options.md){:target="_blank"} 💎 | ✅ | ✅ | ✅ | ✅ |
💎 marks a feature available only in [Qodo Merge Pro](https://www.codium.ai/pricing/){:target="_blank"}
## Example Results
<hr>
#### [/describe](https://github.com/Codium-ai/pr-agent/pull/530)
<figure markdown="1">
![/describe](https://www.codium.ai/images/pr_agent/describe_new_short_main.png){width=512}
</figure>
<hr>
#### [/review](https://github.com/Codium-ai/pr-agent/pull/732#issuecomment-1975099151)
<figure markdown="1">
![/review](https://www.codium.ai/images/pr_agent/review_new_short_main.png){width=512}
</figure>
<hr>
#### [/improve](https://github.com/Codium-ai/pr-agent/pull/732#issuecomment-1975099159)
<figure markdown="1">
![/improve](https://www.codium.ai/images/pr_agent/improve_new_short_main.png){width=512}
</figure>
<hr>
#### [/generate_labels](https://github.com/Codium-ai/pr-agent/pull/530)
<figure markdown="1">
![/generate_labels](https://www.codium.ai/images/pr_agent/geneare_custom_labels_main_short.png){width=300}
</figure>
<hr>
## How it Works
The following diagram illustrates Qodo Merge tools and their flow:
![Qodo Merge Tools](https://codium.ai/images/pr_agent/diagram-v0.9.png)
Check out the [PR Compression strategy](core-abilities/index.md) page for more details on how we convert a code diff to a manageable LLM prompt

View File

@ -0,0 +1,52 @@
### Overview
[Qodo Merge Pro](https://www.codium.ai/pricing/){:target="_blank"} is a hosted version of open-source [Qodo Merge (PR-Agent)](https://github.com/Codium-ai/pr-agent){:target="_blank"}. A complimentary two-week trial is offered, followed by a monthly subscription fee.
Qodo Merge Pro is designed for companies and teams that require additional features and capabilities. It provides the following benefits:
1. **Fully managed** - We take care of everything for you - hosting, models, regular updates, and more. Installation is as simple as signing up and adding the Qodo Merge app to your GitHub\GitLab\BitBucket repo.
2. **Improved privacy** - No data will be stored or used to train models. Qodo Merge Pro will employ zero data retention, and will use an OpenAI and Claude accounts with zero data retention.
3. **Improved support** - Qodo Merge Pro users will receive priority support, and will be able to request new features and capabilities.
4. **Supporting self-hosted git servers** - Qodo Merge Pro can be installed on GitHub Enterprise Server, GitLab, and BitBucket. For more information, see the [installation guide](https://qodo-merge-docs.qodo.ai/installation/pr_agent_pro/).
5. **PR Chat** - Qodo Merge Pro allows you to engage in [private chat](https://qodo-merge-docs.qodo.ai/chrome-extension/features/#pr-chat) about your pull requests on private repositories.
### Additional features
Here are some of the additional features and capabilities that Qodo Merge Pro offers:
| Feature | Description |
|----------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [**Model selection**](https://qodo-merge-docs.qodo.ai/usage-guide/PR_agent_pro_models/) | Choose the model that best fits your needs, among top models like `GPT4` and `Claude-Sonnet-3.5`
| [**Global and wiki configuration**](https://qodo-merge-docs.qodo.ai/usage-guide/configuration_options/) | Control configurations for many repositories from a single location; <br>Edit configuration of a single repo without committing code |
| [**Apply suggestions**](https://qodo-merge-docs.qodo.ai/tools/improve/#overview) | Generate committable code from the relevant suggestions interactively by clicking on a checkbox |
| [**Suggestions impact**](https://qodo-merge-docs.qodo.ai/tools/improve/#assessing-impact) | Automatically mark suggestions that were implemented by the user (either directly in GitHub, or indirectly in the IDE) to enable tracking of the impact of the suggestions |
| [**CI feedback**](https://qodo-merge-docs.qodo.ai/tools/ci_feedback/) | Automatically analyze failed CI checks on GitHub and provide actionable feedback in the PR conversation, helping to resolve issues quickly |
| [**Advanced usage statistics**](https://www.codium.ai/contact/#/) | Qodo Merge Pro offers detailed statistics at user, repository, and company levels, including metrics about Qodo Merge usage, and also general statistics and insights |
| [**Incorporating companies' best practices**](https://qodo-merge-docs.qodo.ai/tools/improve/#best-practices) | Use the companies' best practices as reference to increase the effectiveness and the relevance of the code suggestions |
| [**Interactive triggering**](https://qodo-merge-docs.qodo.ai/tools/analyze/#example-usage) | Interactively apply different tools via the `analyze` command |
| [**Custom labels**](https://qodo-merge-docs.qodo.ai/tools/describe/#handle-custom-labels-from-the-repos-labels-page) | Define custom labels for Qodo Merge to assign to the PR |
### Additional tools
Here are additional tools that are available only for Qodo Merge Pro users:
| Feature | Description |
|---------------------------------------------------------------------------------------|-------------|
| [**Custom Prompt Suggestions**](https://qodo-merge-docs.qodo.ai/tools/custom_prompt/) | Generate code suggestions based on custom prompts from the user |
| [**Analyze PR components**](https://qodo-merge-docs.qodo.ai/tools/analyze/) | Identify the components that changed in the PR, and enable to interactively apply different tools to them |
| [**Tests**](https://qodo-merge-docs.qodo.ai/tools/test/) | Generate tests for code components that changed in the PR |
| [**PR documentation**](https://qodo-merge-docs.qodo.ai/tools/documentation/) | Generate docstring for code components that changed in the PR |
| [**Improve Component**](https://qodo-merge-docs.qodo.ai/tools/improve_component/) | Generate code suggestions for code components that changed in the PR |
| [**Similar code search**](https://qodo-merge-docs.qodo.ai/tools/similar_code/) | Search for similar code in the repository, organization, or entire GitHub |
| [**Code implementation**](https://qodo-merge-docs.qodo.ai/tools/implement/) | Generates implementation code from review suggestions |
### Supported languages
Qodo Merge Pro leverages the world's leading code models - Claude 3.5 Sonnet and GPT-4.
As a result, its primary tools such as `describe`, `review`, and `improve`, as well as the PR-chat feature, support virtually all programming languages.
For specialized commands that require static code analysis, Qodo Merge Pro offers support for specific languages. For more details about features that require static code analysis, please refer to the [documentation](https://qodo-merge-docs.qodo.ai/tools/analyze/#overview).

View File

@ -0,0 +1,19 @@
## Overview
The `analyze` tool combines advanced static code analysis with LLM capabilities to provide a comprehensive analysis of the PR code changes.
The tool scans the PR code changes, finds the code components (methods, functions, classes) that changed, and enables to interactively generate tests, docs, code suggestions and similar code search for each component.
It can be invoked manually by commenting on any PR:
```
/analyze
```
## Example usage
An example result:
![Analyze 1](https://codium.ai/images/pr_agent/analyze_1.png){width=750}
**Notes**
- Language that are currently supported: Python, Java, C++, JavaScript, TypeScript, C#.

59
docs/docs/tools/ask.md Normal file
View File

@ -0,0 +1,59 @@
## Overview
The `ask` tool answers questions about the PR, based on the PR code changes. Make sure to be specific and clear in your questions.
It can be invoked manually by commenting on any PR:
```
/ask "..."
```
## Example usage
![Ask Comment](https://codium.ai/images/pr_agent/ask_comment.png){width=512}
![Ask](https://codium.ai/images/pr_agent/ask.png){width=512}
## Ask lines
You can run `/ask` on specific lines of code in the PR from the PR's diff view. The tool will answer questions based on the code changes in the selected lines.
- Click on the '+' sign next to the line number to select the line.
- To select multiple lines, click on the '+' sign of the first line and then hold and drag to select the rest of the lines.
- write `/ask "..."` in the comment box and press `Add single comment` button.
![Ask Line](https://codium.ai/images/pr_agent/Ask_line.png){width=512}
Note that the tool does not have "memory" of previous questions, and answers each question independently.
## Ask on images
You can also ask questions about images that appear in the comment, where the entire PR code will be used as context.
<br>
The basic syntax is:
```
/ask "..."
[Image](https://real_link_to_image)
```
where `https://real_link_to_image` is the direct link to the image.
Note that GitHub has a built-in mechanism of pasting images in comments. However, pasted image does not provide a direct link.
To get a direct link to an image, we recommend using the following scheme:
1) First, post a comment that contains **only** the image:
![Ask image1](https://codium.ai/images/pr_agent/ask_images1.png){width=512}
2) Quote reply to that comment:
![Ask image2](https://codium.ai/images/pr_agent/ask_images2.png){width=512}
3) In the screen opened, type the question below the image:
![Ask image3](https://codium.ai/images/pr_agent/ask_images3.png){width=512}
![Ask image4](https://codium.ai/images/pr_agent/ask_images4.png){width=512}
4) Post the comment, and receive the answer:
![Ask image5](https://codium.ai/images/pr_agent/ask_images5.png){width=512}
See a full video tutorial [here](https://codium.ai/images/pr_agent/ask_image_video.mov)

View File

@ -0,0 +1,39 @@
## Overview
The CI feedback tool (`/checks)` automatically triggers when a PR has a failed check.
The tool analyzes the failed checks and provides several feedbacks:
- Failed stage
- Failed test name
- Failure summary
- Relevant error logs
## Example usage
![Failed Check 1](https://www.codium.ai/images/pr_agent/failed_check1.png){width=768}
&rarr;
![Failed Check 2](https://www.codium.ai/images/pr_agent/failed_check2.png){width=768}
___
In addition to being automatically triggered, the tool can also be invoked manually by commenting on a PR:
```
/checks "https://github.com/{repo_name}/actions/runs/{run_number}/job/{job_number}"
```
where `{repo_name}` is the name of the repository, `{run_number}` is the run number of the failed check, and `{job_number}` is the job number of the failed check.
## Disabling the tool from running automatically
If you wish to disable the tool from running automatically, you can do so by adding the following configuration to the configuration file:
```
[checks]
enable_auto_checks_feedback = false
```
## Configuration options
- `enable_auto_checks_feedback` - if set to true, the tool will automatically provide feedback when a check is failed. Default is true.
- `excluded_checks_list` - a list of checks to exclude from the feedback, for example: ["check1", "check2"]. Default is an empty list.
- `persistent_comment` - if set to true, the tool will overwrite a previous checks comment with the new feedback. Default is true.
- `enable_help_text=true` - if set to true, the tool will provide a help message when a user comments "/checks" on a PR. Default is true.
- `final_update_message` - if `persistent_comment` is true and updating a previous checks message, the tool will also create a new message: "Persistent checks updated to latest commit". Default is true.

View File

@ -0,0 +1,60 @@
## Overview
The `generate_labels` tool scans the PR code changes, and given a list of labels and their descriptions, it automatically suggests labels that match the PR code changes.
It can be invoked manually by commenting on any PR:
```
/generate_labels
```
## Example usage
If we wish to add detect changes to SQL queries in a given PR, we can add the following custom label along with its description:
![Custom labels list](https://codium.ai/images/pr_agent/custom_labels_list.png){width=768}
When running the `generate_labels` tool on a PR that includes changes in SQL queries, it will automatically suggest the custom label:
![Custom labels published](https://codium.ai/images/pr_agent/custom_label_published.png){width=768}
Note that in addition to the dedicated tool `generate_labels`, the custom labels will also be used by the `describe` tool.
### How to enable custom labels
There are 3 ways to enable custom labels:
#### 1. CLI (local configuration file)
When working from CLI, you need to apply the [configuration changes](#configuration-options) to the [custom_labels file](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/settings/custom_labels.toml):
#### 2. Repo configuration file
To enable custom labels, you need to apply the [configuration changes](#configuration-options) to the local `.pr_agent.toml` file in your repository.
#### 3. Handle custom labels from the Repo's labels page 💎
> This feature is available only in Qodo Merge Pro
* GitHub : `https://github.com/{owner}/{repo}/labels`, or click on the "Labels" tab in the issues or PRs page.
* GitLab : `https://gitlab.com/{owner}/{repo}/-/labels`, or click on "Manage" -> "Labels" on the left menu.
b. Add/edit the custom labels. It should be formatted as follows:
* Label name: The name of the custom label.
* Description: Start the description of with prefix `pr_agent:`, for example: `pr_agent: Description of when AI should suggest this label`.<br>
The description should be comprehensive and detailed, indicating when to add the desired label.
![Add native custom labels](https://codium.ai/images/pr_agent/add_native_custom_labels.png){width=880}
c. Now the custom labels will be included in the `generate_labels` tool.
> This feature is supported in GitHub and GitLab.
## Configuration options
- Change `enable_custom_labels` to True: This will turn off the default labels and enable the custom labels provided in the custom_labels.toml file.
- Add the custom labels. It should be formatted as follows:
```
[config]
enable_custom_labels=true
[custom_labels."Custom Label Name"]
description = "Description of when AI should suggest this label"
[custom_labels."Custom Label 2"]
description = "Description of when AI should suggest this label 2"
```

View File

@ -0,0 +1,58 @@
## Overview
The `custom_prompt` tool scans the PR code changes, and automatically generates suggestions for improving the PR code.
It shares similarities with the `improve` tool, but with one main difference: the `custom_prompt` tool will **only propose suggestions that follow specific guidelines defined by the prompt** in: `pr_custom_prompt.prompt` configuration.
The tool can be triggered [automatically](../usage-guide/automations_and_usage.md#github-app-automatic-tools-when-a-new-pr-is-opened) every time a new PR is opened, or can be invoked manually by commenting on a PR.
When commenting, use the following template:
```
/custom_prompt --pr_custom_prompt.prompt="
The code suggestions should focus only on the following:
- ...
- ...
"
```
With a [configuration file](../usage-guide/automations_and_usage.md#github-app), use the following template:
```
[pr_custom_prompt]
prompt="""\
The suggestions should focus only on the following:
-...
-...
"""
```
Remember - with this tool, you are the prompter. Be specific, clear, and concise in the instructions. Specify relevant aspects that you want the model to focus on. \
You might benefit from several trial-and-error iterations, until you get the correct prompt for your use case.
## Example usage
Here is an example of a possible prompt, defined in the configuration file:
```
[pr_custom_prompt]
prompt="""\
The code suggestions should focus only on the following:
- look for edge cases when implementing a new function
- make sure every variable has a meaningful name
- make sure the code is efficient
"""
```
(The instructions above are just an example. We want to emphasize that the prompt should be specific and clear, and be tailored to the needs of your project)
Results obtained with the prompt above:
![Custom prompt results](https://codium.ai/images/pr_agent/custom_suggestions_result.png){width=768}
## Configuration options
`prompt`: the prompt for the tool. It should be a multi-line string.
`num_code_suggestions`: number of code suggestions provided by the 'custom_prompt' tool. Default is 4.
`enable_help_text`: if set to true, the tool will display a help text in the comment. Default is true.

224
docs/docs/tools/describe.md Normal file
View File

@ -0,0 +1,224 @@
## Overview
The `describe` tool scans the PR code changes, and generates a description for the PR - title, type, summary, walkthrough and labels.
The tool can be triggered automatically every time a new PR is [opened](../usage-guide/automations_and_usage.md#github-app-automatic-tools-when-a-new-pr-is-opened), or it can be invoked manually by commenting on any PR:
```
/describe
```
## Example usage
### Manual triggering
Invoke the tool manually by commenting `/describe` on any PR:
![Describe comment](https://codium.ai/images/pr_agent/describe_comment.png){width=512}
After ~30 seconds, the tool will generate a description for the PR:
![Describe New](https://codium.ai/images/pr_agent/describe_new.png){width=512}
If you want to edit [configurations](#configuration-options), add the relevant ones to the command:
```
/describe --pr_description.some_config1=... --pr_description.some_config2=...
```
### Automatic triggering
To run the `describe` automatically when a PR is opened, define in a [configuration file](https://qodo-merge-docs.qodo.ai/usage-guide/configuration_options/#wiki-configuration-file):
```
[github_app]
pr_commands = [
"/describe",
...
]
[pr_description]
publish_labels = true
...
```
- The `pr_commands` lists commands that will be executed automatically when a PR is opened.
- The `[pr_description]` section contains the configurations for the `describe` tool you want to edit (if any).
## Configuration options
!!! example "Possible configurations"
<table>
<tr>
<td><b>publish_labels</b></td>
<td>If set to true, the tool will publish labels to the PR. Default is false.</td>
</tr>
<tr>
<td><b>publish_description_as_comment</b></td>
<td>If set to true, the tool will publish the description as a comment to the PR. If false, it will overwrite the original description. Default is false.</td>
</tr>
<tr>
<td><b>publish_description_as_comment_persistent</b></td>
<td>If set to true and `publish_description_as_comment` is true, the tool will publish the description as a persistent comment to the PR. Default is true.</td>
</tr>
<tr>
<td><b>add_original_user_description</b></td>
<td>If set to true, the tool will add the original user description to the generated description. Default is true.</td>
</tr>
<tr>
<td><b>generate_ai_title</b></td>
<td>If set to true, the tool will also generate an AI title for the PR. Default is false.</td>
</tr>
<tr>
<td><b>extra_instructions</b></td>
<td>Optional extra instructions to the tool. For example: "focus on the changes in the file X. Ignore change in ..."</td>
</tr>
<tr>
<td><b>enable_pr_type</b></td>
<td>If set to false, it will not show the `PR type` as a text value in the description content. Default is true.</td>
</tr>
<tr>
<td><b>final_update_message</b></td>
<td>If set to true, it will add a comment message [`PR Description updated to latest commit...`](https://github.com/Codium-ai/pr-agent/pull/499#issuecomment-1837412176) after finishing calling `/describe`. Default is false.</td>
</tr>
<tr>
<td><b>enable_semantic_files_types</b></td>
<td>If set to true, "Changes walkthrough" section will be generated. Default is true.</td>
</tr>
<tr>
<td><b>collapsible_file_list</b></td>
<td>If set to true, the file list in the "Changes walkthrough" section will be collapsible. If set to "adaptive", the file list will be collapsible only if there are more than 8 files. Default is "adaptive".</td>
</tr>
<tr>
<td><b>enable_large_pr_handling</b></td>
<td>Pro feature. If set to true, in case of a large PR the tool will make several calls to the AI and combine them to be able to cover more files. Default is true.</td>
</tr>
<tr>
<td><b>enable_help_text</b></td>
<td>If set to true, the tool will display a help text in the comment. Default is false.</td>
</tr>
</table>
## Inline file summary 💎
This feature enables you to copy the `changes walkthrough` table to the "Files changed" tab, so you can quickly understand the changes in each file while reviewing the code changes (diff view).
To copy the `changes walkthrough` table to the "Files changed" tab, you can click on the checkbox that appears PR Description status message below the main PR Description:
![Add table checkbox](https://codium.ai/images/pr_agent/add_table_checkbox.png){width=512}
If you prefer to have the file summaries appear in the "Files changed" tab on every PR, change the `pr_description.inline_file_summary` parameter in the configuration file, possible values are:
- `'table'`: File changes walkthrough table will be displayed on the top of the "Files changed" tab, in addition to the "Conversation" tab.
![Diffview table](https://codium.ai/images/pr_agent/diffview-table.png){width=512}
- `true`: A collapsible file comment with changes title and a changes summary for each file in the PR.
![Diffview changes](https://codium.ai/images/pr_agent/diffview_changes.png){width=512}
- `false` (`default`): File changes walkthrough will be added only to the "Conversation" tab.
**Note**: that this feature is currently available only for GitHub.
## Markers template
To enable markers, set `pr_description.use_description_markers=true`.
Markers enable to easily integrate user's content and auto-generated content, with a template-like mechanism.
For example, if the PR original description was:
```
User content...
## PR Type:
pr_agent:type
## PR Description:
pr_agent:summary
## PR Walkthrough:
pr_agent:walkthrough
```
The marker `pr_agent:type` will be replaced with the PR type, `pr_agent:summary` will be replaced with the PR summary, and `pr_agent:walkthrough` will be replaced with the PR walkthrough.
![Describe markers before](https://codium.ai/images/pr_agent/describe_markers_before.png){width=512}
&rarr;
![Describe markers after](https://codium.ai/images/pr_agent/describe_markers_after.png){width=512}
**Configuration params**:
- `use_description_markers`: if set to true, the tool will use markers template. It replaces every marker of the form `pr_agent:marker_name` with the relevant content. Default is false.
- `include_generated_by_header`: if set to true, the tool will add a dedicated header: 'Generated by PR Agent at ...' to any automatic content. Default is true.
## Custom labels
The default labels of the describe tool are quite generic, since they are meant to be used in any repo: [`Bug fix`, `Tests`, `Enhancement`, `Documentation`, `Other`].
You can define custom labels that are relevant for your repo and use cases.
Custom labels can be defined in a [configuration file](https://qodo-merge-docs.qodo.ai/tools/custom_labels/#configuration-options), or directly in the repo's [labels page](#handle-custom-labels-from-the-repos-labels-page).
Make sure to provide proper title, and a detailed and well-phrased description for each label, so the tool will know when to suggest it.
Each label description should be a **conditional statement**, that indicates if to add the label to the PR or not, according to the PR content.
### Handle custom labels from a configuration file
Example for a custom labels configuration setup in a configuration file:
```
[config]
enable_custom_labels=true
[custom_labels."sql_changes"]
description = "Use when a PR contains changes to SQL queries"
[custom_labels."test"]
description = "use when a PR primarily contains new tests"
...
```
### Handle custom labels from the Repo's labels page 💎
You can also control the custom labels that will be suggested by the `describe` tool from the repo's labels page:
* GitHub : go to `https://github.com/{owner}/{repo}/labels` (or click on the "Labels" tab in the issues or PRs page)
* GitLab : go to `https://gitlab.com/{owner}/{repo}/-/labels` (or click on "Manage" -> "Labels" on the left menu)
Now add/edit the custom labels. they should be formatted as follows:
* Label name: The name of the custom label.
* Description: Start the description of with prefix `pr_agent:`, for example: `pr_agent: Description of when AI should suggest this label`.<br>
Examples for custom labels:
- `Main topic:performance` - pr_agent:The main topic of this PR is performance
- `New endpoint` - pr_agent:A new endpoint was added in this PR
- `SQL query` - pr_agent:A new SQL query was added in this PR
- `Dockerfile changes` - pr_agent:The PR contains changes in the Dockerfile
- ...
The description should be comprehensive and detailed, indicating when to add the desired label. For example:
![Add native custom labels](https://codium.ai/images/pr_agent/add_native_custom_labels.png){width=768}
## Usage Tips
!!! tip "Automation"
- When you first install Qodo Merge app, the [default mode](../usage-guide/automations_and_usage.md#github-app) for the describe tool is:
```
pr_commands = ["/describe", ...]
```
meaning the `describe` tool will run automatically on every PR, with the default configurations.
- Markers are an alternative way to control the generated description, to give maximal control to the user. If you set:
```
pr_commands = ["/describe --pr_description.use_description_markers=true", ...]
```
the tool will replace every marker of the form `pr_agent:marker_name` in the PR description with the relevant content, where `marker_name` is one of the following:
* `type`: the PR type.
* `summary`: the PR summary.
* `walkthrough`: the PR walkthrough.
- Note that when markers are enabled, if the original PR description does not contain any markers, the tool will not alter the description at all.

View File

@ -0,0 +1,33 @@
## Overview
The `add_docs` tool scans the PR code changes, and automatically suggests documentation for any code components that changed in the PR (functions, classes, etc.).
It can be invoked manually by commenting on any PR:
```
/add_docs
```
## Example usage
Invoke the tool manually by commenting `/add_docs` on any PR:
![Docs command](https://codium.ai/images/pr_agent/docs_command.png){width=768}
The tool will generate documentation for all the components that changed in the PR:
![Docs component](https://codium.ai/images/pr_agent/docs_components.png){width=768}
![Docs single component](https://codium.ai/images/pr_agent/docs_single_component.png){width=768}
You can state a name of a specific component in the PR to get documentation only for that component:
```
/add_docs component_name
```
## Configuration options
- `docs_style`: The exact style of the documentation (for python docstring). you can choose between: `google`, `numpy`, `sphinx`, `restructuredtext`, `plain`. Default is `sphinx`.
- `extra_instructions`: Optional extra instructions to the tool. For example: "focus on the changes in the file X. Ignore change in ...".
**Notes**
- Language that are currently fully supported: Python, Java, C++, JavaScript, TypeScript, C#.
- This tool can also be triggered interactively by using the [`analyze`](./analyze.md) tool.

17
docs/docs/tools/help.md Normal file
View File

@ -0,0 +1,17 @@
## Overview
The `help` tool provides a list of all the available tools and their descriptions.
For Qodo Merge Pro users, it also enables to trigger each tool by checking the relevant box.
It can be invoked manually by commenting on any PR:
```
/help
```
## Example usage
An example [result](https://github.com/Codium-ai/pr-agent/pull/546#issuecomment-1868524805):
![Help 1](https://codium.ai/images/pr_agent/help1.png){width=750}
&rarr;
![Analyze 2](https://codium.ai/images/pr_agent/help2.png){width=750}

View File

@ -0,0 +1,50 @@
## Overview
The `implement` tool converts human code review discussions and feedback into ready-to-commit code changes.
It leverages LLM technology to transform PR comments and review suggestions into concrete implementation code, helping developers quickly turn feedback into working solutions.
## Usage Scenarios
### For Reviewers
Reviewers can request code changes by: <br>
1. Selecting the code block to be modified. <br>
2. Adding a comment with the syntax:
```
/implement <code-change-description>
```
![implement1](https://codium.ai/images/pr_agent/implement1.png){width=640}
### For PR Authors
PR authors can implement suggested changes by replying to a review comment using either: <br>
1. Add specific implementation details as described above
```
/implement <code-change-description>
```
2. Use the original review comment as instructions
```
/implement
```
![implement2](https://codium.ai/images/pr_agent/implement2.png){width=640}
### For Referencing Comments
You can reference and implement changes from any comment by:
```
/implement <link-to-review-comment>
```
![implement3](https://codium.ai/images/pr_agent/implement3.png){width=640}
Note that the implementation will occur within the review discussion thread.
**Configuration options** <br>
- Use `/implement` to implement code change within and based on the review discussion. <br>
- Use `/implement <code-change-description>` inside a review discussion to implement specific instructions. <br>
- Use `/implement <link-to-review-comment>` to indirectly call the tool from any comment. <br>

378
docs/docs/tools/improve.md Normal file
View File

@ -0,0 +1,378 @@
## Overview
The `improve` tool scans the PR code changes, and automatically generates [meaningful](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/settings/pr_code_suggestions_prompts.toml#L41) suggestions for improving the PR code.
The tool can be triggered automatically every time a new PR is [opened](../usage-guide/automations_and_usage.md#github-app-automatic-tools-when-a-new-pr-is-opened), or it can be invoked manually by commenting on any PR:
```toml
/improve
```
![code_suggestions_as_comment_closed.png](https://codium.ai/images/pr_agent/code_suggestions_as_comment_closed.png){width=512}
![code_suggestions_as_comment_open.png](https://codium.ai/images/pr_agent/code_suggestions_as_comment_open.png){width=512}
Note that the `Apply this suggestion` checkbox, which interactively converts a suggestion into a commitable code comment, is available only for Qodo Merge Pro 💎 users.
## Example usage
### Manual triggering
Invoke the tool manually by commenting `/improve` on any PR. The code suggestions by default are presented as a single comment:
To edit [configurations](#configuration-options) related to the improve tool, use the following template:
```toml
/improve --pr_code_suggestions.some_config1=... --pr_code_suggestions.some_config2=...
```
For example, you can choose to present all the suggestions as commitable code comments, by running the following command:
```toml
/improve --pr_code_suggestions.commitable_code_suggestions=true
```
![improve](https://codium.ai/images/pr_agent/improve.png){width=512}
As can be seen, a single table comment has a significantly smaller PR footprint. We recommend this mode for most cases.
Also note that collapsible are not supported in _Bitbucket_. Hence, the suggestions can only be presented in Bitbucket as code comments.
### Automatic triggering
To run the `improve` automatically when a PR is opened, define in a [configuration file](https://qodo-merge-docs.qodo.ai/usage-guide/configuration_options/#wiki-configuration-file):
```toml
[github_app]
pr_commands = [
"/improve",
...
]
[pr_code_suggestions]
num_code_suggestions_per_chunk = ...
...
```
- The `pr_commands` lists commands that will be executed automatically when a PR is opened.
- The `[pr_code_suggestions]` section contains the configurations for the `improve` tool you want to edit (if any)
### Assessing Impact 💎
Note that Qodo Merge pro tracks two types of implementations:
- Direct implementation - when the user directly applies the suggestion by clicking the `Apply` checkbox.
- Indirect implementation - when the user implements the suggestion in their IDE environment. In this case, Qodo Merge will utilize, after each commit, a dedicated logic to identify if a suggestion was implemented, and will mark it as implemented.
![code_suggestions_asses_impact](https://codium.ai/images/pr_agent/code_suggestions_asses_impact.png){width=512}
In post-process, Qodo Merge counts the number of suggestions that were implemented, and provides general statistics and insights about the suggestions' impact on the PR process.
![code_suggestions_asses_impact_stats_1](https://codium.ai/images/pr_agent/code_suggestions_asses_impact_stats_1.png){width=512}
![code_suggestions_asses_impact_stats_2](https://codium.ai/images/pr_agent/code_suggestions_asses_impact_stats_2.png){width=512}
## Suggestion tracking 💎
`Platforms supported: GitHub, GitLab`
Qodo Merge employs an novel detection system to automatically [identify](https://qodo-merge-docs.qodo.ai/core-abilities/impact_evaluation/) AI code suggestions that PR authors have accepted and implemented.
Accepted suggestions are also automatically documented in a dedicated wiki page called `.pr_agent_accepted_suggestions`, allowing users to track historical changes, assess the tool's effectiveness, and learn from previously implemented recommendations in the repository.
An example [result](https://github.com/Codium-ai/pr-agent/wiki/.pr_agent_accepted_suggestions):
[![pr_agent_accepted_suggestions1.png](https://qodo.ai/images/pr_agent/pr_agent_accepted_suggestions1.png){width=768}](https://github.com/Codium-ai/pr-agent/wiki/.pr_agent_accepted_suggestions)
This dedicated wiki page will also serve as a foundation for future AI model improvements, allowing it to learn from historically implemented suggestions and generate more targeted, contextually relevant recommendations.
This feature is controlled by a boolean configuration parameter: `pr_code_suggestions.wiki_page_accepted_suggestions` (default is true).
!!! note "Wiki must be enabled"
While the aggregation process is automatic, GitHub repositories require a one-time manual wiki setup.
To initialize the wiki: navigate to `Wiki`, select `Create the first page`, then click `Save page`.
![pr_agent_accepted_suggestions_create_first_page.png](https://qodo.ai/images/pr_agent/pr_agent_accepted_suggestions_create_first_page.png){width=768}
Once a wiki repo is created, the tool will automatically use this wiki for tracking suggestions.
!!! note "Why a wiki page?"
Your code belongs to you, and we respect your privacy. Hence, we won't store any code suggestions in an external database.
Instead, we leverage a dedicated private page, within your repository wiki, to track suggestions. This approach offers convenient secure suggestion tracking while avoiding pull requests or any noise to the main repository.
## `Extra instructions` and `best practices`
The `improve` tool can be further customized by providing additional instructions and best practices to the AI model.
### Extra instructions
>`Platforms supported: GitHub, GitLab, Bitbucket, Azure DevOps`
You can use the `extra_instructions` configuration option to give the AI model additional instructions for the `improve` tool.
Be specific, clear, and concise in the instructions. With extra instructions, you are the prompter.
Examples for possible instructions:
```toml
[pr_code_suggestions]
extra_instructions="""\
(1) Answer in japanese
(2) Don't suggest to add try-except block
(3) Ignore changes in toml files
...
"""
```
Use triple quotes to write multi-line instructions. Use bullet points or numbers to make the instructions more readable.
### Best practices 💎
>`Platforms supported: GitHub, GitLab, Bitbucket`
Another option to give additional guidance to the AI model is by creating a `best_practices.md` file, either in your repository's root directory or as a [**wiki page**](https://github.com/Codium-ai/pr-agent/wiki) (we recommend the wiki page, as editing and maintaining it over time is easier).
This page can contain a list of best practices, coding standards, and guidelines that are specific to your repo/organization.
The AI model will use this wiki page as a reference, and in case the PR code violates any of the guidelines, it will create additional suggestions, with a dedicated label: `Organization
best practice`.
Example for a python `best_practices.md` content:
```markdown
## Project best practices
- Make sure that I/O operations are encapsulated in a try-except block
- Use the `logging` module for logging instead of `print` statements
- Use `is` and `is not` to compare with `None`
- Use `if __name__ == '__main__':` to run the code only when the script is executed
- Use `with` statement to open files
...
```
Tips for writing an effective `best_practices.md` file:
- Write clearly and concisely
- Include brief code examples when helpful
- Focus on project-specific guidelines, that will result in relevant suggestions you actually want to get
- Keep the file relatively short, under 800 lines, since:
- AI models may not process effectively very long documents
- Long files tend to contain generic guidelines already known to AI
#### Local and global best practices
By default, Qodo Merge will look for a local `best_practices.md` wiki file in the root of the relevant local repo.
If you want to enable also a global `best_practices.md` wiki file, set first in the global configuration file:
```toml
[best_practices]
enable_global_best_practices = true
```
Then, create a `best_practices.md` wiki file in the root of [global](https://qodo-merge-docs.qodo.ai/usage-guide/configuration_options/#global-configuration-file) configuration repository, `pr-agent-settings`.
#### Best practices for multiple languages
For a git organization working with multiple programming languages, you can maintain a centralized global `best_practices.md` file containing language-specific guidelines.
When reviewing pull requests, Qodo Merge automatically identifies the programming language and applies the relevant best practices from this file.
To do this, structure your `best_practices.md` file using the following format:
```
# [Python]
...
# [Java]
...
# [JavaScript]
...
```
#### Dedicated label for best practices suggestions
Best practice suggestions are labeled as `Organization best practice` by default.
To customize this label, modify it in your configuration file:
```toml
[best_practices]
organization_name = "..."
```
And the label will be: `{organization_name} best practice`.
#### Example results
![best_practice](https://codium.ai/images/pr_agent/org_best_practice.png){width=512}
### How to combine `extra instructions` and `best practices`
The `extra instructions` configuration is more related to the `improve` tool prompt. It can be used, for example, to avoid specific suggestions ("Don't suggest to add try-except block", "Ignore changes in toml files", ...) or to emphasize specific aspects or formats ("Answer in Japanese", "Give only short suggestions", ...)
In contrast, the `best_practices.md` file is a general guideline for the way code should be written in the repo.
Using a combination of both can help the AI model to provide relevant and tailored suggestions.
## Usage Tips
### Implementing the proposed code suggestions
Each generated suggestion consists of three key elements:
1. A single-line summary of the proposed change
2. An expandable section containing a comprehensive description of the suggestion
3. A diff snippet showing the recommended code modification (before and after)
We advise users to apply critical analysis and judgment when implementing the proposed suggestions.
In addition to mistakes (which may happen, but are rare), sometimes the presented code modification may serve more as an _illustrative example_ than a direct applicable solution.
In such cases, we recommend prioritizing the suggestion's detailed description, using the diff snippet primarily as a supporting reference.
### Dual publishing mode
Our recommended approach for presenting code suggestions is through a [table](https://qodo-merge-docs.qodo.ai/tools/improve/#overview) (`--pr_code_suggestions.commitable_code_suggestions=false`).
This method significantly reduces the PR footprint and allows for quick and easy digestion of multiple suggestions.
We also offer a complementary **dual publishing mode**. When enabled, suggestions exceeding a certain score threshold are not only displayed in the table, but also presented as commitable PR comments.
This mode helps highlight suggestions deemed more critical.
To activate dual publishing mode, use the following setting:
```toml
[pr_code_suggestions]
dual_publishing_score_threshold = x
```
Where x represents the minimum score threshold (>=) for suggestions to be presented as commitable PR comments in addition to the table. Default is -1 (disabled).
### Self-review
If you set in a configuration file:
```toml
[pr_code_suggestions]
demand_code_suggestions_self_review = true
```
The `improve` tool will add a checkbox below the suggestions, prompting user to acknowledge that they have reviewed the suggestions.
You can set the content of the checkbox text via:
```toml
[pr_code_suggestions]
code_suggestions_self_review_text = "... (your text here) ..."
```
![self_review_1](https://codium.ai/images/pr_agent/self_review_1.png){width=512}
!!! tip "Tip - Reducing visual footprint after self-review 💎"
The configuration parameter `pr_code_suggestions.fold_suggestions_on_self_review` (default is True)
can be used to automatically fold the suggestions after the user clicks the self-review checkbox.
This reduces the visual footprint of the suggestions, and also indicates to the PR reviewer that the suggestions have been reviewed by the PR author, and don't require further attention.
!!! tip "Tip - Demanding self-review from the PR author 💎"
By setting:
```toml
[pr_code_suggestions]
approve_pr_on_self_review = true
```
the tool can automatically add an approval when the PR author clicks the self-review checkbox.
- If you set the number of required reviewers for a PR to 2, this effectively means that the PR author must click the self-review checkbox before the PR can be merged (in addition to a human reviewer).
![self_review_2](https://codium.ai/images/pr_agent/self_review_2.png){width=512}
- If you keep the number of required reviewers for a PR to 1 and enable this configuration, this effectively means that the PR author can approve the PR by actively clicking the self-review checkbox.
To prevent unauthorized approvals, this configuration defaults to false, and cannot be altered through online comments; enabling requires a direct update to the configuration file and a commit to the repository. This ensures that utilizing the feature demands a deliberate documented decision by the repository owner.
### How many code suggestions are generated?
Qodo Merge uses a dynamic strategy to generate code suggestions based on the size of the pull request (PR). Here's how it works:
1) Chunking large PRs:
- Qodo Merge divides large PRs into 'chunks'.
- Each chunk contains up to `pr_code_suggestions.max_context_tokens` tokens (default: 14,000).
2) Generating suggestions:
- For each chunk, Qodo Merge generates up to `pr_code_suggestions.num_code_suggestions_per_chunk` suggestions (default: 4).
This approach has two main benefits:
- Scalability: The number of suggestions scales with the PR size, rather than being fixed.
- Quality: By processing smaller chunks, the AI can maintain higher quality suggestions, as larger contexts tend to decrease AI performance.
Note: Chunking is primarily relevant for large PRs. For most PRs (up to 500 lines of code), Qodo Merge will be able to process the entire code in a single call.
## Configuration options
??? example "General options"
<table>
<tr>
<td><b>extra_instructions</b></td>
<td>Optional extra instructions to the tool. For example: "focus on the changes in the file X. Ignore change in ...".</td>
</tr>
<tr>
<td><b>commitable_code_suggestions</b></td>
<td>If set to true, the tool will display the suggestions as commitable code comments. Default is false.</td>
</tr>
<tr>
<td><b>dual_publishing_score_threshold</b></td>
<td>Minimum score threshold for suggestions to be presented as commitable PR comments in addition to the table. Default is -1 (disabled).</td>
</tr>
<tr>
<td><b>focus_only_on_problems</b></td>
<td>If set to true, suggestions will focus primarily on identifying and fixing code problems, and less on style considerations like best practices, maintainability, or readability. Default is true.</td>
</tr>
<tr>
<td><b>persistent_comment</b></td>
<td>If set to true, the improve comment will be persistent, meaning that every new improve request will edit the previous one. Default is false.</td>
</tr>
<tr>
<td><b>suggestions_score_threshold</b></td>
<td> Any suggestion with importance score less than this threshold will be removed. Default is 0. Highly recommend not to set this value above 7-8, since above it may clip relevant suggestions that can be useful. </td>
</tr>
<tr>
<td><b>apply_suggestions_checkbox</b></td>
<td> Enable the checkbox to create a committable suggestion. Default is true.</td>
</tr>
<tr>
<td><b>enable_help_text</b></td>
<td>If set to true, the tool will display a help text in the comment. Default is true.</td>
</tr>
<tr>
<td><b>enable_chat_text</b></td>
<td>If set to true, the tool will display a reference to the PR chat in the comment. Default is true.</td>
</tr>
<tr>
<td><b>wiki_page_accepted_suggestions</b></td>
<td>If set to true, the tool will automatically track accepted suggestions in a dedicated wiki page called `.pr_agent_accepted_suggestions`. Default is true.</td>
</tr>
<tr>
<td><b>allow_thumbs_up_down</b></td>
<td>If set to true, all code suggestions will have thumbs up and thumbs down buttons, to encourage users to provide feedback on the suggestions. Default is false.</td>
</tr>
</table>
??? example "Params for number of suggestions and AI calls"
<table>
<tr>
<td><b>auto_extended_mode</b></td>
<td>Enable chunking the PR code and running the tool on each chunk. Default is true.</td>
</tr>
<tr>
<td><b>num_code_suggestions_per_chunk</b></td>
<td>Number of code suggestions provided by the 'improve' tool, per chunk. Default is 4.</td>
</tr>
<tr>
<td><b>max_number_of_calls</b></td>
<td>Maximum number of chunks. Default is 3.</td>
</tr>
</table>
## A note on code suggestions quality
- AI models for code are getting better and better (Sonnet-3.5 and GPT-4), but they are not flawless. Not all the suggestions will be perfect, and a user should not accept all of them automatically. Critical reading and judgment are required.
- While mistakes of the AI are rare but can happen, a real benefit from the suggestions of the `improve` (and [`review`](https://qodo-merge-docs.qodo.ai/tools/review/)) tool is to catch, with high probability, **mistakes or bugs done by the PR author**, when they happen. So, it's a good practice to spend the needed ~30-60 seconds to review the suggestions, even if not all of them are always relevant.
- The hierarchical structure of the suggestions is designed to help the user to _quickly_ understand them, and to decide which ones are relevant and which are not:
- Only if the `Category` header is relevant, the user should move to the summarized suggestion description
- Only if the summarized suggestion description is relevant, the user should click on the collapsible, to read the full suggestion description with a code preview example.
- In addition, we recommend to use the [`extra_instructions`](https://qodo-merge-docs.qodo.ai/tools/improve/#extra-instructions-and-best-practices) field to guide the model to suggestions that are more relevant to the specific needs of the project.
- The interactive [PR chat](https://qodo-merge-docs.qodo.ai/chrome-extension/) also provides an easy way to get more tailored suggestions and feedback from the AI model.

View File

@ -0,0 +1,29 @@
## Overview
The `improve_component` tool generates code suggestions for a specific code component that changed in the PR.
it can be invoked manually by commenting on any PR:
```
/improve_component component_name
```
To get a list of the components that changed in the PR and choose the relevant component interactively, use the [`analyze`](./analyze.md) tool.
## Example usage
Invoke the tool manually by commenting `/improve_component` on any PR:
![improve_component1](https://codium.ai/images/pr_agent/improve_component1.png){width=768}
The tool will generate code suggestions for the selected component (if no component is stated, it will generate code suggestions for the largest component):
![improve_component2](https://codium.ai/images/pr_agent/improve_component2.png){width=768}
**Notes**
- Language that are currently supported by the tool: Python, Java, C++, JavaScript, TypeScript, C#.
- This tool can also be triggered interactively by using the [`analyze`](./analyze.md) tool.
## Configuration options
- `num_code_suggestions`: number of code suggestions to provide. Default is 4
- `extra_instructions`: Optional extra instructions to the tool. For example: "focus on ...".
- `file`: in case there are several components with the same name, you can specify the relevant file.
- `class_name`: in case there are several methods with the same name in the same file, you can specify the relevant class name.

23
docs/docs/tools/index.md Normal file
View File

@ -0,0 +1,23 @@
# Tools
Here is a list of Qodo Merge tools, each with a dedicated page that explains how to use it:
| Tool | Description |
|------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------|
| **[PR Description (`/describe`](./describe.md))** | Automatically generating PR description - title, type, summary, code walkthrough and labels |
| **[PR Review (`/review`](./review.md))** | Adjustable feedback about the PR, possible issues, security concerns, review effort and more |
| **[Code Suggestions (`/improve`](./improve.md))** | Code suggestions for improving the PR |
| **[Question Answering (`/ask ...`](./ask.md))** | Answering free-text questions about the PR, or on specific code lines |
| **[Update Changelog (`/update_changelog`](./update_changelog.md))** | Automatically updating the CHANGELOG.md file with the PR changes |
| **[Find Similar Issue (`/similar_issue`](./similar_issues.md))** | Automatically retrieves and presents similar issues |
| **[Help (`/help`](./help.md))** | Provides a list of all the available tools. Also enables to trigger them interactively (💎) |
| **💎 [Add Documentation (`/add_docs`](./documentation.md))** | Generates documentation to methods/functions/classes that changed in the PR |
| **💎 [Generate Custom Labels (`/generate_labels`](./custom_labels.md))** | Generates custom labels for the PR, based on specific guidelines defined by the user |
| **💎 [Analyze (`/analyze`](./analyze.md))** | Identify code components that changed in the PR, and enables to interactively generate tests, docs, and code suggestions for each component|
| **💎 [Test (`/test`](./test.md))** | generate tests for a selected component, based on the PR code changes |
| **💎 [Custom Prompt (`/custom_prompt`](./custom_prompt.md))** | Automatically generates custom suggestions for improving the PR code, based on specific guidelines defined by the user |
| **💎 [Generate Tests (`/test component_name`](./test.md))** | Automatically generates unit tests for a selected component, based on the PR code changes |
| **💎 [Improve Component (`/improve_component component_name`](./improve_component.md))** | Generates code suggestions for a specific code component that changed in the PR |
| **💎 [CI Feedback (`/checks ci_job`](./ci_feedback.md))** | Automatically generates feedback and analysis for a failed CI job |
| **💎 [Implement (`/implement`](./implement.md))** | Generates implementation code from review suggestions |
Note that the tools marked with 💎 are available only for Qodo Merge Pro users.

211
docs/docs/tools/review.md Normal file
View File

@ -0,0 +1,211 @@
## Overview
The `review` tool scans the PR code changes, and generates a list of feedbacks about the PR, aiming to aid the reviewing process.
<br>
The tool can be triggered automatically every time a new PR is [opened](../usage-guide/automations_and_usage.md#github-app-automatic-tools-when-a-new-pr-is-opened), or can be invoked manually by commenting on any PR:
```
/review
```
Note that the main purpose of the `review` tool is to provide the **PR reviewer** with useful feedbacks and insights. The PR author, in contrast, may prefer to save time and focus on the output of the [improve](./improve.md) tool, which provides actionable code suggestions.
(Read more about the different personas in the PR process and how Qodo Merge aims to assist them in our [blog](https://www.codium.ai/blog/understanding-the-challenges-and-pain-points-of-the-pull-request-cycle/))
## Example usage
### Manual triggering
Invoke the tool manually by commenting `/review` on any PR:
![review comment](https://codium.ai/images/pr_agent/review_comment.png){width=512}
After ~30 seconds, the tool will generate a review for the PR:
![review](https://codium.ai/images/pr_agent/review3.png){width=512}
If you want to edit [configurations](#configuration-options), add the relevant ones to the command:
```
/review --pr_reviewer.some_config1=... --pr_reviewer.some_config2=...
```
### Automatic triggering
To run the `review` automatically when a PR is opened, define in a [configuration file](https://qodo-merge-docs.qodo.ai/usage-guide/configuration_options/#wiki-configuration-file):
```
[github_app]
pr_commands = [
"/review",
...
]
[pr_reviewer]
extra_instructions = "..."
...
```
- The `pr_commands` lists commands that will be executed automatically when a PR is opened.
- The `[pr_reviewer]` section contains the configurations for the `review` tool you want to edit (if any).
## Configuration options
!!! example "General options"
<table>
<tr>
<td><b>persistent_comment</b></td>
<td>If set to true, the review comment will be persistent, meaning that every new review request will edit the previous one. Default is true.</td>
</tr>
<tr>
<td><b>final_update_message</b></td>
<td>When set to true, updating a persistent review comment during online commenting will automatically add a short comment with a link to the updated review in the pull request .Default is true.</td>
</tr>
<tr>
<td><b>extra_instructions</b></td>
<td>Optional extra instructions to the tool. For example: "focus on the changes in the file X. Ignore change in ...".</td>
</tr>
<tr>
<td><b>enable_help_text</b></td>
<td>If set to true, the tool will display a help text in the comment. Default is true.</td>
</tr>
</table>
!!! example "Enable\\disable specific sub-sections"
<table>
<tr>
<td><b>require_score_review</b></td>
<td>If set to true, the tool will add a section that scores the PR. Default is false.</td>
</tr>
<tr>
<td><b>require_tests_review</b></td>
<td>If set to true, the tool will add a section that checks if the PR contains tests. Default is true.</td>
</tr>
<tr>
<td><b>require_estimate_effort_to_review</b></td>
<td>If set to true, the tool will add a section that estimates the effort needed to review the PR. Default is true.</td>
</tr>
<tr>
<td><b>require_can_be_split_review</b></td>
<td>If set to true, the tool will add a section that checks if the PR contains several themes, and can be split into smaller PRs. Default is false.</td>
</tr>
<tr>
<td><b>require_security_review</b></td>
<td>If set to true, the tool will add a section that checks if the PR contains a possible security or vulnerability issue. Default is true.</td>
</tr>
<tr>
<td><b>require_ticket_analysis_review</b></td>
<td>If set to true, and the PR contains a GitHub or Jira ticket link, the tool will add a section that checks if the PR in fact fulfilled the ticket requirements. Default is true.</td>
</tr>
</table>
!!! example "Adding PR labels"
You can enable\disable the `review` tool to add specific labels to the PR:
<table>
<tr>
<td><b>enable_review_labels_security</b></td>
<td>If set to true, the tool will publish a 'possible security issue' label if it detects a security issue. Default is true.</td>
</tr>
<tr>
<td><b>enable_review_labels_effort</b></td>
<td>If set to true, the tool will publish a 'Review effort [1-5]: x' label. Default is true.</td>
</tr>
</table>
!!! example "Auto-approval"
If enabled, the `review` tool can approve a PR when a specific comment, `/review auto_approve`, is invoked.
<table>
<tr>
<td><b>enable_auto_approval</b></td>
<td>If set to true, the tool will approve the PR when invoked with the 'auto_approve' command. Default is false. This flag can be changed only from a configuration file.</td>
</tr>
<tr>
<td><b>maximal_review_effort</b></td>
<td>Maximal effort level for auto-approval. If the PR's estimated review effort is above this threshold, the auto-approval will not run. Default is 5.</td>
</tr>
</table>
## Usage Tips
!!! tip "General guidelines"
The `review` tool provides a collection of configurable feedbacks about a PR.
It is recommended to review the [Configuration options](#configuration-options) section, and choose the relevant options for your use case.
Some of the features that are disabled by default are quite useful, and should be considered for enabling. For example:
`require_score_review`, and more.
On the other hand, if you find one of the enabled features to be irrelevant for your use case, disable it. No default configuration can fit all use cases.
!!! tip "Automation"
When you first install Qodo Merge app, the [default mode](../usage-guide/automations_and_usage.md#github-app-automatic-tools-when-a-new-pr-is-opened) for the `review` tool is:
```
pr_commands = ["/review", ...]
```
Meaning the `review` tool will run automatically on every PR, without any additional configurations.
Edit this field to enable/disable the tool, or to change the configurations used.
!!! tip "Possible labels from the review tool"
The `review` tool can auto-generate two specific types of labels for a PR:
- a `possible security issue` label that detects if a possible [security issue](https://github.com/Codium-ai/pr-agent/blob/tr/user_description/pr_agent/settings/pr_reviewer_prompts.toml#L136) exists in the PR code (`enable_review_labels_security` flag)
- a `Review effort [1-5]: x` label, where x is the estimated effort to review the PR (`enable_review_labels_effort` flag)
Both modes are useful, and we recommended to enable them.
!!! tip "Extra instructions"
Extra instructions are important.
The `review` tool can be configured with extra instructions, which can be used to guide the model to a feedback tailored to the needs of your project.
Be specific, clear, and concise in the instructions. With extra instructions, you are the prompter. Specify the relevant sub-tool, and the relevant aspects of the PR that you want to emphasize.
Examples of extra instructions:
```
[pr_reviewer]
extra_instructions="""\
In the code feedback section, emphasize the following:
- Does the code logic cover relevant edge cases?
- Is the code logic clear and easy to understand?
- Is the code logic efficient?
...
"""
```
Use triple quotes to write multi-line instructions. Use bullet points to make the instructions more readable.
!!! tip "Auto-approval"
Qodo Merge can approve a PR when a specific comment is invoked.
To ensure safety, the auto-approval feature is disabled by default. To enable auto-approval, you need to actively set in a pre-defined configuration file the following:
```
[pr_reviewer]
enable_auto_approval = true
```
(this specific flag cannot be set with a command line argument, only in the configuration file, committed to the repository)
After enabling, by commenting on a PR:
```
/review auto_approve
```
Qodo Merge will automatically approve the PR, and add a comment with the approval.
You can also enable auto-approval only if the PR meets certain requirements, such as that the `estimated_review_effort` label is equal or below a certain threshold, by adjusting the flag:
```
[pr_reviewer]
maximal_review_effort = 5
```
!!! tip "Code suggestions"
The `review` tool previously included a legacy feature for providing code suggestions (controlled by `--pr_reviewer.num_code_suggestion`). This functionality has been deprecated and replaced by the [`improve`](./improve.md) tool, which offers higher quality and more actionable code suggestions.

View File

@ -0,0 +1,64 @@
## Overview
The similar code tool retrieves the most similar code components from inside the organization's codebase, or from open-source code.
For example:
`Global Search` for a method called `chat_completion`:
![similar code global](https://codium.ai/images/pr_agent/similar_code_global2.png){width=768}
Qodo Merge will examine the code component and will extract the most relevant keywords to search for similar code:
- `extracted keywords`: the keywords that were extracted from the code by Qodo Merge. the link will open a search page with the extracted keywords, to allow the user to modify the search if needed.
- `search context`: the context in which the search will be performed, organization's codebase or open-source code (Global).
- `similar code`: the most similar code components found. the link will open the code component in the relevant file.
- `relevant repositories`: the open-source repositories in which that are relevant to the searched code component and it's keywords.
Search result link example:
![code search result single](https://codium.ai/images/pr_agent/code_search_result_single.png){width=768}
`Organization Search`:
![similar code org](https://codium.ai/images/pr_agent/similar_code_org.png){width=768}
## How to use
### Manually
To invoke the `similar code` tool manually, comment on the PR:
```
/find_similar_component COMPONENT_NAME
```
Where `COMPONENT_NAME` should be the name of a code component in the PR (class, method, function).
If there is a name ambiguity, there are two configurations that will help the tool to find the correct component:
- `--pr_find_similar_component.file`: in case there are several components with the same name, you can specify the relevant file.
- `--pr_find_similar_component.class_name`: in case there are several methods with the same name in the same file, you can specify the relevant class name.
example:
```
/find_similar_component COMPONENT_NAME --pr_find_similar_component.file=FILE_NAME
```
### Automatically (via Analyze table)
It can be invoked automatically from the analyze table, can be accessed by:
```
/analyze
```
Choose the components you want to find similar code for, and click on the `similar` checkbox.
![analyze similar](https://codium.ai/images/pr_agent/analyze_similar.png){width=768}
You can search for similar code either within the organization's codebase or globally, which includes open-source repositories. Each result will include the relevant code components along with their associated license details.
![similar code global](https://codium.ai/images/pr_agent/similar_code_global.png){width=768}
## Configuration options
- `search_from_org`: if set to true, the tool will search for similar code in the organization's codebase. Default is false.
- `number_of_keywords`: number of keywords to use for the search. Default is 5.
- `number_of_results`: the maximum number of results to present. Default is 5.

View File

@ -0,0 +1,43 @@
## Overview
The similar issue tool retrieves the most similar issues to the current issue.
It can be invoked manually by commenting on any PR:
```
/similar_issue
```
## Example usage
![similar_issue_original_issue](https://codium.ai/images/pr_agent/similar_issue_original_issue.png){width=768}
![similar_issue_comment](https://codium.ai/images/pr_agent/similar_issue_comment.png){width=768}
![similar_issue](https://codium.ai/images/pr_agent/similar_issue.png){width=768}
Note that to perform retrieval, the `similar_issue` tool indexes all the repo previous issues (once).
**Select VectorDBs** by changing `pr_similar_issue` parameter in `configuration.toml` file
2 VectorDBs are available to switch in
1. LanceDB
2. Pinecone
To enable usage of the '**similar issue**' tool for Pinecone, you need to set the following keys in `.secrets.toml` (or in the relevant environment variables):
```
[pinecone]
api_key = "..."
environment = "..."
```
These parameters can be obtained by registering to [Pinecone](https://app.pinecone.io/?sessionType=signup/).
## How to use
- To invoke the 'similar issue' tool from **CLI**, run:
`python3 cli.py --issue_url=... similar_issue`
- To invoke the 'similar' issue tool via online usage, [comment](https://github.com/Codium-ai/pr-agent/issues/178#issuecomment-1716934893) on a PR:
`/similar_issue`
- You can also enable the 'similar issue' tool to run automatically when a new issue is opened, by adding it to the [pr_commands list in the github_app section](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/settings/configuration.toml#L66)

32
docs/docs/tools/test.md Normal file
View File

@ -0,0 +1,32 @@
## Overview
By combining LLM abilities with static code analysis, the `test` tool generate tests for a selected component, based on the PR code changes.
It can be invoked manually by commenting on any PR:
```
/test component_name
```
where 'component_name' is the name of a specific component in the PR.
To get a list of the components that changed in the PR and choose the relevant component interactively, use the [`analyze`](./analyze.md) tool.
## Example usage
Invoke the tool manually by commenting `/test` on any PR:
The tool will generate tests for the selected component (if no component is stated, it will generate tests for largest component):
![test1](https://codium.ai/images/pr_agent/test1.png){width=768}
(Example taken from [here](https://github.com/Codium-ai/pr-agent/pull/598#issuecomment-1913679429)):
**Notes** <br>
- The following languages are currently supported: Python, Java, C++, JavaScript, TypeScript, C#. <br>
- This tool can also be triggered interactively by using the [`analyze`](./analyze.md) tool.
## Configuration options
- `num_tests`: number of tests to generate. Default is 3.
- `testing_framework`: the testing framework to use. If not set, for Python it will use `pytest`, for Java it will use `JUnit`, for C++ it will use `Catch2`, and for JavaScript and TypeScript it will use `jest`.
- `avoid_mocks`: if set to true, the tool will try to avoid using mocks in the generated tests. Note that even if this option is set to true, the tool might still use mocks if it cannot generate a test without them. Default is true.
- `extra_instructions`: Optional extra instructions to the tool. For example: "use the following mock injection scheme: ...".
- `file`: in case there are several components with the same name, you can specify the relevant file.
- `class_name`: in case there are several methods with the same name in the same file, you can specify the relevant class name.
- `enable_help_text`: if set to true, the tool will add a help text to the PR comment. Default is true.

View File

@ -0,0 +1,20 @@
## Overview
The `update_changelog` tool automatically updates the CHANGELOG.md file with the PR changes.
It can be invoked manually by commenting on any PR:
```
/update_changelog
```
## Example usage
![update_changelog_comment](https://codium.ai/images/pr_agent/update_changelog_comment.png){width=768}
![update_changelog](https://codium.ai/images/pr_agent/update_changelog.png){width=768}
## Configuration options
Under the section `pr_update_changelog`, the [configuration file](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/settings/configuration.toml#L50) contains options to customize the 'update changelog' tool:
- `push_changelog_changes`: whether to push the changes to CHANGELOG.md, or just print them. Default is false (print only).
- `extra_instructions`: Optional extra instructions to the tool. For example: "focus on the changes in the file X. Ignore change in ...
- `add_pr_link`: whether the model should try to add a link to the PR in the changelog. Default is true.

View File

@ -0,0 +1,189 @@
## Recommend Python Best Practices
This document outlines a series of recommended best practices for Python development. These guidelines aim to improve code quality, maintainability, and readability.
### Imports
Use `import` statements for packages and modules only, not for individual types, classes, or functions.
#### Definition
Reusability mechanism for sharing code from one module to another.
#### Decision
- Use `import x` for importing packages and modules.
- Use `from x import y` where `x` is the package prefix and `y` is the module name with no prefix.
- Use `from x import y as z` in any of the following circumstances:
- Two modules named `y` are to be imported.
- `y` conflicts with a top-level name defined in the current module.
- `y` conflicts with a common parameter name that is part of the public API (e.g., `features`).
- `y` is an inconveniently long name, or too generic in the context of your code
- Use `import y as z` only when `z` is a standard abbreviation (e.g., `import numpy as np`).
For example the module `sound.effects.echo` may be imported as follows:
```
from sound.effects import echo
...
echo.EchoFilter(input, output, delay=0.7, atten=4)
```
Do not use relative names in imports. Even if the module is in the same package, use the full package name. This helps prevent unintentionally importing a package twice.
##### Exemptions
Exemptions from this rule:
- Symbols from the following modules are used to support static analysis and type checking:
- [`typing` module](https://google.github.io/styleguide/pyguide.html#typing-imports)
- [`collections.abc` module](https://google.github.io/styleguide/pyguide.html#typing-imports)
- [`typing_extensions` module](https://github.com/python/typing_extensions/blob/main/README.md)
- Redirects from the [six.moves module](https://six.readthedocs.io/#module-six.moves).
### Packages
Import each module using the full pathname location of the module.
#### Decision
All new code should import each module by its full package name.
Imports should be as follows:
```
Yes:
# Reference absl.flags in code with the complete name (verbose).
import absl.flags
from doctor.who import jodie
_FOO = absl.flags.DEFINE_string(...)
```
```
Yes:
# Reference flags in code with just the module name (common).
from absl import flags
from doctor.who import jodie
_FOO = flags.DEFINE_string(...)
```
_(assume this file lives in `doctor/who/` where `jodie.py` also exists)_
```
No:
# Unclear what module the author wanted and what will be imported. The actual
# import behavior depends on external factors controlling sys.path.
# Which possible jodie module did the author intend to import?
import jodie
```
The directory the main binary is located in should not be assumed to be in `sys.path` despite that happening in some environments. This being the case, code should assume that `import jodie` refers to a third-party or top-level package named `jodie`, not a local `jodie.py`.
### Default Iterators and Operators
Use default iterators and operators for types that support them, like lists, dictionaries, and files.
#### Definition
Container types, like dictionaries and lists, define default iterators and membership test operators (“in” and “not in”).
#### Decision
Use default iterators and operators for types that support them, like lists, dictionaries, and files. The built-in types define iterator methods, too. Prefer these methods to methods that return lists, except that you should not mutate a container while iterating over it.
```
Yes: for key in adict: ...
if obj in alist: ...
for line in afile: ...
for k, v in adict.items(): ...
```
```
No: for key in adict.keys(): ...
for line in afile.readlines(): ...
```
### Lambda Functions
Okay for one-liners. Prefer generator expressions over `map()` or `filter()` with a `lambda`.
#### Decision
Lambdas are allowed. If the code inside the lambda function spans multiple lines or is longer than 60-80 chars, it might be better to define it as a regular [nested function](https://google.github.io/styleguide/pyguide.html#lexical-scoping).
For common operations like multiplication, use the functions from the `operator` module instead of lambda functions. For example, prefer `operator.mul` to `lambda x, y: x * y`.
### Default Argument Values
Okay in most cases.
#### Definition
You can specify values for variables at the end of a functions parameter list, e.g., `def foo(a, b=0):`. If `foo` is called with only one argument, `b` is set to 0. If it is called with two arguments, `b` has the value of the second argument.
#### Decision
Okay to use with the following caveat:
Do not use mutable objects as default values in the function or method definition.
```
Yes: def foo(a, b=None):
if b is None:
b = []
Yes: def foo(a, b: Sequence | None = None):
if b is None:
b = []
Yes: def foo(a, b: Sequence = ()): # Empty tuple OK since tuples are immutable.
...
```
```
from absl import flags
_FOO = flags.DEFINE_string(...)
No: def foo(a, b=[]):
...
No: def foo(a, b=time.time()): # Is `b` supposed to represent when this module was loaded?
...
No: def foo(a, b=_FOO.value): # sys.argv has not yet been parsed...
...
No: def foo(a, b: Mapping = {}): # Could still get passed to unchecked code.
...
```
### True/False Evaluations
Use the “implicit” false if possible, e.g., `if foo:` rather than `if foo != []:`
### Lexical Scoping
Okay to use.
An example of the use of this feature is:
```
def get_adder(summand1: float) -> Callable[[float], float]:
"""Returns a function that adds numbers to a given number."""
def adder(summand2: float) -> float:
return summand1 + summand2
return adder
```
#### Decision
Okay to use.
### Threading
Do not rely on the atomicity of built-in types.
While Pythons built-in data types such as dictionaries appear to have atomic operations, there are corner cases where they arent atomic (e.g. if `__hash__` or `__eq__` are implemented as Python methods) and their atomicity should not be relied upon. Neither should you rely on atomic variable assignment (since this in turn depends on dictionaries).
Use the `queue` modules `Queue` data type as the preferred way to communicate data between threads. Otherwise, use the `threading` module and its locking primitives. Prefer condition variables and `threading.Condition` instead of using lower-level locks.

View File

@ -0,0 +1,18 @@
## Qodo Merge Pro Models
The default models used by Qodo Merge Pro are a combination of Claude-3.5-sonnet and OpenAI's GPT-4 models.
Users can configure Qodo Merge Pro to use solely a specific model by editing the [configuration](https://qodo-merge-docs.qodo.ai/usage-guide/configuration_options/) file.
For example, to restrict Qodo Merge Pro to using only `Claude-3.5-sonnet`, add this setting:
```
[config]
model="claude-3-5-sonnet"
```
Or to restrict Qodo Merge Pro to using only `GPT-4o`, add this setting:
```
[config]
model="gpt-4o"
```

View File

@ -0,0 +1,216 @@
## Show possible configurations
The possible configurations of Qodo Merge are stored in [here](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/settings/configuration.toml){:target="_blank"}.
In the [tools](https://qodo-merge-docs.qodo.ai/tools/) page you can find explanations on how to use these configurations for each tool.
To print all the available configurations as a comment on your PR, you can use the following command:
```
/config
```
![possible_config1](https://codium.ai/images/pr_agent/possible_config1.png){width=512}
To view the **actual** configurations used for a specific tool, after all the user settings are applied, you can add for each tool a `--config.output_relevant_configurations=true` suffix.
For example:
```
/improve --config.output_relevant_configurations=true
```
Will output an additional field showing the actual configurations used for the `improve` tool.
![possible_config2](https://codium.ai/images/pr_agent/possible_config2.png){width=512}
## Ignoring files from analysis
In some cases, you may want to exclude specific files or directories from the analysis performed by Qodo Merge. This can be useful, for example, when you have files that are generated automatically or files that shouldn't be reviewed, like vendor code.
You can ignore files or folders using the following methods:
- `IGNORE.GLOB`
- `IGNORE.REGEX`
which you can edit to ignore files or folders based on glob or regex patterns.
### Example usage
Let's look at an example where we want to ignore all files with `.py` extension from the analysis.
To ignore Python files in a PR with online usage, comment on a PR:
`/review --ignore.glob="['*.py']"`
To ignore Python files in all PRs using `glob` pattern, set in a configuration file:
```
[ignore]
glob = ['*.py']
```
And to ignore Python files in all PRs using `regex` pattern, set in a configuration file:
```
[regex]
regex = ['.*\.py$']
```
## Extra instructions
All Qodo Merge tools have a parameter called `extra_instructions`, that enables to add free-text extra instructions. Example usage:
```
/update_changelog --pr_update_changelog.extra_instructions="Make sure to update also the version ..."
```
## Working with large PRs
The default mode of CodiumAI is to have a single call per tool, using GPT-4, which has a token limit of 8000 tokens.
This mode provides a very good speed-quality-cost tradeoff, and can handle most PRs successfully.
When the PR is above the token limit, it employs a [PR Compression strategy](../core-abilities/index.md).
However, for very large PRs, or in case you want to emphasize quality over speed and cost, there are two possible solutions:
1) [Use a model](https://qodo-merge-docs.qodo.ai/usage-guide/changing_a_model/) with larger context, like GPT-32K, or claude-100K. This solution will be applicable for all the tools.
2) For the `/improve` tool, there is an ['extended' mode](https://qodo-merge-docs.qodo.ai/tools/improve/) (`/improve --extended`),
which divides the PR into chunks, and processes each chunk separately. With this mode, regardless of the model, no compression will be done (but for large PRs, multiple model calls may occur)
## Patch Extra Lines
By default, around any change in your PR, git patch provides three lines of context above and below the change.
```
@@ -12,5 +12,5 @@ def func1():
code line that already existed in the file...
code line that already existed in the file...
code line that already existed in the file....
-code line that was removed in the PR
+new code line added in the PR
code line that already existed in the file...
code line that already existed in the file...
code line that already existed in the file...
```
Qodo Merge will try to increase the number of lines of context, via the parameter:
```
[config]
patch_extra_lines_before=3
patch_extra_lines_after=1
```
Increasing this number provides more context to the model, but will also increase the token budget, and may overwhelm the model with too much information, unrelated to the actual PR code changes.
If the PR is too large (see [PR Compression strategy](https://github.com/Codium-ai/pr-agent/blob/main/PR_COMPRESSION.md)), Qodo Merge may automatically set this number to 0, and will use the original git patch.
## Editing the prompts
The prompts for the various Qodo Merge tools are defined in the `pr_agent/settings` folder.
In practice, the prompts are loaded and stored as a standard setting object.
Hence, editing them is similar to editing any other configuration value - just place the relevant key in `.pr_agent.toml`file, and override the default value.
For example, if you want to edit the prompts of the [describe](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/settings/pr_description_prompts.toml) tool, you can add the following to your `.pr_agent.toml` file:
```
[pr_description_prompt]
system="""
...
"""
user="""
...
"""
```
Note that the new prompt will need to generate an output compatible with the relevant [post-process function](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/tools/pr_description.py#L137).
## Integrating with Logging Observability Platforms
Various logging observability tools can be used out-of-the box when using the default LiteLLM AI Handler. Simply configure the LiteLLM callback settings in `configuration.toml` and set environment variables according to the LiteLLM [documentation](https://docs.litellm.ai/docs/).
For example, to use [LangSmith](https://www.langchain.com/langsmith) you can add the following to your `configuration.toml` file:
```
[litellm]
enable_callbacks = true
success_callback = ["langsmith"]
failure_callback = ["langsmith"]
service_callback = []
```
Then set the following environment variables:
```
LANGSMITH_API_KEY=<api_key>
LANGSMITH_PROJECT=<project>
LANGSMITH_BASE_URL=<url>
```
## Ignoring automatic commands in PRs
Qodo Merge allows you to automatically ignore certain PRs based on various criteria:
- PRs with specific titles (using regex matching)
- PRs between specific branches (using regex matching)
- PRs that don't include changes from specific folders (using regex matching)
- PRs containing specific labels
- PRs opened by specific users
### Example usage
#### Ignoring PRs with specific titles
To ignore PRs with a specific title such as "[Bump]: ...", you can add the following to your `configuration.toml` file:
```
[config]
ignore_pr_title = ["\\[Bump\\]"]
```
Where the `ignore_pr_title` is a list of regex patterns to match the PR title you want to ignore. Default is `ignore_pr_title = ["^\\[Auto\\]", "^Auto"]`.
#### Ignoring PRs between specific branches
To ignore PRs from specific source or target branches, you can add the following to your `configuration.toml` file:
```
[config]
ignore_pr_source_branches = ['develop', 'main', 'master', 'stage']
ignore_pr_target_branches = ["qa"]
```
Where the `ignore_pr_source_branches` and `ignore_pr_target_branches` are lists of regex patterns to match the source and target branches you want to ignore.
They are not mutually exclusive, you can use them together or separately.
#### Ignoring PRs that don't include changes from specific folders
To allow only specific folders (often needed in large monorepos), set:
```
[config]
allow_only_specific_folders=['folder1','folder2']
```
For the configuration above, automatic feedback will only be triggered when the PR changes include files from 'folder1' or 'folder2'
#### Ignoring PRs containg specific labels
To ignore PRs containg specific labels, you can add the following to your `configuration.toml` file:
```
[config]
ignore_pr_labels = ["do-not-merge"]
```
Where the `ignore_pr_labels` is a list of labels that when present in the PR, the PR will be ignored.
#### Ignoring PRs from specific users
Qodo Merge automatically identifies and ignores pull requests created by bots using:
- GitHub's native bot detection system
- Name-based pattern matching
While this detection is robust, it may not catch all cases, particularly when:
- Bots are registered as regular user accounts
- Bot names don't match common patterns
To supplement the automatic bot detection, you can manually specify users to ignore. Add the following to your `configuration.toml` file to ignore PRs from specific users:
```
[config]
ignore_pr_authors = ["my-special-bot-user", ...]
```
Where the `ignore_pr_authors` is a list of usernames that you want to ignore.

View File

@ -0,0 +1,291 @@
## Local repo (CLI)
When running from your locally cloned Qodo Merge repo (CLI), your local configuration file will be used.
Examples of invoking the different tools via the CLI:
- **Review**: `python -m pr_agent.cli --pr_url=<pr_url> review`
- **Describe**: `python -m pr_agent.cli --pr_url=<pr_url> describe`
- **Improve**: `python -m pr_agent.cli --pr_url=<pr_url> improve`
- **Ask**: `python -m pr_agent.cli --pr_url=<pr_url> ask "Write me a poem about this PR"`
- **Reflect**: `python -m pr_agent.cli --pr_url=<pr_url> reflect`
- **Update Changelog**: `python -m pr_agent.cli --pr_url=<pr_url> update_changelog`
`<pr_url>` is the url of the relevant PR (for example: [#50](https://github.com/Codium-ai/pr-agent/pull/50)).
**Notes:**
(1) in addition to editing your local configuration file, you can also change any configuration value by adding it to the command line:
```
python -m pr_agent.cli --pr_url=<pr_url> /review --pr_reviewer.extra_instructions="focus on the file: ..."
```
(2) You can print results locally, without publishing them, by setting in `configuration.toml`:
```
[config]
publish_output=false
verbosity_level=2
```
This is useful for debugging or experimenting with different tools.
(3)
**git provider**: The [git_provider](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/settings/configuration.toml#L5) field in a configuration file determines the GIT provider that will be used by Qodo Merge. Currently, the following providers are supported:
`
"github", "gitlab", "bitbucket", "azure", "codecommit", "local", "gerrit"
`
Default is "github".
### CLI Health Check
To verify that Qodo Merge has been configured correctly, you can run this health check command from the repository root:
```bash
python -m tests.health_test.main
```
If the health check passes, you will see the following output:
```
========
Health test passed successfully
========
```
At the end of the run.
Before running the health check, ensure you have:
- Configured your [LLM provider](https://qodo-merge-docs.qodo.ai/usage-guide/changing_a_model/)
- Added a valid GitHub token to your configuration file
## Online usage
Online usage means invoking Qodo Merge tools by [comments](https://github.com/Codium-ai/pr-agent/pull/229#issuecomment-1695021901) on a PR.
Commands for invoking the different tools via comments:
- **Review**: `/review`
- **Describe**: `/describe`
- **Improve**: `/improve` (or `/improve_code` for bitbucket, since `/improve` is sometimes reserved)
- **Ask**: `/ask "..."`
- **Reflect**: `/reflect`
- **Update Changelog**: `/update_changelog`
To edit a specific configuration value, just add `--config_path=<value>` to any command.
For example, if you want to edit the `review` tool configurations, you can run:
```
/review --pr_reviewer.extra_instructions="..." --pr_reviewer.require_score_review=false
```
Any configuration value in [configuration file](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/settings/configuration.toml) file can be similarly edited. Comment `/config` to see the list of available configurations.
## Qodo Merge Automatic Feedback
### Disabling all automatic feedback
To easily disable all automatic feedback from Qodo Merge (GitHub App, GitLab Webhook, BitBucket App, Azure DevOps Webhook), set in a configuration file:
```toml
[config]
disable_auto_feedback = true
```
When this parameter is set to `true`, Qodo Merge will not run any automatic tools (like `describe`, `review`, `improve`) when a new PR is opened, or when new code is pushed to an open PR.
### GitHub App
!!! note "Configurations for Qodo Merge Pro"
Qodo Merge Pro for GitHub is an App, hosted by CodiumAI. So all the instructions below are relevant also for Qodo Merge Pro users.
Same goes for [GitLab webhook](#gitlab-webhook) and [BitBucket App](#bitbucket-app) sections.
#### GitHub app automatic tools when a new PR is opened
The [github_app](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/settings/configuration.toml#L220) section defines GitHub app specific configurations.
The configuration parameter `pr_commands` defines the list of tools that will be **run automatically** when a new PR is opened:
```toml
[github_app]
pr_commands = [
"/describe",
"/review",
"/improve",
]
```
This means that when a new PR is opened/reopened or marked as ready for review, Qodo Merge will run the `describe`, `review` and `improve` tools.
You can override the default tool parameters by using one the three options for a [configuration file](https://qodo-merge-docs.qodo.ai/usage-guide/configuration_options/): **wiki**, **local**, or **global**.
For example, if your configuration file contains:
```toml
[pr_description]
generate_ai_title = true
```
Every time you run the `describe` tool (including automatic runs) the PR title will be generated by the AI.
You can customize configurations specifically for automated runs by using the `--config_path=<value>` parameter.
For instance, to modify the `review` tool settings only for newly opened PRs, use:
```toml
[github_app]
pr_commands = [
"/describe",
"/review --pr_reviewer.extra_instructions='focus on the file: ...'",
"/improve",
]
```
#### GitHub app automatic tools for push actions (commits to an open PR)
In addition to running automatic tools when a PR is opened, the GitHub app can also respond to new code that is pushed to an open PR.
The configuration toggle `handle_push_trigger` can be used to enable this feature.
The configuration parameter `push_commands` defines the list of tools that will be **run automatically** when new code is pushed to the PR.
```toml
[github_app]
handle_push_trigger = true
push_commands = [
"/describe",
"/review",
]
```
This means that when new code is pushed to the PR, the Qodo Merge will run the `describe` and `review` tools, with the specified parameters.
### GitHub Action
`GitHub Action` is a different way to trigger Qodo Merge tools, and uses a different configuration mechanism than `GitHub App`.<br>
You can configure settings for `GitHub Action` by adding environment variables under the env section in `.github/workflows/pr_agent.yml` file.
Specifically, start by setting the following environment variables:
```yaml
env:
OPENAI_KEY: ${{ secrets.OPENAI_KEY }} # Make sure to add your OpenAI key to your repo secrets
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Make sure to add your GitHub token to your repo secrets
github_action_config.auto_review: "true" # enable\disable auto review
github_action_config.auto_describe: "true" # enable\disable auto describe
github_action_config.auto_improve: "true" # enable\disable auto improve
github_action_config.pr_actions: '["opened", "reopened", "ready_for_review", "review_requested"]'
```
`github_action_config.auto_review`, `github_action_config.auto_describe` and `github_action_config.auto_improve` are used to enable/disable automatic tools that run when a new PR is opened.
If not set, the default configuration is for all three tools to run automatically when a new PR is opened.
`github_action_config.pr_actions` is used to configure which `pull_requests` events will trigger the enabled auto flags
If not set, the default configuration is `["opened", "reopened", "ready_for_review", "review_requested"]`
`github_action_config.enable_output` are used to enable/disable github actions [output parameter](https://docs.github.com/en/actions/creating-actions/metadata-syntax-for-github-actions#outputs-for-docker-container-and-javascript-actions) (default is `true`).
Review result is output as JSON to `steps.{step-id}.outputs.review` property.
The JSON structure is equivalent to the yaml data structure defined in [pr_reviewer_prompts.toml](https://github.com/idubnori/pr-agent/blob/main/pr_agent/settings/pr_reviewer_prompts.toml).
Note that you can give additional config parameters by adding environment variables to `.github/workflows/pr_agent.yml`, or by using a `.pr_agent.toml` [configuration file](https://qodo-merge-docs.qodo.ai/usage-guide/configuration_options/#global-configuration-file) in the root of your repo
For example, you can set an environment variable: `pr_description.publish_labels=false`, or add a `.pr_agent.toml` file with the following content:
```toml
[pr_description]
publish_labels = false
```
to prevent Qodo Merge from publishing labels when running the `describe` tool.
### GitLab Webhook
After setting up a GitLab webhook, to control which commands will run automatically when a new MR is opened, you can set the `pr_commands` parameter in the configuration file, similar to the GitHub App:
```toml
[gitlab]
pr_commands = [
"/describe",
"/review",
"/improve",
]
```
the GitLab webhook can also respond to new code that is pushed to an open MR.
The configuration toggle `handle_push_trigger` can be used to enable this feature.
The configuration parameter `push_commands` defines the list of tools that will be **run automatically** when new code is pushed to the MR.
```toml
[gitlab]
handle_push_trigger = true
push_commands = [
"/describe",
"/review",
]
```
Note that to use the 'handle_push_trigger' feature, you need to give the gitlab webhook also the "Push events" scope.
### BitBucket App
Similar to GitHub app, when running Qodo Merge from BitBucket App, the default [configuration file](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/settings/configuration.toml) from a pre-built docker will be initially loaded.
By uploading a local `.pr_agent.toml` file to the root of the repo's main branch, you can edit and customize any configuration parameter. Note that you need to upload `.pr_agent.toml` prior to creating a PR, in order for the configuration to take effect.
For example, if your local `.pr_agent.toml` file contains:
```toml
[pr_reviewer]
extra_instructions = "Answer in japanese"
```
Each time you invoke a `/review` tool, it will use the extra instructions you set in the local configuration file.
Note that among other limitations, BitBucket provides relatively low rate-limits for applications (up to 1000 requests per hour), and does not provide an API to track the actual rate-limit usage.
If you experience a lack of responses from Qodo Merge, you might want to set: `bitbucket_app.avoid_full_files=true` in your configuration file.
This will prevent Qodo Merge from acquiring the full file content, and will only use the diff content. This will reduce the number of requests made to BitBucket, at the cost of small decrease in accuracy, as dynamic context will not be applicable.
#### BitBucket Self-Hosted App automatic tools
To control which commands will run automatically when a new PR is opened, you can set the `pr_commands` parameter in the configuration file:
Specifically, set the following values:
```toml
[bitbucket_app]
pr_commands = [
"/review",
"/improve --pr_code_suggestions.commitable_code_suggestions=true --pr_code_suggestions.suggestions_score_threshold=7",
]
```
Note that we set specifically for bitbucket, we recommend using: `--pr_code_suggestions.suggestions_score_threshold=7` and that is the default value we set for bitbucket.
Since this platform only supports inline code suggestions, we want to limit the number of suggestions, and only present a limited number.
To enable BitBucket app to respond to each **push** to the PR, set (for example):
```toml
[bitbucket_app]
handle_push_trigger = true
push_commands = [
"/describe",
"/review",
]
```
### Azure DevOps provider
To use Azure DevOps provider use the following settings in configuration.toml:
```toml
[config]
git_provider="azure"
```
Azure DevOps provider supports [PAT token](https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops&tabs=Windows) or [DefaultAzureCredential](https://learn.microsoft.com/en-us/azure/developer/python/sdk/authentication-overview#authentication-in-server-environments) authentication.
PAT is faster to create, but has build in expiration date, and will use the user identity for API calls.
Using DefaultAzureCredential you can use managed identity or Service principle, which are more secure and will create separate ADO user identity (via AAD) to the agent.
If PAT was chosen, you can assign the value in .secrets.toml.
If DefaultAzureCredential was chosen, you can assigned the additional env vars like AZURE_CLIENT_SECRET directly,
or use managed identity/az cli (for local development) without any additional configuration.
in any case, 'org' value must be assigned in .secrets.toml:
```
[azure_devops]
org = "https://dev.azure.com/YOUR_ORGANIZATION/"
# pat = "YOUR_PAT_TOKEN" needed only if using PAT for authentication
```
#### Azure DevOps Webhook
To control which commands will run automatically when a new PR is opened, you can set the `pr_commands` parameter in the configuration file, similar to the GitHub App:
```toml
[azure_devops_server]
pr_commands = [
"/describe",
"/review",
"/improve",
]
```

View File

@ -0,0 +1,203 @@
## Changing a model
See [here](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/algo/__init__.py) for a list of available models.
To use a different model than the default (GPT-4), you need to edit in the [configuration file](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/settings/configuration.toml#L2) the fields:
```
[config]
model = "..."
fallback_models = ["..."]
```
For models and environments not from OpenAI, you might need to provide additional keys and other parameters.
You can give parameters via a configuration file (see below for instructions), or from environment variables. See [litellm documentation](https://litellm.vercel.app/docs/proxy/quick_start#supported-llms) for the environment variables relevant per model.
### Azure
To use Azure, set in your `.secrets.toml` (working from CLI), or in the GitHub `Settings > Secrets and variables` (working from GitHub App or GitHub Action):
```
[openai]
key = "" # your azure api key
api_type = "azure"
api_version = '2023-05-15' # Check Azure documentation for the current API version
api_base = "" # The base URL for your Azure OpenAI resource. e.g. "https://<your resource name>.openai.azure.com"
deployment_id = "" # The deployment name you chose when you deployed the engine
```
and set in your configuration file:
```
[config]
model="" # the OpenAI model you've deployed on Azure (e.g. gpt-4o)
fallback_models=["..."]
```
### Ollama
You can run models locally through either [VLLM](https://docs.litellm.ai/docs/providers/vllm) or [Ollama](https://docs.litellm.ai/docs/providers/ollama)
E.g. to use a new model locally via Ollama, set in `.secrets.toml` or in a configuration file:
```
[config]
model = "ollama/qwen2.5-coder:32b"
fallback_models=["ollama/qwen2.5-coder:32b"]
custom_model_max_tokens=128000 # set the maximal input tokens for the model
duplicate_examples=true # will duplicate the examples in the prompt, to help the model to generate structured output
[ollama]
api_base = "http://localhost:11434" # or whatever port you're running Ollama on
```
!!! note "Local models vs commercial models"
Qodo Merge is compatible with almost any AI model, but analyzing complex code repositories and pull requests requires a model specifically optimized for code analysis.
Commercial models such as GPT-4, Claude Sonnet, and Gemini have demonstrated robust capabilities in generating structured output for code analysis tasks with large input. In contrast, most open-source models currently available (as of January 2025) face challenges with these complex tasks.
Based on our testing, local open-source models are suitable for experimentation and learning purposes, but they are not suitable for production-level code analysis tasks.
Hence, for production workflows and real-world usage, we recommend using commercial models.
### Hugging Face
To use a new model with Hugging Face Inference Endpoints, for example, set:
```
[config] # in configuration.toml
model = "huggingface/meta-llama/Llama-2-7b-chat-hf"
fallback_models=["huggingface/meta-llama/Llama-2-7b-chat-hf"]
custom_model_max_tokens=... # set the maximal input tokens for the model
[huggingface] # in .secrets.toml
key = ... # your Hugging Face api key
api_base = ... # the base url for your Hugging Face inference endpoint
```
(you can obtain a Llama2 key from [here](https://replicate.com/replicate/llama-2-70b-chat/api))
### Replicate
To use Llama2 model with Replicate, for example, set:
```
[config] # in configuration.toml
model = "replicate/llama-2-70b-chat:2c1608e18606fad2812020dc541930f2d0495ce32eee50074220b87300bc16e1"
fallback_models=["replicate/llama-2-70b-chat:2c1608e18606fad2812020dc541930f2d0495ce32eee50074220b87300bc16e1"]
[replicate] # in .secrets.toml
key = ...
```
(you can obtain a Llama2 key from [here](https://replicate.com/replicate/llama-2-70b-chat/api))
Also, review the [AiHandler](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/algo/ai_handler.py) file for instructions on how to set keys for other models.
### Groq
To use Llama3 model with Groq, for example, set:
```
[config] # in configuration.toml
model = "llama3-70b-8192"
fallback_models = ["groq/llama3-70b-8192"]
[groq] # in .secrets.toml
key = ... # your Groq api key
```
(you can obtain a Groq key from [here](https://console.groq.com/keys))
### Vertex AI
To use Google's Vertex AI platform and its associated models (chat-bison/codechat-bison) set:
```
[config] # in configuration.toml
model = "vertex_ai/codechat-bison"
fallback_models="vertex_ai/codechat-bison"
[vertexai] # in .secrets.toml
vertex_project = "my-google-cloud-project"
vertex_location = ""
```
Your [application default credentials](https://cloud.google.com/docs/authentication/application-default-credentials) will be used for authentication so there is no need to set explicit credentials in most environments.
If you do want to set explicit credentials, then you can use the `GOOGLE_APPLICATION_CREDENTIALS` environment variable set to a path to a json credentials file.
### Google AI Studio
To use [Google AI Studio](https://aistudio.google.com/) models, set the relevant models in the configuration section of the configuration file:
```toml
[config] # in configuration.toml
model="google_ai_studio/gemini-1.5-flash"
fallback_models=["google_ai_studio/gemini-1.5-flash"]
[google_ai_studio] # in .secrets.toml
gemini_api_key = "..."
```
If you don't want to set the API key in the .secrets.toml file, you can set the `GOOGLE_AI_STUDIO.GEMINI_API_KEY` environment variable.
### Anthropic
To use Anthropic models, set the relevant models in the configuration section of the configuration file:
```
[config]
model="anthropic/claude-3-opus-20240229"
fallback_models=["anthropic/claude-3-opus-20240229"]
```
And also set the api key in the .secrets.toml file:
```
[anthropic]
KEY = "..."
```
### Amazon Bedrock
To use Amazon Bedrock and its foundational models, add the below configuration:
```
[config] # in configuration.toml
model="bedrock/anthropic.claude-3-sonnet-20240229-v1:0"
fallback_models=["bedrock/anthropic.claude-v2:1"]
```
Note that you have to add access to foundational models before using them. Please refer to [this document](https://docs.aws.amazon.com/bedrock/latest/userguide/setting-up.html) for more details.
If you are using the claude-3 model, please configure the following settings as there are parameters incompatible with claude-3.
```
[litellm]
drop_params = true
```
AWS session is automatically authenticated from your environment, but you can also explicitly set `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` and `AWS_REGION_NAME` environment variables. Please refer to [this document](https://litellm.vercel.app/docs/providers/bedrock) for more details.
### DeepSeek
To use deepseek-chat model with DeepSeek, for example, set:
```toml
[config] # in configuration.toml
model = "deepseek/deepseek-chat"
fallback_models=["deepseek/deepseek-chat"]
```
and fill up your key
```toml
[deepseek] # in .secrets.toml
key = ...
```
(you can obtain a deepseek-chat key from [here](https://platform.deepseek.com))
### Custom models
If the relevant model doesn't appear [here](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/algo/__init__.py), you can still use it as a custom model:
(1) Set the model name in the configuration file:
```
[config]
model="custom_model_name"
fallback_models=["custom_model_name"]
```
(2) Set the maximal tokens for the model:
```
[config]
custom_model_max_tokens= ...
```
(3) Go to [litellm documentation](https://litellm.vercel.app/docs/proxy/quick_start#supported-llms), find the model you want to use, and set the relevant environment variables.

View File

@ -0,0 +1,71 @@
The different tools and sub-tools used by Qodo Merge are adjustable via the **[configuration file](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/settings/configuration.toml)**.
In addition to general configuration options, each tool has its own configurations. For example, the `review` tool will use parameters from the [pr_reviewer](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/settings/configuration.toml#L16) section in the configuration file.
See the [Tools Guide](https://qodo-merge-docs.qodo.ai/tools/) for a detailed description of the different tools and their configurations.
There are three ways to set persistent configurations:
1. Wiki configuration page 💎
2. Local configuration file
3. Global configuration file 💎
In terms of precedence, wiki configurations will override local configurations, and local configurations will override global configurations.
!!! tip "Tip1: edit only what you need"
Your configuration file should be minimal, and edit only the relevant values. Don't copy the entire configuration options, since it can lead to legacy problems when something changes.
!!! tip "Tip2: show relevant configurations"
If you set `config.output_relevant_configurations=true`, each tool will also output in a collapsible section its relevant configurations. This can be useful for debugging, or getting to know the configurations better.
## Wiki configuration file 💎
`Platforms supported: GitHub, GitLab, Bitbucket`
With Qodo Merge Pro, you can set configurations by creating a page called `.pr_agent.toml` in the [wiki](https://github.com/Codium-ai/pr-agent/wiki/pr_agent.toml) of the repo.
The advantage of this method is that it allows to set configurations without needing to commit new content to the repo - just edit the wiki page and **save**.
![wiki_configuration](https://codium.ai/images/pr_agent/wiki_configuration.png){width=512}
Click [here](https://codium.ai/images/pr_agent/wiki_configuration_pr_agent.mp4) to see a short instructional video. We recommend surrounding the configuration content with triple-quotes (or \`\`\`toml), to allow better presentation when displayed in the wiki as markdown.
An example content:
```toml
[pr_description]
generate_ai_title=true
```
Qodo Merge will know to remove the surrounding quotes when reading the configuration content.
## Local configuration file
`Platforms supported: GitHub, GitLab, Bitbucket, Azure DevOps`
By uploading a local `.pr_agent.toml` file to the root of the repo's main branch, you can edit and customize any configuration parameter. Note that you need to upload `.pr_agent.toml` prior to creating a PR, in order for the configuration to take effect.
For example, if you set in `.pr_agent.toml`:
```
[pr_reviewer]
extra_instructions="""\
- instruction a
- instruction b
...
"""
```
Then you can give a list of extra instructions to the `review` tool.
## Global configuration file 💎
`Platforms supported: GitHub, GitLab, Bitbucket`
If you create a repo called `pr-agent-settings` in your **organization**, it's configuration file `.pr_agent.toml` will be used as a global configuration file for any other repo that belongs to the same organization.
Parameters from a local `.pr_agent.toml` file, in a specific repo, will override the global configuration parameters.
For example, in the GitHub organization `Codium-ai`:
- The file [`https://github.com/Codium-ai/pr-agent-settings/.pr_agent.toml`](https://github.com/Codium-ai/pr-agent-settings/blob/main/.pr_agent.toml) serves as a global configuration file for all the repos in the GitHub organization `Codium-ai`.
- The repo [`https://github.com/Codium-ai/pr-agent`](https://github.com/Codium-ai/pr-agent/blob/main/.pr_agent.toml) inherits the global configuration file from `pr-agent-settings`.

View File

@ -0,0 +1,24 @@
`Supported Git Platforms: GitHub, GitLab, Bitbucket`
For optimal functionality of Qodo Merge, we recommend enabling a wiki for each repository where Qodo Merge is installed. The wiki serves several important purposes:
**Key Wiki Features:**
- Storing a [configuration file](https://qodo-merge-docs.qodo.ai/usage-guide/configuration_options/#wiki-configuration-file)
- Defining a [`best_practices.md`](https://qodo-merge-docs.qodo.ai/tools/improve/#best-practices) file
- Track [accepted suggestions](https://qodo-merge-docs.qodo.ai/tools/improve/#suggestion-tracking)
- Facilitates learning over time by creating an [auto_best_practices.md]() file
**Setup Instructions (GitHub):**
To enable a wiki for your repository:
1. Navigate to your repository's main page on GitHub
2. Select "Settings" from the top navigation bar
3. Locate the "Features" section
4. Enable the "Wikis" option by checking the corresponding box
5. Return to your repository's main page
6. Look for the newly added "Wiki" tab in the top navigation
7. Initialize your wiki by clicking "Create the first page" (this step is important - without creating an initial page, the wiki will not be fully functional)

View File

@ -0,0 +1,27 @@
# Usage guide
This page provides a detailed guide on how to use Qodo Merge.
It includes information on how to adjust Qodo Merge configurations, define which tools will run automatically, and other advanced configurations.
- [Introduction](./introduction.md)
- [Enabling a Wiki](./enabling_a_wiki)
- [Configuration File](./configuration_options.md)
- [Usage and Automation](./automations_and_usage.md)
- [Local Repo (CLI)](./automations_and_usage.md#local-repo-cli)
- [Online Usage](./automations_and_usage.md#online-usage)
- [GitHub App](./automations_and_usage.md#github-app)
- [GitHub Action](./automations_and_usage.md#github-action)
- [GitLab Webhook](./automations_and_usage.md#gitlab-webhook)
- [BitBucket App](./automations_and_usage.md#bitbucket-app)
- [Azure DevOps Provider](./automations_and_usage.md#azure-devops-provider)
- [Managing Mail Notifications](./mail_notifications.md)
- [Changing a Model](./changing_a_model.md)
- [Additional Configurations Walkthrough](./additional_configurations.md)
- [Ignoring files from analysis](./additional_configurations.md#ignoring-files-from-analysis)
- [Extra instructions](./additional_configurations.md#extra-instructions)
- [Working with large PRs](./additional_configurations.md#working-with-large-prs)
- [Changing a model](./additional_configurations.md#changing-a-model)
- [Patch Extra Lines](./additional_configurations.md#patch-extra-lines)
- [Editing the prompts](./additional_configurations.md#editing-the-prompts)
- [Qodo Merge Pro Models](./PR_agent_pro_models.md)

View File

@ -0,0 +1,12 @@
After [installation](https://qodo-merge-docs.qodo.ai/installation/), there are three basic ways to invoke Qodo Merge:
1. Locally running a CLI command
2. Online usage - by [commenting](https://github.com/Codium-ai/pr-agent/pull/229#issuecomment-1695021901){:target="_blank"} on a PR
3. Enabling Qodo Merge tools to run automatically when a new PR is opened
Specifically, CLI commands can be issued by invoking a pre-built [docker image](https://qodo-merge-docs.qodo.ai/installation/locally/#using-docker-image), or by invoking a [locally cloned repo](https://qodo-merge-docs.qodo.ai/installation/locally/#run-from-source).
For online usage, you will need to setup either a [GitHub App](https://qodo-merge-docs.qodo.ai/installation/github/#run-as-a-github-app) or a [GitHub Action](https://qodo-merge-docs.qodo.ai/installation/github/#run-as-a-github-action) (GitHub), a [GitLab webhook](https://qodo-merge-docs.qodo.ai/installation/gitlab/#run-a-gitlab-webhook-server) (GitLab), or a [BitBucket App](https://qodo-merge-docs.qodo.ai/installation/bitbucket/#run-using-codiumai-hosted-bitbucket-app) (BitBucket).
These platforms also enable to run Qodo Merge specific tools automatically when a new PR is opened, or on each push to a branch.

View File

@ -0,0 +1,18 @@
Unfortunately, it is not possible in GitHub to disable mail notifications from a specific user.
If you are subscribed to notifications for a repo with Qodo Merge, we recommend turning off notifications for PR comments, to avoid lengthy emails:
![notifications](https://codium.ai/images/pr_agent/notifications.png){width=512}
As an alternative, you can filter in your mail provider the notifications specifically from the Qodo Merge bot, [see how](https://www.quora.com/How-can-you-filter-emails-for-specific-people-in-Gmail#:~:text=On%20the%20Filters%20and%20Blocked,the%20body%20of%20the%20email).
![filter_mail_notifications](https://codium.ai/images/pr_agent/filter_mail_notifications.png){width=512}
Another option to reduce the mail overload, yet still receive notifications on Qodo Merge tools, is to disable the help collapsible section in Qodo Merge bot comments.
This can done by setting `enable_help_text=false` for the relevant tool in the configuration file.
For example, to disable the help text for the `pr_reviewer` tool, set:
```
[pr_reviewer]
enable_help_text = false
```

159
docs/mkdocs.yml Normal file
View File

@ -0,0 +1,159 @@
site_name: Qodo Merge (formerly known as PR-Agent)
repo_url: https://github.com/Codium-ai/pr-agent
repo_name: Codium-ai/pr-agent
nav:
- Overview:
- 'index.md'
- 💎 Qodo Merge Pro: 'overview/pr_agent_pro.md'
- Data Privacy: 'overview/data_privacy.md'
- Installation:
- 'installation/index.md'
- Locally: 'installation/locally.md'
- GitHub: 'installation/github.md'
- GitLab: 'installation/gitlab.md'
- BitBucket: 'installation/bitbucket.md'
- Azure DevOps: 'installation/azure.md'
- 💎 Qodo Merge Pro: 'installation/pr_agent_pro.md'
- Usage Guide:
- 'usage-guide/index.md'
- Introduction: 'usage-guide/introduction.md'
- Enabling a Wiki: 'usage-guide/enabling_a_wiki.md'
- Configuration File: 'usage-guide/configuration_options.md'
- Usage and Automation: 'usage-guide/automations_and_usage.md'
- Managing Mail Notifications: 'usage-guide/mail_notifications.md'
- Changing a Model: 'usage-guide/changing_a_model.md'
- Additional Configurations: 'usage-guide/additional_configurations.md'
- 💎 Qodo Merge Pro Models: 'usage-guide/PR_agent_pro_models'
- Tools:
- 'tools/index.md'
- Describe: 'tools/describe.md'
- Review: 'tools/review.md'
- Improve: 'tools/improve.md'
- Ask: 'tools/ask.md'
- Update Changelog: 'tools/update_changelog.md'
- Similar Issues: 'tools/similar_issues.md'
- Help: 'tools/help.md'
- 💎 Analyze: 'tools/analyze.md'
- 💎 Test: 'tools/test.md'
- 💎 Improve Component: 'tools/improve_component.md'
- 💎 Documentation: 'tools/documentation.md'
- 💎 Custom Labels: 'tools/custom_labels.md'
- 💎 Custom Prompt: 'tools/custom_prompt.md'
- 💎 CI Feedback: 'tools/ci_feedback.md'
- 💎 Similar Code: 'tools/similar_code.md'
- 💎 Implement: 'tools/implement.md'
- Core Abilities:
- 'core-abilities/index.md'
- Fetching ticket context: 'core-abilities/fetching_ticket_context.md'
- Local and global metadata: 'core-abilities/metadata.md'
- Dynamic context: 'core-abilities/dynamic_context.md'
- Self-reflection: 'core-abilities/self_reflection.md'
- Impact evaluation: 'core-abilities/impact_evaluation.md'
- Interactivity: 'core-abilities/interactivity.md'
- Compression strategy: 'core-abilities/compression_strategy.md'
- Code-oriented YAML: 'core-abilities/code_oriented_yaml.md'
- Static code analysis: 'core-abilities/static_code_analysis.md'
- Code Fine-tuning Benchmark: 'finetuning_benchmark/index.md'
- Chrome Extension:
- Qodo Merge Chrome Extension: 'chrome-extension/index.md'
- Features: 'chrome-extension/features.md'
- Data Privacy: 'chrome-extension/data_privacy.md'
- FAQ:
- FAQ: 'faq/index.md'
# - Code Fine-tuning Benchmark: 'finetuning_benchmark/index.md'
theme:
logo: assets/logo.svg
favicon: assets/favicon.ico
name: material
icon:
repo: fontawesome/brands/github
features:
- navigation.tabs
- navigation.expand
- navigation.path
- navigation.top
- navigation.tracking
- navigation.indexes
- search.suggest
- search.highlight
- content.tabs.link
- content.code.annotation
- content.code.copy
- content.tabs.link
language: en
custom_dir: overrides
palette:
- media: "(prefers-color-scheme)"
toggle:
icon: material/brightness-auto
name: Switch to light mode
- media: "(prefers-color-scheme: light)"
scheme: default
toggle:
icon: material/toggle-switch-off-outline
name: Switch to dark mode
primary: custom
accent: custom
- media: "(prefers-color-scheme: dark)"
scheme: slate
toggle:
icon: material/toggle-switch
name: Switch to light mode
primary: custom
accent: custom
plugins:
- social
- search
- glightbox
extra:
generator: false
social:
- icon: fontawesome/brands/github
link: https://github.com/Codium-ai
- icon: fontawesome/brands/discord
link: https://discord.com/invite/SgSxuQ65GF
- icon: fontawesome/brands/youtube
link: https://www.youtube.com/@Codium-AI
- icon: fontawesome/brands/linkedin
link: https://www.linkedin.com/company/codiumai
- icon: fontawesome/brands/twitter
link: https://twitter.com/CodiumAI
- icon: fontawesome/brands/instagram
link: https://www.instagram.com/codiumai/
analytics:
provider: custom
property: ${{ secrets.GOOGLE_ANALYTICS_ID }}
extra_css:
- css/custom.css
markdown_extensions:
- pymdownx.highlight:
anchor_linenums: true
- pymdownx.inlinehilite
- pymdownx.snippets
- admonition
- pymdownx.arithmatex:
generic: true
- footnotes
- pymdownx.details
- pymdownx.superfences
- pymdownx.mark
- md_in_html
- attr_list
- pymdownx.emoji:
emoji_index: !!python/name:material.extensions.emoji.twemoji
emoji_generator: !!python/name:material.extensions.emoji.to_svg
- toc:
title: On this page
toc_depth: 3
permalink: true
copyright: |
&copy; 2024 <a href="https://www.codium.ai/" target="_blank" rel="noopener">CodiumAI</a>

10
docs/overrides/main.html Normal file
View File

@ -0,0 +1,10 @@
{% extends "base.html" %}
{% block scripts %}
{{ super() }}
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5C9KZBM3"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
{% endblock %}

View File

@ -0,0 +1,115 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Footer</title>
<style>
body {
margin: 0;
padding: 0;
font-family: Arial, sans-serif;
font-size: 16px;
}
.wrapper {
background-color: #171518;
}
.container {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
color: white;
padding: 20px;
max-width: 61rem;
margin-left: auto;
margin-right: auto;
}
.footer-links, .social-icons {
padding: 0;
list-style-type: none;
display: flex;
justify-content: center;
gap: 20px;
align-items: center;
}
.footer-links a:hover, .social-icons a:hover {
color: #AEA1F1;
}
.social-icons svg {
width: 24px;
height: auto;
fill: white;
}
.footer-text {
width: 240px;
}
@media (max-width: 768px) {
.container {
flex-direction: column;
align-items: center;
text-align: center;
}
.footer-links, .social-icons, .footer-text {
width: 100%;
justify-content: center;
margin: 10px 0;
}
.footer-links {
order: 1;
}
.social-icons {
order: 2;
}
.footer-text {
order: 3;
}
}
</style>
</head>
<body>
<footer class="wrapper">
<div class="container">
<p class="footer-text">© 2024 <a href="https://www.qodo.ai/" target="_blank" rel="noopener">Qodo</a></p>
<div class="footer-links">
<a href="https://qodo-gen-docs.qodo.ai/">Qodo Gen</a>
<p>|</p>
<a href="https://qodo-flow-docs.qodo.ai/">AlphaCodium</a>
</div>
<div class="social-icons">
<a href="https://github.com/Codium-ai" target="_blank" rel="noopener" title="github.com" class="social-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg>
</a>
<a href="https://discord.com/invite/SgSxuQ65GF" target="_blank" rel="noopener" title="discord.com" class="social-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M524.531 69.836a1.5 1.5 0 0 0-.764-.7A485.065 485.065 0 0 0 404.081 32.03a1.816 1.816 0 0 0-1.923.91 337.461 337.461 0 0 0-14.9 30.6 447.848 447.848 0 0 0-134.426 0 309.541 309.541 0 0 0-15.135-30.6 1.89 1.89 0 0 0-1.924-.91 483.689 483.689 0 0 0-119.688 37.107 1.712 1.712 0 0 0-.788.676C39.068 183.651 18.186 294.69 28.43 404.354a2.016 2.016 0 0 0 .765 1.375 487.666 487.666 0 0 0 146.825 74.189 1.9 1.9 0 0 0 2.063-.676A348.2 348.2 0 0 0 208.12 430.4a1.86 1.86 0 0 0-1.019-2.588 321.173 321.173 0 0 1-45.868-21.853 1.885 1.885 0 0 1-.185-3.126 251.047 251.047 0 0 0 9.109-7.137 1.819 1.819 0 0 1 1.9-.256c96.229 43.917 200.41 43.917 295.5 0a1.812 1.812 0 0 1 1.924.233 234.533 234.533 0 0 0 9.132 7.16 1.884 1.884 0 0 1-.162 3.126 301.407 301.407 0 0 1-45.89 21.83 1.875 1.875 0 0 0-1 2.611 391.055 391.055 0 0 0 30.014 48.815 1.864 1.864 0 0 0 2.063.7A486.048 486.048 0 0 0 610.7 405.729a1.882 1.882 0 0 0 .765-1.352c12.264-126.783-20.532-236.912-86.934-334.541ZM222.491 337.58c-28.972 0-52.844-26.587-52.844-59.239s23.409-59.241 52.844-59.241c29.665 0 53.306 26.82 52.843 59.239 0 32.654-23.41 59.241-52.843 59.241Zm195.38 0c-28.971 0-52.843-26.587-52.843-59.239s23.409-59.241 52.843-59.241c29.667 0 53.307 26.82 52.844 59.239 0 32.654-23.177 59.241-52.844 59.241Z"></path></svg>
</a>
<a href="https://www.youtube.com/@QodoAI" target="_blank" rel="noopener" title="www.youtube.com" class="social-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"></path></svg>
</a>
<a href="https://www.linkedin.com/company/qodoai" target="_blank" rel="noopener" title="www.linkedin.com" class="social-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"></path></svg>
</a>
<a href="https://twitter.com/QodoAI" target="_blank" rel="noopener" title="twitter.com" class="social-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"></path></svg>
</a>
<a href="https://www.instagram.com/qodo_ai" target="_blank" rel="noopener" title="www.instagram.com" class="social-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg>
</a>
</div>
</div>
</footer>
</body>
</html>

View File

@ -0,0 +1,7 @@
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-M6PJSFV');</script>
<!-- End Google Tag Manager -->

BIN
pics/.DS_Store vendored

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 346 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 316 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 335 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 193 KiB

Some files were not shown because too many files have changed in this diff Show More