-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.example.toml
More file actions
46 lines (41 loc) · 2.53 KB
/
Copy pathconfig.example.toml
File metadata and controls
46 lines (41 loc) · 2.53 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
# devloop configuration — copy to config.toml and edit.
# Everything has a working default; only [forge].repo is required.
version = 1 # config schema version — bumping = migration, old files rejected with a clear error
[forge]
kind = "github" # github | gitlab | gitea (adapters ship over time)
repo = "owner/name" # where issues and PRs live
base_url = "" # GitHub Enterprise Server host, e.g. "ghe.example.com"
# (empty = github.com; auth via `gh auth login --hostname`)
[labels]
# Rename freely — your vocabulary, your users.
# The ai- prefix is reserved (ADR-0003): renames stay inside it, the
# workflow template filters on the prefix, never on names.
fix = "ai-fix" # broken thing, agent repairs it
new = "ai-build" # new unit of work, agent builds it
remove = "ai-remove" # delete something, with evidence first
[runtime]
engine = "opencode" # opencode | claude | goose | custom
argv = ["opencode", "run"] # prompt is appended as the final argument
[pipeline]
verify = "" # the gate. e.g. "make verify" — empty = skip
review_rounds = 2 # AI pre-review rounds before human review
repair_rounds = 1 # AI repair attempts on review findings before
# the human sees them; 0 = findings go straight
# to the human
max_parallel = 1 # concurrent builds. Each build gets its own git
# worktree; deliveries that would overlap files with
# an open devloop PR are deferred to a later sweep,
# so raising this is safe — it changes throughput,
# not correctness (and not AI spend per issue)
max_attempts = 3 # failed attempts per issue before a human must
# re-label (or `/retry` to reset the budget)
max_per_day = 0 # per-issue daily attempt cap; 0 = unlimited. Bounds
# runaway spend (a poison task burning tokens all day)
poll_seconds = 300 # watch-mode poll interval
timeout = 1800 # per-agent-run timeout, seconds
[access]
# who may trigger AI flows (approve specs, run commands). AI tokens cost
# money — default is the narrowest useful set.
mode = "maintainers" # owners | maintainers | collaborators | everyone
allow = [] # usernames always allowed, e.g. ["contributor-x"]
deny = [] # usernames never allowed — wins over mode and allow