mirror of
https://github.com/github/awesome-copilot.git
synced 2026-02-23 20:05: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()
|
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.Println(strings.Repeat("━", 40))
|
||||||
fmt.Printf("Mode: %s\n", mode)
|
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{
|
_, err = session.SendAndWait(ctx, copilot.MessageOptions{
|
||||||
Prompt: string(prompt),
|
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 {
|
if err != nil {
|
||||||
return fmt.Errorf("send failed on iteration %d: %w", i, err)
|
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)
|
> **Runnable example:** [recipe/ralph-loop.ts](recipe/ralph-loop.ts)
|
||||||
>
|
>
|
||||||
> ```bash
|
> ```bash
|
||||||
> cd recipe && npm install
|
> npm install
|
||||||
> npx tsx ralph-loop.ts
|
> npx tsx recipe/ralph-loop.ts
|
||||||
> ```
|
> ```
|
||||||
|
|
||||||
## What is a Ralph Loop?
|
## 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)
|
> **Runnable example:** [recipe/ralph_loop.py](recipe/ralph_loop.py)
|
||||||
>
|
>
|
||||||
|
> From the repository root, install dependencies and run:
|
||||||
|
>
|
||||||
> ```bash
|
> ```bash
|
||||||
> cd recipe && pip install -r requirements.txt
|
> pip install -r cookbook/copilot-sdk/python/recipe/requirements.txt
|
||||||
> python ralph_loop.py
|
> 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?
|
## 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
|
# Log tool usage for visibility
|
||||||
session.on(lambda event:
|
def log_tool_event(event):
|
||||||
print(f" ⚙ {event.data.tool_name}")
|
if event.type.value == "tool.execution_start":
|
||||||
if event.type.value == "tool.execution_start" else None
|
print(f" ⚙ {event.data.tool_name}")
|
||||||
)
|
|
||||||
|
|
||||||
|
session.on(log_tool_event)
|
||||||
try:
|
try:
|
||||||
await session.send_and_wait(
|
await session.send_and_wait(
|
||||||
MessageOptions(prompt=prompt), timeout=600
|
MessageOptions(prompt=prompt), timeout=600
|
||||||
|
|||||||
Reference in New Issue
Block a user