Skip to main content

c4-architecture-modeling

Standards for modeling and rendering software architecture using Simon Brown's C4 Model and standard Mermaid.js C4 syntax.

소스 정보

저장소
dandgabr/autodoc
최근 소스 활동
2026년 9월 8일 16:33
감지된 SKILL.md 언어
영어
스타
1
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
c4-architecture-modeling
description
Standards for modeling and rendering software architecture using Simon Brown's C4 Model and standard Mermaid.js C4 syntax.
metadata
{"type":"modeling","phase":"design"}
# C4 Architecture Modeling Skill This skill defines the technical standards for visual software architecture documentation based on the **C4 Model** (Context, Containers, Components, Code) using official **Mermaid.js C4 syntax**. --- ## 1. Abstraction Levels 1. **Level 1: System Context (`C4Context`)**: - Focus: System scope, human users/personas, external third-party software, and high-level boundaries. 2. **Level 2: Containers (`C4Container`)**: - Focus: Separately deployable executable units (APIs, workers, web applications, databases, file stores). 3. **Level 3: Components (`C4Component`)**: - Focus: Modular groupings within a single container (controllers, repositories, services, analyzers). - AutoDoc dynamically derives Level 3 components directly from SQLite WAL `symbols` and `edges`, weighting high cyclomatic complexity ($CC$) modules and rendering actual internal call relationships. 4. **Level 4: Code (`C4Code` / Class Diagrams)**: - Focus: In-depth code relationships, interfaces, and design patterns. --- ## 2. Standard Mermaid.js C4 Syntax Rules All architectural diagrams must use standard Mermaid C4 directives: ### System Context Example (Level 1) ```mermaid C4Context title System Context Diagram Person(user, "User", "Interacts with the client application.") System(app, "Core System", "Primary application service.") System_Ext(external_api, "Third-Party API", "External data provider.") Rel(user, app, "Uses", "HTTPS") Rel(app, external_api, "Fetches data", "REST / JSON") ``` ### Container Diagram Example (Level 2) ```mermaid C4Container title Container Architecture Diagram Person(developer, "Developer", "Submits requests via IDE.") Container_Boundary(b1, "System Boundary") { Container(api, "API Service", "TypeScript", "Handles incoming JSON-RPC calls.") Container(engine, "Core Engine", "Rust", "Processes compute-intensive operations.") ContainerDb(db, "Database", "SQLite WAL", "Persists indices and graph edges.") } Rel(developer, api, "Invokes tools", "stdio") Rel(api, engine, "Dispatches tasks", "Node-API FFI") Rel(engine, db, "Reads & writes", "SQL / r2d2") ``` --- ## 3. Diagram Quality Checklist 1. **Explicit Roles & Types**: Every element must define an identifier, a descriptive label, and its role. 2. **Documented Technologies**: Container and component elements must declare their primary runtime or language. 3. **Action-Oriented Relationships**: Every `Rel()` directive must state a descriptive action verb and the transport protocol.
GitHub에서 보기