# babamba2/superclaude-for-sap architecture

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

- Interactive diagram: https://gitdiagram.com/babamba2/superclaude-for-sap
- Repository: https://github.com/babamba2/superclaude-for-sap
- Video tour (about a minute): https://gitdiagram.com/babamba2/superclaude-for-sap/video

## Overview

sc4sap is a Claude Code plugin for SAP ABAP development. Its main workflow is a user request handled in Claude Code, which uses the configured MCP bridge to access SAP and can return ABAP changes or analysis. The README also describes setup and profile switching, protected environments, code generation and review, process/specification work, and operational diagnosis. The supplied tree and excerpts expose only some runtime implementation, so documented capabilities without a supported source path are shown without one, and uncertain internal wiring is omitted.

Main entry points: [`bridge/mcp-server.cjs`](https://github.com/babamba2/superclaude-for-sap/blob/main/bridge/mcp-server.cjs) (MCP server bridge), [`scripts/lib/profile-resolve.mjs`](https://github.com/babamba2/superclaude-for-sap/blob/main/scripts/lib/profile-resolve.mjs) (Profile resolution), [`scripts/sap-profile-cli.mjs`](https://github.com/babamba2/superclaude-for-sap/blob/main/scripts/sap-profile-cli.mjs) (Profile management), [`scripts/sap-option-tui.mjs`](https://github.com/babamba2/superclaude-for-sap/blob/main/scripts/sap-option-tui.mjs) (Profile switching)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_access["SAP access"]
  node_mcp_bridge["MCP server bridge<br/>[mcp-server.cjs]"]
  node_readonly_guard["Read-only guard"]
end

subgraph group_profiles["Setup and profiles"]
  node_setup["MCP setup<br/>[setup-init.mjs]"]
  node_profile_cli["Profile management"]
  node_profile_switch["Profile switching<br/>[sap-option-tui.mjs]"]
  node_profile_resolver["Profile resolution"]
end

subgraph group_development["ABAP development"]
  node_plugin_workflows["Plugin workflows"]
  node_program_builder["ABAP generation"]
  node_program_analysis["Analyze and review"]
  node_process_reverse["Package to process"]
  node_maintenance["Maintenance diagnosis"]
  node_spec_tools["Spec rendering"]
  node_deliverables["Deliverable checks"]
end

subgraph group_support["Session support"]
  node_project_memory["Project memory"]
  node_context_guard["Context guard"]
  node_hud["Session HUD<br/>[statusline.mjs]"]
  node_usage_api["Usage API<br/>[usage-api.mjs]"]
end

node_user(("Developer"))
node_claude["Claude Code"]
node_sap[("SAP system")]
node_anthropic["Anthropic API"]

node_user -->|"requests work"| node_claude
node_claude -->|"dispatches workflows"| node_plugin_workflows
node_plugin_workflows -->|"uses MCP"| node_mcp_bridge
node_mcp_bridge -->|"connects to"| node_sap
node_claude -->|"runs setup"| node_setup
node_claude -->|"manages profiles"| node_profile_cli
node_claude -->|"switches profile"| node_profile_switch
node_profile_cli -->|"resolves profile"| node_profile_resolver
node_profile_switch -->|"resolves profile"| node_profile_resolver
node_mcp_bridge -->|"resolves environment"| node_profile_resolver
node_claude -->|"checks tool access"| node_readonly_guard
node_plugin_workflows -->|"generates ABAP"| node_program_builder
node_plugin_workflows -->|"analyzes objects"| node_program_analysis
node_plugin_workflows -->|"documents processes"| node_process_reverse
node_plugin_workflows -->|"diagnoses issues"| node_maintenance
node_plugin_workflows -->|"renders specifications"| node_spec_tools
node_plugin_workflows -->|"verifies outputs"| node_deliverables
node_claude -->|"injects session context"| node_project_memory
node_claude -->|"checks context"| node_context_guard
node_claude -->|"renders status"| node_hud
node_hud -->|"fetches usage"| node_usage_api
node_usage_api -.->|"queries usage"| node_anthropic

click node_mcp_bridge "https://github.com/babamba2/superclaude-for-sap/blob/main/bridge/mcp-server.cjs"
click node_setup "https://github.com/babamba2/superclaude-for-sap/blob/main/scripts/setup-init.mjs"
click node_profile_cli "https://github.com/babamba2/superclaude-for-sap/blob/main/scripts/sap-profile-cli.mjs"
click node_profile_switch "https://github.com/babamba2/superclaude-for-sap/blob/main/scripts/sap-option-tui.mjs"
click node_profile_resolver "https://github.com/babamba2/superclaude-for-sap/blob/main/scripts/lib/profile-resolve.mjs"
click node_readonly_guard "https://github.com/babamba2/superclaude-for-sap/blob/main/scripts/hooks/tier-readonly-guard.mjs"
click node_spec_tools "https://github.com/babamba2/superclaude-for-sap/blob/main/scripts/spec/screen-image-renderer.mjs"
click node_deliverables "https://github.com/babamba2/superclaude-for-sap/blob/main/scripts/verify-deliverables.mjs"
click node_project_memory "https://github.com/babamba2/superclaude-for-sap/blob/main/scripts/project-memory-session.mjs"
click node_context_guard "https://github.com/babamba2/superclaude-for-sap/blob/main/scripts/context-guard-stop.mjs"
click node_hud "https://github.com/babamba2/superclaude-for-sap/blob/main/scripts/hud/statusline.mjs"
click node_usage_api "https://github.com/babamba2/superclaude-for-sap/blob/main/scripts/hud/lib/usage-api.mjs"

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_mcp_bridge,node_readonly_guard toneBlue
class node_setup,node_profile_cli,node_profile_switch,node_profile_resolver,node_sap toneAmber
class node_plugin_workflows,node_program_builder,node_program_analysis,node_process_reverse,node_maintenance,node_spec_tools,node_deliverables,node_anthropic toneMint
class node_project_memory,node_context_guard,node_hud,node_usage_api toneRose
class node_user,node_claude toneIndigo
```

## Components

### SAP access

- [MCP server bridge](https://github.com/babamba2/superclaude-for-sap/blob/main/bridge/mcp-server.cjs): `bridge/mcp-server.cjs`
- [Read-only guard](https://github.com/babamba2/superclaude-for-sap/blob/main/scripts/hooks/tier-readonly-guard.mjs): `scripts/hooks/tier-readonly-guard.mjs`

### Setup and profiles

- [MCP setup](https://github.com/babamba2/superclaude-for-sap/blob/main/scripts/setup-init.mjs): `scripts/setup-init.mjs`
- [Profile management](https://github.com/babamba2/superclaude-for-sap/blob/main/scripts/sap-profile-cli.mjs): `scripts/sap-profile-cli.mjs`
- [Profile switching](https://github.com/babamba2/superclaude-for-sap/blob/main/scripts/sap-option-tui.mjs): `scripts/sap-option-tui.mjs`
- [Profile resolution](https://github.com/babamba2/superclaude-for-sap/blob/main/scripts/lib/profile-resolve.mjs): `scripts/lib/profile-resolve.mjs`

### ABAP development

- **Plugin workflows**
- **ABAP generation**
- **Analyze and review**
- **Package to process**
- **Maintenance diagnosis**
- [Spec rendering](https://github.com/babamba2/superclaude-for-sap/blob/main/scripts/spec/screen-image-renderer.mjs): `scripts/spec/screen-image-renderer.mjs`
- [Deliverable checks](https://github.com/babamba2/superclaude-for-sap/blob/main/scripts/verify-deliverables.mjs): `scripts/verify-deliverables.mjs`

### Session support

- [Project memory](https://github.com/babamba2/superclaude-for-sap/blob/main/scripts/project-memory-session.mjs): `scripts/project-memory-session.mjs`
- [Context guard](https://github.com/babamba2/superclaude-for-sap/blob/main/scripts/context-guard-stop.mjs): `scripts/context-guard-stop.mjs`
- [Session HUD](https://github.com/babamba2/superclaude-for-sap/blob/main/scripts/hud/statusline.mjs): `scripts/hud/statusline.mjs`
- [Usage API](https://github.com/babamba2/superclaude-for-sap/blob/main/scripts/hud/lib/usage-api.mjs): `scripts/hud/lib/usage-api.mjs`

### Other components

- **Developer**
- **Claude Code**
- **SAP system**
- **Anthropic API**

## Connections

- Developer → Claude Code: requests work
- Claude Code → Plugin workflows: dispatches workflows
- Plugin workflows → MCP server bridge: uses MCP
- MCP server bridge → SAP system: connects to
- Claude Code → MCP setup: runs setup
- Claude Code → Profile management: manages profiles
- Claude Code → Profile switching: switches profile
- Profile management → Profile resolution: resolves profile
- Profile switching → Profile resolution: resolves profile
- MCP server bridge → Profile resolution: resolves environment
- Claude Code → Read-only guard: checks tool access
- Plugin workflows → ABAP generation: generates ABAP
- Plugin workflows → Analyze and review: analyzes objects
- Plugin workflows → Package to process: documents processes
- Plugin workflows → Maintenance diagnosis: diagnoses issues
- Plugin workflows → Spec rendering: renders specifications
- Plugin workflows → Deliverable checks: verifies outputs
- Claude Code → Project memory: injects session context
- Claude Code → Context guard: checks context
- Claude Code → Session HUD: renders status
- Session HUD → Usage API: fetches usage
- Usage API → Anthropic API: queries usage
