-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathremote-dev-bot.yaml
More file actions
163 lines (149 loc) · 6.4 KB
/
remote-dev-bot.yaml
File metadata and controls
163 lines (149 loc) · 6.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
# Remote Dev Bot Configuration
# Usage: /agent-<mode>[-<model>]
#
# /agent-resolve — implement issue, open PR
# /agent-design — design analysis, post comment
# /agent-review — code review on a PR, post comment
# /agent-workshop — design analysis + multi-model council critique
# /agent-build — implement issue + multi-model council code review
#
# To use a specific model, append it: /agent-resolve-claude-large
# This works for any mode. See models: below for available aliases.
default_model: claude-small
# Modes define what the agent does. Each mode specifies optional defaults;
# omit a key to inherit from the agent: section below.
#
# extra_files lists differ by mode deliberately:
# - design/workshop/review: read static context files for analysis
# (contributing guidelines, agent conventions, etc.)
# - resolve/build: explore the codebase dynamically via tools and only
# need light orientation files; extra context would add noise
modes:
resolve:
default_model: claude-small
max_iterations: 50 # Iteration limit for the agent loop
extra_files:
- AGENTS.md
- README.md
# Optional: extra_instructions appended to the resolve prompt.
# extra_instructions: |
# Always add type annotations to any Python functions you write.
design:
default_model: claude-small
max_iterations: 10 # Iteration limit for the agentic loop
extra_files:
- README.md
- CONTRIBUTING.md
- AGENTS.md
- CLAUDE.md
- .gemini/GEMINI.md
# Optional: extra_instructions appended to the canonical design prompt.
# Use this to add project-specific guidance (e.g., preferred patterns,
# areas to focus on, or terminology). Do not duplicate the base prompt.
# extra_instructions: |
# When analyzing issues, always consider the impact on our deploy pipeline.
review:
max_iterations: 10 # Iteration limit for the review loop
extra_files:
- AGENTS.md
- README.md
workshop:
default_model: claude-small # Model for design stage (Stage 1)
max_iterations: 15 # Iteration limit for the design loop
extra_files:
- README.md
- CONTRIBUTING.md
- AGENTS.md
- CLAUDE.md
- .gemini/GEMINI.md
# Council: models that review the design. Defaults to all configured models
# (including the design model) if not specified. Override per-repo to
# select a different set. The value of the council is diverse perspectives
# across model families; depth within one family adds less value.
council:
- claude-small
- gpt-small
- gemini-small
build:
default_model: claude-small
max_iterations: 50 # Iteration limit for the implementation loop
extra_files:
- AGENTS.md
- README.md
# Council: models that review the PR. Defaults to all configured models if not specified.
council:
- claude-small
- gpt-small
- gemini-small
models:
claude-small:
id: anthropic/claude-sonnet-4-6
description: "Balanced cost/capability — good default for most tasks"
claude-large:
id: anthropic/claude-opus-4-6
description: "Most capable — for complex multi-file features"
gpt-small:
id: openai/gpt-5.1-codex-mini
description: "OpenAI GPT-5.1 Codex Mini — good default"
gpt-large:
id: openai/gpt-5.3-codex
description: "OpenAI GPT-5.3 Codex — best coding model"
gemini-small:
id: gemini/gemini-2.5-flash
description: "Google Gemini 2.5 Flash — good default"
gemini-large:
id: gemini/gemini-2.5-pro
description: "Google Gemini 2.5 Pro"
# Agent settings — apply to all modes unless overridden per-mode above.
# Note: 'openhands:' is accepted as a backward-compatible alias for 'agent:'
agent:
# Max agent iterations per run (controls cost ceiling).
# Override per-invocation with: max_iterations = 25 (inline arg in comment body)
max_iterations: 50
# PR type: "draft" or "ready"
pr_type: ready
# What to do when the agent can't fully resolve the issue (success=False):
# draft — open a draft PR with partial changes (default)
# comment — post a comment only, no PR
on_failure: draft
# Assign the triggering user to the issue when the agent starts
assign_issue: true
# Assign the triggering user to the resulting PR
assign_pr: true
# Watchdog timeout in minutes. The runner kills the agent process after this
# many minutes, then cleanup steps (cost report) still run.
# Override per-invocation with: timeout_minutes = 60 (inline arg in comment body)
# Note: GitHub Actions has a hard 6-hour cap. If you need longer runs, set
# timeout-minutes in your calling workflow's job definition.
timeout_minutes: 60
# Bash output truncation limit in characters. Long outputs are trimmed to
# first half + last half of this length to prevent context bloat.
# Set to 0 to disable truncation.
bash_output_limit: 8000
# Rolling status log: post a one-sentence status update every N iterations
# as an issue comment. Set to 0 to disable (default — enable per-repo).
status_log_interval: 0
# Number of recent tool call/result pairs to keep in context. Older pairs
# are replaced with a placeholder to prevent O(N²) token growth on long runs.
# Set to 0 to keep all tool results (not recommended for runs > ~20 iterations).
context_keep_tool_results: 10
# Context window compaction: when the context grows too large, the oldest
# messages are summarized by the LLM and replaced with a compact summary.
# Set max_context_tokens to 0 to disable compaction entirely.
# Compaction triggers at 85% of max_context_tokens (hardcoded).
# Typical model limits: Claude Sonnet 200k, Gemini 2.5 Flash 1M, GPT-4o 128k.
max_context_tokens: 0
# Fraction of conversation history (from the oldest end) to consider for
# compaction when triggered. 0.5 = compact the oldest 50% of messages.
compaction_coverage: 0.5
# Fraction of the selected messages to actually summarize and replace.
# 0.5 = replace 50% of the selected range, keeping the rest verbatim.
compaction_factor: 0.5
# Graceful wrap-up: inject instructions when approaching max iterations.
# This helps the agent commit partial work before hitting the limit.
graceful_wrapup:
# Enable/disable graceful wrap-up instructions
enabled: true
# Threshold as fraction of max_iterations (0.8 = 80%)
# At this point, the agent receives instructions to wrap up
threshold: 0.8