Repository Config
Customize DAIV's behavior per repository using a .daiv.yml file in the root of the default branch.
Full example
Repository settings
| Option | Type | Default | Description |
|---|---|---|---|
default_branch |
str \| null |
Repository default | Branch DAIV uses to load .daiv.yml and as the base for merge requests. |
context_file_name |
str \| null |
"AGENTS.md" |
Name of the AGENTS.md guidance file. Set to null to disable. |
suggest_context_file |
bool |
true |
Suggest creating the context file when DAIV opens a merge request and the file is missing. See AGENTS.md suggestion. |
Tip
The AGENTS.md file helps DAIV understand your repository's structure, conventions, and constraints. You can generate one using the /init skill — see Slash Commands & Skills.
Access control
Restrict which users can interact with DAIV on this repository. This is particularly useful for public repositories where you want to prevent arbitrary users from triggering DAIV.
| Option | Type | Default | Description |
|---|---|---|---|
allowed_usernames |
list[str] |
[] |
Usernames allowed to interact with DAIV. When empty, all users are allowed. |
When the list is empty or omitted, all users can interact with DAIV (default behavior). When populated, only the listed users can trigger DAIV through issues, comments, and merge request reviews. Username matching is case-insensitive.
Tip
Push events (e.g., configuration cache invalidation) are not affected by the allowlist — they are system-level operations tied to the webhook, not to individual users.
File access
Control which files DAIV can read.
| Option | Type | Default | Description |
|---|---|---|---|
omit_content_patterns |
list[str] |
["*package-lock.json", "*pnpm-lock.yaml", "*.lock", "*.svg"] |
Files matching these patterns are visible to the agent but their content is not read. Useful for large generated files. |
Patterns follow fnmatch syntax.
Feature toggles
All features are enabled by default. Disable any you don't need:
| YAML | |
|---|---|
| Section | Option | Default | Description |
|---|---|---|---|
issue_addressing |
enabled |
true |
Issue Addressing |
pull_request_assistant |
enabled |
true |
Pull Request Assistant |
slash_commands |
enabled |
true |
Slash Commands & Skills |
Branch naming and commit conventions
DAIV generates branch names and commit messages automatically. You can define your conventions in AGENTS.md:
| Markdown | |
|---|---|
If no conventions are defined, DAIV defaults to:
- Branches:
<type>/<short-kebab-summary> - Commits: Conventional Commits style
<type>: <short summary>
Model overrides
Override the default models on a per-repository basis. Useful for using smaller models on simple projects or larger models on complex ones.
Configuration priority (highest to lowest):
- Issue labels (
daiv-max) — see Issue Addressing .daiv.ymlmodels section — per-repository overrides- Environment variables — global defaults
Agent
The main DAIV agent used for issue addressing, pull request assistance, and all interactive tasks.
| Option | Type | Default | Description |
|---|---|---|---|
models.agent.model |
str |
claude-sonnet-4.6 |
Primary model. |
models.agent.fallback_model |
str |
gpt-5.3-codex |
Fallback if the primary model fails. |
models.agent.thinking_level |
"minimal" \| "low" \| "medium" \| "high" \| "xhigh" \| null |
medium |
Thinking depth. Set to null to disable. |
Diff to metadata
Generates pull request titles, descriptions, and commit messages from diffs.
| Option | Type | Default | Description |
|---|---|---|---|
models.diff_to_metadata.model |
str |
gpt-5.4-mini |
Primary model. |
models.diff_to_metadata.fallback_model |
str |
claude-haiku-4.5 |
Fallback if the primary model fails. |
Note
The diff to metadata agent reads your AGENTS.md file to follow your branch naming and commit message conventions.