# oumpi/claude-code architecture

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

- Interactive diagram: https://gitdiagram.com/oumpi/claude-code
- Repository: https://github.com/oumpi/claude-code

## Overview

This repository is a public extension and operations repository for Claude Code, not the implementation of its terminal agent runtime. The README describes Claude Code as the user-facing coding agent and says plugins add commands and agents. The tree shows plugin definitions, hookify’s executable rule-evaluation path, and security guidance hooks. The principal workflow is a developer using Claude Code and its extensions to perform coding tasks; exact host-to-plugin dispatch details are not available here, so those links are kept at the documented extension boundary.

Main entry points: [`plugins/hookify`](https://github.com/oumpi/claude-code/tree/main/plugins/hookify) (Hookify Rules), [`plugins/hookify/core/config_loader.py`](https://github.com/oumpi/claude-code/blob/main/plugins/hookify/core/config_loader.py) (Rule Loader), [`plugins/hookify/core/rule_engine.py`](https://github.com/oumpi/claude-code/blob/main/plugins/hookify/core/rule_engine.py) (Rule Engine), [`plugins/hookify/hooks/pretooluse.py`](https://github.com/oumpi/claude-code/blob/main/plugins/hookify/hooks/pretooluse.py) (Pre-tool Hook)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_extensions["Coding Extensions"]
  node_code_review["Code Review"]
  node_feature_dev["Feature Development"]
  node_pr_review["PR Review Toolkit"]
  node_commit_commands["Commit Commands"]
  node_ralph["Ralph Wiggum"]
end

subgraph group_hooks["Hook Controls"]
  node_hookify["Hookify Rules"]
  node_pretooluse["Pre-tool Hook<br/>[pretooluse.py]"]
  node_posttooluse["Post-tool Hook<br/>[posttooluse.py]"]
  node_stop_hook["Stop Hook<br/>[stop.py]"]
  node_prompt_hook["Prompt Hook"]
  node_rule_loader["Rule Loader<br/>[config_loader.py]"]
  node_rule_engine["Rule Engine<br/>[rule_engine.py]"]
  node_security_guidance["Security Guidance"]
end

subgraph group_plugin_authoring["Plugin Authoring"]
  node_plugin_dev["Plugin Development"]
  node_agent_sdk["Agent SDK Dev"]
end

subgraph group_experience["Interaction Styles"]
  node_frontend_design["Frontend Design"]
  node_output_styles["Output Styles"]
  node_learning_style["Learning Style"]
end

node_developer(("Developer"))
node_claude_code["Claude Code"]

node_developer -->|"uses"| node_claude_code
node_claude_code -.->|"extends with"| node_code_review
node_claude_code -.->|"extends with"| node_feature_dev
node_claude_code -.->|"extends with"| node_pr_review
node_claude_code -.->|"extends with"| node_commit_commands
node_claude_code -.->|"extends with"| node_ralph
node_claude_code -.->|"extends with"| node_hookify
node_claude_code -.->|"extends with"| node_security_guidance
node_claude_code -.->|"extends with"| node_plugin_dev
node_claude_code -.->|"extends with"| node_agent_sdk
node_claude_code -.->|"extends with"| node_frontend_design
node_claude_code -.->|"extends with"| node_output_styles
node_claude_code -.->|"extends with"| node_learning_style
node_pretooluse -->|"loads rules"| node_rule_loader
node_pretooluse -->|"evaluates input"| node_rule_engine
node_posttooluse -->|"loads rules"| node_rule_loader
node_posttooluse -->|"evaluates input"| node_rule_engine
node_stop_hook -->|"loads rules"| node_rule_loader
node_stop_hook -->|"evaluates input"| node_rule_engine
node_prompt_hook -->|"loads rules"| node_rule_loader
node_prompt_hook -->|"evaluates input"| node_rule_engine
node_hookify -->|"provides hook"| node_pretooluse
node_hookify -->|"provides hook"| node_posttooluse
node_hookify -->|"provides hook"| node_stop_hook
node_hookify -->|"provides hook"| node_prompt_hook

click node_code_review "https://github.com/oumpi/claude-code/tree/main/plugins/code-review"
click node_feature_dev "https://github.com/oumpi/claude-code/tree/main/plugins/feature-dev"
click node_pr_review "https://github.com/oumpi/claude-code/tree/main/plugins/pr-review-toolkit"
click node_commit_commands "https://github.com/oumpi/claude-code/tree/main/plugins/commit-commands"
click node_ralph "https://github.com/oumpi/claude-code/tree/main/plugins/ralph-wiggum"
click node_hookify "https://github.com/oumpi/claude-code/tree/main/plugins/hookify"
click node_pretooluse "https://github.com/oumpi/claude-code/blob/main/plugins/hookify/hooks/pretooluse.py"
click node_posttooluse "https://github.com/oumpi/claude-code/blob/main/plugins/hookify/hooks/posttooluse.py"
click node_stop_hook "https://github.com/oumpi/claude-code/blob/main/plugins/hookify/hooks/stop.py"
click node_prompt_hook "https://github.com/oumpi/claude-code/blob/main/plugins/hookify/hooks/userpromptsubmit.py"
click node_rule_loader "https://github.com/oumpi/claude-code/blob/main/plugins/hookify/core/config_loader.py"
click node_rule_engine "https://github.com/oumpi/claude-code/blob/main/plugins/hookify/core/rule_engine.py"
click node_security_guidance "https://github.com/oumpi/claude-code/blob/main/plugins/security-guidance/hooks/security_reminder_hook.py"
click node_plugin_dev "https://github.com/oumpi/claude-code/tree/main/plugins/plugin-dev"
click node_agent_sdk "https://github.com/oumpi/claude-code/tree/main/plugins/agent-sdk-dev"
click node_frontend_design "https://github.com/oumpi/claude-code/tree/main/plugins/frontend-design"
click node_output_styles "https://github.com/oumpi/claude-code/tree/main/plugins/explanatory-output-style"
click node_learning_style "https://github.com/oumpi/claude-code/tree/main/plugins/learning-output-style"

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_code_review,node_feature_dev,node_pr_review,node_commit_commands,node_ralph toneBlue
class node_hookify,node_pretooluse,node_posttooluse,node_stop_hook,node_prompt_hook,node_rule_loader,node_rule_engine,node_security_guidance toneAmber
class node_plugin_dev,node_agent_sdk toneMint
class node_frontend_design,node_output_styles,node_learning_style toneRose
class node_developer,node_claude_code toneIndigo
```

## Components

### Coding Extensions

- [Code Review](https://github.com/oumpi/claude-code/tree/main/plugins/code-review): `plugins/code-review`
- [Feature Development](https://github.com/oumpi/claude-code/tree/main/plugins/feature-dev): `plugins/feature-dev`
- [PR Review Toolkit](https://github.com/oumpi/claude-code/tree/main/plugins/pr-review-toolkit): `plugins/pr-review-toolkit`
- [Commit Commands](https://github.com/oumpi/claude-code/tree/main/plugins/commit-commands): `plugins/commit-commands`
- [Ralph Wiggum](https://github.com/oumpi/claude-code/tree/main/plugins/ralph-wiggum): `plugins/ralph-wiggum`

### Hook Controls

- [Hookify Rules](https://github.com/oumpi/claude-code/tree/main/plugins/hookify): `plugins/hookify`
- [Pre-tool Hook](https://github.com/oumpi/claude-code/blob/main/plugins/hookify/hooks/pretooluse.py): `plugins/hookify/hooks/pretooluse.py`
- [Post-tool Hook](https://github.com/oumpi/claude-code/blob/main/plugins/hookify/hooks/posttooluse.py): `plugins/hookify/hooks/posttooluse.py`
- [Stop Hook](https://github.com/oumpi/claude-code/blob/main/plugins/hookify/hooks/stop.py): `plugins/hookify/hooks/stop.py`
- [Prompt Hook](https://github.com/oumpi/claude-code/blob/main/plugins/hookify/hooks/userpromptsubmit.py): `plugins/hookify/hooks/userpromptsubmit.py`
- [Rule Loader](https://github.com/oumpi/claude-code/blob/main/plugins/hookify/core/config_loader.py): `plugins/hookify/core/config_loader.py`
- [Rule Engine](https://github.com/oumpi/claude-code/blob/main/plugins/hookify/core/rule_engine.py): `plugins/hookify/core/rule_engine.py`
- [Security Guidance](https://github.com/oumpi/claude-code/blob/main/plugins/security-guidance/hooks/security_reminder_hook.py): `plugins/security-guidance/hooks/security_reminder_hook.py`

### Plugin Authoring

- [Plugin Development](https://github.com/oumpi/claude-code/tree/main/plugins/plugin-dev): `plugins/plugin-dev`
- [Agent SDK Dev](https://github.com/oumpi/claude-code/tree/main/plugins/agent-sdk-dev): `plugins/agent-sdk-dev`

### Interaction Styles

- [Frontend Design](https://github.com/oumpi/claude-code/tree/main/plugins/frontend-design): `plugins/frontend-design`
- [Output Styles](https://github.com/oumpi/claude-code/tree/main/plugins/explanatory-output-style): `plugins/explanatory-output-style`
- [Learning Style](https://github.com/oumpi/claude-code/tree/main/plugins/learning-output-style): `plugins/learning-output-style`

### Other components

- **Developer**
- **Claude Code**

## Connections

- Developer → Claude Code: uses
- Claude Code → Code Review: extends with
- Claude Code → Feature Development: extends with
- Claude Code → PR Review Toolkit: extends with
- Claude Code → Commit Commands: extends with
- Claude Code → Ralph Wiggum: extends with
- Claude Code → Hookify Rules: extends with
- Claude Code → Security Guidance: extends with
- Claude Code → Plugin Development: extends with
- Claude Code → Agent SDK Dev: extends with
- Claude Code → Frontend Design: extends with
- Claude Code → Output Styles: extends with
- Claude Code → Learning Style: extends with
- Pre-tool Hook → Rule Loader: loads rules
- Pre-tool Hook → Rule Engine: evaluates input
- Post-tool Hook → Rule Loader: loads rules
- Post-tool Hook → Rule Engine: evaluates input
- Stop Hook → Rule Loader: loads rules
- Stop Hook → Rule Engine: evaluates input
- Prompt Hook → Rule Loader: loads rules
- Prompt Hook → Rule Engine: evaluates input
- Hookify Rules → Pre-tool Hook: provides hook
- Hookify Rules → Post-tool Hook: provides hook
- Hookify Rules → Stop Hook: provides hook
- Hookify Rules → Prompt Hook: provides hook
