-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathconfig.yaml.template
More file actions
155 lines (144 loc) · 5.25 KB
/
config.yaml.template
File metadata and controls
155 lines (144 loc) · 5.25 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
# OpenGiraffe Configuration
# Copy this file to config.yaml and edit the values below.
# Target repository to work on
repo:
path: /path/to/your/repository
# Base branch for creating worktrees
base_branch: master
# Directory to store worktrees (absolute path recommended)
worktree_dir: /path/to/OpenGiraffe/worktrees
# Scripts to run inside the worktree after it is created (relative to repo root or absolute).
# They are executed in order; a non-zero exit code aborts the task with an error.
# Example: a script that builds compile_commands.json or installs project dependencies.
worktree_hooks: []
# - hooks/setup_worktree.sh
# OpenCode settings
opencode:
# Passed to opencode as OPENCODE_CONFIG. Relative paths are resolved from this repo.
config_path: opencode.json
# Model for planning tasks (complexity assessment, sub-task splitting)
planner:
model: your-provider/planner-model
# variant is optional, can be omitted for all models
variant: ""
planner_model: your-provider/planner-model
# Coder model selected by task complexity (planner assigns one of: very_complex/complex/medium/simple)
coder_default:
model: your-provider/balanced-model
coder_model_by_complexity:
very_complex:
model: your-provider/strongest-model
complex:
model: your-provider/strongest-model
medium:
model: your-provider/balanced-model
simple:
model: your-provider/fast-model
# Fallback coder model if complexity is unrecognised
coder_model_default: your-provider/balanced-model
# Reviewer models — ALL must approve for a task to pass
# Using multiple diverse models improves review quality
reviewers:
- model: your-provider/reviewer-model-1
- model: your-provider/reviewer-model-2
reviewer_models:
- your-provider/reviewer-model-1
- your-provider/reviewer-model-2
# Timeout in seconds for a single opencode run
timeout: 3600
# Orchestrator settings
orchestrator:
# Max parallel tasks (each gets its own worktree)
max_parallel_tasks: 3
# Max coding retries after review requests changes (total attempts = max_retries + 1)
max_retries: 4
# Polling interval in seconds
poll_interval: 30
# Auto-scan for TODOs on startup
auto_scan_todos: false
# Environment variables injected into every worktree hook script
hook_env: {}
# ROOT_WORKSPACE_PATH: /path/to/your/repository
# Web dashboard
web:
host: 0.0.0.0
port: 8778
# Repository publish settings (used by the Publish button)
publish:
# Remote to push completed branches to
remote: origin
# Code exploration system
explore:
explorer:
model: your-provider/explorer-model
# Model for map initialization and exploration agents
map:
model: your-provider/explorer-model
explorer_model: your-provider/explorer-model
map_model: your-provider/explorer-model
# Max exploration runs executing at once (overflow goes to queue)
max_parallel_runs: 2
# Categories to explore per module
categories:
- performance
- concurrency
- error_handling
- maintainability
- security
# Auto-create tasks for findings at or above this severity (critical/major/minor/info)
auto_task_severity: major
# Jira issue creation mode
jira:
# Jira base URL and token are exported to the vendored skill as JIRA_URL/JIRA_TOKEN
url: https://your-jira.example.com
token: your-jira-token
# Optional for basic auth flows used by the skill
user: ""
project_key: YOURPROJECT
epic: YOURPROJECT-12345
# Candidate values passed to the drafting model; it must choose from these.
issue_type: ["Bug", "New Feature", "Improvement", "Task"]
priority: ["Highest", "High", "Medium", "Low", "Lowest"]
# Relative path inside this repo to the vendored jira-issue skill
skill_path: skills/jira-issue
timeout: 120
# Routing hints passed directly to the simple coder model.
# Include a catch-all unmatched item if you want fallback assignee/component behavior.
# labels and component are both optional on each hint.
# Every created issue will always include the fixed label: DorisExplorer.
routing_hints:
- about: query execution issues in be/src/exec and be/src/pipeline
assignee: your-jira-username
component: query execution
labels:
- query-execution
- about: all unmatched items
assignee: your-default-jira-username
# component is optional
# labels are optional
# Regression framework profiles
# These profiles are only consumed by the standalone regression framework.
# They are expanded into the normal opencode/explore config fields inside a
# temporary generated config so production settings stay untouched.
regression:
default_profile: free
# When true, regression Jira runs inject a dry-run mode into the vendored skill.
# The main program still drives the full Jira assignment flow end-to-end.
dry_run_jira: false
model_profiles:
free:
planner_model: opencode/qwen3.6-plus-free
coder_model_default: opencode/qwen3.6-plus-free
coder_model_by_complexity: {}
reviewer_models:
- opencode/qwen3.6-plus-free
explorer_model: opencode/qwen3.6-plus-free
map_model: opencode/qwen3.6-plus-free
timeout: 1800
# Logging
logging:
level: INFO
file: /path/to/OpenGiraffe/logs/agent.log
# Persistence
database:
path: /path/to/OpenGiraffe/data/tasks.db