@tienne/gestalt 0.33.1 → 0.33.3

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/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tienne/gestalt",
3
- "version": "0.33.1",
3
+ "version": "0.33.3",
4
4
  "description": "TypeScript AI Development Harness - Gestalt psychology-driven requirement clarification",
5
5
  "type": "module",
6
6
  "main": "./dist/src/index.js",
@@ -61,24 +61,27 @@ voice 모델을 따른다. 초안 작성 후 반드시 [`../technical-writer/ref
61
61
  **쓰지 말 것 (Claude artifact — 실제 어투 아님):** `c:`/`r:` 접두어, `[출처]` 대괄호 태깅,
62
62
  "…권장." 체언 종지. authentic 코퍼스 1,300건에 "권장"은 0건이다.
63
63
 
64
- ### Humanize 처리 — AI-tell 제거
64
+ ### Humanize 처리 — AI-tell 제거 + 음차 교정
65
65
 
66
- 코멘트 초안을 작성한 뒤 반드시 아래 패턴을 점검하고 교정한다. `humanize-monolith` 에이전트의 S1(심각) 규칙을 준수한다.
66
+ 코멘트 초안을 작성한 뒤 AI-tell을 점검·교정한다. 교정 규칙의 SoT는
67
+ [`../technical-writer/references/ai-tell-quick-rules.md`](../technical-writer/references/ai-tell-quick-rules.md)이며,
68
+ 인라인 코멘트엔 특히 다음을 적용한다.
67
69
 
68
70
  **제거할 패턴 (S1 — 반드시 교정)**
69
71
 
70
72
  | 패턴 | 예시 | 교정 |
71
73
  |------|------|------|
72
- | 번역투 "~를 통해" | "이 방식을 통해 해결 가능합니다" | "이 방식으로 해결할 수 있습니다" |
73
- | 결산 피벗 | "결론적으로", "요약하자면", "정리하면" | 삭제 후 직결 |
74
+ | 번역투(A) "~를 통해" | "이 방식을 통해 해결 가능합니다" | "이 방식으로 해결할 수 있습니다" |
75
+ | 결산 피벗(D) | "결론적으로", "요약하자면", "정리하면" | 삭제 후 직결 |
74
76
  | AI 의인화 주어 | "이 코드는 ~를 수행합니다" | "~합니다" / 주어 생략 |
75
- | 과도한 헤징 | "~일 있을 같습니다" | "~입니다" / "~입니다" |
76
- | 불필요한 존댓말 강조 | "~해주시면 감사하겠습니다" | "~하세요" / "~을 권장합니다" |
77
+ | 음차(B-3) | "소스 오브 트루스", "룩 앤 필" 등 안 굳어진 음차 | 한글 의역 + 첫 등장만 원어 병기 |
77
78
 
78
- **유지할 패턴**
79
- - 기술 용어(N+1, null, race condition 등)는 영어 그대로
80
- - 수치·파일명·함수명·에러 메시지 원문 보존
81
- - 코드 스니펫 내용 변형 금지
79
+ > 헤징·존댓말은 교정 대상이 **아니다**. 제안형 "~것 같아요"와 정중한 부탁은 리뷰어 voice이므로 깎지 않는다(아래 "깎지 말 것" 참조). "권장."도 쓰지 않는다(Claude artifact).
80
+
81
+ **유지할 패턴 (원문 보존)**
82
+ - 기술 용어(N+1, null, race condition 등)·영어 약어는 영어 그대로
83
+ - **굳어진 음차 화이트리스트**(컴포넌트·토큰·렌더링·모달·트레이드오프 등 정착어)는 그대로 둔다 — ai-tell-quick-rules.md 참조
84
+ - 수치·파일명·함수명·에러 메시지·코드 스니펫 변형 금지
82
85
 
83
86
  **깎지 말 것 (중요) — 이건 AI-tell이 아니라 리뷰어의 진짜 voice다**
84
87
 
@@ -127,15 +127,16 @@ git diff {target}...HEAD # 실제 diff (핵심 변경만)
127
127
  - 취소: description 텍스트만 출력하고 종료
128
128
  ```
129
129
 
130
- 생성 시 heredoc 패턴으로 실행합니다. **PR 작성자 자신을 어사인**하기 위해 `--assignee @me`를 항상 포함합니다:
130
+ 생성 시 heredoc 패턴으로 실행합니다. **PR 작성자 자신을 어사인**하기 위해 `--assignee @me`를 항상 포함합니다. 명령 앞에 `GESTALT_PR=1` 표식을 붙입니다 (raw `gh pr create`를 가로채는 PreToolUse 훅이 이 스킬의 호출은 통과시키도록 하는 우회 표식):
131
131
 
132
132
  ```bash
133
- gh pr create --assignee @me --title "..." --body "$(cat <<'EOF'
133
+ GESTALT_PR=1 gh pr create --assignee @me --title "..." --body "$(cat <<'EOF'
134
134
  {description 내용}
135
135
  EOF
136
136
  )"
137
137
  ```
138
138
 
139
+ - `GESTALT_PR=1`은 환경변수 형태의 표식일 뿐 동작에 영향을 주지 않습니다. 이미 gestalt:pr 플로우 안이므로 PR 생성 확인 프롬프트가 중복되지 않게 해줍니다.
139
140
  - `@me`는 `gh`에 인증된 현재 사용자를 가리키므로, PR이 생성되면 작성자 본인이 자동으로 assignee로 지정됩니다.
140
141
  - 어사인이 실패해도(권한·레포 설정 등) PR 생성 자체는 막지 않습니다. 실패 시 PR 생성 후 `gh pr edit {prUrl} --add-assignee @me`로 재시도합니다.
141
142
 
@@ -176,7 +176,11 @@ ges_execute {
176
176
 
177
177
  `ges_agent { action: "get", name: "humanize-monolith" }`로 에이전트 시스템 프롬프트를 가져온 뒤, 해당 관점에서 리포트를 윤문합니다. 이슈 내용(severity·file·line·message)은 수정하지 않고, 설명 문장의 어투만 자연스럽게 다듬습니다.
178
178
 
179
- 이때 윤문 대상은 리뷰어가 말하는 글이므로 `../../role-agents/technical-writer/references/author-voice.md`의 작성자 voice를 적용합니다. 제안형 어투("~하는 게 좋을 것 같아요/어떨까요?"), 온기·물결·이모지(코멘트당 1개 안팎)보존하고, `c:`/`r:` 접두어·`[출처]` 태깅·"…권장." 체언 종지(Claude artifact)는 쓰지 않습니다.
179
+ humanize-monolith 룰북을 함께 적용합니다.
180
+ - **어투**: `../../role-agents/technical-writer/references/author-voice.md` — 제안형("~하는 게 좋을 것 같아요/어떨까요?"), 온기·물결·이모지(코멘트당 1개 안팎)는 보존하고, `c:`/`r:` 접두어·`[출처]` 태깅·"…권장." 체언 종지(Claude artifact)는 쓰지 않습니다.
181
+ - **음차·AI-tell**: `../../role-agents/technical-writer/references/ai-tell-quick-rules.md` — 안 굳어진 음차("소스 오브 트루스" 등)는 한글 의역하되, 굳어진 화이트리스트(컴포넌트·토큰·렌더링·트레이드오프 등)는 그대로 둡니다.
182
+
183
+ 즉 리뷰 파이프라인 리포트도 인라인 코멘트와 동일하게 voice + 음차가 함께 처리됩니다.
180
184
 
181
185
  윤문된 리포트를 사용자에게 표시합니다:
182
186
  - `approved: true` → 리뷰 통과. 리포트를 보여주고 종료합니다.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tienne/gestalt",
3
- "version": "0.33.1",
3
+ "version": "0.33.3",
4
4
  "description": "TypeScript AI Development Harness - Gestalt psychology-driven requirement clarification",
5
5
  "type": "module",
6
6
  "main": "./dist/src/index.js",
@@ -61,24 +61,27 @@ voice 모델을 따른다. 초안 작성 후 반드시 [`../technical-writer/ref
61
61
  **쓰지 말 것 (Claude artifact — 실제 어투 아님):** `c:`/`r:` 접두어, `[출처]` 대괄호 태깅,
62
62
  "…권장." 체언 종지. authentic 코퍼스 1,300건에 "권장"은 0건이다.
63
63
 
64
- ### Humanize 처리 — AI-tell 제거
64
+ ### Humanize 처리 — AI-tell 제거 + 음차 교정
65
65
 
66
- 코멘트 초안을 작성한 뒤 반드시 아래 패턴을 점검하고 교정한다. `humanize-monolith` 에이전트의 S1(심각) 규칙을 준수한다.
66
+ 코멘트 초안을 작성한 뒤 AI-tell을 점검·교정한다. 교정 규칙의 SoT는
67
+ [`../technical-writer/references/ai-tell-quick-rules.md`](../technical-writer/references/ai-tell-quick-rules.md)이며,
68
+ 인라인 코멘트엔 특히 다음을 적용한다.
67
69
 
68
70
  **제거할 패턴 (S1 — 반드시 교정)**
69
71
 
70
72
  | 패턴 | 예시 | 교정 |
71
73
  |------|------|------|
72
- | 번역투 "~를 통해" | "이 방식을 통해 해결 가능합니다" | "이 방식으로 해결할 수 있습니다" |
73
- | 결산 피벗 | "결론적으로", "요약하자면", "정리하면" | 삭제 후 직결 |
74
+ | 번역투(A) "~를 통해" | "이 방식을 통해 해결 가능합니다" | "이 방식으로 해결할 수 있습니다" |
75
+ | 결산 피벗(D) | "결론적으로", "요약하자면", "정리하면" | 삭제 후 직결 |
74
76
  | AI 의인화 주어 | "이 코드는 ~를 수행합니다" | "~합니다" / 주어 생략 |
75
- | 과도한 헤징 | "~일 있을 같습니다" | "~입니다" / "~입니다" |
76
- | 불필요한 존댓말 강조 | "~해주시면 감사하겠습니다" | "~하세요" / "~을 권장합니다" |
77
+ | 음차(B-3) | "소스 오브 트루스", "룩 앤 필" 등 안 굳어진 음차 | 한글 의역 + 첫 등장만 원어 병기 |
77
78
 
78
- **유지할 패턴**
79
- - 기술 용어(N+1, null, race condition 등)는 영어 그대로
80
- - 수치·파일명·함수명·에러 메시지 원문 보존
81
- - 코드 스니펫 내용 변형 금지
79
+ > 헤징·존댓말은 교정 대상이 **아니다**. 제안형 "~것 같아요"와 정중한 부탁은 리뷰어 voice이므로 깎지 않는다(아래 "깎지 말 것" 참조). "권장."도 쓰지 않는다(Claude artifact).
80
+
81
+ **유지할 패턴 (원문 보존)**
82
+ - 기술 용어(N+1, null, race condition 등)·영어 약어는 영어 그대로
83
+ - **굳어진 음차 화이트리스트**(컴포넌트·토큰·렌더링·모달·트레이드오프 등 정착어)는 그대로 둔다 — ai-tell-quick-rules.md 참조
84
+ - 수치·파일명·함수명·에러 메시지·코드 스니펫 변형 금지
82
85
 
83
86
  **깎지 말 것 (중요) — 이건 AI-tell이 아니라 리뷰어의 진짜 voice다**
84
87
 
@@ -127,15 +127,16 @@ git diff {target}...HEAD # 실제 diff (핵심 변경만)
127
127
  - 취소: description 텍스트만 출력하고 종료
128
128
  ```
129
129
 
130
- 생성 시 heredoc 패턴으로 실행합니다. **PR 작성자 자신을 어사인**하기 위해 `--assignee @me`를 항상 포함합니다:
130
+ 생성 시 heredoc 패턴으로 실행합니다. **PR 작성자 자신을 어사인**하기 위해 `--assignee @me`를 항상 포함합니다. 명령 앞에 `GESTALT_PR=1` 표식을 붙입니다 (raw `gh pr create`를 가로채는 PreToolUse 훅이 이 스킬의 호출은 통과시키도록 하는 우회 표식):
131
131
 
132
132
  ```bash
133
- gh pr create --assignee @me --title "..." --body "$(cat <<'EOF'
133
+ GESTALT_PR=1 gh pr create --assignee @me --title "..." --body "$(cat <<'EOF'
134
134
  {description 내용}
135
135
  EOF
136
136
  )"
137
137
  ```
138
138
 
139
+ - `GESTALT_PR=1`은 환경변수 형태의 표식일 뿐 동작에 영향을 주지 않습니다. 이미 gestalt:pr 플로우 안이므로 PR 생성 확인 프롬프트가 중복되지 않게 해줍니다.
139
140
  - `@me`는 `gh`에 인증된 현재 사용자를 가리키므로, PR이 생성되면 작성자 본인이 자동으로 assignee로 지정됩니다.
140
141
  - 어사인이 실패해도(권한·레포 설정 등) PR 생성 자체는 막지 않습니다. 실패 시 PR 생성 후 `gh pr edit {prUrl} --add-assignee @me`로 재시도합니다.
141
142
 
@@ -176,7 +176,11 @@ ges_execute {
176
176
 
177
177
  `ges_agent { action: "get", name: "humanize-monolith" }`로 에이전트 시스템 프롬프트를 가져온 뒤, 해당 관점에서 리포트를 윤문합니다. 이슈 내용(severity·file·line·message)은 수정하지 않고, 설명 문장의 어투만 자연스럽게 다듬습니다.
178
178
 
179
- 이때 윤문 대상은 리뷰어가 말하는 글이므로 `../../role-agents/technical-writer/references/author-voice.md`의 작성자 voice를 적용합니다. 제안형 어투("~하는 게 좋을 것 같아요/어떨까요?"), 온기·물결·이모지(코멘트당 1개 안팎)보존하고, `c:`/`r:` 접두어·`[출처]` 태깅·"…권장." 체언 종지(Claude artifact)는 쓰지 않습니다.
179
+ humanize-monolith 룰북을 함께 적용합니다.
180
+ - **어투**: `../../role-agents/technical-writer/references/author-voice.md` — 제안형("~하는 게 좋을 것 같아요/어떨까요?"), 온기·물결·이모지(코멘트당 1개 안팎)는 보존하고, `c:`/`r:` 접두어·`[출처]` 태깅·"…권장." 체언 종지(Claude artifact)는 쓰지 않습니다.
181
+ - **음차·AI-tell**: `../../role-agents/technical-writer/references/ai-tell-quick-rules.md` — 안 굳어진 음차("소스 오브 트루스" 등)는 한글 의역하되, 굳어진 화이트리스트(컴포넌트·토큰·렌더링·트레이드오프 등)는 그대로 둡니다.
182
+
183
+ 즉 리뷰 파이프라인 리포트도 인라인 코멘트와 동일하게 voice + 음차가 함께 처리됩니다.
180
184
 
181
185
  윤문된 리포트를 사용자에게 표시합니다:
182
186
  - `approved: true` → 리뷰 통과. 리포트를 보여주고 종료합니다.