콘텐츠로 이동

4-Layer Model

Bonie의 4-Layer Model은 범용(L1) → 팀 규칙(L2) → 스택 지식(L3) → 페르소나(L4) 순서로 구체성이 증가하며, 상위 레이어가 하위를 보완/수정한다.

Why this structure

단일 레이어에 모든 규칙, 지식, 판단을 넣으면 관심사가 섞이고 유지보수가 어려워진다. 범용성 축으로 4개 레이어를 분리하면 각 레이어를 독립적으로 발전시킬 수 있고, 우선순위 기반 충돌 해결이 자연스럽다.

System view

graph BT
    L1["L1: Primitives\n'어떤 프로젝트든 이렇게 해'"] --> L2["L2: Team Rules\n'우리 팀은 이렇게 해'"]
    L2 --> L3["L3: Stack Skills\n'TypeScript에서는 이렇게 해'"]
    L3 --> L4["L4: Lead Persona\n'내가 너라면 이렇게 하겠어'"]

    style L1 fill:#e3f2fd
    style L2 fill:#fff3e0
    style L3 fill:#e8f5e9
    style L4 fill:#f3e5f5

우선순위: L4 > L3 > L2 > L1

Components

L1: Primitives

  • Responsibility — 프로젝트/스택 무관 공통 워크플로우
  • Claude Code mechanism — skills (/bonie:init, /todo:plan) + hooks (SessionStart, PostToolUse)
  • Pluginsbonie, todo
  • Dependencies — 없음

L2: Team Rules

  • Responsibility — luxtra 공통 컨벤션, 코드 스타일, 의사결정 패턴
  • Claude Code mechanism.claude/rules/ (세션 시작 시 로드 또는 path glob 매칭)
  • Subdivisions:
  • guides/ — 코딩 가이드라인, path-specific rules 지원
    • project/ — 프로젝트별 동적 규칙
  • Dependencies — L1 (.claude/ 구조)

L3: Stack Skills

  • Responsibility — 언어/프레임워크/인프라별 전문 지식
  • Claude Code mechanism — plugin skills (user-invocable: false, paths glob)
  • Categorieslang/, devops/, git/, design/, security/
  • Dependencies — L1 (primitives), 카테고리 간 교차 의존 금지

L4: Lead Persona

  • Responsibility — 테크리드의 판단 기준, 리뷰 스타일, 멘토링 방식
  • Claude Code mechanism — custom agent (bonie-lead) with memory: project
  • Modes — Code Reviewer, Decision Advisor, Team Mentor
  • Dependencies — L1~L3 정보를 종합

Interactions

레이어 간 보완 예시

sequenceDiagram
    participant L1 as L1: Primitives
    participant L2 as L2: Team Rules
    participant L3 as L3: Stack Skills
    participant L4 as L4: Lead Persona

    Note over L1: "TODO.md에 task를 작성하라"
    Note over L2: "task 설명은 한국어로 작성"
    Note over L3: "TypeScript 프로젝트는 type 정의 task를 먼저 배치"
    Note over L4: "이 task는 오버엔지니어링이야, 더 간단하게"

    L1->>L2: 워크플로우 구조 제공
    L2->>L3: 팀 규칙 위에 스택 지식 적용
    L3->>L4: 기술 맥락 위에 판단 적용

충돌 해결 정책

Conflict Resolution
L2 규칙 vs L3 skill 지식 L3 우선 (스택 특화 > 팀 범용)
L3 스택 A vs L3 스택 B path glob으로 분리 (충돌 자체 방지)
L4 판단 vs L2 규칙 L4 우선 (의도적 override 가능)
L1 워크플로우 구조 override 불가 (TODO.md 포맷, .claude/ 구조 고정)
L1 동작 세부사항 상위 레이어가 확장 가능

Trade-offs

Benefit Cost
각 레이어 독립 발전 가능 4개 레이어의 관계를 이해해야 함
우선순위 기반 충돌 해결이 명확 어느 레이어에 넣을지 판단 필요
path glob으로 자연스러운 스코핑 glob 설계가 정밀해야 함

Constraints

  • L1 워크플로우 구조 (TODO.md 포맷, .claude/ 디렉토리 구조)는 다른 레이어가 override 불가
  • L3 카테고리 플러그인은 다른 카테고리에 의존 불가
  • L4 페르소나 agent는 plugin agent 제약 적용 (hooks, mcpServers, permissionMode 미지원)

See also