Files
claude-code/main.py

46 lines
1.3 KiB
Python

from claude_dspy import ClaudeCode, ClaudeCodeConfig
from pydantic import BaseModel
from modaic import AutoProgram
import dspy
class Output(BaseModel):
files: list[str]
class ClaudeCodeSignature(dspy.Signature):
message: str = dspy.InputField(desc="Request to process")
output: Output = dspy.OutputField(desc="List of files modified or created")
def main():
# create config
config = ClaudeCodeConfig()
# create agent
cc = ClaudeCode(
config,
signature=ClaudeCodeSignature,
working_directory=".",
permission_mode="acceptEdits",
allowed_tools=["Read", "Bash", "Write"],
)
cc.push_to_hub(
"farouk1/claude-code",
with_code=True,
commit_message="Add more functionality to signature description parsing",
)
"""
agent = AutoProgram.from_precompiled("farouk1/claude-code", signature=ClaudeCodeSignature, working_directory=".", permission_mode="acceptEdits", allowed_tools=["Read", "Write", "Bash"])
# Test the agent
result = agent(message="create a python program that prints 'Hello, World!' and save it to a file in this directory")
print(result.output.files)
print(result.output)
print(result.usage)
"""
if __name__ == "__main__":
main()