@decencia/ch-cli 1.6.1 → 1.6.2
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/agent/2t-decencia-channel-issue-coder.md +6 -1
- package/agent/2t-decencia-channel-pr-merger.md +2 -2
- package/agent/2t-decencia-channel-terraformer.md +1 -1
- package/package.json +1 -1
- package/skill/2t-decencia-channel-change-manager/SKILL.md +1 -1
- package/skill/2t-decencia-channel-change-propagation-v2/SKILL.md +1 -1
- package/skill/2t-decencia-channel-cli-v2/SKILL.md +1 -1
- package/skill/2t-decencia-channel-db-schema-v2/SKILL.md +1 -1
- package/skill/2t-decencia-channel-github-issue/SKILL.md +1 -1
- package/skill/2t-decencia-channel-orchestrator/SKILL.md +1 -1
- package/skill/2t-decencia-channel-prd-v2/SKILL.md +1 -1
- package/skill/2t-decencia-channel-project-bootstrap/SKILL.md +1 -1
- package/skill/2t-decencia-channel-spec-v2/SKILL.md +1 -1
- package/skill/2t-decencia-channel-sprint-builder-v2/SKILL.md +1 -1
- package/skill/2t-decencia-channel-sprint-runner/SKILL.md +9 -2
- package/skill/2t-decencia-channel-sqa-v2/SKILL.md +1 -1
- package/skill/2t-decencia-channel-work-status-v2/SKILL.md +1 -1
|
@@ -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까지만(머지·main push·이슈 close는 사람).
|
|
4
4
|
tools: Read, Write, Edit, Grep, Glob, Bash, Agent
|
|
5
5
|
model: opus
|
|
6
|
-
version: 1.6.
|
|
6
|
+
version: 1.6.2
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
## 역할
|
|
@@ -31,6 +31,7 @@ GitHub issue 1개를 입력으로 받아 **구현 → 자체검토 → 검증
|
|
|
31
31
|
### 3. worktree + 브랜치 생성 후 구현
|
|
32
32
|
- `git worktree add ../<repo>-wt/issue-<num> -b issue-<num> origin/main` → 이후 모든 작업은 그 worktree 안에서.
|
|
33
33
|
- 이슈 작업내용 + spec 요구사항대로 구현.
|
|
34
|
+
- 관련 spec(이슈의 `## 관련 명세` specid)이 아직 `waiting`/`designing`이면 `ch specs set-status <id> developing` 으로 전이(이미 developing 이상이면 skip, specid 없으면 skip).
|
|
34
35
|
|
|
35
36
|
### 4. 자체 소프트 검토 → 수정 루프 (테스트 아님 · 최대 3회, 조기 종료)
|
|
36
37
|
- 작성한 코드를 **여러 측면에서 스스로 리뷰하고 고친다**: 설계/아키텍처 정합, 가독성·네이밍, 엣지케이스·에러처리, 명세 부합, 중복·재사용, 보안.
|
|
@@ -51,6 +52,7 @@ GitHub issue 1개를 입력으로 받아 **구현 → 자체검토 → 검증
|
|
|
51
52
|
|
|
52
53
|
### 8. 소통채널 기록
|
|
53
54
|
- `ch specs update <id> --work-status <file>` 로 진행상황·결정·블로커 기록 + 완료된 task 체크(정확한 플래그는 `ch specs update --help` 확인).
|
|
55
|
+
- PR·검증까지 끝났으면 관련 spec을 `ch specs set-status <id> testing` 으로 전이. **`completed`로는 올리지 않는다** — 한 spec이 여러 이슈에 걸칠 수 있어, 전체 완료 판정은 sprint-runner(전역 시야)의 몫.
|
|
54
56
|
- ⚠️ 본문은 **파일로 전달 + CRLF 정제**(`tr -d '\r'`). PowerShell 인자 분리가 실패하면 Bash 도구로 우회.
|
|
55
57
|
|
|
56
58
|
### 9. 이슈 기록 + 사람확인 체크리스트 등록
|
|
@@ -61,6 +63,9 @@ GitHub issue 1개를 입력으로 받아 **구현 → 자체검토 → 검증
|
|
|
61
63
|
```
|
|
62
64
|
- 이게 웹 "실행 탭"의 체크박스로 뜨고, 사람이 체크/메모(수정 방향)를 남긴다. pr-merger의 close 판단도 이 DB를 본다.
|
|
63
65
|
- 멱등: 같은 이슈에 다시 set 해도 기존 항목의 checked·note(사람 피드백)는 text 매칭으로 **보존**된다.
|
|
66
|
+
- ⚠️ **선별 기준 — 패딩 금지**: "코드/자동테스트/SQA로는 단정 못 하고 **사람이 직접 눈/손으로 확인해야만 판단되는 것**"만 적는다. **개수에 정답 없음(0개면 안 적는다)** — 형식 채우려 항목을 늘리지 말 것.
|
|
67
|
+
- **넣지 마라**: 이미 unittest·SQA·정적분석으로 검증되는 것, "기존 기능 회귀 없는지 확인" 류 상투구, **PR 머지·이슈 close·diff/base 검토 같은 진행·메타 작업**(그건 pr-merger·사람의 몫이지 사람확인 항목이 아니다).
|
|
68
|
+
- **넣어라**: 실제 화면 동작·UX 판단·디자인 적정성처럼 **사람만 yes/no 할 수 있는** 구체 항목.
|
|
64
69
|
- **이슈 close는 하지 않는다**(사람/PR 머지가 닫는다).
|
|
65
70
|
|
|
66
71
|
## 원칙
|
|
@@ -3,7 +3,7 @@ name: 2t-decencia-channel-pr-merger
|
|
|
3
3
|
description: issue-coder가 낸 PR을 기본 완전 자율로 main에 머지하는 에이전트. 핵심 역량은 다수 병렬 worktree가 만든 충돌을 작업 의도 기반(semantic)으로 해결하는 것. CI green+충돌없음이면 바로 squash 머지, 충돌이면 의도대로 해결 후 테스트로 검증하여 머지. 재SQA·전면 재리뷰는 하지 않음. 다수 PR은 직렬 머지.
|
|
4
4
|
tools: Read, Write, Edit, Grep, Glob, Bash
|
|
5
5
|
model: opus
|
|
6
|
-
version: 1.6.
|
|
6
|
+
version: 1.6.2
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
## 역할
|
|
@@ -35,7 +35,7 @@ issue-coder가 낸 PR을 **기본 완전 자율로 main에 머지**한다. 핵
|
|
|
35
35
|
- **CI red**(테스트 실패 등) → **머지 금지**, PR에 반려 코멘트(→ issue-coder/사람 핑퐁).
|
|
36
36
|
|
|
37
37
|
### 4. 후속
|
|
38
|
-
- **소통채널**: `ch specs update <id> --work-status <file>` 로 머지 완료
|
|
38
|
+
- **소통채널**: `ch specs update <id> --work-status <file>` 로 머지 완료 기록. **spec status enum은 건드리지 않는다**(이 PR이 그 spec의 전부인지 알 수 없음 — completed 판정은 sprint-runner). ⚠️ 본문은 파일로 전달 + **CRLF 정제**(`tr -d '\r'`).
|
|
39
39
|
- worktree/브랜치 정리.
|
|
40
40
|
- **이슈 처리(조건부 close)**:
|
|
41
41
|
- PR/이슈에 머지 완료 코멘트.
|
|
@@ -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.6.
|
|
6
|
+
version: 1.6.2
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
## 역할
|
package/package.json
CHANGED
|
@@ -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.6.
|
|
5
|
+
version: 1.6.2
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<!-- ch-version-gate -->
|
|
@@ -8,7 +8,7 @@ description: |
|
|
|
8
8
|
(2) Task에 description/points/completedAt을 기록할 때,
|
|
9
9
|
(3) ch db-tables 명령(list/get/create/update/delete)을 사용할 때,
|
|
10
10
|
(4) Spec ID를 JIRA 스타일(`LOGIN-001`)로 직접 지정할 때 (`ch specs create --id`).
|
|
11
|
-
version: 1.6.
|
|
11
|
+
version: 1.6.2
|
|
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.6.
|
|
5
|
+
version: 1.6.2
|
|
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.6.
|
|
5
|
+
version: 1.6.2
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<!-- 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)+DB스키마 → 승인 → (3)SQA 시트. 각 단계 사용자 승인 게이트, 작성 디테일은 기존 2t-decencia-channel-*-v2 스킬을 적극 재사용. "새 기획 만들어줘"·"프로젝트 처음부터 세팅" 류 요청 시.
|
|
4
4
|
allowed-tools: Bash(ch:*) Bash(git:*) Read Write
|
|
5
|
-
version: 1.6.
|
|
5
|
+
version: 1.6.2
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<!-- ch-version-gate -->
|
|
@@ -10,7 +10,7 @@ description: |
|
|
|
10
10
|
(2) UI 메타데이터·비즈니스 로직·DB 참조를 함께 다룰 때,
|
|
11
11
|
(3) Task를 JIRA 스타일(points·assignee·description·completedAt)로 잘게 쪼갤 때,
|
|
12
12
|
(4) 신규 spec ID를 `LOGIN-001` 같은 JIRA 스타일로 부여하고 싶을 때 (`ch specs create --id`).
|
|
13
|
-
version: 1.6.
|
|
13
|
+
version: 1.6.2
|
|
14
14
|
---
|
|
15
15
|
|
|
16
16
|
<!-- 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.6.
|
|
5
|
+
version: 1.6.2
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<!-- ch-version-gate -->
|
|
@@ -44,6 +44,7 @@ ch check
|
|
|
44
44
|
| Sprint ↔ 이슈 묶음 | **GitHub `milestone`** (sprint 1개 = milestone 1개) |
|
|
45
45
|
| 이슈 ↔ spec | 이슈 본문 `## 관련 명세` specid 백링크 (**없어도 됨** = 인프라 등 비-spec 작업) |
|
|
46
46
|
| 사람확인 항목 | **소통채널 DB가 SSOT** — issue-coder가 `ch github checklist set` 으로 등록, 사람이 웹 실행 탭에서 체크·메모, pr-merger가 `ch github checklist get` 으로 close 판단 (GitHub 코멘트 아님) |
|
|
47
|
+
| 이슈 ↔ spec **status** | 착수=`developing`(coder), PR=`testing`(coder), **completed=러너가 롤업**(그 spec 백링크 이슈 전부 DONE일 때만) |
|
|
47
48
|
|
|
48
49
|
---
|
|
49
50
|
|
|
@@ -78,6 +79,12 @@ ch check
|
|
|
78
79
|
- **직렬 — `Agent`**: `IN_PR(green)` 이슈를 `2t-decencia-channel-pr-merger`로 **한 번에 하나씩** 위임(머지하면 main 바뀜 → 다음 PR mergeability 재평가, 레이스 방지).
|
|
79
80
|
- 코더가 PR을 만들면 다음 호출 때 `IN_PR`로 잡혀 머저로 넘어간다(단계 사이 배리어는 GitHub 상태가 대신함).
|
|
80
81
|
|
|
82
|
+
### 4.5 스펙 status 롤업 (전역 시야 — 러너만 가능)
|
|
83
|
+
- milestone 이슈들의 `## 관련 명세` 백링크를 모아 **spec → 이슈 집합** 역인덱스를 만든다.
|
|
84
|
+
- 각 spec에 대해: 백링크한 이슈가 **전부 DONE(close)** 이면 `ch specs set-status <specid> completed`.
|
|
85
|
+
- 하나라도 미완(TODO/IN_PR/AWAIT_HUMAN/FEEDBACK)이면 **올리지 않는다**(부분완료 spec은 testing/developing 유지).
|
|
86
|
+
- 멱등: 이미 completed면 skip. 백링크 이슈가 0개인 spec은 대상 아님.
|
|
87
|
+
|
|
81
88
|
### 5. 사람 게이트 + 리포트
|
|
82
89
|
더 자동 전진할 게 없으면 멈추고 **현황을 요약 보고**한다:
|
|
83
90
|
- ✅ **DONE** n개
|
|
@@ -88,7 +95,7 @@ ch check
|
|
|
88
95
|
### 6. 반복 (멱등 재호출)
|
|
89
96
|
- 사람이 확인·체크하거나 피드백을 남긴 뒤 **재호출** → 1~5 반복.
|
|
90
97
|
- 이미 끝난 건(DONE, 머지된 PR, 발행된 이슈)은 자연히 **skip**된다(상태 SSOT = GitHub). 새로 생긴 `FEEDBACK`만 다시 흐른다.
|
|
91
|
-
- **종료 조건**: milestone의 모든 이슈가 `DONE
|
|
98
|
+
- **종료 조건**: milestone의 모든 이슈가 `DONE` + 백링크된 spec이 모두 `completed`로 롤업됨.
|
|
92
99
|
|
|
93
100
|
---
|
|
94
101
|
|