New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Git functionalities for the Devika #377
base: main
Are you sure you want to change the base?
Conversation
Parth-Jain-2002
commented
Apr 5, 2024
- Now, Devika can initialize the repo and commit changes whenever asked by the user.
- The commit message is dynamically generated based on the differences from the last commit and user's last message
- Also, the functionality to reset code to the last commit has been added
are there any test video ? |
recording-2024-04-06-022543.mp4As observed in the video, Devika is now capable of having
|
@Parth-Jain-2002 Nice additions. Can you test this feature without much user input? |
Currently have integrated this into actions. So according to user prompt, it checks whether to initialize, commit or reverse change. User input is needed for now. Suggestion: At the very start, we can ask the user if he wants to switch to automatic versioning. In that case, Devika can commit after it finishes a task without user needing to mention commit |
I think that's a good approach to take. I want to add one more thing. On autonomy, when the commit messages can be generated after each step in the plan succeeds |
Can you elaborate what did you mean by "On autonomy, when the commit messages can be generated after each step in the plan succeeds"? |
When the agent is on automatic versioning, the commit messages can be generated based on the steps of the plan. So when ever a task is achieved in the plan. the changes are committed to the git. |
looking good. but not sure how we can integrate more. let me go through it |
funny, i just stumbled upon this when I read your comments. A CLI that writes your git commit messages for you with AI. Never write a commit message again. |
That’s a good find. And as a starting point, I would say we can use git-diff and the LLM that’s associated with the agent. |
@ARajgor @franklinselva Added the functionality of automatic commit. Now, Devika can commit on its own after each task completion without user prompt. Since, auto_commit property is added into Project modal, you need to refresh the devika.db for it to work properly. Have tested it properly and attaching some screenshots for the same: |
any update on this? |
It is complete from my end. Can you review this and merge it into the main? |
$ bun run start |
"bun run dev" |
if self.git == None: | ||
self.git = Git(project_path, self.base_model) | ||
|
||
commit_message = self.git.generate_commit_message(project_name, conversation,code_markdown) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is no reference of conversation and code_markdown in execute function
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can u add both these in execute function
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure will add that
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
may i know ur discord username?
Integrate git.py and github.py |