@simplysm/sd-claude 14.0.100 → 14.0.102
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.
- package/claude/references/sd-simplysm14/README.md +2 -0
- package/claude/references/sd-simplysm14/apis/angular/crud.md +6 -4
- package/claude/references/sd-simplysm14/apis/angular/features.md +7 -2
- package/claude/references/sd-simplysm14/apis/sd-cli/sd-config-types.md +1 -1
- package/claude/references/sd-simplysm14/apis/service-server/README.md +10 -5
- package/claude/references/sd-simplysm14/manuals/client-app-structure.md +19 -1
- package/claude/references/sd-simplysm14/manuals/client-component.md +35 -3
- package/claude/references/sd-simplysm14/manuals/client-crud.md +31 -4
- package/claude/references/sd-simplysm14/manuals/client-demo.md +2 -2
- package/claude/references/sd-simplysm14/manuals/client-orm.md +1 -0
- package/claude/references/sd-simplysm14/manuals/client-print.md +134 -0
- package/claude/references/sd-simplysm14/manuals/client-shared-data.md +21 -2
- package/claude/references/sd-simplysm14/manuals/client-system-config.md +66 -0
- package/claude/references/sd-simplysm14/manuals/orm.md +1 -1
- package/claude/rules/sd-design-rules.md +28 -22
- package/claude/sd-system-prompt.md +292 -384
- package/claude/settings.json +4 -1
- package/claude/skills/sd-demo/SKILL.md +2 -0
- package/claude/skills/sd-dev/SKILL.md +1 -1
- package/claude/skills/sd-docs/SKILL.md +1 -1
- package/claude/skills/sd-docs/references/subagent-prompt.md +8 -10
- package/claude/skills/sd-impl/SKILL.md +3 -1
- package/claude/skills/sd-spec/SKILL.md +7 -7
- package/claude/skills/sd-spec/references/format.md +1 -1
- package/package.json +1 -1
package/claude/settings.json
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
{
|
|
2
|
-
"defaultShell": "powershell",
|
|
3
2
|
"hooks": {
|
|
4
3
|
"PreToolUse": [
|
|
5
4
|
{
|
|
@@ -42,8 +41,12 @@
|
|
|
42
41
|
}
|
|
43
42
|
]
|
|
44
43
|
},
|
|
44
|
+
"defaultShell": "powershell",
|
|
45
45
|
"statusLine": {
|
|
46
46
|
"type": "command",
|
|
47
47
|
"command": "python .claude/sd-statusline.py"
|
|
48
|
+
},
|
|
49
|
+
"enabledPlugins": {
|
|
50
|
+
"frontend-design@claude-plugins-official": true
|
|
48
51
|
}
|
|
49
52
|
}
|
|
@@ -31,6 +31,8 @@ disable-model-invocation: true
|
|
|
31
31
|
|
|
32
32
|
누락된 입력이 있으면 사용자에게 묻기. spec.md 사용 시 식별자 매칭이 안 되면 "화면"(§4) 섹션의 화면 목록 표에서 후보 제시 후 확정.
|
|
33
33
|
|
|
34
|
+
**입력 spec.md 완독** (spec.md 사용 시): 대상 화면 항목만 추출하기 전 spec.md 를 처음부터 끝까지 Read — 부분 읽기(`offset`/`limit`)·grep 으로 §4 대상 화면만 보고 끝내지 않음. 다른 세션이 §10 본문 외 확정 사항·본문 인라인 `[OPEN]`·진행방법 NOTE 에 그 화면 관련 결정·제약을 남겼을 수 있어, 추측으로 덮어쓰지 않으려면 전체 완독이 전제임.
|
|
35
|
+
|
|
34
36
|
**충돌 확인**: 대상 화면(또는 동반 모달 화면) 의 파일이 이미 존재하면 묻기 — ① 덮어쓰기 / ② 명세 변경분만 보강 / ③ 취소. 호출자 발화에 명시된 분기가 있으면 묻지 않고 그 분기로 진행.
|
|
35
37
|
|
|
36
38
|
### 2단계: 대상 화면 명세 확보
|
|
@@ -184,6 +184,6 @@ subagent 출력을 받은 후 분류별로 처리:
|
|
|
184
184
|
|
|
185
185
|
### 7단계: 검증
|
|
186
186
|
|
|
187
|
-
산출물이 브라우저 시연이 필요한 화면·UI 이면 사용자에게 dev 서버 실행을
|
|
187
|
+
산출물이 브라우저 시연이 필요한 화면·UI 이면 사용자에게 dev 서버 실행을 요청해 주소를 회신받은 뒤 브라우저 자동화 도구(`playwright-cli`)로 합의된 동작 시나리오를 시연. 회귀 발견 시 4단계로 회귀 → 수정 → 재시연.
|
|
188
188
|
|
|
189
189
|
그 외(라이브러리·CLI·내부 모듈·서버 함수)는 단위 테스트 통과로 회귀 점검. CLI 면 실제 명령 실행 결과 확인을 더함.
|
|
@@ -27,7 +27,7 @@ model: haiku
|
|
|
27
27
|
|
|
28
28
|
`public 리스트` 의 패키지 수만큼 `general-purpose` subagent 호출을 **단일 메시지 안에서 병렬**로 보냄. 각 호출 프롬프트는 [references/subagent-prompt.md](references/subagent-prompt.md) 본문을 그대로 사용하고, `<패키지명>` 과 `<패키지 디렉토리>` 와 `<매뉴얼 인덱스>` 를 치환.
|
|
29
29
|
|
|
30
|
-
- `<매뉴얼 인덱스>`: `.claude/references/sd-simplysm14/README.md` 의 "개발 매뉴얼" 섹션(트리거 표) 본문을 그대로 추출해 주입. 모든 subagent 에 동일 값. subagent 가 자기 패키지에 걸리는 매뉴얼을 골라
|
|
30
|
+
- `<매뉴얼 인덱스>`: `.claude/references/sd-simplysm14/README.md` 의 "개발 매뉴얼" 섹션(트리거 표) 본문을 그대로 추출해 주입. 모든 subagent 에 동일 값. subagent 가 자기 패키지에 걸리는 매뉴얼을 골라 api→매뉴얼 링크로 연결하는 데 사용.
|
|
31
31
|
|
|
32
32
|
각 subagent 의 산출 (풀 재작성 모드 — 기존 파일 참고 없이 처음부터 작성):
|
|
33
33
|
|
|
@@ -13,20 +13,19 @@
|
|
|
13
13
|
|
|
14
14
|
타입 시그니처에서 직접 드러나지 않는 사용 패턴을 보강해야 하면 위 4개 소스 안에서만 추론.
|
|
15
15
|
|
|
16
|
-
개발 매뉴얼은 **내용 근거가 아니라
|
|
16
|
+
개발 매뉴얼은 **내용 근거가 아니라 사용법 링크 대상**으로만 사용 (다음 "1.1. 매뉴얼 링크" 참조). 매뉴얼 본문을 API 문서로 복사·보강하는 것은 금지.
|
|
17
17
|
|
|
18
|
-
### 1.1. 매뉴얼
|
|
18
|
+
### 1.1. 매뉴얼 링크 (사용법은 매뉴얼로 연결)
|
|
19
19
|
|
|
20
|
-
API
|
|
20
|
+
사용법·사용 예는 API 문서에 적지 않고, `manuals/` 의 해당 매뉴얼로 링크(api → 매뉴얼).
|
|
21
21
|
|
|
22
22
|
- 입력으로 주입된 매뉴얼 트리거 표:
|
|
23
23
|
|
|
24
24
|
<매뉴얼 인덱스>
|
|
25
25
|
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
- **우선순위**: 시그니처·동작의 진실 근거는 코드. 코드와 매뉴얼이 시그니처·동작에서 어긋나면 코드가 우선이며, 이 경우 매뉴얼 패턴을 따르지 않고 코드대로 적음.
|
|
26
|
+
- 위 표에서 **이 패키지의 심볼·기능에 걸리는 트리거**의 매뉴얼을, 해당 심볼·군 항목 옆에 상대경로 링크로 연결 (예: `사용법: [orm.md](../../manuals/orm.md)`).
|
|
27
|
+
- 걸리는 매뉴얼이 없으면 링크 생략. 매뉴얼 본문을 API 문서로 복사하지 않음 (링크만).
|
|
28
|
+
- **금지**: 매뉴얼 → API 로의 역링크. sd-docs 는 `manuals/` 를 절대 수정하지 않음 (읽기 전용).
|
|
30
29
|
|
|
31
30
|
## 2. 사용 트리거 군 분류
|
|
32
31
|
|
|
@@ -67,7 +66,7 @@ entry 의 export 심볼들을 "한 작업 컨텍스트에서 함께 참조될
|
|
|
67
66
|
|
|
68
67
|
## <인라인 군 이름 1>
|
|
69
68
|
|
|
70
|
-
각 심볼별로 짧은 시그니처 + 옵션·prop·필드·enum literal(열거형 리터럴 값) 1줄
|
|
69
|
+
각 심볼별로 짧은 시그니처 + 옵션·prop·필드·enum literal(열거형 리터럴 값) 1줄 풀이를 작성. 본질적으로 큰 군이라 분할된 경우 이 섹션은 두지 않고, 위 인덱스에서 `자세히:` 링크로 안내.
|
|
71
70
|
```
|
|
72
71
|
|
|
73
72
|
**식별자 풀이 의무**: 시그니처에 나오는 옵션·prop·필드·enum literal 각각에 1줄 풀이 부착. 풀이 구성 = `<무엇을 함>` + (enum/boolean 인 경우) `<값별 동작 차이>` + `<언제 쓰는지 단서 1조각>`. 단 각 조각은 §7 의 검증 게이트를 통과한 것만 기재 — 근거 못 대는 조각은 지어내지 말고 생략. 이름만 콤마로 나열하고 끝내는 형식 금지(최소 타입·리터럴 값은 기재).
|
|
@@ -96,7 +95,7 @@ inputs: selectMode, autoSelect: "click"|"focus", useAutoSort, focusMode: "row"|"
|
|
|
96
95
|
|
|
97
96
|
## <심볼>
|
|
98
97
|
|
|
99
|
-
시그니처, 옵션·prop·필드·enum literal 1줄 풀이(위 "식별자 풀이 의무" 와 동일 적용),
|
|
98
|
+
시그니처, 옵션·prop·필드·enum literal 1줄 풀이(위 "식별자 풀이 의무" 와 동일 적용), 주의사항.
|
|
100
99
|
```
|
|
101
100
|
|
|
102
101
|
## 7. 작성 원칙
|
|
@@ -105,7 +104,6 @@ inputs: selectMode, autoSelect: "click"|"focus", useAutoSort, focusMode: "row"|"
|
|
|
105
104
|
- **코드 본문에 드러난 동작은 JSDoc 이 없어도 기재**. 옵션·prop·필드·enum literal 의 동작을 본문(분기·기본값·사용처) 에서 추론해 풀이.
|
|
106
105
|
- **검증 게이트 (추측 절대 금지)**: 풀이의 각 조각(`무엇을 함`·`값별 동작 차이`·`언제 쓰는지`)은 §1 의 4개 소스 안 **특정 위치**(시그니처·분기·기본값·사용처·JSDoc·테스트)를 근거로 댈 수 있을 때만 기재. 근거 못 대는 조각은 지어내지 말고 그 조각만 생략. 코드에 없는 동작·기본값·권장 시나리오를 자명하다고 단정해 메우는 것 = 추측, 금지.
|
|
107
106
|
- **식별자만 나열 금지** — 위 "식별자 풀이 의무" 강제. 이름을 콤마로 나열하고 끝내지 말 것(최소 타입·리터럴 값 기재). enum literal 의 값별 동작·boolean 토글 효과·함수형 prop 호출 시점은 검증 게이트를 통과하면 반드시 풀이하고, 코드로 확인 불가하면 그 조각만 생략.
|
|
108
|
-
- 사용 예는 실제 호출 코드 형태로 1~3줄 분량, 군마다 1개 가량.
|
|
109
107
|
- 분량을 늘리기 위한 부연·중복·꾸밈 금지. 단, 식별자 풀이는 "분량 늘리기" 가 아니라 필수 정보로 취급 — 풀이 생략을 통한 분량 절약 금지.
|
|
110
108
|
|
|
111
109
|
## 8. 구조화 결과 반환
|
|
@@ -29,6 +29,8 @@ spec.md 단위(§4.x 화면 / §5.x 자동 처리 / §6.x 공통·기반 기능)
|
|
|
29
29
|
|
|
30
30
|
없으면 묻기. spec.md 에서 식별자 매칭이 안 되면 §4 화면 목록 표 / §5 자동 처리 / §6 공통·기반 기능 헤더 목록에서 후보를 제시 후 확정.
|
|
31
31
|
|
|
32
|
+
**입력 spec.md 완독**: 경로·식별자 확보 후 spec.md 를 처음부터 끝까지 Read — 부분 읽기(`offset`/`limit`)·grep 으로 대상 § 만 보고 끝내지 않음. spec.md 는 다른 세션이 누적한 결정의 영속 산출물이라, 안 읽은 영역(특히 §10 본문 외 확정 사항·본문 인라인 `[OPEN]`·진행방법 NOTE)의 결정·제약을 추측으로 덮어쓰지 않으려면 전체 완독이 전제임.
|
|
33
|
+
|
|
32
34
|
### 2단계: 외부 입력 점검
|
|
33
35
|
|
|
34
36
|
작업 대상 §4.x/§5.x/§6.x 와 작업 대상이 참조하는 §5/§6/§7/§8/§9 항목을 점검:
|
|
@@ -248,7 +250,7 @@ subagent 출력을 받은 후 분류별로 처리:
|
|
|
248
250
|
|
|
249
251
|
사용자에게 요청: "**dev 서버**를 실행하고 접속 주소를 알려달라."
|
|
250
252
|
|
|
251
|
-
|
|
253
|
+
사용자가 띄워 주소를 회신할 때까지 대기. 사용자가 본 단계의 스킵을 지시하거나 시연 불가 환경이 명시되면 본 단계 스킵 후 9단계 진입.
|
|
252
254
|
|
|
253
255
|
주소 회신 후 `playwright-cli` 로 §4.x/§5.x/§6.x 동작 시나리오를 직접 시연:
|
|
254
256
|
|
|
@@ -122,6 +122,8 @@ sd-spec init 배치의 spec ↔ 코드 단위 대조를 수행해줘.
|
|
|
122
122
|
|
|
123
123
|
초안 배치·init 배치(신규 spec.md 작성) 외의 모든 지시는 SKILL.md 가 메인 에이전트로 직접 처리. 재진입(기존 spec.md 에 대한 추가 작업 — "설계만 다시"·재설계 포함)도 이 경로.
|
|
124
124
|
|
|
125
|
+
**입력 spec.md 완독**: 기존 spec.md 에 대한 작업이므로, 어떤 부분 수정이든 착수 전 spec.md 를 처음부터 끝까지 Read — 부분 읽기(`offset`/`limit`)·grep 으로 대상 § 만 보고 끝내지 않음. 다른 세션이 §10 본문 외 확정 사항·본문 인라인 `[OPEN]`·진행방법 NOTE 에 누적한 결정·제약을 추측으로 덮어쓰지 않기 위한 전제임.
|
|
126
|
+
|
|
125
127
|
- **정밀 지시** ("§4.2 의 X 컬럼을 Y로", "이 항목 [OPEN] 으로") → 바로 Edit. 무관 섹션은 건드리지 않음 (일괄 치환 금지 — Edit 의 `old_string` 을 유일 매칭되게 좁혀서 수정).
|
|
126
128
|
- **모호 지적** ("이 섹션 이상해", "여기 흐름이 안 맞아") → 무엇이 문제인지 진단을 먼저 제시 → 사용자 합의 → Edit. 추측으로 바로 고치지 않음.
|
|
127
129
|
- **구조 변경** (병합·분할·추가: "A 화면과 B 화면을 합쳐", "이 프로세스를 둘로 나눠") → 이름 기반 참조 cascade:
|
|
@@ -132,18 +134,16 @@ sd-spec init 배치의 spec ↔ 코드 단위 대조를 수행해줘.
|
|
|
132
134
|
|
|
133
135
|
### §4~6 `[구현]` 마커 제거
|
|
134
136
|
|
|
135
|
-
§4.x/§5.x/§6.x
|
|
137
|
+
§4.x/§5.x/§6.x 본문이나 그 본문이 의존하는 § 를 수정했을 때, 그 §4~6 헤더의 `[구현]` 마커를 제거할지 판정. sd-spec 부분 수정·sd-impl spec 수정 양쪽이 따르는 단일 출처(sd-impl 은 지금 재구현 중인 본 단위는 제외).
|
|
136
138
|
|
|
137
|
-
**의존 식별** — §4.x/§5.x/§6.x 본문에
|
|
139
|
+
**의존 식별** — §4.x/§5.x/§6.x 본문에 다음이 나타나면 그 §의 의존 대상:
|
|
138
140
|
|
|
139
141
|
- `관련 섹션:` 줄의 `[프로세스.X]`·`[기타.X]`·`[화면.X]`·`[자동 처리.X]`·`[기반.X]`·`[외부 인터페이스.X]`.
|
|
140
|
-
- 본문
|
|
141
|
-
- §7 외부 자료 명세를 컬럼명 일치로 끌어다 쓴 양식 매핑 표
|
|
142
|
+
- 본문 어디든 등장하는 `[모델.X…]`·`[공통 정의.X]`.
|
|
143
|
+
- §7 외부 자료 명세를 컬럼명 일치로 끌어다 쓴 양식 매핑 표(해당 §7.x).
|
|
142
144
|
- 모달 호출 `→ [화면.X]` 의 그 §4.x.
|
|
143
145
|
|
|
144
|
-
수정
|
|
145
|
-
|
|
146
|
-
**합의** — 영향 §4.x/§5.x/§6.x 를 번호 매겨 각각 한 줄 이유와 묶어 "맞나요?" 합의 → 전체 동의 일괄 제거 / 일부 유지 지목 시 지목 항목만 마커 유지.
|
|
146
|
+
**판정·보고** — 그 수정 때문에 §4~6 의 구현을 새로 만들거나 고쳐야 하면 제거(sd-impl 재실행 대기), 구현 변경 없이 spec 과 맞는 문서상 변경(문구·참조 정리 등)이면 유지. 기능 추가도 구현을 고쳐야 하므로 제거 — 직접·의존 수정 구분이 아니라 구현 변경 필요 여부로만 판정. 에이전트가 영향 §4~6 마다 판정해 결과만 보고하고, 불분명한 항목만 번호·한 줄 이유로 합의.
|
|
147
147
|
|
|
148
148
|
### 연산 사이 검토
|
|
149
149
|
|
|
@@ -213,7 +213,7 @@ sub-section 헤더 레벨은 `## spec.md 형식` 의 "sub-section 헤더 레벨"
|
|
|
213
213
|
5컬럼 구조: `§ | 분류 | 화면 | 유형 | 장치`.
|
|
214
214
|
|
|
215
215
|
- 분류: 도메인 묶음·메뉴 그룹의 자유 명칭 (예: `기준정보`·`입고`·`재고`).
|
|
216
|
-
- 유형: 마스터 / 트랜잭션 / 조회 중 택1.
|
|
216
|
+
- 유형: 마스터 / 트랜잭션 / 조회 / 기타 중 택1. (`기타` = CRUD 세 유형에 안 맞는 비업무 화면 — 레이아웃 셸·개발 도구 등)
|
|
217
217
|
- 장치: PC / PDA / 기타 중 택1.
|
|
218
218
|
- 화면이 추가·제거되면 표도 함께 갱신. 같은 분류끼리 인접 배치.
|
|
219
219
|
|