Configuration
Configure the Prodara compiler via prodara.config.json at your project root. All settings have sensible defaults — you only need to override what you want to change.
Configuration File
The compiler looks for prodara.config.json in the project root. Create one with prodara init or write it manually:
{
"extends": ["@prodara/preset-strict"],
"phases": {
"discovery": { "enabled": true },
"specTests": { "enabled": true }
},
"clarify": {
"maxQuestions": 10,
"priority": "high",
"ambiguityThreshold": "medium",
"autoResolve": false
},
"reviewers": {
"architecture": { "enabled": true },
"quality": { "enabled": true },
"security": { "enabled": true },
"adversarial": { "enabled": false },
"edgeCase": { "enabled": false }
},
"reviewFix": {
"maxAttempts": 3,
"severity": "error",
"autoFix": true
},
"validation": {
"strict": false
},
"agent": {
"platform": "copilot"
},
"audit": {
"enabled": true,
"retentionDays": 30
}
}Configuration Sections
phases
Control which compilation phases run and their behavior.
| Option | Type | Default | Description |
|---|---|---|---|
| enabled | boolean | true | Enable or disable a specific phase. |
| parallel | boolean | false | Run independent phases in parallel. |
clarify
Configure the clarification phase for ambiguity detection.
| Option | Type | Default | Description |
|---|---|---|---|
| maxQuestions | number | 10 | Maximum number of clarification questions. |
| priority | QuestionPriority | "high" | Minimum priority threshold for questions. |
| ambiguityThreshold | AmbiguityThreshold | "medium" | Sensitivity for ambiguity detection. |
| autoResolve | boolean | false | Automatically resolve common clarifications. |
reviewers
Configure the reviewer pipeline. See Reviewers & Constitution for details.
| Option | Type | Default | Description |
|---|---|---|---|
| <reviewer>.enabled | boolean | varies | Enable or disable a specific reviewer. |
| <reviewer>.custom | object | — | Custom reviewer definition with perspective and prompt. |
reviewFix
Configure the automated fix loop after review.
| Option | Type | Default | Description |
|---|---|---|---|
| maxAttempts | number | 3 | Maximum number of fix attempts per finding. |
| severity | FixSeverity | "error" | Minimum severity that triggers a fix attempt. |
| autoFix | boolean | true | Whether to automatically attempt fixes. |
validation
Control which validation rules run during graph validation.
| Option | Type | Default | Description |
|---|---|---|---|
| strict | boolean | false | Enable strict mode (warnings become errors). |
| rules | string[] | [] | Custom validation rules to enable. |
agent
Configure agent-specific behavior for prompt file generation.
| Option | Type | Default | Description |
|---|---|---|---|
| platform | AgentPlatform | "generic" | Target AI agent platform. |
| provider | ApiProvider | — | AI provider for the agent. |
audit
Configure the audit trail for build tracking.
| Option | Type | Default | Description |
|---|---|---|---|
| enabled | boolean | true | Enable audit logging of builds. |
| retentionDays | number | 30 | Days to retain audit entries. |
Resolution Order
Configuration is resolved in priority order. Later sources override earlier ones:
- Built-in defaults — Sensible values shipped with the compiler
- Presets — Shared configuration bundles from
extends - prodara.config.json — Project-level overrides
- CLI flags — Highest priority, override everything
resolveConfig() from the programmatic API to see the fully resolved configuration for a project, including all defaults and preset merges. Programmatic API
import {
loadConfig,
resolveConfig,
DEFAULT_CONFIG,
CONFIG_FILENAME,
} from '@prodara/compiler';
// Load from file
const loaded = await loadConfig('./project');
// Resolve with defaults and presets
const resolved = resolveConfig(loaded.config);
// Access defaults
console.log(DEFAULT_CONFIG);
console.log(`Config file: ${CONFIG_FILENAME}`);Next Steps
Learn about extensions and presets for shareable configuration, or reviewer customization for fine-tuning the review pipeline.