>>108541405
>It's also a C# project so most of you would probably hate it.
yikes indeed
I do my stuff in python, and I enjoy it
Anyway, the crucial point is to choose a LLM trained for agentic use which can understand your function descriptions which you send as "tools" with each prompt.
then you parse the response in your code.
@tool(
description="Push commits to a remote repository.",
parameters={
"type": "object",
"properties": {
"repo_name": {
"type": "string",
"description": "Name of the local repository to push from"
},
"remote": {
"type": "string",
"description": "Remote name (default: 'origin')"
},
"branch": {
"type": "string",
"description": "Branch to push (default: current branch)"
},
"force": {
"type": "boolean",
"description": "Force push (use with caution)"
},
"tags": {
"type": "boolean",
"description": "Push tags as well"
}
},
"required": ["repo_name"]
}
)
def git_push(repo_name: str, remote: str = "origin", branch: Optional[str] = None,
force: bool = False, tags: bool = False) -> str:
"""
Push commits to a remote repository with GitHub authentication.
Args:
repo_name: Name of the local repository
remote: Remote name
branch: Branch to push (defaults to current branch)
force: Force push (dangerous!)
tags: Push tags
Returns:
Status message with push result
"""
try:
repo_path = _get_repo_path(repo_name)