@decencia/ch-cli 1.16.0 → 1.17.0
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 +1 -1
- package/agent/2t-decencia-channel-pr-merger.md +1 -1
- package/agent/2t-decencia-channel-terraformer.md +1 -1
- package/dist/commands/screens.d.ts.map +1 -1
- package/dist/commands/screens.js +5 -16
- package/dist/commands/screens.js.map +1 -1
- package/dist/commands/specs.d.ts +8 -0
- package/dist/commands/specs.d.ts.map +1 -1
- package/dist/commands/specs.js +72 -3
- package/dist/commands/specs.js.map +1 -1
- package/dist/output.d.ts +10 -0
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +14 -0
- package/dist/output.js.map +1 -1
- package/package.json +1 -1
- package/skill/2t-decencia-channel-change-manager/SKILL.md +4 -6
- package/skill/2t-decencia-channel-change-propagation-v2/SKILL.md +2 -2
- package/skill/2t-decencia-channel-cli-v2/SKILL.md +23 -3
- 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 +65 -50
- package/skill/2t-decencia-channel-spec-v2/SKILL.md +6 -6
- package/skill/2t-decencia-channel-sprint-builder-v2/SKILL.md +1 -1
- package/skill/2t-decencia-channel-sprint-runner/SKILL.md +1 -1
- 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까지만(머지·base 브랜치 직접 push·이슈 close는 사람).
|
|
4
4
|
tools: Read, Write, Edit, Grep, Glob, Bash, Agent
|
|
5
5
|
model: opus
|
|
6
|
-
version: 1.
|
|
6
|
+
version: 1.17.0
|
|
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.
|
|
6
|
+
version: 1.17.0
|
|
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.
|
|
6
|
+
version: 1.17.0
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
## 역할
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screens.d.ts","sourceRoot":"","sources":["../../src/commands/screens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"screens.d.ts","sourceRoot":"","sources":["../../src/commands/screens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0DpC;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAY,GAAG,MAAM,CAOzE;AA0QD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAa7D"}
|
package/dist/commands/screens.js
CHANGED
|
@@ -18,9 +18,8 @@ const screens_migrate_1 = require("./screens.migrate");
|
|
|
18
18
|
* 사람용 메시지는 stderr로 나간다. 빈 목록도 stdout에는 `[]`로 나간다.
|
|
19
19
|
* - 종료코드: HTTP 4xx/5xx는 client의 응답 인터셉터가 exitCode를 세우지만,
|
|
20
20
|
* 서버에 닿기 전 로컬 입력 오류(파일 없음·JSON 깨짐·--order 비숫자·수정 필드 0개)는
|
|
21
|
-
* 아무도 세워주지 않는다. 공용
|
|
22
|
-
*
|
|
23
|
-
* failInput()으로 직접 exitCode=1을 세운다.
|
|
21
|
+
* 아무도 세워주지 않는다. 그래서 공용 failInput()(output.ts)으로 직접 exitCode=1을
|
|
22
|
+
* 세운다.
|
|
24
23
|
*
|
|
25
24
|
* screens는 프로젝트 단위 opt-in(ch_projects.screensEnabled)이지만 CLI는 그 플래그를
|
|
26
25
|
* 조회하지도 게이팅하지도 않는다. 서버의 screens CRUD가 플래그와 무관하게 동작하기
|
|
@@ -51,16 +50,6 @@ const STATES_HELP = `
|
|
|
51
50
|
|
|
52
51
|
relatedSpecIds는 서버 자동 관리라 플래그가 없다 (spec ↔ screen 링크는 spec 쪽에서 건다).
|
|
53
52
|
`;
|
|
54
|
-
/**
|
|
55
|
-
* 로컬 입력 오류를 보고하고 종료코드를 세운다.
|
|
56
|
-
*
|
|
57
|
-
* printError는 stderr로 찍기만 하고 종료코드를 세우지 않으므로, 여기서 직접 세워
|
|
58
|
-
* 호출한 스크립트·에이전트가 종료코드만으로 실패를 알 수 있게 한다.
|
|
59
|
-
*/
|
|
60
|
-
function failInput(message) {
|
|
61
|
-
(0, output_1.printError)(message);
|
|
62
|
-
process.exitCode = 1;
|
|
63
|
-
}
|
|
64
53
|
/**
|
|
65
54
|
* `--order` 값을 숫자로 파싱한다. 문자열을 그대로 서버에 실어 보내면 400으로
|
|
66
55
|
* 되돌아오므로 요청 전에 CLI가 거른다 (`--points`의 parsePoints 선례).
|
|
@@ -239,7 +228,7 @@ function registerScreensCreate(screens, program) {
|
|
|
239
228
|
body = buildScreenBody(options);
|
|
240
229
|
}
|
|
241
230
|
catch (e) {
|
|
242
|
-
failInput(e?.message ?? String(e));
|
|
231
|
+
(0, output_1.failInput)(e?.message ?? String(e));
|
|
243
232
|
return;
|
|
244
233
|
}
|
|
245
234
|
if (options.id)
|
|
@@ -277,11 +266,11 @@ function registerScreensUpdate(screens, program) {
|
|
|
277
266
|
body = buildScreenBody(options);
|
|
278
267
|
}
|
|
279
268
|
catch (e) {
|
|
280
|
-
failInput(e?.message ?? String(e));
|
|
269
|
+
(0, output_1.failInput)(e?.message ?? String(e));
|
|
281
270
|
return;
|
|
282
271
|
}
|
|
283
272
|
if (Object.keys(body).length === 0) {
|
|
284
|
-
failInput('수정할 필드를 지정하세요.');
|
|
273
|
+
(0, output_1.failInput)('수정할 필드를 지정하세요.');
|
|
285
274
|
return;
|
|
286
275
|
}
|
|
287
276
|
const client = (0, client_1.createClient)({ projectId: globalOpts.project });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screens.js","sourceRoot":"","sources":["../../src/commands/screens.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"screens.js","sourceRoot":"","sources":["../../src/commands/screens.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/specs.d.ts
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
2
|
/** --ui 페이로드에 의미 있는 route 값이 들어 있는가? (빈 문자열=값 지우기는 경고 대상 아님) */
|
|
3
3
|
export declare function uiPayloadHasRoute(ui: unknown): boolean;
|
|
4
|
+
/**
|
|
5
|
+
* `--screens` 값을 화면 ID 목록으로 파싱한다.
|
|
6
|
+
*
|
|
7
|
+
* 빈 문자열("")은 "모든 연결 해제"라 빈 배열이 정상 결과다(에러 아님). 공백·빈
|
|
8
|
+
* 항목은 버리고 중복은 순서를 지키며 제거한다 — 서버도 같은 정규화를 하므로,
|
|
9
|
+
* 요청 전에 맞춰 두면 --dry-run이 보여 주는 값과 실제 저장 값이 같아진다.
|
|
10
|
+
*/
|
|
11
|
+
export declare function parseScreenRefs(value: string): string[];
|
|
4
12
|
export declare function registerSpecsCommand(program: Command): void;
|
|
5
13
|
//# sourceMappingURL=specs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"specs.d.ts","sourceRoot":"","sources":["../../src/commands/specs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"specs.d.ts","sourceRoot":"","sources":["../../src/commands/specs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgCpC,gEAAgE;AAChE,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAItD;AA8DD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAEvD;AAuJD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAib3D"}
|
package/dist/commands/specs.js
CHANGED
|
@@ -34,6 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.uiPayloadHasRoute = uiPayloadHasRoute;
|
|
37
|
+
exports.parseScreenRefs = parseScreenRefs;
|
|
37
38
|
exports.registerSpecsCommand = registerSpecsCommand;
|
|
38
39
|
const client_1 = require("../client");
|
|
39
40
|
const output_1 = require("../output");
|
|
@@ -68,7 +69,7 @@ function warnUiRouteDeprecated() {
|
|
|
68
69
|
uiRouteDeprecationWarned = true;
|
|
69
70
|
(0, output_1.printWarning)('경고: --ui 페이로드의 ui.route는 deprecated입니다 — 이 프로젝트는 화면(screens) 기능이 켜져 있습니다. ' +
|
|
70
71
|
'route의 SSOT는 screens.route이고, 기능명세는 ui.screenRefs로 화면을 참조만 합니다. ' +
|
|
71
|
-
'화면은 `ch screens create`로 만들고, 화면 연결은
|
|
72
|
+
'화면은 `ch screens create`로 만들고, 화면 연결은 `ch specs screen-refs <specId> --screens <ids>`로 바꾸세요. ' +
|
|
72
73
|
'(ui.route는 하위호환으로 계속 전송·저장됩니다)');
|
|
73
74
|
}
|
|
74
75
|
/**
|
|
@@ -97,6 +98,35 @@ async function warnIfUiRouteDeprecated(ui, projectIdOption) {
|
|
|
97
98
|
if (await isScreensEnabled(projectIdOption))
|
|
98
99
|
warnUiRouteDeprecated();
|
|
99
100
|
}
|
|
101
|
+
// ── 화면 연결 (SCREEN-010) ───────────────────────────────────────────────────
|
|
102
|
+
// ui.screenRefs는 서버 관리 필드다. 일반 PATCH /specs/:id(= `ch specs update --ui`)로
|
|
103
|
+
// 보내면 서버가 그 키를 버리고 기존 값으로 되돌린다(mergeServerManagedUi). 변경은
|
|
104
|
+
// 전용 경로 PATCH /specs/:id/screen-refs로만 한다 — 서버가 `ui.screenRefs` 점 경로만
|
|
105
|
+
// 갱신하므로 route·file·access·interactionMap 등 나머지 ui 키는 그대로 남고,
|
|
106
|
+
// screen.relatedSpecIds가 함께 동기화된다.
|
|
107
|
+
/** `--screens` 옵션의 도움말 (커맨드 help 하단). */
|
|
108
|
+
const SCREEN_REFS_HELP = `
|
|
109
|
+
교체 시맨틱: 보낸 목록이 그 명세의 화면 연결 전부가 된다 (웹 화면 선택기와 같다).
|
|
110
|
+
일부만 더하거나 빼려면 현재 값을 먼저 읽어 목록 전체를 만들어 넘긴다 (Read-before-Write):
|
|
111
|
+
|
|
112
|
+
ch specs get <specId> --json # ui.screenRefs 확인
|
|
113
|
+
ch specs screen-refs <specId> --screens SCR-001,SCR-002
|
|
114
|
+
ch specs screen-refs <specId> --screens "" # 모든 연결 해제
|
|
115
|
+
|
|
116
|
+
전용 경로(PATCH /specs/:id/screen-refs)를 쓴다. ui의 나머지 필드
|
|
117
|
+
(route·file·access·interactionMap)는 보존되고, 화면의 relatedSpecIds도 함께 갱신된다.
|
|
118
|
+
없는 화면 ID를 넣으면 서버가 400으로 거절한다 — 'ch screens create'로 먼저 만든다.
|
|
119
|
+
`;
|
|
120
|
+
/**
|
|
121
|
+
* `--screens` 값을 화면 ID 목록으로 파싱한다.
|
|
122
|
+
*
|
|
123
|
+
* 빈 문자열("")은 "모든 연결 해제"라 빈 배열이 정상 결과다(에러 아님). 공백·빈
|
|
124
|
+
* 항목은 버리고 중복은 순서를 지키며 제거한다 — 서버도 같은 정규화를 하므로,
|
|
125
|
+
* 요청 전에 맞춰 두면 --dry-run이 보여 주는 값과 실제 저장 값이 같아진다.
|
|
126
|
+
*/
|
|
127
|
+
function parseScreenRefs(value) {
|
|
128
|
+
return [...new Set((0, utils_1.parseCommaSeparated)(value))];
|
|
129
|
+
}
|
|
100
130
|
// ── 작업 A: `ch specs get` 파생 해석 (additive, 원본 불변) ────────────────────
|
|
101
131
|
// spec 응답에 같은 프로젝트 db-tables를 조인해 (1) tableId→테이블명, (2) 상태
|
|
102
132
|
// 컬럼 ref(ref.field == db-table stateMachines[].columnRef)→그 머신 요약을,
|
|
@@ -363,7 +393,7 @@ function registerSpecsCommand(program) {
|
|
|
363
393
|
.option('--logic <jsonFile>', '비즈니스 로직 JSON 파일 (SpecLogic)')
|
|
364
394
|
.option('--db-tables <ids>', '연관 DB 테이블 ID (쉼표 구분)')
|
|
365
395
|
.option('--work-status <mdFile>', '작업 현황 마크다운 파일')
|
|
366
|
-
.addHelpText('after', `\nStory Point:\n --points <n> spec 단위 규모 점수(0 이상). Story는 Task로 쪼개지 않고 이 값으로 규모를 매긴다.\n 예: --points 5\n\nJSON 파일 형식 예시:\n tasks.json ([deprecated] — 신규 spec은 --points 사용. --tasks는 하위호환용):\n [\n {"id": "", "title": "로그인 폼 구현", "done": false, "estimate": 4, "points": 3, "description": "## 세부\\n- ..."},\n {"id": "", "title": "유효성 검증", "done": true, "completedAt": "2026-05-29T00:00:00Z"}\n ]\n\n ui.json:\n {\n "figmaNodeId": "123:456",\n "route": "/login",\n "file": "src/app/login/page.tsx",\n "access": "public",\n "interactionMap": "## 인터랙션\\n- 입력 → 검증 → 제출",\n "screenRefs": ["SCR-LOGIN"],\n "primaryActions": "- 이메일·비밀번호로 로그인한다",\n "keyInformation": "- 로그인 실패 사유"\n }\n (screenRefs·primaryActions·keyInformation은 화면(screens) 기능을 켠 프로젝트에서만 쓴다.)\n (screenRefs는 서버 관리 필드 — 생성 때만 입력을 받는다. 수정 시 --ui 로 보낸 screenRefs는 서버가 무시하고 기존 값을 지킨다.\n 화면 연결 변경은 전용
|
|
396
|
+
.addHelpText('after', `\nStory Point:\n --points <n> spec 단위 규모 점수(0 이상). Story는 Task로 쪼개지 않고 이 값으로 규모를 매긴다.\n 예: --points 5\n\nJSON 파일 형식 예시:\n tasks.json ([deprecated] — 신규 spec은 --points 사용. --tasks는 하위호환용):\n [\n {"id": "", "title": "로그인 폼 구현", "done": false, "estimate": 4, "points": 3, "description": "## 세부\\n- ..."},\n {"id": "", "title": "유효성 검증", "done": true, "completedAt": "2026-05-29T00:00:00Z"}\n ]\n\n ui.json:\n {\n "figmaNodeId": "123:456",\n "route": "/login",\n "file": "src/app/login/page.tsx",\n "access": "public",\n "interactionMap": "## 인터랙션\\n- 입력 → 검증 → 제출",\n "screenRefs": ["SCR-LOGIN"],\n "primaryActions": "- 이메일·비밀번호로 로그인한다",\n "keyInformation": "- 로그인 실패 사유"\n }\n (screenRefs·primaryActions·keyInformation은 화면(screens) 기능을 켠 프로젝트에서만 쓴다.)\n (screenRefs는 서버 관리 필드 — 생성 때만 입력을 받는다. 수정 시 --ui 로 보낸 screenRefs는 서버가 무시하고 기존 값을 지킨다.\n 화면 연결 변경은 전용 커맨드 'ch specs screen-refs <specId> --screens <ids>'로 한다(웹 화면 피커와 같은 경로).\n 생성 시 존재하지 않는 화면 ID는 동기화에서 빠지고 서버 로그에 경고가 남는다.)\n (route: 화면 기능을 켠 프로젝트에서 ui.route는 deprecated다 — route의 SSOT는 screens.route이고 명세는 screenRefs로 화면을 참조만 한다.\n 그런 프로젝트에 ui.route를 보내면 경고(stderr)만 띄우고 요청은 그대로 보낸다. 레거시 프로젝트에서는 지금처럼 ui.route가 화면 정보다.)\n\n logic.json (신구조 — 시나리오→순서 있는 단계→refs):\n {\n "dataFlowScenarios": [\n {\n "name": "로그인 성공",\n "description": "회원이 이메일과 비밀번호로 로그인에 성공하면 인증 토큰을 발급하고 마지막 로그인 시각을 갱신한다.",\n "steps": [\n { "description": "클라이언트가 입력한 이메일과 비밀번호를 인증 서버로 전송한다." },\n { "description": "인증에 성공하면 사용자 문서의 마지막 로그인 시각을 갱신한다.", "refs": [{ "tableId": "tbl_users", "field": "lastLoginAt", "direction": "WRITE", "note": "로그인 성공 시 갱신" }] }\n ]\n }\n ],\n "stateTransitions": "...",\n "businessRules": "..."\n }\n (신구조: dataFlowScenarios[]=시나리오, 각 시나리오의 steps[]=순서 있는 단계, 각 단계의 refs[]=db-tables의 tableId(+선택 field)를 가리키는 구조적 참조. direction은 READ|WRITE|READWRITE.)\n (SSOT: refs는 db-tables의 tableId/field를 가리키기만 한다 — 컬럼 정의는 db-tables에만.)\n (하위호환: 레거시 dataFlow(문자열)/dataFlowRefs[]/businessRuleRefs[]도 그대로 수용한다 — 점진 마이그레이션용.)\n\n --work-status <mdFile>: 마크다운 파일 (예: work-status.md)\n`)
|
|
367
397
|
.action(async (options) => {
|
|
368
398
|
const globalOpts = program.opts();
|
|
369
399
|
try {
|
|
@@ -475,7 +505,7 @@ function registerSpecsCommand(program) {
|
|
|
475
505
|
.option('--db-tables <ids>', '연관 DB 테이블 ID (쉼표 구분)')
|
|
476
506
|
.option('--work-status <mdFile>', '작업 현황 마크다운 파일')
|
|
477
507
|
.option('--no-version', '버전 기록 없이 수정 (기본: 항상 새 버전 기록)')
|
|
478
|
-
.addHelpText('after', `\nJSON 파일 형식은 'ch specs create --help' 참고. 지정한 플래그만 PATCH로 전송되어 미지정 필드는 보존됩니다.\n`)
|
|
508
|
+
.addHelpText('after', `\nJSON 파일 형식은 'ch specs create --help' 참고. 지정한 플래그만 PATCH로 전송되어 미지정 필드는 보존됩니다.\n\n--ui 로 보낸 ui.screenRefs는 서버가 무시하고 기존 값을 지킵니다(서버 관리 필드).\n화면 연결 변경은 'ch specs screen-refs <specId> --screens <ids>'로 하세요.\n`)
|
|
479
509
|
.action(async (specId, options) => {
|
|
480
510
|
const globalOpts = program.opts();
|
|
481
511
|
try {
|
|
@@ -574,6 +604,45 @@ function registerSpecsCommand(program) {
|
|
|
574
604
|
// Error already handled
|
|
575
605
|
}
|
|
576
606
|
});
|
|
607
|
+
// ch specs screen-refs — 화면 연결 전용 경로 (SCREEN-010)
|
|
608
|
+
specs
|
|
609
|
+
.command('screen-refs <specId>')
|
|
610
|
+
.description('기능명세의 화면 연결 변경 (전용 경로 — 보낸 목록으로 통째 교체)')
|
|
611
|
+
.option('--screens <ids>', '연결할 화면 ID 전체 목록 (쉼표 구분, ""이면 모두 해제)')
|
|
612
|
+
.addHelpText('after', SCREEN_REFS_HELP)
|
|
613
|
+
.action(async (specId, options) => {
|
|
614
|
+
const globalOpts = program.opts();
|
|
615
|
+
// 플래그 누락과 `--screens ""`(모두 해제)는 다른 뜻이다. 교체 시맨틱이라
|
|
616
|
+
// "화면을 지정하지 않음"을 "전부 해제"로 읽으면 조용히 연결이 지워진다.
|
|
617
|
+
if (options.screens === undefined) {
|
|
618
|
+
(0, output_1.failInput)('--screens 를 지정하세요. 연결할 화면 ID 전체를 쉼표로 구분합니다 (예: --screens SCR-001,SCR-002). ' +
|
|
619
|
+
'모든 연결을 해제하려면 --screens "" 를 쓰세요.');
|
|
620
|
+
return;
|
|
621
|
+
}
|
|
622
|
+
const screenRefs = parseScreenRefs(options.screens);
|
|
623
|
+
if (globalOpts.dryRun) {
|
|
624
|
+
const shown = screenRefs.length ? screenRefs.join(', ') : '(모두 해제)';
|
|
625
|
+
(0, output_1.printInfo)(`[DRY-RUN] 기능명세 "${specId}"의 화면 연결을 [${shown}]로 교체 요청`);
|
|
626
|
+
return;
|
|
627
|
+
}
|
|
628
|
+
try {
|
|
629
|
+
const client = (0, client_1.createClient)({ projectId: globalOpts.project });
|
|
630
|
+
const { data } = await client.patch(`/specs/${specId}/screen-refs`, { screenRefs });
|
|
631
|
+
(0, output_1.formatOutput)(data, globalOpts);
|
|
632
|
+
const saved = Array.isArray(data?.screenRefs) ? data.screenRefs : screenRefs;
|
|
633
|
+
(0, output_1.printSuccess)(saved.length
|
|
634
|
+
? `화면 연결이 변경되었습니다: ${saved.join(', ')}`
|
|
635
|
+
: '화면 연결을 모두 해제했습니다.');
|
|
636
|
+
}
|
|
637
|
+
catch (error) {
|
|
638
|
+
// 서버 메시지·종료코드는 client 인터셉터가 이미 처리했다. 400은 이 경로에서
|
|
639
|
+
// 사실상 "없는 화면 ID"뿐이라(서버가 실존 검증) 다음 행동만 한 줄 덧붙인다.
|
|
640
|
+
// stdout(--json 순수 JSON)을 지키려고 stderr로 낸다.
|
|
641
|
+
if (error?.response?.status === 400) {
|
|
642
|
+
console.error('→ 존재하는 화면 ID는 `ch screens list`로 확인하세요. 없는 화면이면 `ch screens create`로 먼저 만드세요.');
|
|
643
|
+
}
|
|
644
|
+
}
|
|
645
|
+
});
|
|
577
646
|
// ch specs set-status
|
|
578
647
|
specs
|
|
579
648
|
.command('set-status <specId> <status>')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"specs.js","sourceRoot":"","sources":["../../src/commands/specs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"specs.js","sourceRoot":"","sources":["../../src/commands/specs.ts"],"names":[],"mappings":"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"}
|
package/dist/output.d.ts
CHANGED
|
@@ -21,6 +21,16 @@ export declare function formatOutput(data: any, options?: OutputOptions): void;
|
|
|
21
21
|
export declare function printKeyValue(obj: any): void;
|
|
22
22
|
export declare function printTable(headers: string[], rows: string[][]): void;
|
|
23
23
|
export declare function printError(message: string): void;
|
|
24
|
+
/**
|
|
25
|
+
* 서버에 닿기 전 로컬 입력 오류를 보고하고 종료코드를 세운다.
|
|
26
|
+
*
|
|
27
|
+
* HTTP 4xx/5xx는 client의 응답 인터셉터가 exitCode를 세우지만, 로컬 입력 오류
|
|
28
|
+
* (파일 없음·JSON 깨짐·필수 플래그 누락)는 아무도 세워주지 않는다. printError는
|
|
29
|
+
* stderr로 찍기만 할 뿐 종료코드를 건드리지 않으므로(모든 커맨드가 공유하는 함수라
|
|
30
|
+
* 고치면 회귀) 이 헬퍼가 대신 세운다 — 호출한 스크립트·에이전트가 종료코드만으로
|
|
31
|
+
* 실패를 알 수 있다.
|
|
32
|
+
*/
|
|
33
|
+
export declare function failInput(message: string): void;
|
|
24
34
|
export declare function printSuccess(message: string): void;
|
|
25
35
|
export declare function printWarning(message: string): void;
|
|
26
36
|
export declare function printInfo(message: string): void;
|
package/dist/output.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAWD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAErD;AAED,0EAA0E;AAC1E,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAMD;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAS1C;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,GAAE,aAAkB,GAAG,IAAI,CA2CzE;AAyCD,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CA2C5C;AAwCD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,CAWpE;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEhD;AAaD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAIlD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAIlD;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAI/C"}
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAWD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAErD;AAED,0EAA0E;AAC1E,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAMD;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAS1C;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,GAAE,aAAkB,GAAG,IAAI,CA2CzE;AAyCD,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CA2C5C;AAwCD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,CAWpE;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEhD;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAG/C;AAaD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAIlD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAIlD;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAI/C"}
|
package/dist/output.js
CHANGED
|
@@ -10,6 +10,7 @@ exports.formatOutput = formatOutput;
|
|
|
10
10
|
exports.printKeyValue = printKeyValue;
|
|
11
11
|
exports.printTable = printTable;
|
|
12
12
|
exports.printError = printError;
|
|
13
|
+
exports.failInput = failInput;
|
|
13
14
|
exports.printSuccess = printSuccess;
|
|
14
15
|
exports.printWarning = printWarning;
|
|
15
16
|
exports.printInfo = printInfo;
|
|
@@ -218,6 +219,19 @@ function printTable(headers, rows) {
|
|
|
218
219
|
function printError(message) {
|
|
219
220
|
console.error(chalk_1.default.red(`오류: ${message}`));
|
|
220
221
|
}
|
|
222
|
+
/**
|
|
223
|
+
* 서버에 닿기 전 로컬 입력 오류를 보고하고 종료코드를 세운다.
|
|
224
|
+
*
|
|
225
|
+
* HTTP 4xx/5xx는 client의 응답 인터셉터가 exitCode를 세우지만, 로컬 입력 오류
|
|
226
|
+
* (파일 없음·JSON 깨짐·필수 플래그 누락)는 아무도 세워주지 않는다. printError는
|
|
227
|
+
* stderr로 찍기만 할 뿐 종료코드를 건드리지 않으므로(모든 커맨드가 공유하는 함수라
|
|
228
|
+
* 고치면 회귀) 이 헬퍼가 대신 세운다 — 호출한 스크립트·에이전트가 종료코드만으로
|
|
229
|
+
* 실패를 알 수 있다.
|
|
230
|
+
*/
|
|
231
|
+
function failInput(message) {
|
|
232
|
+
printError(message);
|
|
233
|
+
process.exitCode = 1;
|
|
234
|
+
}
|
|
221
235
|
function projectPrefix() {
|
|
222
236
|
const ctx = (0, client_1.getLastProjectContext)();
|
|
223
237
|
if (ctx?.projectName) {
|
package/dist/output.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":";;;;;AAwBA,wCAEC;AAGD,sCAEC;AAWD,kDASC;AAED,oCA2CC;AAyCD,sCA2CC;AAwCD,gCAWC;AAED,gCAEC;AAaD,oCAIC;AAED,oCAIC;AAED,8BAIC;
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
|
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.
|
|
5
|
+
version: 1.17.0
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<!-- ch-version-gate -->
|
|
@@ -74,11 +74,9 @@ ch check
|
|
|
74
74
|
1. `ch screens list --json`으로 후보 화면을 뽑아 사용자에게 보여준다.
|
|
75
75
|
2. **기존 화면에 붙일지, 새 화면을 만들지**를 사용자와 정한다.
|
|
76
76
|
3. 새 화면이면 `ch screens create`로 만든다.
|
|
77
|
-
4.
|
|
77
|
+
4. spec을 화면에 연결한다: `ch specs screen-refs <specId> --screens <화면ID,...>`. 생성 때 `ui.json`의 `screenRefs`로 함께 실어도 된다(화면이 이미 있을 때).
|
|
78
78
|
|
|
79
|
-
⚠️
|
|
80
|
-
|
|
81
|
-
⚠️ **이미 있는 spec을 다른 화면으로 옮기는 재배치는 CLI로 안 된다.** 웹 화면 탭의 화면 피커로 안내한다.
|
|
79
|
+
⚠️ **`--ui`로는 화면 연결을 못 바꾼다.** 수정 때 보낸 `screenRefs`는 서버가 무시한다(에러 없음). 재배치도 `ch specs screen-refs`로 한다 — **교체 시맨틱**이라 목록 전체를 넘긴다.
|
|
82
80
|
|
|
83
81
|
🚫 **새 기능마다 새 화면을 만들지 마라.** 기본은 **기존 화면에 붙이는 것**이다. 새 화면은 사용자가 이동할 URL이 새로 생길 때만 만든다.
|
|
84
82
|
|
|
@@ -103,7 +101,7 @@ ch check
|
|
|
103
101
|
- spec 필드는 **단수+복수 동시 저장**(device/devices 등) 규칙 유지(미준수 시 웹 빈 칼럼).
|
|
104
102
|
- `ch specs get`/`--json` 조회가 Windows에서 빈 출력이면 PowerShell `Out-File` + forward-slash 경로로 우회.
|
|
105
103
|
- 이슈 본문은 `--body-file`(LF) 사용 — 따옴표/줄바꿈/한글 안전.
|
|
106
|
-
- ⚠️ **`screenRefs`는
|
|
104
|
+
- ⚠️ **`screenRefs`는 `ch specs update --ui`로 못 바꾼다.** 서버가 무시한다(에러 없음). 화면 연결·재배치는 `ch specs screen-refs <specId> --screens <ids>`로 한다.
|
|
107
105
|
|
|
108
106
|
## 경계
|
|
109
107
|
- **PR·머지·이슈 close는 하지 않는다** — 이슈 발행까지가 이 스킬의 끝(이후는 issue-coder/pr-merger/사람).
|
|
@@ -10,7 +10,7 @@ description: |
|
|
|
10
10
|
(3) 명세·DB·SQA가 서로 어긋나 있는 의심이 들 때 (정합성 점검),
|
|
11
11
|
(4) PRD 갱신 후 하위 spec/db/SQA로 변경분을 흘려보내야 할 때,
|
|
12
12
|
(5) Sprint 진행 중 도메인 규칙·스키마가 흔들렸을 때 연쇄 갱신이 필요할 때.
|
|
13
|
-
version: 1.
|
|
13
|
+
version: 1.17.0
|
|
14
14
|
---
|
|
15
15
|
|
|
16
16
|
<!-- ch-version-gate -->
|
|
@@ -361,7 +361,7 @@ ch specs get <specId> --json | jq -r '.workStatus // ""' > /tmp/ws.md
|
|
|
361
361
|
ch specs update <specId> --work-status /tmp/ws.md --no-version
|
|
362
362
|
```
|
|
363
363
|
|
|
364
|
-
> ⚠️ **화면 재배치(`spec.ui.screenRefs` 변경)는
|
|
364
|
+
> ⚠️ **화면 재배치(`spec.ui.screenRefs` 변경)는 `--ui`로 안 된다.** `ch specs update --ui`로 보낸 `screenRefs`는 서버가 무시한다(에러 없음). 전용 커맨드로 바꾼다: `ch specs screen-refs <specId> --screens <ids>` (보낸 목록으로 통째 교체, `""`이면 해제). 웹 화면 피커와 같은 경로다.
|
|
365
365
|
|
|
366
366
|
> 레거시 프로젝트(`screensEnabled` 미설정·false)는 screens 축을 **건너뛴다**. `spec.ui.route`가 여전히 SSOT다.
|
|
367
367
|
|
|
@@ -8,8 +8,9 @@ description: |
|
|
|
8
8
|
(2) spec 규모를 Story Point(`--points`)로 매길 때,
|
|
9
9
|
(3) ch db-tables 명령(list/get/create/update/delete)을 사용할 때,
|
|
10
10
|
(4) ch screens 명령(list/get/create/update/delete/migrate)으로 화면을 다루거나 레거시 프로젝트를 화면 모드로 이관할 때,
|
|
11
|
-
(5)
|
|
12
|
-
|
|
11
|
+
(5) spec의 화면 연결을 CLI로 걸거나 풀 때 (`ch specs screen-refs`),
|
|
12
|
+
(6) Spec ID를 JIRA 스타일(`LOGIN-001`)로 직접 지정할 때 (`ch specs create --id`).
|
|
13
|
+
version: 1.17.0
|
|
13
14
|
---
|
|
14
15
|
|
|
15
16
|
<!-- ch-version-gate -->
|
|
@@ -155,6 +156,23 @@ ch specs update <specId> --db-tables tbl_users,tbl_sessions
|
|
|
155
156
|
ch specs update <specId> --db-tables "" # 모두 해제
|
|
156
157
|
```
|
|
157
158
|
|
|
159
|
+
### 화면 연결 (`ch specs screen-refs`)
|
|
160
|
+
|
|
161
|
+
`ui.screenRefs`는 **서버 관리 필드**다. `ch specs update --ui`로 보내면 서버가 버리고 기존 값을 지킨다. 화면 연결은 이 전용 커맨드로만 바꾼다 (웹 화면 선택기와 같은 경로 — `PATCH /specs/:id/screen-refs`).
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
ch specs screen-refs <specId> --screens SCR-001,SCR-002 # 이 목록으로 통째 교체
|
|
165
|
+
ch specs screen-refs <specId> --screens "" # 모든 연결 해제
|
|
166
|
+
ch specs screen-refs <specId> --screens SCR-001 --json # stdout = { message, screenRefs }
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
- **교체 시맨틱**이다. 보낸 목록이 그 명세의 화면 연결 전부가 된다.
|
|
170
|
+
- 하나만 더하거나 빼려면 먼저 `ch specs get <specId> --json`으로 현재 `ui.screenRefs`를 읽고 목록 전체를 만들어 넘긴다 (Read-before-Write).
|
|
171
|
+
- `--screens` 플래그를 빼면 요청을 보내지 않고 종료코드 ≠ 0으로 끝난다. "미지정"은 "전부 해제"가 아니다.
|
|
172
|
+
- `ui`의 다른 필드(`route`·`file`·`access`·`interactionMap`)는 보존된다. 서버가 `ui.screenRefs` 점 경로만 갱신한다.
|
|
173
|
+
- 화면의 `relatedSpecIds`도 서버가 함께 갱신한다(양방향).
|
|
174
|
+
- 없는 화면 ID면 서버가 **400**으로 거절한다. `ch screens create`로 화면을 먼저 만든다.
|
|
175
|
+
|
|
158
176
|
### workStatus (`--work-status <mdFile>`)
|
|
159
177
|
|
|
160
178
|
마크다운 파일 경로. spec 하단 "작업 현황" 탭에 표시.
|
|
@@ -250,7 +268,7 @@ ch screens migrate --rollback --force # 되돌아갈 route가 없어
|
|
|
250
268
|
- stdin은 **`--file -`로 명시할 때만** 읽는다: `cat purpose.md | ch screens create --name X --file -`
|
|
251
269
|
- `--order`는 숫자. 숫자가 아니면 요청을 보내지 않고 종료코드 ≠ 0으로 끝난다.
|
|
252
270
|
- `create`는 생성 결과(`{ "id": ... }`)를 출력한다. 전체 문서가 필요하면 이어서 `ch screens get <id>`.
|
|
253
|
-
- `relatedSpecIds`는 사용자 입력 금지(서버 자동 관리). spec ↔ screen 링크는 spec 쪽에서
|
|
271
|
+
- `relatedSpecIds`는 사용자 입력 금지(서버 자동 관리). spec ↔ screen 링크는 spec 쪽에서 건다 — `ch specs screen-refs`(§1).
|
|
254
272
|
- 로컬 입력 오류(파일 없음·JSON 깨짐·`--order` 비숫자·`update` 필드 0개)는 **요청을 보내지 않고** 종료코드 ≠ 0으로 끝난다.
|
|
255
273
|
|
|
256
274
|
### states.json (`--states`)
|
|
@@ -294,6 +312,8 @@ ch screens migrate --rollback --force # 되돌아갈 route가 없어
|
|
|
294
312
|
- Story를 Task로 쪼개지 않는다 — 규모는 `--points`로 매긴다. `--tasks`는 deprecated(하위호환).
|
|
295
313
|
- `--db-tables ""`는 모두 해제. 단일 ID 유지하려면 그 ID만 명시.
|
|
296
314
|
- `relatedSpecIds`를 JSON에 명시해도 서버가 무시 (자동 관리 영역).
|
|
315
|
+
- `--ui`의 `screenRefs`도 **수정 때는 서버가 무시**한다(생성 때만 실린다). 에러가 나지 않으니 조용히 안 바뀐 줄 모른다. 화면 연결 변경은 `ch specs screen-refs`(§1).
|
|
316
|
+
- `ch specs screen-refs`는 **교체**다. 화면 하나를 추가하려고 그 ID만 넘기면 나머지 연결이 사라진다.
|
|
297
317
|
- `ch screens update --states`도 배열 **통째 교체**다. 상태 하나만 고치려 해도 `ch screens get <id> --json`으로 받아 배열 전체를 넘긴다.
|
|
298
318
|
- 화면 SSOT는 `screensEnabled=true`인 프로젝트에서만 screens다. 이 플래그가 꺼진(=기존) 프로젝트는 화면 정보의 SSOT가 여전히 `spec.ui.route`다 — screens를 만들어도 그 프로젝트의 화면 정보가 자동으로 옮겨가지 않는다. 옮기려면 `ch screens migrate`.
|
|
299
319
|
- `ch screens migrate`의 `--dry-run`은 **요청을 한 번 보낸다**(`POST /screens/migrate {mode:'plan'}`). 계산도 쓰기도 서버가 한다. "아무 요청도 안 나간다"가 아니라 "아무 문서도 쓰지 않는다"가 보장이다.
|
|
@@ -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.
|
|
5
|
+
version: 1.17.0
|
|
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.
|
|
5
|
+
version: 1.17.0
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<!-- ch-version-gate -->
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: 2t-decencia-channel-project-bootstrap
|
|
3
|
-
description: 신규 기획을 사용자와 대화하며 step-by-step으로 소통채널 프로젝트로 만드는 오케스트레이터 스킬. (1)대화로 PRD 완성 → (2)기능명세(spec) 내용 확정 → (3)
|
|
3
|
+
description: 신규 기획을 사용자와 대화하며 step-by-step으로 소통채널 프로젝트로 만드는 오케스트레이터 스킬. (1)대화로 PRD 완성 → (2)기능명세(spec) 내용 확정 → (3)DB 스키마 → (4)spec 업로드 → (5)화면 구성·연결 → (6)SQA 시트. 각 단계 사용자 승인 게이트, 작성 디테일은 기존 2t-decencia-channel-*-v2 스킬을 적극 재사용. "새 기획 만들어줘"·"프로젝트 처음부터 세팅" 류 요청 시.
|
|
4
4
|
allowed-tools: Bash(ch:*) Bash(git:*) Read Write
|
|
5
|
-
version: 1.
|
|
5
|
+
version: 1.17.0
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<!-- ch-version-gate -->
|
|
@@ -36,10 +36,12 @@ ch check
|
|
|
36
36
|
## 전체 흐름
|
|
37
37
|
|
|
38
38
|
```
|
|
39
|
-
(1) PRD → (2) 기능명세 내용 확정 → (3)
|
|
39
|
+
(1) PRD → (2) 기능명세 내용 확정 → (3) DB 스키마 → (4) spec 업로드 → (5) 화면 구성·연결 → (6) SQA
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
**spec
|
|
42
|
+
**spec 업로드는 DB 스키마 뒤, 화면 구성 앞이다.**
|
|
43
|
+
- 테이블 연결(`dbTableRefs`)은 spec 생성 때 함께 싣는다. 그래서 DB가 먼저다.
|
|
44
|
+
- 화면 연결(`screenRefs`)은 화면을 만든 뒤 §5에서 `ch specs screen-refs`로 건다. 생성 때 실을 필요가 없다.
|
|
43
45
|
|
|
44
46
|
---
|
|
45
47
|
|
|
@@ -53,7 +55,7 @@ ch check
|
|
|
53
55
|
### 0-1. 화면 모드 확인 (screensEnabled)
|
|
54
56
|
- **신규 프로젝트는 서버가 `screensEnabled: true`로 만든다.** 화면 정보의 SSOT는 screens 리소스다. **신규 프로젝트 spec에는 `ui.route`를 쓰지 않는다.**
|
|
55
57
|
- 기존 프로젝트를 이어 쓰면 `ch projects info --json`으로 `screensEnabled`를 본다. **키가 아예 없거나 false면 레거시다.** (레거시 프로젝트 응답에는 이 키가 없다. 없음 = false로 읽는다.)
|
|
56
|
-
- **레거시는 route 방식을 그대로 유지한다.** §
|
|
58
|
+
- **레거시는 route 방식을 그대로 유지한다.** §5(화면 구성)를 건너뛰고 spec의 `ui.route`를 계속 쓴다.
|
|
57
59
|
|
|
58
60
|
### 0-2. 레거시를 화면 모드로 옮길 때만
|
|
59
61
|
- `ch screens migrate --dry-run`으로 계획을 보고 → 사용자 확인 → `ch screens migrate`.
|
|
@@ -73,15 +75,52 @@ ch check
|
|
|
73
75
|
- ui 필드는 화면 모드 기준으로 채운다: `file`·`figmaNodeId`·`interactionMap`·`primaryActions`·`keyInformation`. **`route`는 쓰지 않는다.** route의 SSOT는 `screens.route`다.
|
|
74
76
|
- 레거시 프로젝트(§0-1)는 예외다. 종전대로 `route`·`access`를 spec에 쓴다.
|
|
75
77
|
- 이 단계의 산출물은 **기능 목록 + spec 본문 초안**이다. 항목: 이름 · epic · points · 핵심 액션 · 필요 테이블 후보.
|
|
76
|
-
- ⚠️ **서버 업로드는 여기서 하지 않는다.**
|
|
78
|
+
- ⚠️ **서버 업로드는 여기서 하지 않는다.** 테이블을 먼저 만들고 §4에서 `dbTableRefs`와 함께 생성한다.
|
|
77
79
|
- → **[게이트] 사용자 확인.** OK면 3단계.
|
|
78
80
|
|
|
79
|
-
## 3.
|
|
80
|
-
*(기능명세 승인
|
|
81
|
+
## 3. DB 스키마
|
|
82
|
+
*(기능명세 승인 후에만)*
|
|
83
|
+
- `2t-decencia-channel-db-schema-v2`로 db-schema(ERD/정책) + db-tables(컬럼·인덱스·보안규칙) 작성.
|
|
84
|
+
- `spec.dbTableRefs` ↔ `dbTable.relatedSpecIds` 양방향.
|
|
85
|
+
- **spec 업로드보다 앞선다.** spec 생성 시 `--db-tables`에 실제 tableId가 필요하기 때문이다([[2t-decencia-channel-spec-v2]] §6-3 — 테이블 먼저, spec 연결은 그 다음).
|
|
86
|
+
- → **[게이트] 사용자 확인.** OK면 4단계.
|
|
87
|
+
|
|
88
|
+
## 4. spec 업로드
|
|
89
|
+
*(테이블이 다 만들어진 뒤)*
|
|
90
|
+
|
|
91
|
+
이제 spec을 서버에 만든다. 테이블 연결을 생성에 함께 싣는다. 화면 연결은 §5에서 건다.
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
ch specs create --id PROJ-001 --name "프로젝트 목록" \
|
|
95
|
+
--device 웹 --domain 프로젝트 --type 화면 \
|
|
96
|
+
--epic "프로젝트" --points 5 \
|
|
97
|
+
--ui ui.json --logic logic.json --db-tables tbl_projects,tbl_members
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
⚠️ `--device`·`--domain`·`--type`은 **필수 플래그**다. 빼면 CLI가 실행 즉시 실패한다. 값은 `ch specs meta --json`이 준 스키마 안에서 고른다.
|
|
101
|
+
|
|
102
|
+
`ui.json` (화면 모드):
|
|
103
|
+
|
|
104
|
+
```json
|
|
105
|
+
{
|
|
106
|
+
"file": "src/app/projects/page.tsx",
|
|
107
|
+
"figmaNodeId": "123:456",
|
|
108
|
+
"interactionMap": "## 인터랙션\n...",
|
|
109
|
+
"primaryActions": "- 프로젝트를 만든다",
|
|
110
|
+
"keyInformation": "- 진행 중 프로젝트 수"
|
|
111
|
+
}
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
- `route`를 넣지 않는다. `access`는 화면(screens)에 있다.
|
|
115
|
+
- `screenRefs`도 여기에 넣지 않는다. 화면이 아직 없다 — 연결은 §5에서 `ch specs screen-refs`로 건다.
|
|
116
|
+
- → **[게이트] 사용자 확인.** OK면 5단계.
|
|
117
|
+
|
|
118
|
+
## 5. 화면 구성·연결
|
|
119
|
+
*(spec 업로드 후에만. 레거시 프로젝트는 건너뛴다 — §0-1)*
|
|
81
120
|
|
|
82
121
|
기능들을 **화면에 배치**한다. 화면은 사용자가 실제로 마주하는 단위다.
|
|
83
122
|
|
|
84
|
-
**입력**: §2의 기능
|
|
123
|
+
**입력**: §2의 기능 목록 + §4에서 만든 spec ID.
|
|
85
124
|
|
|
86
125
|
**절차**
|
|
87
126
|
1. 기능을 **사용자 맥락**으로 묶는다. 같은 사용자가 한 자리에서 연달아 하는 일이면 한 화면이다.
|
|
@@ -102,7 +141,21 @@ ch screens create --id SCR-PROJECTS --name "프로젝트 목록" \
|
|
|
102
141
|
--epic "프로젝트" --states ./states.json
|
|
103
142
|
```
|
|
104
143
|
|
|
105
|
-
5.
|
|
144
|
+
5. 배치표대로 **spec을 화면에 연결**한다. spec 하나당 한 번 실행한다.
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
ch specs screen-refs PROJ-001 --screens SCR-PROJECTS
|
|
148
|
+
ch specs screen-refs PROJ-002 --screens SCR-PROJECTS,SCR-PROJECT-DETAIL # 화면 둘에 걸치면 한 번에
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
- **교체 시맨틱**이다. 보낸 목록이 그 spec의 화면 연결 전부가 된다. 화면 하나를 더할 때도 목록 전체를 넘긴다.
|
|
152
|
+
- `ui`의 다른 필드(`file`·`interactionMap` 등)는 보존된다. 화면의 `relatedSpecIds`도 서버가 함께 갱신한다.
|
|
153
|
+
- 없는 화면 ID면 400으로 거절당한다. 화면을 먼저 만들어야 하는 이유다.
|
|
154
|
+
- 연결을 풀려면 `--screens ""`.
|
|
155
|
+
|
|
156
|
+
6. 검증: `ch specs get PROJ-001 --json`의 `ui.screenRefs`와 `ch screens get SCR-PROJECTS --json`의 `relatedSpecIds`가 **양쪽 다** 채워졌는지 본다.
|
|
157
|
+
|
|
158
|
+
7. → **[게이트] 사용자 확인.** OK면 6단계.
|
|
106
159
|
|
|
107
160
|
### 🚫 1 spec = 1 화면으로 뽑지 마라
|
|
108
161
|
그러면 화면이 route의 복사본이 된다. 화면 모델을 만든 이유가 사라진다.
|
|
@@ -117,53 +170,15 @@ ch screens create --id SCR-PROJECTS --name "프로젝트 목록" \
|
|
|
117
170
|
### 화면의 단위는 사용자가 이동하는 URL이다
|
|
118
171
|
탭·모달·바텀시트는 별도 화면이 아니다. 그 화면의 `states`·`entryPoints`로 적는다.
|
|
119
172
|
|
|
120
|
-
## 4. DB 스키마
|
|
121
|
-
*(화면 승인 후에만)*
|
|
122
|
-
- `2t-decencia-channel-db-schema-v2`로 db-schema(ERD/정책) + db-tables(컬럼·인덱스·보안규칙) 작성.
|
|
123
|
-
- `spec.dbTableRefs` ↔ `dbTable.relatedSpecIds` 양방향.
|
|
124
|
-
- **spec 업로드보다 앞선다.** spec 생성 시 `--db-tables`에 실제 tableId가 필요하기 때문이다([[2t-decencia-channel-spec-v2]] §6-3 — 테이블 먼저, spec 연결은 그 다음).
|
|
125
|
-
- → **[게이트] 사용자 확인.** OK면 5단계.
|
|
126
|
-
|
|
127
|
-
## 5. spec 업로드
|
|
128
|
-
*(화면·테이블이 다 만들어진 뒤)*
|
|
129
|
-
|
|
130
|
-
이제 spec을 서버에 만든다. 화면 연결과 테이블 연결을 **생성 한 번에** 싣는다.
|
|
131
|
-
|
|
132
|
-
```bash
|
|
133
|
-
ch specs create --id PROJ-001 --name "프로젝트 목록" \
|
|
134
|
-
--device 웹 --domain 프로젝트 --type 화면 \
|
|
135
|
-
--epic "프로젝트" --points 5 \
|
|
136
|
-
--ui ui.json --logic logic.json --db-tables tbl_projects,tbl_members
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
⚠️ `--device`·`--domain`·`--type`은 **필수 플래그**다. 빼면 CLI가 실행 즉시 실패한다. 값은 `ch specs meta --json`이 준 스키마 안에서 고른다.
|
|
140
|
-
|
|
141
|
-
`ui.json` (화면 모드):
|
|
142
|
-
|
|
143
|
-
```json
|
|
144
|
-
{
|
|
145
|
-
"file": "src/app/projects/page.tsx",
|
|
146
|
-
"figmaNodeId": "123:456",
|
|
147
|
-
"interactionMap": "## 인터랙션\n...",
|
|
148
|
-
"screenRefs": ["SCR-PROJECTS"],
|
|
149
|
-
"primaryActions": "- 프로젝트를 만든다",
|
|
150
|
-
"keyInformation": "- 진행 중 프로젝트 수"
|
|
151
|
-
}
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
- `route`를 넣지 않는다. `access`는 화면(screens)에 있다.
|
|
155
|
-
- 검증: `ch specs get PROJ-001 --json`의 `ui.screenRefs`와 `ch screens get SCR-PROJECTS --json`의 `relatedSpecIds`가 **양쪽 다** 채워졌는지 본다.
|
|
156
|
-
- ⚠️ 없는 화면 ID를 넣으면 spec 생성은 성공하지만 그 화면은 동기화에서 빠진다. 화면을 먼저 만드는 이유다.
|
|
157
|
-
|
|
158
173
|
## 6. SQA 시트
|
|
159
|
-
*(
|
|
174
|
+
*(화면 연결 후에만)*
|
|
160
175
|
- `2t-decencia-channel-sqa-v2`로 SQA 작성: **A축**(명세별 기능 TC — 영역별 번들에서 도출) + **B축**(비기능 표준 40).
|
|
161
176
|
|
|
162
177
|
---
|
|
163
178
|
|
|
164
179
|
## 업로드 주의 (전 단계 공통)
|
|
165
180
|
- 모든 업로드는 `2t-decencia-channel-cli-v2`(=`ch` CLI) 경유.
|
|
166
|
-
- ⚠️ **`screenRefs`는
|
|
181
|
+
- ⚠️ **`screenRefs`는 `ch specs update --ui`로 못 바꾼다.** 서버가 조용히 무시하고 기존 값을 지킨다(에러가 안 난다). 화면 연결·재배치는 `ch specs screen-refs <specId> --screens <ids>`로 한다(웹 화면 피커와 같은 전용 경로).
|
|
167
182
|
- ⚠️ content는 **마크다운**(HTML 아님) + **CRLF 정제**(`tr -d '\r'`). PowerShell 인자 분리 실패 시 Bash 도구로 우회.
|
|
168
183
|
- spec 필드는 **단수+복수 동시 저장**(device/devices 등) 규칙 유지(미준수 시 웹 빈 칼럼).
|
|
169
184
|
- `--json` 조회가 Windows에서 깨지면 파일 저장 + forward-slash 경로로 우회.
|
|
@@ -11,7 +11,7 @@ description: |
|
|
|
11
11
|
(2) UI 메타데이터·비즈니스 로직·DB 참조를 함께 다룰 때,
|
|
12
12
|
(3) Story 규모를 Story Point(`--points`)로 매길 때,
|
|
13
13
|
(4) 신규 spec ID를 `LOGIN-001` 같은 JIRA 스타일로 부여하고 싶을 때 (`ch specs create --id`).
|
|
14
|
-
version: 1.
|
|
14
|
+
version: 1.17.0
|
|
15
15
|
---
|
|
16
16
|
|
|
17
17
|
<!-- ch-version-gate -->
|
|
@@ -244,7 +244,7 @@ Story 하나를 끝내는 데 드는 규모를 매긴다.
|
|
|
244
244
|
| `file` | 진입 컴포넌트 파일 경로(저장소 기준). 예: `src/app/login/page.tsx` |
|
|
245
245
|
| `access` | **[레거시]** `public`, `auth`, `admin`, `role:센터장` 등 자유 문자열. 화면 모드에서는 `screens.access`가 SSOT다 |
|
|
246
246
|
| `interactionMap` | **모든 인터랙티브 요소**를 마크다운 표로. 다이얼로그/바텀시트/키보드 단축키는 별도 절 |
|
|
247
|
-
| `screenRefs[]` | 이 명세가 걸리는 **화면 ID 배열**. 서버가 `screen.relatedSpecIds`와 양방향으로 맞춘다.
|
|
247
|
+
| `screenRefs[]` | 이 명세가 걸리는 **화면 ID 배열**. 서버가 `screen.relatedSpecIds`와 양방향으로 맞춘다. **`ui.json`에는 생성 때만 넣는다** — 수정은 전용 커맨드 `ch specs screen-refs`로 (§4-5) |
|
|
248
248
|
| `primaryActions` | 이 명세가 화면에서 하게 하는 **핵심 액션**. 마크다운 목록. 예: `- 프로젝트를 만든다` |
|
|
249
249
|
| `keyInformation` | 화면에 **반드시 보여야 하는 정보**. 마크다운 목록. 예: `- 남은 예산` |
|
|
250
250
|
|
|
@@ -293,7 +293,7 @@ Story 하나를 끝내는 데 드는 규모를 매긴다.
|
|
|
293
293
|
**`screenRefs`는 서버 관리 필드다.** 규칙 두 개만 기억하면 된다.
|
|
294
294
|
|
|
295
295
|
1. **생성 때는 `ui.json`에 넣어도 된다.** 서버가 중복을 걷어내고 각 화면의 `relatedSpecIds`에 이 spec을 더한다. 없는 화면 ID를 넣으면 생성은 성공하되 그 화면은 동기화에서 빠지고 서버 로그에 경고가 남는다.
|
|
296
|
-
2. **수정 때는 `ui.json`으로 못 바꾼다.** 일반 `ch specs update --ui`가 보낸 `screenRefs`는 서버가 **무시하고 기존 값을 지킨다**. **에러가 안 난다** — 저장된 줄 알고 넘어가기 쉽다. 화면 연결 변경은 전용 경로(`PATCH /specs/:id/screen-refs`)로만
|
|
296
|
+
2. **수정 때는 `ui.json`으로 못 바꾼다.** 일반 `ch specs update --ui`가 보낸 `screenRefs`는 서버가 **무시하고 기존 값을 지킨다**. **에러가 안 난다** — 저장된 줄 알고 넘어가기 쉽다. 화면 연결 변경은 전용 경로(`PATCH /specs/:id/screen-refs`)로만 한다. CLI는 `ch specs screen-refs <specId> --screens <ids>`, 웹은 화면 피커가 그 경로를 쓴다. **교체 시맨틱**이라 보낸 목록이 연결 전부가 되고, `--screens ""`이면 모두 해제된다. 없는 화면 ID를 보내면 400이다.
|
|
297
297
|
|
|
298
298
|
이 규칙 덕분에 `--ui`로 `interactionMap` 한 줄만 고쳐 저장해도 화면 연결이 날아가지 않는다. `primaryActions`·`keyInformation`도 `ui.json`에 키가 없으면 기존 값이 보존된다(빈 문자열을 명시하면 지워진다). 그래도 안전한 습관은 §0의 Read-before-Write다 — `ch specs get <id> --json`으로 받아 편집한 뒤 보낸다.
|
|
299
299
|
|
|
@@ -613,7 +613,7 @@ spec 작성 시점이 아니라 **개발 진행 중에 누적**되는 일지(`sp
|
|
|
613
613
|
|
|
614
614
|
- `--ui/--logic` JSON 통째 교체 → 일부 수정도 **반드시 get 후 편집**. (`--points`는 스칼라라 안전.)
|
|
615
615
|
- `dbTableRefs`를 손으로 JSON에 넣어도 서버가 무시 (CLI `--db-tables` 또는 웹 picker만 사용).
|
|
616
|
-
- **`ui.screenRefs`를 `--ui`로 바꾸려 하기** — 수정 경로에서는 서버가 무시한다. **에러가 안 나서 성공한 줄 안다.** 화면 연결은
|
|
616
|
+
- **`ui.screenRefs`를 `--ui`로 바꾸려 하기** — 수정 경로에서는 서버가 무시한다. **에러가 안 나서 성공한 줄 안다.** 화면 연결은 `ch specs screen-refs <specId> --screens <ids>`(또는 웹 화면 피커)로 바꾼다(§4-5). 생성 때는 `ui.json`에 넣어도 된다.
|
|
617
617
|
- **신규 프로젝트 spec에 `ui.route`를 적기** — 기능과 화면이 1:1로 못박히고 screens가 껍데기가 된다. route의 SSOT는 `screens.route`다(§4-5).
|
|
618
618
|
- **화면을 spec 수만큼 만들기** — route와 다를 게 없다. 같은 사용자 맥락의 기능들을 한 화면으로 묶어라(§4-5).
|
|
619
619
|
- **Story를 Task로 쪼개려 하지 말 것.** 규모는 spec 단위 `--points`로 매기고, 너무 크면 spec 자체를 나눈다(§9).
|
|
@@ -630,13 +630,13 @@ spec 작성 시점이 아니라 **개발 진행 중에 누적**되는 일지(`sp
|
|
|
630
630
|
|
|
631
631
|
1. `ch specs meta --json` → 스키마 옵션 확인
|
|
632
632
|
2. 화면이 사용하는 테이블 정리 → 없으면 `ch db-tables create` 먼저
|
|
633
|
-
2.5. **이 명세가 붙을 화면 확인** — `ch screens list --json`. 없으면 `ch screens create`를 **먼저** 한다 (§4-5).
|
|
633
|
+
2.5. **이 명세가 붙을 화면 확인** — `ch screens list --json`. 없으면 `ch screens create`를 **먼저** 한다 (§4-5). 화면을 나중에 만들면 생성 후 `ch specs screen-refs`로 연결한다
|
|
634
634
|
3. **Spec ID 결정** (§1.5) — JIRA 스타일(`EPIC-NNN`) 사용 시 다음 번호 결정. 자동 ID로 가도 됨
|
|
635
635
|
4. `points`(Story Point) 산정 — Story 하나의 규모 (§3, 보통 3~8)
|
|
636
636
|
5. `ui.json` 작성 (figmaNodeId/file/interactionMap/screenRefs/primaryActions/keyInformation — **화면 모드는 route 없음**. 레거시는 route/access 포함 — §4-1)
|
|
637
637
|
6. `logic.json` 작성 (dataFlowScenarios 필수 — 시나리오→단계→refs, 나머지 해당 시)
|
|
638
638
|
7. `ch specs create [--id LOGIN-001] --name ... --epic ... --points 5 --ui ... --logic ... --db-tables tbl_a,tbl_b`
|
|
639
|
-
- `ui.json`의 `screenRefs`가 이때 함께 실린다. **생성 이후에는 `--ui`로 못 바꾼다**(§4-5)
|
|
639
|
+
- `ui.json`의 `screenRefs`가 이때 함께 실린다. **생성 이후에는 `--ui`로 못 바꾼다** — `ch specs screen-refs <specId> --screens <ids>`로 바꾼다(§4-5)
|
|
640
640
|
8. `ch specs get <id> --json`으로 결과 검증
|
|
641
641
|
9. SQA 항목은 [[2t-decencia-channel-sqa-v2]]에 따라 별도 등록
|
|
642
642
|
10. 개발 착수 후의 진행 일지는 [[2t-decencia-channel-work-status-v2]]에서 관리
|
|
@@ -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.
|
|
5
|
+
version: 1.17.0
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<!-- ch-version-gate -->
|