You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Build architecture graphs from scp.yaml files. Scan local directories or GitHub organizations, validate manifests, sync to Neo4j, and export to JSON, Mermaid, or OpenC2 actuator profiles.
Installation
uv sync
Usage
Validate SCP Files
uv run scp-cli validate ./examples
Scan Local Directory
# Scan and export to Mermaid
uv run scp-cli scan ./path/to/repos --export mermaid
# Scan and export to JSON
uv run scp-cli scan ./path/to/repos --export json -o graph.json
# Scan and export OpenC2 actuator profile (for SOAR)
uv run scp-cli scan ./path/to/repos --export openc2 -o actuators.json
# Scan and export C4 PlantUML diagram
uv run scp-cli scan ./path/to/repos --export c4 -o architecture.puml
Transform JSON to Other Formats
# Scan once, transform many
uv run scp-cli scan ./repos --export json -o graph.json
uv run scp-cli transform graph.json --export mermaid -o diagram.mmd
uv run scp-cli transform graph.json --export openc2 -o actuators.json
uv run scp-cli transform graph.json --export c4 -o architecture.puml
Scan GitHub Organization
export GITHUB_TOKEN=ghp_xxx
uv run scp-cli scan-github myorg --export mermaid
Sync to Neo4j
# Export directly to Neo4j
uv run scp-cli scan ./repos --export neo4j --neo4j-uri bolt://localhost:7687
# Or use environment variablesexport NEO4J_URI=bolt://localhost:7687
export NEO4J_USER=neo4j
export NEO4J_PASSWORD=password
uv run scp-cli scan ./repos --export neo4j
Commands
Command
Description
scp-cli validate <path>
Validate SCP files
scp-cli scan <path>
Scan local directory
scp-cli scan-github <org>
Scan GitHub org
scp-cli transform <json>
Transform JSON to other formats
scp-cli version
Show version
Export Formats
JSON: Graph with nodes/edges arrays
Mermaid: Flowchart diagram with tier styling
C4: PlantUML C4 Container diagram with domain boundaries