Skip to content

Settings

Settings are intentionally loosely typed key-value pairs used to configure model selection, temperature, feature flags, and tool-specific behavior. The loose typing is deliberate — it allows dotai to pass through settings for future or tool-specific keys without requiring a schema update.

interface Setting {
key: string;
value: unknown;
scope: Scope;
}

Settings are defined in the settings section of .ai/config.yaml.

settings:
- key: model
value: claude-sonnet-4-20250514
scope: project
- key: temperature
value: 0.7
scope: user
KeyExample ValueDescription
model"claude-sonnet-4-20250514"The model ID to use for the agent
temperature0.7Sampling temperature controlling response randomness
Feature flagstrue / falseTool-specific feature toggles, passed through as-is

Settings support all four scope tiers. When the same key appears at multiple scopes, the narrower scope wins.

ScopeMeaning
enterpriseOrganization-wide defaults, committed to VCS
projectRepository-level settings, committed to VCS
userPersonal preferences from ~/.ai/, not committed
localMachine-local overrides from .ai.local/, gitignored

Unknown keys are passed through to the target tool’s configuration without validation. This allows you to use tool-specific settings that dotai does not explicitly model. Settings are emitted only for the tool that understands them — a key only recognized by Claude Code will not appear in Cursor’s config output.

  • Copilot — Does not support file-based settings configuration. All settings are skipped with a warning during ai sync.
  • Antigravity — Does not support file-based settings configuration. All settings are skipped with a warning during ai sync.