@decencia/ch-cli 1.31.7 → 1.31.8

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.
@@ -3,7 +3,7 @@ name: 2t-decencia-channel-issue-coder
3
3
  description: GitHub issue 1개를 입력으로 받아 끝까지 처리하는 코딩 에이전트. 이슈 읽기 → 소통채널 spec/SQA 확인 → git worktree+브랜치에서 구현 → 자체 소프트리뷰 루프 → unittest + SQA → PR 생성 → 소통채널 workStatus·이슈 기록. 다수 병렬 실행 전제, PR까지만(머지·base 브랜치 직접 push·이슈 close는 사람).
4
4
  tools: Read, Write, Edit, Grep, Glob, Bash, Agent
5
5
  model: opus
6
- version: 1.31.7
6
+ version: 1.31.8
7
7
  ---
8
8
 
9
9
  ## 역할
@@ -3,7 +3,7 @@ name: 2t-decencia-channel-pr-merger
3
3
  description: issue-coder가 낸 PR을 기본 완전 자율로 base 브랜치(기본 브랜치 또는 sprint 통합 브랜치)에 머지하는 에이전트. 핵심 역량은 다수 병렬 worktree가 만든 충돌을 작업 의도 기반(semantic)으로 해결하는 것. CI green+충돌없음이면 바로 squash 머지, 충돌이면 의도대로 해결 후 테스트로 검증하여 머지. 재SQA·전면 재리뷰는 하지 않음. 다수 PR은 직렬 머지.
4
4
  tools: Read, Write, Edit, Grep, Glob, Bash
5
5
  model: opus
6
- version: 1.31.7
6
+ version: 1.31.8
7
7
  ---
8
8
 
9
9
  ## 역할
@@ -3,7 +3,7 @@ name: 2t-decencia-channel-terraformer
3
3
  description: 소통채널을 쓰지 않던 기존 코드베이스를 역분석하여 소통채널 프로젝트로 편입(terraforming)하는 자율 에이전트. 코드가 single source of truth — 코드를 읽어 DB 스키마 → 기능명세(spec) → PRD를 bottom-up으로 역생성한다(SQA 제외). 대량 분석은 서브에이전트 병렬, 코드로 못 메우는 의도는 [추정]으로 채우고 "사람확인 질문 리스트"를 산출물로 남긴다. PR/머지·이슈 발행은 하지 않음.
4
4
  tools: Read, Write, Edit, Grep, Glob, Bash, Agent
5
5
  model: opus
6
- version: 1.31.7
6
+ version: 1.31.8
7
7
  ---
8
8
 
9
9
  ## 역할
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decencia/ch-cli",
3
- "version": "1.31.7",
3
+ "version": "1.31.8",
4
4
  "description": "Decencia Communication Channel CLI",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -2,7 +2,7 @@
2
2
  name: 2t-decencia-channel-change-manager
3
3
  description: 기존 소통채널 프로젝트의 기능 추가/수정을 사용자와 대화로 명확화 → 전파 스킬로 연관 PRD/spec/DB/SQA 일괄 갱신 → 변경으로 생긴 새 할일을 GitHub 이슈로 발행하는 오케스트레이터 스킬. (1)대화로 변경 내용 확정 → (2)[게이트] 영향 범위 확인 후 전파 적용 → (3)[게이트] 할일 목록 확인 후 이슈 발행. "이 기능 바꿀래"·"기획 수정"·"이거 추가해줘(기존 프로젝트)" 류 요청 시.
4
4
  allowed-tools: Bash(ch:*) Bash(git:*) Bash(gh:*) Read Write
5
- version: 1.31.7
5
+ version: 1.31.8
6
6
  ---
7
7
 
8
8
  <!-- ch-version-gate -->
@@ -10,7 +10,7 @@ description: |
10
10
  (3) 명세·DB·SQA가 서로 어긋나 있는 의심이 들 때 (정합성 점검),
11
11
  (4) PRD 갱신 후 하위 spec/db/SQA로 변경분을 흘려보내야 할 때,
12
12
  (5) Sprint 진행 중 도메인 규칙·스키마가 흔들렸을 때 연쇄 갱신이 필요할 때.
13
- version: 1.31.7
13
+ version: 1.31.8
14
14
  ---
15
15
 
16
16
  <!-- ch-version-gate -->
@@ -10,7 +10,7 @@ description: |
10
10
  (4) ch screens 명령(list/get/create/update/delete/migrate)으로 화면을 다루거나 레거시 프로젝트를 화면 모드로 이관할 때,
11
11
  (5) spec의 화면 연결을 CLI로 걸거나 풀 때 (`ch specs screen-refs`),
12
12
  (6) Spec ID를 JIRA 스타일(`LOGIN-001`)로 직접 지정할 때 (`ch specs create --id`).
13
- version: 1.31.7
13
+ version: 1.31.8
14
14
  ---
15
15
 
16
16
  <!-- ch-version-gate -->
@@ -8,7 +8,7 @@ description: |
8
8
  (2) DB 테이블 단위로 컬럼·인덱스·보안규칙을 등록·수정할 때,
9
9
  (3) 새 테이블을 추가하면서 전체 인벤토리도 함께 업데이트할 때,
10
10
  (4) spec.dbTableRefs와 양방향 동기화가 필요한 작업 시.
11
- version: 1.31.7
11
+ version: 1.31.8
12
12
  ---
13
13
 
14
14
  <!-- ch-version-gate -->
@@ -2,7 +2,7 @@
2
2
  name: 2t-decencia-channel-github-issue
3
3
  description: gh CLI로 현재 repo에 GitHub 이슈를 작성한다. 이슈 1개=유형 1개(feat/fix/bug), 표준 본문 양식(작업내용·관련 명세 백링크·완료조건)으로 발행. "이슈 만들어줘"/"깃헙 이슈로 등록해줘" 요청 시, 또는 소통채널 기획·명세 작업 후 처리할 일들을 GitHub 이슈로 옮길 때 사용. 멱등성/중복방지·확인단계는 다루지 않음(요청대로 바로 생성).
4
4
  allowed-tools: Bash(gh:*) Bash(git:*) Read Write
5
- version: 1.31.7
5
+ version: 1.31.8
6
6
  ---
7
7
 
8
8
  <!-- ch-version-gate -->
@@ -2,7 +2,7 @@
2
2
  name: 2t-decencia-channel-orchestrator
3
3
  description: 소통채널 작업의 단일 진입점(디스패처). 사용자 요청을 듣고 7종(bootstrap·terraformer·change-manager·github-issue·issue-coder·pr-merger·sprint-runner) 중 적절한 곳으로 라우팅하고, 필요하면 여러 단계를 순차 오케스트레이션한다. 대화형 스킬은 메인 세션에서 Skill로, 자율 에이전트는 Agent로 위임. "소통채널 작업 해줘"·"이거 어떻게 처리하지?"처럼 무엇부터 할지 모를 때, 또는 신규기획/코드편입/기획변경/이슈/구현/머지/스프린트실행 어디로든 시작할 때.
4
4
  allowed-tools: Skill Agent Read Bash(ch:*) Bash(gh:*) Bash(git:*)
5
- version: 1.31.7
5
+ version: 1.31.8
6
6
  ---
7
7
 
8
8
  <!-- ch-version-gate -->
@@ -8,7 +8,7 @@ description: |
8
8
  (1) 정책정의서를 새로 쓰거나 수정할 때,
9
9
  (2) 유저플로우·기능명세를 검토하다 "이건 정해진 게 없다"는 질문이 나왔을 때,
10
10
  (3) 알림 발송 매트릭스·크레딧 지급 기준·타임아웃 처리 같은 횡단 정책을 정리할 때.
11
- version: 1.31.7
11
+ version: 1.31.8
12
12
  ---
13
13
 
14
14
  <!-- ch-version-gate -->
@@ -7,7 +7,7 @@ description: |
7
7
  (1) PRD를 작성하거나 갱신할 때,
8
8
  (2) PRD 구성에서 Epic/스토리 구조를 후속 spec 작성에 매핑할 때,
9
9
  (3) Read-before-Write 규칙으로 PRD content를 안전하게 수정해야 할 때.
10
- version: 1.31.7
10
+ version: 1.31.8
11
11
  ---
12
12
 
13
13
  <!-- ch-version-gate -->
@@ -2,7 +2,7 @@
2
2
  name: 2t-decencia-channel-project-bootstrap
3
3
  description: 신규 기획을 사용자와 대화하며 step-by-step으로 소통채널 프로젝트로 만드는 오케스트레이터 스킬. (1)대화로 PRD 완성 → (2)기능명세(spec) 내용 확정 → (3)spec 업로드 → (4)유저플로우 → (5)정책정의서 → (6)DB 스키마·spec 연결 → (7)화면설계서(화면 생성·연결) → (8)검증기준서(SQA). 각 단계 사용자 승인 게이트, 작성 디테일은 기존 2t-decencia-channel-*-v2 스킬을 적극 재사용. "새 기획 만들어줘"·"프로젝트 처음부터 세팅" 류 요청 시.
4
4
  allowed-tools: Bash(ch:*) Bash(git:*) Read Write
5
- version: 1.31.7
5
+ version: 1.31.8
6
6
  ---
7
7
 
8
8
  <!-- ch-version-gate -->
@@ -9,7 +9,7 @@ description: |
9
9
  (1) 화면(screens) 문서를 작성·수정할 때,
10
10
  (2) 화면의 표시 데이터·액션·입력 검증·예외상태를 기재할 때,
11
11
  (3) 웹 "화면" 탭의 IA 트리·화면 상세에 올릴 내용을 쓸 때.
12
- version: 1.31.7
12
+ version: 1.31.8
13
13
  ---
14
14
 
15
15
  <!-- ch-version-gate -->
@@ -40,7 +40,7 @@ ch check
40
40
  | 항목 | 내용 |
41
41
  |---|---|
42
42
  | 화면 ID + 화면명 + 접근권한 | `id`(슬러그, 예: `STORE-ORDER-DETAIL`) · `name` · `access` |
43
- | 영역별 표시 데이터 | 화면을 영역(헤더/목록/요약 카드…)으로 나누고, 영역에 표시되는 데이터를 **출처까지** 적는다 |
43
+ | 영역별 표시 데이터 | **영역 = 화면 안의 위치**(상단 검색·필터 바 / 본문 목록 테이블 / 우측 요약 패널…), **표시 데이터 = 위치에 놓이는 항목들**(출처까지). 영역명에 기능 이름만 적으면 위치 정보가 사라진다 |
44
44
  | 액션별 동작 및 이동화면 | 버튼·링크·제스처마다 동작과 **결과**(이동 화면 ID·성공/실패 갈림)를 적는다 |
45
45
  | 입력 검증 규칙 | 입력마다 **필수/형식/길이/중복** + 실패 시 노출 문구 |
46
46
  | 예외상태 4종 | **빈상태 · 로딩 · 에러 · 권한 없음** — 4종 전부, 각각 무엇을 보여주는지 |
@@ -50,6 +50,7 @@ ch check
50
50
 
51
51
  | 규칙 | 나쁜 예 | 좋은 예 |
52
52
  |---|---|---|
53
+ | **영역은 위치, 데이터는 항목** | 영역: `검색 조건` | 영역: `상단 검색·필터 바` — 영역명은 화면 어디인지(위치)를, 표시 데이터는 거기 놓이는 항목을 말한다 |
53
54
  | **데이터는 출처까지** | 주문 정보 표시 | `ORDERS.주문번호, 상품명, 결제금액` |
54
55
  | **버튼은 결과까지** | 취소 버튼 | 취소 확정 → PG 취소 요청, 성공 시 `SCR-08` 이동, 실패 시 `E-02` |
55
56
  | **입력은 검증까지** | 사유 입력 | 필수, 선택형+기타(200자), 미선택 시 '사유를 선택해주세요' 노출 |
@@ -93,10 +94,15 @@ ch check
93
94
  실제로 있을 요소까지. 2행짜리 표로는 얼개가 안 보인다. 실데이터·개인정보는 금지(그럴듯한 예시만).
94
95
  - **공통 골격은 화면 간 동일하게** — 같은 프로젝트의 GNB·푸터·레이아웃 CSS는 복붙 수준으로
95
96
  반복한다. 화면들을 넘겨볼 때 한 서비스로 읽혀야 한다.
96
- - **자기완결** — CSS·JS 전부 인라인. **외부 요청 금지**(CDN·웹폰트·외부 이미지). 이미지 자리는 회색 placeholder 박스로 그린다.
97
- - **lo-fi**회색조 + 시스템 폰트. 브랜드 컬러·실제 디자인을 입히지 않는다. 와이어프레임은 배치·흐름 확인용이지 디자인 시안이 아니다.
97
+ - **자기완결** — CSS·JS 전부 인라인. **외부 요청 금지**(CDN·웹폰트·외부 이미지). 이미지 자리는 placeholder 박스로 그린다.
98
+ - **처음부터 볼만하게** 회색 박스 lo-fi로 절제하지 않는다. 일관된 컬러 팔레트·타이포·여백을
99
+ 갖춘 완성형으로 그린다. 단 실존 서비스·브랜드의 로고와 디자인을 베끼지 않는 **중립 팔레트**이고,
100
+ 한 프로젝트 안에서는 모든 화면이 같은 팔레트를 쓴다.
101
+ - **클릭 네비게이션** — 다른 화면으로 이동하는 요소(GNB 메뉴·서브내비·액션 버튼·목록 행·카드)에
102
+ `data-screen-link="SCR-..."` 속성을 단다. actions의 `targetScreenId`와 일치해야 한다.
103
+ 웹 뷰어가 이 클릭을 화면설계서 이동으로 이어 준다 — 와이어프레임만으로 서비스를 순회할 수 있다.
98
104
  - **§1 기재항목과 일치** — 영역(areas)대로 블록을 나누고, 액션(actions)의 버튼을 놓고, 입력(inputRules)의 폼을 놓는다. 문서와 그림이 어긋나면 그림이 거짓말이 된다.
99
- - JS는 상태 시연에만 쓴다(탭 전환·아코디언·예외상태 4종 토글 등). 뷰어가 sandbox라 앱 문서·쿠키에는 접근할 수 없고, 하려고 하지도 않는다.
105
+ - JS는 상태 시연·탭 전환 정도만. 뷰어가 sandbox라 앱 문서·쿠키에는 접근할 수 없고, 하려고 하지도 않는다.
100
106
 
101
107
  업로드 (파일 **내용**이 저장된다 — 통째 교체):
102
108
 
@@ -189,5 +195,5 @@ ch screens update SCR-ORDER-DETAIL \
189
195
  - **예외상태 일부 생략** — 4종 전부. 해당 없으면 "해당 없음"이라고 적는다.
190
196
  - **흐름 서술** — 여러 화면에 걸친 시나리오는 spec·유저플로우의 몫이다. 이 화면 안의 것만.
191
197
  - 화면과 spec은 N:1이다. spec 수만큼 화면을 만들지 않는다 ([[2t-decencia-channel-spec-v2]] §9).
192
- - **와이어프레임에 외부 리소스·브랜드 디자인** — sandbox에서 로드가 깨지거나 디자인 시안으로 오독된다. 자기완결·회색조(§4-1).
198
+ - **와이어프레임에 외부 리소스·실존 브랜드 모방** — sandbox에서 로드가 깨지거나 사칭이 된다. 자기완결·중립 팔레트(§4-1).
193
199
  - **유저플로우 대조 생략** — 화면 단위로만 쓰면 여정의 빠진 페이지가 끝까지 안 보인다. 작성 후 §5-1 전수 대조가 필수다.
@@ -12,7 +12,7 @@ description: |
12
12
  (3) 스토리문장·사전 조건·로직 플로우·비즈니스 규칙을 작성할 때,
13
13
  (4) Story 규모를 Story Point(`--points`)로 매길 때,
14
14
  (5) 신규 spec ID를 `AUTH-001` 같은 JIRA 스타일로 부여할 때 (`ch specs create --id`).
15
- version: 1.31.7
15
+ version: 1.31.8
16
16
  ---
17
17
 
18
18
  <!-- ch-version-gate -->
@@ -7,7 +7,7 @@ description: |
7
7
  (1) sprint를 구성할 때,
8
8
  (2) Σ spec.points 기반 sprint 용량 산정이 필요할 때,
9
9
  (3) Epic·도메인·의존성을 함께 고려해 spec을 sprint에 배분할 때.
10
- version: 1.31.7
10
+ version: 1.31.8
11
11
  ---
12
12
 
13
13
  <!-- ch-version-gate -->
@@ -2,7 +2,7 @@
2
2
  name: 2t-decencia-channel-sprint-runner
3
3
  description: 특정 Sprint를 끝까지 실행(run)하는 오케스트레이터 스킬. Sprint의 spec을 시드로 이슈 목록을 분해·발행(github-issue)하고, GitHub milestone에 묶인 이슈를 상태별로 분류해 issue-coder(병렬)·pr-merger(직렬)로 전진시킨 뒤, 사람확인이 필요한 곳에서 멈춘다. 사람이 확인·체크 후 재호출하면 멱등하게 이어간다(반복 루프). "스프린트 돌려줘"·"sprint N 실행"·"이 스프린트 개발 진행해줘" 류 요청 시.
4
4
  allowed-tools: Skill Agent Read Bash(ch:*) Bash(gh:*) Bash(git:*)
5
- version: 1.31.7
5
+ version: 1.31.8
6
6
  ---
7
7
 
8
8
  <!-- ch-version-gate -->
@@ -12,7 +12,7 @@ description: |
12
12
  (4) 보안/성능/접근성/호환성 비기능 TC를 시트에 채워야 할 때,
13
13
  (5) 명세 영역별 완성형 TC 번들(퍼블리싱/프론트/백엔드 디센시아 운영 관점 포함)을 가져다 쓸 때,
14
14
  (6) Sprint 종료 전 spec별 TC 통과·시나리오 통과 여부를 점검할 때.
15
- version: 1.31.7
15
+ version: 1.31.8
16
16
  ---
17
17
 
18
18
  <!-- ch-version-gate -->
@@ -8,7 +8,7 @@ description: |
8
8
  (1) 유저플로우(사용자 여정 분기도)를 새로 그리거나 수정할 때,
9
9
  (2) PRD·Epic-Story 목록에서 플로우로 그릴 대상을 고를 때,
10
10
  (3) 웹 "유저플로우" 탭에 올릴 Mermaid 코드를 작성할 때.
11
- version: 1.31.7
11
+ version: 1.31.8
12
12
  ---
13
13
 
14
14
  <!-- ch-version-gate -->
@@ -8,7 +8,7 @@ description: |
8
8
  (2) "작업 현황 적어줘", "workStatus 갱신해줘" 요청 시,
9
9
  (3) Sprint 종료 회고나 인수인계용으로 spec별 진행 상태를 정리할 때,
10
10
  (4) `ch specs update --work-status` 또는 웹 "작업 현황" 탭에서 갱신할 때.
11
- version: 1.31.7
11
+ version: 1.31.8
12
12
  ---
13
13
 
14
14
  <!-- ch-version-gate -->