# Config Examples The repo uses an Agent Orchestrator style YAML config with `defaults` and `projects`. Project entries can override `issueAssistant` fields when a repo needs a different prompt, mention triggers, responder chain, or notification list. Each project also has separate tracker and SCM config. `issueTracker.provider` selects the logical tracker family, `issueTracker.eventSource.type` selects the concrete adapter used to receive updates, and `scm.provider` selects how temporary repo workspaces are prepared for responders. Legacy top-level project `provider` is still accepted during load for backward compatibility. When `scm` is omitted it defaults to a matching provider for existing GitHub, GitLab, and Gitea configs. GitHub projects default to `gh/polling`, GitLab projects default to `glab/polling`, and Gitea projects default to `tea/polling`. OpenProject projects default to `op/polling` and currently only support polling. Because OpenProject issue tracking is not tied to a repository host, OpenProject projects must set `scm.provider` explicitly. GitHub projects can switch their long-running runtime to `gh/gosmee` or `gh/webhook-forward`, GitLab projects can switch to `glab/gosmee`, and Gitea projects can switch to `tea/gosmee`. For OpenProject, `repo` may be either a numeric project id or an exact project name. `gh/gosmee` creates a temporary GitHub webhook that targets a generated gosmee URL. `gh/webhook-forward` starts `gh webhook forward` for `issues` and `issue_comment` events. `glab/gosmee` creates a temporary GitLab webhook that targets a generated gosmee URL for issue and note events. `tea/gosmee` creates a temporary Gitea webhook that targets a generated gosmee URL. Channel-based event sources always run one startup reconciliation poll. Set `reconciliation: continuous` plus `reconcileInterval` to keep periodic reconciliation active for missed-event recovery, or use `reconciliation: startup-only` to skip background polling after startup. `--once` still uses a single polling reconciliation cycle so existing backlog handling keeps working. Use a nested `issueTracker.eventSource` object so adapter-specific fields stay grouped with the selected adapter key. For example: ```yaml issueTracker: provider: github eventSource: type: gh/webhook-forward reconciliation: continuous reconcileInterval: 300s ``` ```yaml issueTracker: provider: github eventSource: type: gh/polling pollInterval: 30s ``` Generated comments include both a visible prefix and footer by default so it is clear the reply came from automation even when `gh` or `tea` is authenticated as a human account. Those markers support template variables such as `{{tracker_login}}`, `{{tracker_cli}}`, `{{repo}}`, `{{project_key}}`, `{{issue_number}}`, `{{trigger}}`, `{{comment_tag}}`, and `{{fingerprint}}`. `{{gh_login}}` is still populated for backward compatibility. Set either template to an empty string to disable that section. Discord notifications are configured under `issueAssistant.notifications`. Currently supported fields are: - `type: discordWebhook` - `enabled` - `events`: any of `mention_detected`, `reply_posted`, `no_reply`, `responder_failed` - `webhookUrl` - `username` - `avatarUrl` Start from [`examples/simple-github.yaml`](simple-github.yaml) for GitHub, [`examples/simple-gitlab.yaml`](simple-gitlab.yaml) for GitLab, [`examples/simple-gitea.yaml`](simple-gitea.yaml) for Gitea, or [`examples/simple-openproject.yaml`](simple-openproject.yaml) for OpenProject. This repo uses `dataDir`, `worktreeDir`, and `projects`, and uses `worktreeDir` for bug-verification worktrees. ## responder CLI mode Configure responders in plain-text mode. Do not add JSON/output-format flags in `responders[].args` (for example `--json`, `--json-output`, `--output-format`, or `-f json`), because `code_work_spawner` owns response-format handling. Prompts are passed through stdin via `stdinTemplate` (default: `{{prompt}}`). In most cases prompt flags are not needed in `responders[].args`, because the real prompt already comes from stdin. Only add a prompt flag if a specific CLI fails without it. ## tea + windows The `tea` CLI has known severe issues on Windows due to lipgloss/v2 query console color. We had bypass it by read config file of `tea` directly, but only token login is supported. And need to config a default login through `tea login default `.