yoke/src/templates/loop/yoke.conf

62 lines
3 KiB
Text
Raw Normal View History

2026-03-04 15:38:23 +00:00
# Yoke configuration
# Lines starting with # are comments. Blank lines are ignored.
# ── Backend ────────────────────────────────────────────────────────────
# Model to use for the agent. If unset, defaults to Claude CLI.
# Use provider/model format for OpenRouter or other opencode providers.
# model openrouter/anthropic/claude-sonnet-4
# model openai/gpt-4o
# model anthropic/claude-sonnet-4
# ── Sandbox ──────────────────────────────────────────────────────────
# Docker image to run the agent inside. Required unless you pass --no-sandbox.
# Note: sandbox is not currently supported with the 'model' directive.
image claude-code-sandbox:latest
# ── Output ───────────────────────────────────────────────────────────
# Max lines of tail output kept per guard in guard-results.md.
# Keeps the results file from exploding on verbose commands.
max-tail 200
# Uncomment to save raw stream-json output per iteration.
# Each iteration writes to <log-dir>/iteration-<N>.jsonl.
# log-dir .loop/logs
# ── Scope rules (diff boundary enforcement) ──────────────────────────
# Controls what files the agent is allowed to change. After each iteration
# yoke diffs the working tree and checks every changed file against
# these rules. Most-specific (longest prefix) match wins.
#
# Directives:
# allow <prefix> — any change permitted (add, modify, delete)
# add-only <prefix> — new files only; existing files cannot be modified
# no-modify <prefix> — no changes at all (adds or modifications rejected)
#
# The prefix "." matches every path (root catch-all).
#
# Examples:
# allow src/ # full access under src/
# add-only tests/ # can create new test files, not edit existing
# no-modify .github/ # CI config is off-limits
# allow . # fallback: everything else is allowed
allow .
# ── Guards (run in order, fail-fast) ─────────────────────────────────
# Shell commands executed after each agent iteration. If any guard
# exits non-zero the iteration is marked failed, remaining guards are
# skipped, and the results are fed back on the next pass.
#
# Common examples:
# guard cargo check
# guard cargo test
# guard npm run lint
# guard python -m pytest tests/ -x
# guard make test
#
# NOTE: avoid "cargo check" as the sole guard — its type-error output
# can confuse the agent into chasing compiler noise instead of finishing
# the task. Prefer a test suite or linter that validates behaviour.
# guard cargo check