@simplysm/sd-claude 14.0.43 → 14.0.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -339,6 +339,49 @@ export class SomePage implements OnInit {
339
339
  - constructor 내 `void this._init()` 같은 수동 호출 패턴 **금지** — ngOnInit이 이미 같은 역할
340
340
  - `resource()` / `httpResource()`는 데이터 로딩 → signal 매핑 용도. 사이드이펙트(라우팅, toast 등) 포함 초기화에는 사용하지 않는다
341
341
 
342
+ ## 소비 프로젝트 네이밍 규칙
343
+
344
+ `@simplysm/angular`를 소비하는 앱 프로젝트에서의 파일명·클래스명 규칙이다.
345
+ 파일명은 **kebab-case + dot-suffix**, 클래스명은 **PascalCase**를 따른다.
346
+
347
+ | 접미어 | 조건 | 파일명 예시 | 클래스명 예시 |
348
+ |--------|------|-------------|---------------|
349
+ | `.sheet.ts` / `*Sheet` | `SdDataSheetBase` 상속 | `outbound-instruction.sheet.ts` | `OutboundInstructionSheet` |
350
+ | `.detail.ts` / `*Detail` | `SdDataDetailBase` 상속 | `outbound-instruction.detail.ts` | `OutboundInstructionDetail` |
351
+ | `.view.ts` / `*View` | sheet/detail 아닌 병합 컴포넌트 + route 연결 | `dashboard.view.ts` | `DashboardView` |
352
+ | `.modal.ts` / `*Modal` | 모달 전용 컴포넌트 | `item-select.modal.ts` | `ItemSelectModal` |
353
+ | `.provider.ts` / `*Provider` | `@Injectable` 클래스 (**`*Service` 금지**) | `app-service.provider.ts` | `AppServiceProvider` |
354
+ | 접미어 없음 | route 미연결 일반 컨트롤 컴포넌트 | `instruction-item.ts` | `InstructionItem` |
355
+
356
+ - `pipe`, `directive` 등 기타 Angular 구성요소는 `@simplysm/angular` 패키지 자체의 네이밍 패턴(`.pipe.ts`, `.directive.ts`)을 따른다
357
+
358
+ ## 소비 프로젝트 디렉토리 구조
359
+
360
+ ```
361
+ src/
362
+ ├── app/ # 라우팅 페이지 (사이드바 메뉴 트리 구조와 대응)
363
+ │ ├── login/
364
+ │ └── home/
365
+ │ ├── {메뉴-그룹}/ # 사이드바 메뉴 그룹
366
+ │ │ └── {도메인}/ # 개별 도메인 (트리 깊이 제한 없음)
367
+ │ │ ├── {도메인}.view.ts # route 연결 병합 컴포넌트
368
+ │ │ ├── {도메인}.sheet.ts # SdDataSheetBase 상속
369
+ │ │ ├── {도메인}.detail.ts # SdDataDetailBase 상속
370
+ │ │ ├── {이름}.modal.ts # 도메인 전용 모달
371
+ │ │ └── {이름}.ts # 일반 컨트롤 (route 미연결)
372
+ │ └── main/
373
+ ├── controls/ # 앱 공유 컨트롤 컴포넌트
374
+ ├── directives/ # 앱 공유 디렉티브
375
+ ├── modals/ # 앱 전역 공통 모달
376
+ ├── providers/ # 앱 전역 프로바이더
377
+ ├── types/ # 타입 정의
378
+ └── utils/ # 유틸리티
379
+ ```
380
+
381
+ - `app/` 하위 트리는 사이드바 메뉴 구조와 거의 대응된다
382
+ - **배치 기준은 "어느 도메인에 소속되는가"**이다. provider, modal, directive, print-template, util 등 모든 종류의 파일이 소속 도메인 폴더 안에 배치된다 (다른 도메인에서 import하여 사용하는 것은 자유)
383
+ - 특정 도메인에 소속되지 않는 공통 파일만 `src/` 직하의 `controls/`, `modals/`, `providers/` 등에 배치한다
384
+
342
385
  ## inject 네이밍 컨벤션
343
386
 
344
387
  `Sd*Provider`를 `inject()`할 때 변수명은 다음 규칙을 따른다:
@@ -1,6 +1,6 @@
1
1
  # sd-simplysm14: @simplysm v14 소비앱 가이드
2
2
 
3
- 소비앱이 `@simplysm/*` v14를 사용할 때 적용되는 규칙.
3
+ 소비앱이 `@simplysm/*` v14를 사용할 때 적용되는 지침 및 사용법.
4
4
 
5
5
  ## 중간 패키지(common) 불필요
6
6
 
@@ -82,8 +82,9 @@
82
82
  # @simplysm 패키지 참조
83
83
 
84
84
  - `@simplysm/*` 패키지 사용 시, `.claude/references/sd-simplysm{메이저버전}.md`를 읽고 해당 패키지의 문서 경로를 찾아 읽는다.
85
+ - 해당 문서에는 지침 및 사용법이 기록되어 있다.
85
86
  - 주의사항: 해당 패키지의 `CLAUDE.md`를 읽는것이 아니다.
86
- - simplysm 패키지의 경우 context7은 구버전일 수 있으니 사용을 지양한다
87
+ - simplysm 패키지의 경우 context7은 구버전일 수 있으니 사용을 지양한다.
87
88
 
88
89
  # 프로젝트 경계
89
90
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simplysm/sd-claude",
3
- "version": "14.0.43",
3
+ "version": "14.0.44",
4
4
  "description": "심플리즘 패키지 - Claude Code 셋업",
5
5
  "author": "심플리즘",
6
6
  "license": "Apache-2.0",