# quietvoice/prompt-evaluator architecture

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

- Interactive diagram: https://gitdiagram.com/quietvoice/prompt-evaluator
- Repository: https://github.com/quietvoice/prompt-evaluator

## Overview

This is a small command-line prompt evaluator. The user supplies text as an argument; the script combines it with seven scoring criteria and instructions for calculating a total, assigning a category, and giving improvement feedback. Its evaluator sends that request to OpenAI and prints the returned text. The README documents this usage; the sampled script shows the API call and output handling.

Main entry points: [`commandline-prompt-evaluator.py`](https://github.com/quietvoice/prompt-evaluator/blob/main/commandline-prompt-evaluator.py) (CLI script)

## Diagram (Mermaid)

```mermaid
flowchart TD

node_user(("User"))
node_cli["CLI script"]
node_criteria["Evaluation prompt"]
node_evaluator["OpenAI evaluator"]
node_openai{{"OpenAI API"}}
node_result["Evaluation text"]

node_user -->|"supplies prompt"| node_cli
node_cli -->|"builds request"| node_criteria
node_cli -->|"calls evaluator"| node_evaluator
node_evaluator -->|"sends request"| node_openai
node_openai -->|"returns response"| node_evaluator
node_evaluator -->|"returns text"| node_result
node_cli -->|"prints result"| node_result

click node_cli "https://github.com/quietvoice/prompt-evaluator/blob/main/commandline-prompt-evaluator.py"
click node_criteria "https://github.com/quietvoice/prompt-evaluator/blob/main/commandline-prompt-evaluator.py"
click node_evaluator "https://github.com/quietvoice/prompt-evaluator/blob/main/commandline-prompt-evaluator.py"

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_user toneBlue
class node_cli,node_criteria,node_evaluator toneTeal
class node_openai toneMint
class node_result toneIndigo
```

## Components

### Other components

- **User**
- [CLI script](https://github.com/quietvoice/prompt-evaluator/blob/main/commandline-prompt-evaluator.py): `commandline-prompt-evaluator.py`
- [Evaluation prompt](https://github.com/quietvoice/prompt-evaluator/blob/main/commandline-prompt-evaluator.py): `commandline-prompt-evaluator.py`
- [OpenAI evaluator](https://github.com/quietvoice/prompt-evaluator/blob/main/commandline-prompt-evaluator.py): `commandline-prompt-evaluator.py`
- **OpenAI API**
- **Evaluation text**

## Connections

- User → CLI script: supplies prompt
- CLI script → Evaluation prompt: builds request
- CLI script → OpenAI evaluator: calls evaluator
- OpenAI evaluator → OpenAI API: sends request
- OpenAI API → OpenAI evaluator: returns response
- OpenAI evaluator → Evaluation text: returns text
- CLI script → Evaluation text: prints result
