diff --git a/registry.mk b/registry.mk index 350bd22..3985d75 100644 --- a/registry.mk +++ b/registry.mk @@ -3,7 +3,7 @@ REGISTRY_REPO = git.nextzenos.com/CDN/bifrost-registry.git PYTHON = $(REGISTRY_PATH)/venv/bin/python update_registry: package_registry upload_registry clean_registry ( cd $(REGISTRY_PATH) && \ - $(PYTHON) $(REGISTRY_PATH)/scripts/interpreter/gen_commit.py $(GIT_USER) $(GIT_PASS) $(REGISTRY_REPO) ) + $(PYTHON) $(REGISTRY_PATH)/scripts/interpreter/gen_commit.py $(GIT_USER) $(GIT_PASS) $(REGISTRY_REPO) $(REGISTRY_PATH) ) package_registry: (cd $(REGISTRY_PATH) && \ diff --git a/scripts/interpreter/gen_commit.py b/scripts/interpreter/gen_commit.py index c0c8ed1..dad2155 100755 --- a/scripts/interpreter/gen_commit.py +++ b/scripts/interpreter/gen_commit.py @@ -7,16 +7,19 @@ load_dotenv() def get_git_credentials(): - if len(sys.argv) != 4: - print("Usage: python gen_commit.py ") + if len(sys.argv) != 5: # Changed from 4 to 5 to match expected arguments + print( + "Usage: python gen_commit.py " + ) sys.exit(1) - return sys.argv[1], sys.argv[2], sys.argv[3] + return sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4] -def gen_commit(): +def gen_commit(project_path): agent = OpenInterpreter() # Set auto_run to True to always allow code execution agent.auto_run = True + agent.system_message = """ Your name is Bifrost, you are a helpful assistant that can help me generate a commit message base on umcommit code. @@ -39,24 +42,27 @@ def gen_commit(): - merge: merge the code - conflict: resolve the conflict - other: other - 4. Only return the commit message in markdown format, no other text or explanation. + 4. Only return the commit message follow Git Commit Style Guide, no other text or explanation. """ response = agent.chat( - """ - Generate a commit message for the uncommit code in project path /root/dev/Bifrost - You should change working directory to /root/dev/Bifrost and use git diff --name-status to get the changes + f""" + Generate a commit message for the uncommit code in project path {project_path} + You should change working directory to {project_path} and use git diff --name-status to get the changes """ ) + # Extract just the content from the response if isinstance(response, list) and len(response) > 0: - if isinstance(response[0], dict) and 'content' in response[0]: - return response[0]['content'] + if isinstance(response[-1], dict) and "content" in response[-1]: + return response[-1]["content"] + return str(response) def push_code(): - git_user, git_pass, git_repo = get_git_credentials() - commit_msg = gen_commit() + git_user, git_pass, git_repo, project_path = get_git_credentials() + commit_msg = gen_commit(project_path) + print(commit_msg) os.system(f"git pull https://{git_user}:{git_pass}@{git_repo} || true") os.system("git add .") os.system(f'git commit -m "{commit_msg}" || true')