# isamu-isozaki/whiterabbitneo-pentestgpt architecture

> Architecture diagram of the GitHub repository isamu-isozaki/whiterabbitneo-pentestgpt, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/isamu-isozaki/whiterabbitneo-pentestgpt
- Repository: https://github.com/isamu-isozaki/whiterabbitneo-pentestgpt

## Overview

Whiterabbitneo-PentestGPT is a command-line pentesting assistant built around the PentestGPT task-and-reasoning workflow. A user supplies a target IP; the app initializes pentest tasks, parses prior status and progress, and uses model-generated reasoning to update the task list and produce guidance. The README also highlights constrained generation to improve structured outputs. The excerpts show the entry point and shared schema/model logic, but omit much of main.py’s runtime, so links beyond the named imports and visible generation call are not asserted.

Main entry points: [`main.py`](https://github.com/isamu-isozaki/whiterabbitneo-pentestgpt/blob/main/main.py) (CLI orchestrator), [`schema.py`](https://github.com/isamu-isozaki/whiterabbitneo-pentestgpt/blob/main/schema.py) (Task reasoning)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_workflow["Pentest Workflow"]
  node_cli["CLI orchestrator<br/>[main.py]"]
  node_input["Input parsing<br/>[schema.py]"]
end

subgraph group_intelligence["Prompting and Generation"]
  node_reasoning["Task reasoning<br/>[schema.py]"]
  node_generation["Response generation<br/>[schema.py]"]
  node_constrained["Constrained output<br/>[schema.py]"]
end

subgraph group_state["Task State"]
  node_taskstate["Task list tools<br/>[schema.py]"]
end

node_tester(("Pentest operator"))
node_llm["Language model"]

node_tester -->|"runs"| node_cli
node_cli -->|"imports parser"| node_input
node_cli -->|"imports tools"| node_reasoning
node_cli -->|"imports generator"| node_generation
node_reasoning -->|"updates tasks"| node_taskstate
node_generation -->|"uses constrained generation"| node_constrained
node_constrained -->|"generates text"| node_llm

click node_cli "https://github.com/isamu-isozaki/whiterabbitneo-pentestgpt/blob/main/main.py"
click node_input "https://github.com/isamu-isozaki/whiterabbitneo-pentestgpt/blob/main/schema.py"
click node_reasoning "https://github.com/isamu-isozaki/whiterabbitneo-pentestgpt/blob/main/schema.py"
click node_generation "https://github.com/isamu-isozaki/whiterabbitneo-pentestgpt/blob/main/schema.py"
click node_constrained "https://github.com/isamu-isozaki/whiterabbitneo-pentestgpt/blob/main/schema.py"
click node_taskstate "https://github.com/isamu-isozaki/whiterabbitneo-pentestgpt/blob/main/schema.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_cli,node_input toneBlue
class node_reasoning,node_generation,node_constrained toneAmber
class node_taskstate toneMint
class node_tester,node_llm toneIndigo
```

## Components

### Pentest Workflow

- [CLI orchestrator](https://github.com/isamu-isozaki/whiterabbitneo-pentestgpt/blob/main/main.py): `main.py`
- [Input parsing](https://github.com/isamu-isozaki/whiterabbitneo-pentestgpt/blob/main/schema.py): `schema.py`

### Prompting and Generation

- [Task reasoning](https://github.com/isamu-isozaki/whiterabbitneo-pentestgpt/blob/main/schema.py): `schema.py`
- [Response generation](https://github.com/isamu-isozaki/whiterabbitneo-pentestgpt/blob/main/schema.py): `schema.py`
- [Constrained output](https://github.com/isamu-isozaki/whiterabbitneo-pentestgpt/blob/main/schema.py): `schema.py`

### Task State

- [Task list tools](https://github.com/isamu-isozaki/whiterabbitneo-pentestgpt/blob/main/schema.py): `schema.py`

### Other components

- **Pentest operator**
- **Language model**

## Connections

- Pentest operator → CLI orchestrator: runs (evidence: `main.py`)
- CLI orchestrator → Input parsing: imports parser (evidence: `main.py`)
- CLI orchestrator → Task reasoning: imports tools (evidence: `main.py`)
- CLI orchestrator → Response generation: imports generator (evidence: `main.py`)
- Task reasoning → Task list tools: updates tasks (evidence: `schema.py`)
- Response generation → Constrained output: uses constrained generation (evidence: `schema.py`)
- Constrained output → Language model: generates text (evidence: `schema.py`)
