Reviewers & Constitution

Prodara includes 9 built-in reviewers (7 configurable, 2 always-on), supports custom reviewers loaded from Markdown files, and provides a project-level constitution that governs all AI interactions. You can also override any template and define per-artifact rules.

Built-in Reviewers

Each reviewer analyzes your specification from a specific perspective. Five are enabled by default; two specialized reviewers are opt-in.

ReviewerPerspectiveDefault
architectureModule boundaries, coupling, empty modules, authorization coverage✓ Enabled
securityAuthorization rules, secret bindings, policy enforcement✓ Enabled
code-qualityEntity coverage, orphan nodes, duplicate edges✓ Enabled
test-qualityTest block presence, assertion quality, coverage gaps✓ Enabled
ux-qualitySurface rendering, token definitions, form validation✓ Enabled
adversarialAttack scenarios, gap analysis, unstated assumptions○ Disabled
edge-caseBoundary conditions, empty sets, concurrency, error paths○ Disabled
💡
Enable the adversarial and edge-case reviewers for thorough pre-deployment audits. They find edge cases and attack vectors that other reviewers miss.

Configuring Reviewers

Enable, disable, or customize any reviewer in your prodara.config.json:

prodara.config.json
{
  "reviewers": {
    "architecture": { "enabled": true },
    "security": { "enabled": true, "promptPath": ".prodara/reviewers/strict-security.md" },
    "adversarial": { "enabled": true },
    "edgeCase": { "enabled": true }
  }
}

Custom Reviewers

Create project-specific reviewers by adding Markdown files to the .prodara/reviewers/ directory. Each file defines a reviewer's system prompt, perspective, and focus areas.

.prodara/reviewers/accessibility.md
# Accessibility Reviewer

You are an accessibility specialist. Review the specification for:

## Focus Areas
- Every surface must define keyboard navigation
- Form fields require labels and ARIA attributes
- Color-only indicators must have text alternatives
- All images in surfaces need alt text descriptions

## Severity
- Missing keyboard navigation: error
- Missing ARIA labels: warning
- Missing alt text: warning

Custom reviewers appear alongside built-in reviewers during the review phase. Reference them in config by filename (without the .md extension):

prodara.config.json
{
  "reviewers": {
    "accessibility": { "enabled": true, "promptPath": ".prodara/reviewers/accessibility.md" }
  }
}

Constitution

The constitution is a project-level Markdown document that's injected into every AI prompt — phase templates, reviewer prompts, and agent instructions. It defines invariants, coding standards, and architectural constraints that apply across the entire specification.

.prodara/constitution.md
# Project Constitution

## Architecture
- All modules must be self-contained with clear boundaries
- Cross-module dependencies require explicit import declarations
- No circular module dependencies

## Coding Standards
- Entity names use PascalCase, field names use camelCase
- All monetary values use the `money` type
- All timestamps use the `datetime` type

## Security
- All write workflows require authorization
- Sensitive fields (email, phone) must be marked PII
- API surfaces require rate limiting policies

Configure the constitution path in your config:

prodara.config.json
{
  "constitution": {
    "path": ".prodara/constitution.md"
  }
}

Template Overrides

Prodara uses 18 built-in templates for phase prompts and reviewer prompts. You can override any template with a local Markdown file:

prodara.config.json
{
  "templateOverrides": {
    "phase:implement": ".prodara/templates/implement.md",
    "reviewer:security": ".prodara/templates/strict-security-review.md"
  }
}

Template IDs follow the pattern phase:<name> or reviewer:<name>. Available phase IDs: specify, clarify, plan, implement, review, fix, explore, help, party, design, onboard.

Per-Artifact Rules

Define rules that are injected into specific artifact types during generation. This lets you enforce standards for proposals, design documents, tasks, and more:

prodara.config.json
{
  "artifactRules": {
    "proposal": [
      "Must include acceptance criteria",
      "Must list affected modules"
    ],
    "design": [
      "Must include architecture decisions",
      "Must include risk assessment"
    ],
    "task": [
      "Must reference the parent proposal"
    ]
  }
}

Next Steps

Learn about AI prompt file that trigger reviewers, or explore extensions to add custom reviewer capabilities.