@simplysm/sd-claude 14.0.89 → 14.0.90

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.
Files changed (79) hide show
  1. package/claude/references/sd-simplysm14/README.md +16 -17
  2. package/claude/references/sd-simplysm14/apis/angular/README.md +52 -30
  3. package/claude/references/sd-simplysm14/apis/angular/controls.md +200 -38
  4. package/claude/references/sd-simplysm14/apis/angular/crud.md +41 -53
  5. package/claude/references/sd-simplysm14/apis/angular/directives.md +66 -22
  6. package/claude/references/sd-simplysm14/apis/angular/features.md +127 -40
  7. package/claude/references/sd-simplysm14/apis/angular/infra.md +60 -43
  8. package/claude/references/sd-simplysm14/apis/angular/layout.md +56 -20
  9. package/claude/references/sd-simplysm14/apis/angular/overlay.md +74 -74
  10. package/claude/references/sd-simplysm14/apis/angular/routing-appstructure.md +50 -40
  11. package/claude/references/sd-simplysm14/apis/angular/selection-managers.md +55 -15
  12. package/claude/references/sd-simplysm14/apis/angular/shared-data.md +59 -42
  13. package/claude/references/sd-simplysm14/apis/angular/sheet.md +77 -62
  14. package/claude/references/sd-simplysm14/apis/capacitor-plugin-auto-update/README.md +8 -7
  15. package/claude/references/sd-simplysm14/apis/capacitor-plugin-file-system/README.md +71 -43
  16. package/claude/references/sd-simplysm14/apis/capacitor-plugin-intent/README.md +22 -14
  17. package/claude/references/sd-simplysm14/apis/capacitor-plugin-usb-storage/README.md +19 -19
  18. package/claude/references/sd-simplysm14/apis/core-browser/README.md +17 -17
  19. package/claude/references/sd-simplysm14/apis/core-browser/dom-element.md +28 -28
  20. package/claude/references/sd-simplysm14/apis/core-browser/indexed-db.md +37 -37
  21. package/claude/references/sd-simplysm14/apis/core-common/README.md +87 -219
  22. package/claude/references/sd-simplysm14/apis/core-common/array-ext.md +54 -98
  23. package/claude/references/sd-simplysm14/apis/core-common/async-runtime.md +57 -99
  24. package/claude/references/sd-simplysm14/apis/core-common/datetime.md +60 -103
  25. package/claude/references/sd-simplysm14/apis/core-common/errors.md +42 -47
  26. package/claude/references/sd-simplysm14/apis/core-common/obj.md +42 -88
  27. package/claude/references/sd-simplysm14/apis/core-common/serialization.md +55 -0
  28. package/claude/references/sd-simplysm14/apis/core-node/README.md +6 -7
  29. package/claude/references/sd-simplysm14/apis/core-node/consola.md +17 -12
  30. package/claude/references/sd-simplysm14/apis/core-node/cpx.md +14 -13
  31. package/claude/references/sd-simplysm14/apis/core-node/fs-watcher.md +9 -8
  32. package/claude/references/sd-simplysm14/apis/core-node/fsx.md +14 -13
  33. package/claude/references/sd-simplysm14/apis/core-node/pathx.md +4 -8
  34. package/claude/references/sd-simplysm14/apis/core-node/worker.md +14 -12
  35. package/claude/references/sd-simplysm14/apis/excel/README.md +22 -22
  36. package/claude/references/sd-simplysm14/apis/excel/cell.md +37 -29
  37. package/claude/references/sd-simplysm14/apis/excel/conditional-format.md +29 -15
  38. package/claude/references/sd-simplysm14/apis/excel/style.md +33 -27
  39. package/claude/references/sd-simplysm14/apis/excel/utils.md +29 -19
  40. package/claude/references/sd-simplysm14/apis/excel/workbook-worksheet.md +78 -55
  41. package/claude/references/sd-simplysm14/apis/excel/wrapper.md +42 -45
  42. package/claude/references/sd-simplysm14/apis/orm-common/README.md +6 -8
  43. package/claude/references/sd-simplysm14/apis/orm-common/db-context.md +118 -67
  44. package/claude/references/sd-simplysm14/apis/orm-common/expr.md +83 -86
  45. package/claude/references/sd-simplysm14/apis/orm-common/queryable.md +102 -93
  46. package/claude/references/sd-simplysm14/apis/orm-common/schema.md +138 -81
  47. package/claude/references/sd-simplysm14/apis/orm-common/types.md +49 -44
  48. package/claude/references/sd-simplysm14/apis/orm-node/README.md +42 -42
  49. package/claude/references/sd-simplysm14/apis/orm-node/db-conn.md +44 -33
  50. package/claude/references/sd-simplysm14/apis/sd-cli/README.md +11 -10
  51. package/claude/references/sd-simplysm14/apis/service-client/README.md +56 -52
  52. package/claude/references/sd-simplysm14/apis/service-client/orm.md +33 -28
  53. package/claude/references/sd-simplysm14/apis/service-client/transport.md +23 -21
  54. package/claude/references/sd-simplysm14/apis/service-common/README.md +83 -48
  55. package/claude/references/sd-simplysm14/apis/service-common/app-structure.md +126 -34
  56. package/claude/references/sd-simplysm14/apis/service-common/protocol.md +109 -54
  57. package/claude/references/sd-simplysm14/apis/service-server/README.md +69 -81
  58. package/claude/references/sd-simplysm14/apis/service-server/service-authoring.md +46 -43
  59. package/claude/references/sd-simplysm14/apis/service-server/transport-internals.md +63 -37
  60. package/claude/references/sd-simplysm14/apis/service-server/v1-legacy.md +40 -30
  61. package/claude/references/sd-simplysm14/apis/storage/README.md +17 -17
  62. package/claude/references/sd-simplysm14/manuals/client-app-structure.md +142 -140
  63. package/claude/references/sd-simplysm14/manuals/client-orm.md +1 -1
  64. package/claude/references/sd-simplysm14/manuals/client-service.md +19 -7
  65. package/claude/references/sd-simplysm14/manuals/client-shared-data.md +2 -2
  66. package/claude/references/sd-simplysm14/manuals/client-system-log.md +11 -3
  67. package/claude/references/sd-simplysm14/manuals/data-log.md +0 -1
  68. package/claude/references/sd-simplysm14/manuals/orm.md +16 -0
  69. package/claude/rules/sd-design-rules.md +10 -0
  70. package/claude/skills/sd-demo/SKILL.md +0 -6
  71. package/claude/skills/sd-docs/SKILL.md +58 -0
  72. package/claude/{workflows/sd-docs.rules.md → skills/sd-docs/references/subagent-prompt.md} +103 -103
  73. package/claude/skills/sd-impl/SKILL.md +7 -4
  74. package/claude/skills/sd-spec/SKILL.md +842 -15
  75. package/claude/skills/sd-spec/references/example-spec.md +26 -36
  76. package/package.json +1 -1
  77. package/claude/references/sd-simplysm14/apis/core-common/json-transfer.md +0 -53
  78. package/claude/skills/sd-spec/references/spec-authoring.md +0 -519
  79. package/claude/workflows/sd-docs.js +0 -84
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: sd-docs
3
+ description: `@simplysm/*` 라이브러리 패키지의 API 문서를 `.claude/references/sd-simplysm14/apis/<패키지명>/` 위치에 사용 트리거 기준으로 작성·갱신. Use when 라이브러리 API 문서를 새로 작성하거나 코드 변경을 반영해 갱신할 때.
4
+ model: haiku
5
+ ---
6
+
7
+ # sd-docs
8
+
9
+ `@simplysm/*` 라이브러리 패키지의 API 문서를 코드를 근거로 작성·갱신. 메인 에이전트가 패키지 목록 추출과 상위 README 인덱스 갱신을 담당하고, 패키지별 문서 작성은 패키지 1개당 subagent 1개를 호출해 병렬 위임.
10
+
11
+ ## 산출물 위치
12
+
13
+ - `.claude/references/sd-simplysm14/apis/<패키지명>/README.md` — 패키지당 1개, 필수.
14
+ - `.claude/references/sd-simplysm14/apis/<패키지명>/<군명>.md` — 사용 트리거 군이 커서 README 한 장에 풀어쓰면 같은 README 의 다른 군 정보까지 함께 읽혀 부담이 커지는 경우에만 분할 산출.
15
+ - `.claude/references/sd-simplysm14/README.md` 의 "패키지 인덱스" 섹션 — 메인 에이전트가 갱신.
16
+
17
+ ## 워크플로
18
+
19
+ ### 1. 패키지 목록 추출
20
+
21
+ 워크스페이스 루트의 `packages/*/package.json` 을 모두 읽어 다음 두 리스트를 만듦.
22
+
23
+ - **public 리스트**: `private: true` 가 아닌 패키지. 각 항목 = `{ name, dir }`.
24
+ - **private 리스트**: `private: true` 인 패키지. 인덱스에서 제외하기 위해 보관.
25
+
26
+ ### 2. 패키지별 subagent 병렬 호출
27
+
28
+ `public 리스트` 의 패키지 수만큼 `general-purpose` subagent 호출을 **단일 메시지 안에서 병렬**로 보냄. 각 호출 프롬프트는 [references/subagent-prompt.md](references/subagent-prompt.md) 양식의 "프롬프트" 마커 아래 본문을 그대로 사용하고, `<PACKAGE_NAME>` 과 `<PACKAGE_DIR>` 만 치환.
29
+
30
+ 각 subagent 의 산출 (풀 재작성 모드 — 기존 파일 참고 없이 처음부터 작성):
31
+
32
+ - `apis/<패키지명>/README.md` 재작성.
33
+ - 필요 시 `apis/<패키지명>/<군명>.md` 재작성. 코드에서 사라진 군의 파일은 삭제.
34
+ - 결과 보고 1단락 (산출 파일 목록, 분할 발생 여부, 한 줄 트리거 요약).
35
+
36
+ **범위 한정**: subagent 는 `apis/<패키지명>/` 위치만 다룸. 상위 `.claude/references/sd-simplysm14/README.md` 는 건드리지 않음 (다음 단계의 "패키지 인덱스 섹션 갱신" 에서 메인 에이전트가 처리).
37
+
38
+ ### 3. 상위 README 의 "패키지 인덱스" 섹션 갱신 (파일 보존 + 섹션 내 항목만 갱신)
39
+
40
+ `.claude/references/sd-simplysm14/README.md` 는 **풀 재작성 대상 아님**. 파일 본문·다른 섹션은 그대로 보존, "패키지 인덱스" 섹션의 항목 리스트만 재구성함.
41
+
42
+ 모든 subagent 완료 후:
43
+
44
+ - **갱신 대상**: "패키지 인덱스" 섹션 본문(항목 리스트)만.
45
+ - **건드리지 않음**: 섹션 머리(`## 패키지 인덱스`), 다른 모든 섹션, 파일 상단/하단 텍스트.
46
+ - **항목 형식**: `- **<패키지명>** — <한 줄 트리거 요약>. 자세히: [apis/<패키지명>/README.md](./apis/<패키지명>/README.md)`.
47
+ - **순서**: 패키지명 알파벳순.
48
+ - **포함**: `public 리스트` 만.
49
+ - **제외**: `private 리스트` 의 패키지, 코드베이스에 더 이상 존재하지 않는 패키지.
50
+
51
+ ### 4. 사용자 보고
52
+
53
+ 다음 항목을 짧게 정리해 출력함.
54
+
55
+ - 재작성된 패키지 목록 (= `public 리스트` 전체. 풀 재작성 모드 — 매번 모든 패키지 산출).
56
+ - 분할 발생(`<군명>.md` 가 생긴) 패키지 목록.
57
+ - 삭제된 분할 파일 (코드에서 사라진 군, 있다면).
58
+ - 인덱스에서 제거된 항목 (있다면).
@@ -1,103 +1,103 @@
1
- # API 문서 작성 규칙 (sd-docs)
2
-
3
- 패키지 1개의 API 문서를 작성·갱신할 때 따르는 규칙. 산출 자리는 `.claude/references/sd-simplysm14/apis/<패키지명>/` (`<패키지명>` = `@simplysm/` 접두사 제외한 짧은 이름. 예: `@simplysm/foo` → `apis/foo/`).
4
-
5
- ## 1. 입력 분석
6
-
7
- 다음만 진실 근거로 사용 — 외부 자료·과거 git 기록·다른 패키지의 사용처는 참조 금지.
8
-
9
- - `<패키지 디렉토리>/src/index.ts` 의 export — **entry 시작점**. 여기서 노출된 심볼만 문서 대상.
10
- - 위 entry 가 재노출하는 각 심볼의 정의 파일(타입 시그니처 + 본문).
11
- - 위 정의 파일 또는 동일 패키지 안의 다른 파일에 달린 JSDoc 주석.
12
- - `tests/` 디렉토리 중 해당 패키지를 import 해 검증하는 테스트 코드 (존재할 경우에만).
13
-
14
- 타입 시그니처에서 직접 드러나지 않는 사용 패턴을 보강해야 하면 위 4개 소스 안에서만 추론.
15
-
16
- ## 2. 사용 트리거 군 분류
17
-
18
- entry 의 export 심볼들을 "한 작업 컨텍스트에서 함께 참조될 군"으로 묶음. 예: 에러 처리 군, 값 타입 군, 큐/이벤트 군. 분류 기준은 폴더 구조나 심볼 종류가 아니라 **사용 시점**(언제 같이 읽힐 것인가) 기준.
19
-
20
- 군이 모호하거나 작아 트리거가 1~2개뿐인 심볼은 별도 군을 만들지 말고 README 의 공통 인라인 섹션에 배치.
21
-
22
- ## 3. 산출 단위 판정
23
-
24
- 기본은 `README.md` 1장. 다음 조건을 **모두** 만족하는 군만 별도 `<군명>.md` 로 분할.
25
-
26
- - 해당 군의 사용법·주의사항을 README 에 풀어쓰면, 무관한 다른 컨텍스트 정보까지 같이 끌려나와 다른 작업 시점에서 읽기 부담이 커지는 경우.
27
- - 해당 군 단독으로 사용 예·시그니처·주의가 합쳐 8줄 이상 필요한 경우.
28
-
29
- 위 조건을 만족하지 않으면 README 안에 유지.
30
-
31
- ## 4. 풀 재작성 모드 (범위: `apis/<패키지명>/` 자리만)
32
-
33
- - 기존 `apis/<패키지명>/README.md` 와 분할 `<군명>.md` 가 있어도 **참고하지 않고 처음부터 작성**. 코드 + 본 문서의 형식 규칙(아래 README 형식·분할 .md 형식·작성 원칙) 만을 진실 근거로 삼음.
34
- - 기존 파일 내용·표현 보존 시도 금지. 규칙 변경(예: 식별자 풀이 의무) 이 자동 반영되도록 매번 패키지별 산출물(README + 분할 `<군명>.md`) 을 다시 작성.
35
- - 결과적으로 코드가 변경되지 않은 패키지도 표현이 달라질 수 있음 — 정상.
36
- - 코드에서 사라진 군의 분할 파일은 삭제.
37
- - **범위 밖**: 상위 `.claude/references/sd-simplysm14/README.md` 는 건드리지 말 것 (인덱스 섹션은 취합 단계에서 별도 처리).
38
-
39
- ## 5. README.md 형식
40
-
41
- 각 패키지의 `apis/<패키지명>/README.md` 는 다음 구조를 따름. H1 은 `# @simplysm/<short-name>` 형식으로 고정.
42
-
43
- ```markdown
44
- # @simplysm/<short-name>
45
-
46
- <패키지 한 줄 개요>
47
-
48
- ## 사용 트리거 인덱스
49
-
50
- - **<심볼 또는 군 이름>** — <언제·어떤 작업에서 쓰는지 1줄>. (분할된 군이면 `자세히: [<군명>.md](./<군명>.md)`)
51
- - ...
52
-
53
- ## <인라인 군 이름 1>
54
-
55
- 각 심볼별로 짧은 시그니처 + 옵션·prop·필드·enum literal(열거형 리터럴 값) 1줄 풀이 + 즉시 사용 가능한 사용법을 작성. 본질적으로 큰 군이라 분할된 경우 이 섹션은 두지 않고, 위 인덱스에서 `자세히:` 링크로 안내.
56
- ```
57
-
58
- **식별자 풀이 의무**: 시그니처에 나오는 옵션·prop·필드·enum literal 각각에 1줄 풀이 부착. 풀이 구성 = `<무엇을 함>` + (enum/boolean 인 경우) `<값별 동작 차이>` + `<언제 쓰는지 단서 1조각>`. 이름만 나열하는 형식 금지.
59
-
60
- 예 (나쁨/좋음):
61
-
62
- ```
63
- [나쁨]
64
- inputs: selectMode, autoSelect: "click"|"focus", useAutoSort, focusMode: "row"|"cell"
65
-
66
- [좋음]
67
- - selectMode: "single"|"multi" — 행 선택 모드. 미지정 시 선택 비활성. 다중 선택 화면이면 "multi".
68
- - autoSelect: "click"|"focus" — 자동 선택 트리거. "click" = 클릭 시 선택, "focus" = 키보드 포커스 이동만으로도 선택. 키보드 위주 화면이면 "focus".
69
- - useAutoSort: boolean — 클라이언트 정렬. true 면 sorts 변경 시 items 를 sd-sheet 가 직접 정렬. 서버측 정렬(페이징 포함)이면 false 로 두고 외부에서 items 재조회.
70
- - focusMode: "row"|"cell" — 키보드 포커스 단위. "row" = 행 전체 이동, "cell" = 셀 단위 이동. 셀 편집·복사 화면이면 "cell".
71
- ```
72
-
73
- ## 6. 분할 .md 형식
74
-
75
- `<군명>.md` 는 다음 구조를 따름. H1 은 `# @simplysm/<short-name> — <군명>` 형식.
76
-
77
- ```markdown
78
- # @simplysm/<short-name> — <군명>
79
-
80
- <군 개요 1~2줄: 언제 같이 읽히는 묶음인지>
81
-
82
- ## <심볼>
83
-
84
- 시그니처, 옵션·prop·필드·enum literal 1줄 풀이(위 "식별자 풀이 의무" 와 동일 적용), 사용 예, 주의사항.
85
- ```
86
-
87
- ## 7. 작성 원칙
88
-
89
- - 산출물의 소비자는 Claude 에이전트. 사람 가독성보다 에이전트가 즉시 따를 수 있는 간결·명확성이 우선.
90
- - **코드 본문에 드러난 동작은 JSDoc 이 없어도 기재**. 옵션·prop·필드·enum literal 의 동작을 본문(분기·기본값·사용처) 에서 추론해 풀이. 단, 본문에서 확인 불가한 외부 추측·미검증 동작은 기재 금지.
91
- - **식별자만 나열 금지** — 위 "식별자 풀이 의무" 강제. 이름을 콤마로 나열하고 끝내지 말 것. 자명해 보여도 enum literal 의 값별 동작, boolean 의 토글 효과, 함수형 prop 의 호출 시점은 반드시 풀이.
92
- - 사용 예는 실제 호출 코드 형태로 1~3줄 분량, 군마다 1개 가량.
93
- - 분량을 늘리기 위한 부연·중복·꾸밈 금지. 단, 식별자 풀이는 "분량 늘리기" 가 아니라 필수 정보로 취급 — 풀이 생략을 통한 분량 절약 금지.
94
-
95
- ## 8. 구조화 결과 반환
96
-
97
- 작성·갱신을 마치면 다음 항목을 구조화해 반환 (상위 README 인덱스 취합·사용자 보고에 사용).
98
-
99
- - `shortName`: `@simplysm/` 제외한 짧은 이름.
100
- - `mode`: 신규 작성인지 갱신인지.
101
- - `writtenFiles`: 산출·갱신한 파일 목록 (README + 분할 `.md` 모두).
102
- - `deletedFiles`: 삭제한 파일 목록 (코드에서 사라진 군, 없으면 빈 목록).
103
- - `triggerSummary`: 패키지의 한 줄 트리거 요약 (상위 README 인덱스에 옮겨 적을 문장).
1
+ # API 문서 작성 규칙 (sd-docs)
2
+
3
+ 패키지 1개의 API 문서를 작성·갱신할 때 따르는 규칙. 산출 자리는 `.claude/references/sd-simplysm14/apis/<패키지명>/` (`<패키지명>` = `@simplysm/` 접두사 제외한 짧은 이름. 예: `@simplysm/foo` → `apis/foo/`).
4
+
5
+ ## 1. 입력 분석
6
+
7
+ 다음만 진실 근거로 사용 — 외부 자료·과거 git 기록·다른 패키지의 사용처는 참조 금지.
8
+
9
+ - `<패키지 디렉토리>/src/index.ts` 의 export — **entry 시작점**. 여기서 노출된 심볼만 문서 대상.
10
+ - 위 entry 가 재노출하는 각 심볼의 정의 파일(타입 시그니처 + 본문).
11
+ - 위 정의 파일 또는 동일 패키지 안의 다른 파일에 달린 JSDoc 주석.
12
+ - `tests/` 디렉토리 중 해당 패키지를 import 해 검증하는 테스트 코드 (존재할 경우에만).
13
+
14
+ 타입 시그니처에서 직접 드러나지 않는 사용 패턴을 보강해야 하면 위 4개 소스 안에서만 추론.
15
+
16
+ ## 2. 사용 트리거 군 분류
17
+
18
+ entry 의 export 심볼들을 "한 작업 컨텍스트에서 함께 참조될 군"으로 묶음. 예: 에러 처리 군, 값 타입 군, 큐/이벤트 군. 분류 기준은 폴더 구조나 심볼 종류가 아니라 **사용 시점**(언제 같이 읽힐 것인가) 기준.
19
+
20
+ 군이 모호하거나 작아 트리거가 1~2개뿐인 심볼은 별도 군을 만들지 말고 README 의 공통 인라인 섹션에 배치.
21
+
22
+ ## 3. 산출 단위 판정
23
+
24
+ 기본은 `README.md` 1장. 다음 조건을 **모두** 만족하는 군만 별도 `<군명>.md` 로 분할.
25
+
26
+ - 해당 군의 사용법·주의사항을 README 에 풀어쓰면, 무관한 다른 컨텍스트 정보까지 같이 끌려나와 다른 작업 시점에서 읽기 부담이 커지는 경우.
27
+ - 해당 군 단독으로 사용 예·시그니처·주의가 합쳐 8줄 이상 필요한 경우.
28
+
29
+ 위 조건을 만족하지 않으면 README 안에 유지.
30
+
31
+ ## 4. 풀 재작성 모드 (범위: `apis/<패키지명>/` 자리만)
32
+
33
+ - 기존 `apis/<패키지명>/README.md` 와 분할 `<군명>.md` 가 있어도 **참고하지 않고 처음부터 작성**. 코드 + 본 문서의 형식 규칙(아래 README 형식·분할 .md 형식·작성 원칙) 만을 진실 근거로 삼음.
34
+ - 기존 파일 내용·표현 보존 시도 금지. 규칙 변경(예: 식별자 풀이 의무) 이 자동 반영되도록 매번 패키지별 산출물(README + 분할 `<군명>.md`) 을 다시 작성.
35
+ - 결과적으로 코드가 변경되지 않은 패키지도 표현이 달라질 수 있음 — 정상.
36
+ - 코드에서 사라진 군의 분할 파일은 삭제.
37
+ - **범위 밖**: 상위 `.claude/references/sd-simplysm14/README.md` 는 건드리지 말 것 (인덱스 섹션은 취합 단계에서 별도 처리).
38
+
39
+ ## 5. README.md 형식
40
+
41
+ 각 패키지의 `apis/<패키지명>/README.md` 는 다음 구조를 따름. H1 은 `# @simplysm/<short-name>` 형식으로 고정.
42
+
43
+ ```markdown
44
+ # @simplysm/<short-name>
45
+
46
+ <패키지 한 줄 개요>
47
+
48
+ ## 사용 트리거 인덱스
49
+
50
+ - **<심볼 또는 군 이름>** — <언제·어떤 작업에서 쓰는지 1줄>. (분할된 군이면 `자세히: [<군명>.md](./<군명>.md)`)
51
+ - ...
52
+
53
+ ## <인라인 군 이름 1>
54
+
55
+ 각 심볼별로 짧은 시그니처 + 옵션·prop·필드·enum literal(열거형 리터럴 값) 1줄 풀이 + 즉시 사용 가능한 사용법을 작성. 본질적으로 큰 군이라 분할된 경우 이 섹션은 두지 않고, 위 인덱스에서 `자세히:` 링크로 안내.
56
+ ```
57
+
58
+ **식별자 풀이 의무**: 시그니처에 나오는 옵션·prop·필드·enum literal 각각에 1줄 풀이 부착. 풀이 구성 = `<무엇을 함>` + (enum/boolean 인 경우) `<값별 동작 차이>` + `<언제 쓰는지 단서 1조각>`. 이름만 나열하는 형식 금지.
59
+
60
+ 예 (나쁨/좋음):
61
+
62
+ ```
63
+ [나쁨]
64
+ inputs: selectMode, autoSelect: "click"|"focus", useAutoSort, focusMode: "row"|"cell"
65
+
66
+ [좋음]
67
+ - selectMode: "single"|"multi" — 행 선택 모드. 미지정 시 선택 비활성. 다중 선택 화면이면 "multi".
68
+ - autoSelect: "click"|"focus" — 자동 선택 트리거. "click" = 클릭 시 선택, "focus" = 키보드 포커스 이동만으로도 선택. 키보드 위주 화면이면 "focus".
69
+ - useAutoSort: boolean — 클라이언트 정렬. true 면 sorts 변경 시 items 를 sd-sheet 가 직접 정렬. 서버측 정렬(페이징 포함)이면 false 로 두고 외부에서 items 재조회.
70
+ - focusMode: "row"|"cell" — 키보드 포커스 단위. "row" = 행 전체 이동, "cell" = 셀 단위 이동. 셀 편집·복사 화면이면 "cell".
71
+ ```
72
+
73
+ ## 6. 분할 .md 형식
74
+
75
+ `<군명>.md` 는 다음 구조를 따름. H1 은 `# @simplysm/<short-name> — <군명>` 형식.
76
+
77
+ ```markdown
78
+ # @simplysm/<short-name> — <군명>
79
+
80
+ <군 개요 1~2줄: 언제 같이 읽히는 묶음인지>
81
+
82
+ ## <심볼>
83
+
84
+ 시그니처, 옵션·prop·필드·enum literal 1줄 풀이(위 "식별자 풀이 의무" 와 동일 적용), 사용 예, 주의사항.
85
+ ```
86
+
87
+ ## 7. 작성 원칙
88
+
89
+ - 산출물의 소비자는 Claude 에이전트. 사람 가독성보다 에이전트가 즉시 따를 수 있는 간결·명확성이 우선.
90
+ - **코드 본문에 드러난 동작은 JSDoc 이 없어도 기재**. 옵션·prop·필드·enum literal 의 동작을 본문(분기·기본값·사용처) 에서 추론해 풀이. 단, 본문에서 확인 불가한 외부 추측·미검증 동작은 기재 금지.
91
+ - **식별자만 나열 금지** — 위 "식별자 풀이 의무" 강제. 이름을 콤마로 나열하고 끝내지 말 것. 자명해 보여도 enum literal 의 값별 동작, boolean 의 토글 효과, 함수형 prop 의 호출 시점은 반드시 풀이.
92
+ - 사용 예는 실제 호출 코드 형태로 1~3줄 분량, 군마다 1개 가량.
93
+ - 분량을 늘리기 위한 부연·중복·꾸밈 금지. 단, 식별자 풀이는 "분량 늘리기" 가 아니라 필수 정보로 취급 — 풀이 생략을 통한 분량 절약 금지.
94
+
95
+ ## 8. 구조화 결과 반환
96
+
97
+ 작성·갱신을 마치면 다음 항목을 구조화해 반환 (상위 README 인덱스 취합·사용자 보고에 사용).
98
+
99
+ - `shortName`: `@simplysm/` 제외한 짧은 이름.
100
+ - `mode`: 신규 작성인지 갱신인지.
101
+ - `writtenFiles`: 산출·갱신한 파일 목록 (README + 분할 `.md` 모두).
102
+ - `deletedFiles`: 삭제한 파일 목록 (코드에서 사라진 군, 없으면 빈 목록).
103
+ - `triggerSummary`: 패키지의 한 줄 트리거 요약 (상위 README 인덱스에 옮겨 적을 문장).
@@ -33,17 +33,20 @@ spec.md 단위(§4.x 화면 / §5.x 자동 처리 / §6.x 공통·기반 기능)
33
33
 
34
34
  작업 대상 §4.x/§5.x/§6.x 와 작업 대상이 참조하는 §5/§6/§7/§8/§9 항목을 점검:
35
35
 
36
- - **헤더 미확정(마커 없음) 섹션**: 사용자 미검토 상태 → 그대로 구현하지 않음. 해당 § 을 사용자에게 제시·검토 요청 → 확정/수정 후 `[확정]` 으로 승격 진행. 본문이 초안 없이 재분석 방법뿐이면 "spec 수정 절차" 적용.
36
+ - **헤더 `[OPEN: 날짜]` 섹션**: 본문이 재분석 포인터일 초안 부재 "spec 수정 절차" 적용.
37
37
  - **본문 인라인 `[OPEN]`**: 결정 근거가 있으면 결정. 없으면 1건씩 질문 → 답변 후 "spec 수정 절차" 적용.
38
38
  - **사용자 제공 예정 자료**: spec 본문에 사용자 회신 대기로 적힌 자료. 사용자 회신 후 진행.
39
39
  - **묵시적 모호**: 명시 마커는 없지만 spec 본문이 분기·정의·정의식·경계 케이스를 다루지 않는 부분. 4단계 분해 중 발견 가능성 높음. 발견 시 본 단계로 회귀.
40
40
 
41
41
  #### spec 수정 절차
42
42
 
43
- spec 본문 수정이 필요한 경우(인라인 `[OPEN]` 해소·미확정 섹션 확정·구조 변경·6단계 (b)(d) 분류 처리 등) 메인 LLM 이 직접 처리:
43
+ spec 본문 수정이 필요한 경우(인라인 `[OPEN]` 해소·헤더 `[OPEN]` 해소·구조 변경·6단계 (b)(d) 분류 처리 등) 메인 LLM 이 직접 처리:
44
44
 
45
- 1. **sd-spec SKILL.md Read** — 룰 인지.
46
- 2. **재분석/검토 → 확정 → spec.md Edit** sd-spec "확정 섹션 수정·구현 무효화" 룰 적용. `[확정]` 산출이므로 합의(행동 규칙) 후 헤더 `[확정: 날짜]` 부착. 수정으로 무효화되는 구현 §4.x/§5.x/§6.x (본 작업 단위 자신은 제외 — 작업 중) 의 `, 구현: …` 마커 제거를 합의 내용에 함께 올림.
45
+ 1. **sd-spec SKILL.md Read** — 룰 인지 (초안 작성 사이클·헤더 마커 형식·관련 섹션·의존 식별 룰).
46
+ 2. **초안"맞나요?" → 확정 → spec.md Edit** (sd-spec 사이클 적용).
47
+ 3. **의존 식별** — 수정된 § 항목을 의존으로 가진 §4.x/§5.x/§6.x 탐색 (sd-spec "의존 식별" 룰). 본 작업 단위 자신은 제외 (작업 중).
48
+ 4. **마커 제거** — 의존 §4.x/§5.x/§6.x 헤더의 `, 구현: YYYY-MM-DD` 부분만 제거 (이전 구현 무효화).
49
+ - 영향 단위에 번호를 매겨 사용자에게 모아서 "맞나요?" 질문 — 전체 동의 → 일괄 제거 / 일부 유지 지목 → 지목 항목 마커 유지.
47
50
 
48
51
  본 작업 단위(§4.x/§5.x/§6.x 자신)의 헤더 `[확정]` 은 9단계에서 `[확정, 구현]` 으로 확장.
49
52