mirror of
https://github.com/github/awesome-copilot.git
synced 2026-02-20 02:15:12 +00:00
Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -39,7 +39,10 @@ func ralphLoop(ctx context.Context, mode string, maxIterations int) error {
|
||||
}
|
||||
defer client.Stop()
|
||||
|
||||
cwd, _ := os.Getwd()
|
||||
cwd, err := os.Getwd()
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to get working directory: %w", err)
|
||||
}
|
||||
|
||||
fmt.Println(strings.Repeat("━", 40))
|
||||
fmt.Printf("Mode: %s\n", mode)
|
||||
@@ -76,7 +79,9 @@ func ralphLoop(ctx context.Context, mode string, maxIterations int) error {
|
||||
_, err = session.SendAndWait(ctx, copilot.MessageOptions{
|
||||
Prompt: string(prompt),
|
||||
})
|
||||
session.Destroy()
|
||||
if destroyErr := session.Destroy(); destroyErr != nil {
|
||||
log.Printf("failed to destroy session on iteration %d: %v", i, destroyErr)
|
||||
}
|
||||
if err != nil {
|
||||
return fmt.Errorf("send failed on iteration %d: %w", i, err)
|
||||
}
|
||||
|
||||
@@ -5,8 +5,8 @@ Build autonomous coding loops where an AI agent picks tasks, implements them, va
|
||||
> **Runnable example:** [recipe/ralph-loop.ts](recipe/ralph-loop.ts)
|
||||
>
|
||||
> ```bash
|
||||
> cd recipe && npm install
|
||||
> npx tsx ralph-loop.ts
|
||||
> npm install
|
||||
> npx tsx recipe/ralph-loop.ts
|
||||
> ```
|
||||
|
||||
## What is a Ralph Loop?
|
||||
|
||||
@@ -4,10 +4,14 @@ Build autonomous coding loops where an AI agent picks tasks, implements them, va
|
||||
|
||||
> **Runnable example:** [recipe/ralph_loop.py](recipe/ralph_loop.py)
|
||||
>
|
||||
> From the repository root, install dependencies and run:
|
||||
>
|
||||
> ```bash
|
||||
> cd recipe && pip install -r requirements.txt
|
||||
> python ralph_loop.py
|
||||
> pip install -r cookbook/copilot-sdk/python/recipe/requirements.txt
|
||||
> python cookbook/copilot-sdk/python/recipe/ralph_loop.py
|
||||
> ```
|
||||
>
|
||||
> Make sure `PROMPT_build.md` and `PROMPT_plan.md` exist in your current working directory before running the loop.
|
||||
|
||||
## What is a Ralph Loop?
|
||||
|
||||
|
||||
@@ -55,11 +55,11 @@ async def ralph_loop(mode: str = "build", max_iterations: int = 50):
|
||||
))
|
||||
|
||||
# Log tool usage for visibility
|
||||
session.on(lambda event:
|
||||
print(f" ⚙ {event.data.tool_name}")
|
||||
if event.type.value == "tool.execution_start" else None
|
||||
)
|
||||
def log_tool_event(event):
|
||||
if event.type.value == "tool.execution_start":
|
||||
print(f" ⚙ {event.data.tool_name}")
|
||||
|
||||
session.on(log_tool_event)
|
||||
try:
|
||||
await session.send_and_wait(
|
||||
MessageOptions(prompt=prompt), timeout=600
|
||||
|
||||
Reference in New Issue
Block a user