Skip to content

Commit f01c3fa

Browse files
jwaldripclaude
andcommitted
feat(config): document master + overrides configuration precedence pattern
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent abe4a5a commit f01c3fa

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

plugin/schemas/settings.schema.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44
"title": "AI-DLC Settings",
55
"description": "Configuration schema for .ai-dlc/settings.yml files that configure AI-DLC behavior including VCS strategy",
66
"type": "object",
7+
"_override_pattern": {
8+
"type": "string",
9+
"description": "AI-DLC supports a Master + Overrides configuration pattern. Global settings in settings.yml apply to all intents. Per-intent overrides in .ai-dlc/{intent}/settings.yml take precedence. Per-unit overrides in unit frontmatter take highest precedence. Precedence: unit frontmatter > intent settings > global settings."
10+
},
711
"properties": {
812
"git": {
913
"$ref": "#/definitions/vcsConfig",

plugin/skills/setup/SKILL.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,25 @@ If `CLAUDE_CODE_IS_COWORK=1`, stop immediately with the message above. Do NOT pr
4949

5050
---
5151

52+
### Configuration Precedence
53+
54+
AI-DLC uses a Master + Overrides pattern for configuration:
55+
56+
| Level | Location | Scope | Precedence |
57+
|-------|----------|-------|------------|
58+
| **Global** | `settings.yml` | All intents | Lowest |
59+
| **Intent** | `.ai-dlc/{intent}/settings.yml` | This intent | Medium |
60+
| **Unit** | Unit frontmatter fields | This unit | Highest |
61+
62+
**Examples:**
63+
- Global sets `change_strategy: unit`, but a specific intent overrides to `intent` for parallel work
64+
- Global sets `granularity: standard`, but a complex intent overrides to `fine`
65+
- A unit overrides `change_strategy: unit` even when the intent uses `intent` (hybrid strategy)
66+
67+
When reading configuration, always resolve in order: unit frontmatter → intent settings → global settings. First non-empty value wins.
68+
69+
---
70+
5271
## Phase 0: Load Existing Settings
5372

5473
1. Check if `.ai-dlc/settings.yml` exists using the `Read` tool.

0 commit comments

Comments
 (0)