# brefledev/claudemd-prove-it architecture

> Architecture diagram of the GitHub repository brefledev/claudemd-prove-it, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/brefledev/claudemd-prove-it
- Repository: https://github.com/brefledev/claudemd-prove-it

## Overview

claudemd-prove-it is a dependency-free Node.js CLI that audits Claude Code memory files against settings-based enforcement. The main workflow discovers memory and settings, extracts rules and annotations, evaluates enforcement, then reports findings and context costs. The README also documents import, duplication, contradiction, and structure checks, plus an optional judgment pass using PROMPT.md. The source excerpt shows orchestration and parts of discovery and scoring; unsampled capability links are included only where documented.

Main entry points: [`prove-it.mjs`](https://github.com/brefledev/claudemd-prove-it/blob/main/prove-it.mjs) (CLI orchestration), [`PROMPT.md`](https://github.com/brefledev/claudemd-prove-it/blob/main/PROMPT.md) (Judgment prompt)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_discovery["Project discovery"]
  node_cli["CLI orchestration<br/>[prove-it.mjs]"]
  node_settings["Settings discovery<br/>[prove-it.mjs]"]
  node_memory["Memory discovery<br/>[prove-it.mjs]"]
  node_imports["Import resolution<br/>[prove-it.mjs]"]
end

subgraph group_audit["Rule audit"]
  node_directives["Rule extraction<br/>[prove-it.mjs]"]
  node_enforcement["Enforcement mapping<br/>[prove-it.mjs]"]
  node_annotations["Annotation checks<br/>[prove-it.mjs]"]
  node_duplication["Duplication checks<br/>[prove-it.mjs]"]
  node_clarity["Structure lint<br/>[prove-it.mjs]"]
  node_scoped["Scoped-rule checks<br/>[prove-it.mjs]"]
  node_context["Context estimates<br/>[prove-it.mjs]"]
end

subgraph group_report["Results"]
  node_report["Audit report<br/>[prove-it.mjs]"]
  node_prompt["Judgment prompt<br/>[PROMPT.md]"]
end

node_engineer(("Engineer"))
node_filesystem[("Project files")]
node_terminal(("CLI output"))
node_claude(("Claude Code"))

node_engineer -->|"invokes"| node_cli
node_cli -->|"discovers"| node_settings
node_cli -->|"discovers"| node_memory
node_settings -->|"reads settings"| node_filesystem
node_memory -->|"reads memory"| node_filesystem
node_memory -->|"resolves imports"| node_imports
node_imports -->|"reads imports"| node_filesystem
node_cli -->|"extracts rules"| node_directives
node_cli -->|"maps enforcement"| node_enforcement
node_settings -->|"supplies controls"| node_enforcement
node_directives -->|"supplies rules"| node_enforcement
node_directives -->|"checks claims"| node_annotations
node_cli -->|"checks rules"| node_duplication
node_cli -->|"checks clarity"| node_clarity
node_cli -->|"checks scope"| node_scoped
node_cli -->|"estimates cost"| node_context
node_enforcement -->|"supplies verdicts"| node_report
node_annotations -->|"supplies results"| node_report
node_duplication -->|"supplies findings"| node_report
node_clarity -->|"supplies findings"| node_report
node_scoped -->|"supplies findings"| node_report
node_context -->|"supplies estimates"| node_report
node_cli -->|"renders results"| node_report
node_report -->|"prints"| node_terminal
node_engineer -.->|"provides prompt"| node_prompt
node_prompt -.->|"guides review"| node_claude
node_claude -.->|"runs audit"| node_cli
node_claude -.->|"reads hook scripts"| node_filesystem

click node_cli "https://github.com/brefledev/claudemd-prove-it/blob/main/prove-it.mjs"
click node_settings "https://github.com/brefledev/claudemd-prove-it/blob/main/prove-it.mjs"
click node_memory "https://github.com/brefledev/claudemd-prove-it/blob/main/prove-it.mjs"
click node_imports "https://github.com/brefledev/claudemd-prove-it/blob/main/prove-it.mjs"
click node_directives "https://github.com/brefledev/claudemd-prove-it/blob/main/prove-it.mjs"
click node_enforcement "https://github.com/brefledev/claudemd-prove-it/blob/main/prove-it.mjs"
click node_annotations "https://github.com/brefledev/claudemd-prove-it/blob/main/prove-it.mjs"
click node_duplication "https://github.com/brefledev/claudemd-prove-it/blob/main/prove-it.mjs"
click node_clarity "https://github.com/brefledev/claudemd-prove-it/blob/main/prove-it.mjs"
click node_scoped "https://github.com/brefledev/claudemd-prove-it/blob/main/prove-it.mjs"
click node_context "https://github.com/brefledev/claudemd-prove-it/blob/main/prove-it.mjs"
click node_report "https://github.com/brefledev/claudemd-prove-it/blob/main/prove-it.mjs"
click node_prompt "https://github.com/brefledev/claudemd-prove-it/blob/main/PROMPT.md"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_cli,node_settings,node_memory,node_imports toneBlue
class node_directives,node_enforcement,node_annotations,node_duplication,node_clarity,node_scoped,node_context,node_filesystem toneAmber
class node_report,node_prompt toneMint
class node_engineer,node_terminal,node_claude toneIndigo
```

## Components

### Project discovery

- [CLI orchestration](https://github.com/brefledev/claudemd-prove-it/blob/main/prove-it.mjs): `prove-it.mjs`
- [Settings discovery](https://github.com/brefledev/claudemd-prove-it/blob/main/prove-it.mjs): `prove-it.mjs`
- [Memory discovery](https://github.com/brefledev/claudemd-prove-it/blob/main/prove-it.mjs): `prove-it.mjs`
- [Import resolution](https://github.com/brefledev/claudemd-prove-it/blob/main/prove-it.mjs): `prove-it.mjs`

### Rule audit

- [Rule extraction](https://github.com/brefledev/claudemd-prove-it/blob/main/prove-it.mjs): `prove-it.mjs`
- [Enforcement mapping](https://github.com/brefledev/claudemd-prove-it/blob/main/prove-it.mjs): `prove-it.mjs`
- [Annotation checks](https://github.com/brefledev/claudemd-prove-it/blob/main/prove-it.mjs): `prove-it.mjs`
- [Duplication checks](https://github.com/brefledev/claudemd-prove-it/blob/main/prove-it.mjs): `prove-it.mjs`
- [Structure lint](https://github.com/brefledev/claudemd-prove-it/blob/main/prove-it.mjs): `prove-it.mjs`
- [Scoped-rule checks](https://github.com/brefledev/claudemd-prove-it/blob/main/prove-it.mjs): `prove-it.mjs`
- [Context estimates](https://github.com/brefledev/claudemd-prove-it/blob/main/prove-it.mjs): `prove-it.mjs`

### Results

- [Audit report](https://github.com/brefledev/claudemd-prove-it/blob/main/prove-it.mjs): `prove-it.mjs`
- [Judgment prompt](https://github.com/brefledev/claudemd-prove-it/blob/main/PROMPT.md): `PROMPT.md`

### Other components

- **Engineer**
- **Project files**
- **CLI output**
- **Claude Code**

## Connections

- Engineer → CLI orchestration: invokes
- CLI orchestration → Settings discovery: discovers
- CLI orchestration → Memory discovery: discovers
- Settings discovery → Project files: reads settings
- Memory discovery → Project files: reads memory
- Memory discovery → Import resolution: resolves imports
- Import resolution → Project files: reads imports
- CLI orchestration → Rule extraction: extracts rules
- CLI orchestration → Enforcement mapping: maps enforcement
- Settings discovery → Enforcement mapping: supplies controls
- Rule extraction → Enforcement mapping: supplies rules
- Rule extraction → Annotation checks: checks claims
- CLI orchestration → Duplication checks: checks rules
- CLI orchestration → Structure lint: checks clarity
- CLI orchestration → Scoped-rule checks: checks scope
- CLI orchestration → Context estimates: estimates cost
- Enforcement mapping → Audit report: supplies verdicts
- Annotation checks → Audit report: supplies results
- Duplication checks → Audit report: supplies findings
- Structure lint → Audit report: supplies findings
- Scoped-rule checks → Audit report: supplies findings
- Context estimates → Audit report: supplies estimates
- CLI orchestration → Audit report: renders results
- Audit report → CLI output: prints
- Engineer → Judgment prompt: provides prompt
- Judgment prompt → Claude Code: guides review
- Claude Code → CLI orchestration: runs audit
- Claude Code → Project files: reads hook scripts
