@kaydash9999/banker-plugins 0.16.2 → 0.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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +44 -0
- package/README.md +15 -10
- package/bin/banker.js +2 -2
- package/codex/manifest.json +2 -1
- package/codex/transform-matrix.md +2 -1
- package/commands/setup.md +2 -2
- package/hooks/progress-plan.mjs +716 -0
- package/hooks/progress.mjs +378 -34
- package/hooks/register.mjs +24 -1
- package/package.json +1 -1
- package/skills/3d-intro-build/references/assemble.mjs +10 -2
- package/skills/3d-intro-build/references/curate.mjs +10 -2
- package/skills/3d-intro-build/references/preview-lib.mjs +2 -0
- package/skills/3d-intro-build/references/serve.mjs +10 -2
- package/skills/3d-intro-build/references/verify-intro.mjs +10 -2
- package/skills/motion-graphic-make/references/curate.mjs +10 -2
- package/skills/motion-graphic-make/references/preview-lib.mjs +2 -0
- package/skills/motion-graphic-make/references/serve.mjs +10 -2
- package/skills/obsidizer/obsidize.mjs +10 -2
- package/skills/omc-patch/SKILL.md +96 -21
- package/skills/omc-patch/scripts/omc-patch.mjs +164 -62
- package/skills/omc-patch/scripts/probe-pm.mjs +192 -0
- package/skills/ultra-chain/SKILL.md +475 -0
- package/skills/ultra-chain/references/capture.mjs +232 -0
- package/skills/ultra-chain/references/chain-ledger.mjs +491 -0
- package/skills/ultra-chain/references/chain-report.mjs +257 -0
- package/skills/ultra-chain/references/preview-lib.mjs +258 -0
- package/skills/ultra-chain/references/serve.mjs +139 -0
- package/skills/vertical-pptx/verify_a4p.mjs +10 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "banker",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"description": "Claude Code plugin: QA/audit/docs/architecture skills + commands, a /banker:setup installer for OS dependencies (playwright, etc.), and wiki compaction.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "smallOpenSource",
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,49 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.17.0] - 2026-10-14
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
- **`omc-patch` 가 옛 킷이 남긴 헬퍼 자리 결함을 찾아 고친다.** 이 스킬 밖에서 쓰던 이전 판의 패치 도구(옛 킷)는 시간 제한 헬퍼(`__omcRaceImport`)를 첫 사용 지점 앞에 넣었다. 그 자리가 최상위 `try { }` 안이면 다른 블록의 import 가 ReferenceError 로 실패하고, 훅의 `catch` 가 그 오류를 삼켜 project-memory 같은 훅이 조용히 꺼졌다.\
|
|
7
|
+
banker 0.16.x 의 도구는 새로 패치할 때 헬퍼를 맨 앞에 넣었지만, 옛 킷이 남긴 이 결함은 진단하지 못하고 `결과: 모두 적용된 상태입니다.` 를 냈다. 이제 `--check` 가 `헬퍼 자리 결함 N건` 을 알리고, 적용은 그 파일을 건드리지 않은 채 되돌린 뒤 다시 적용하라고 안내한다. 스킬은 활성 폴더만 `--revert --root` 로 되돌린 뒤 다시 패치한다. 백업이 없어 되돌릴 수 없거나 다시 해도 같으면 반복하지 않고 멈춰 보고한다.
|
|
8
|
+
- 3d-intro-build 와 motion-graphic-make 의 미리보기 서버가 `.md`, `.txt`, `.log`, `.jsonl` 을 글(`text/plain`)로 보낸다. 지금까지는 `application/octet-stream` 이라 브라우저가 열지 않고 내려받았다. ultra-chain 보고서의 산출물 링크(조사 보고, 계획, 시험 로그)가 같은 서버를 쓴다.
|
|
9
|
+
- 요청 제목에 붙여넣기 태그(`<pasted_content id="…">`)가 원문으로 보이던 것. 태그만 지우고 붙여넣은 글은 남긴다.
|
|
10
|
+
- 링크 경로로 부르면 아무것도 하지 않고 종료 코드 0 으로 끝나던 스크립트 9개. 3d-intro-build 의 `serve.mjs`, `curate.mjs`, `verify-intro.mjs`, `assemble.mjs`, 그중 `serve.mjs` 와 `curate.mjs` 의 사본 3개(motion-graphic-make 에 둘, ultra-chain 에 `serve.mjs`), vertical-pptx 의 `verify_a4p.mjs`, obsidizer 의 `obsidize.mjs` 다.\
|
|
11
|
+
Node 는 `import.meta.url` 쪽 링크만 풀어, 부른 경로를 그대로 비교하면 직접 실행이 아니라고 판단했다. 이제 두 경로를 모두 실제 경로로 바꿔 비교한다.
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
- **`ultra-chain` 스킬을 추가했다.** 자료 조사, 모호성 제거, 합의 계획, 목업 승인, 구현, OS 시험과 합의 검증, 시각 검토, 과정 시각화, 결과 공유의 9단계를 한 명령으로 잇는다. 단계마다 기존 스킬(deep-research, ultra-interview, ralplan, ralph, ralph-qa, remains 의 박스 도구)을 부른다.\
|
|
15
|
+
기존 도구에 없던 다섯 가지를 채운다. ralplan(검토자 2명) 뒤에 검토자 3명 이상의 합의를 더하고, 구현 전 목업을 보여 승인받는다. 박스 시험 원문을 넣어 합의 검증을 받고, 목업 대비 기계 대조와 독립 에이전트의 화면 판정으로 사람이 볼 곳을 줄인다. 실행 기록에서 단일 HTML 과정 보고서를 만든다.\
|
|
16
|
+
사람이 볼 곳을 인터뷰의 취향 질문, 목업 승인, 외부 공유 확인으로 줄였다. 시작 전 점검과 합의 실패 같은 예외의 질문은 따로 있다. `--auto` 면 목업 승인도 묻지 않고 사람 확인 목록에 남긴다. 실행 기록(`chain-ledger.mjs`), 보고서(`chain-report.mjs`), 캡처(`capture.mjs`) 스크립트와 3d-intro-build 의 미리보기 서버 사본을 싣는다. Codex 에서는 OMX `ralph` 에 `--critic` 이 없어 critic 검토 루프를 직접 돈다.
|
|
17
|
+
- `omc-patch` 도구의 `--root <플러그인 폴더>` 와 `--scan <파일>...`. `--root` 는 그 폴더 하나만 진단, 적용, 되돌리기 하고 버전과 마켓플레이스 고정은 건드리지 않는다. `--scan` 은 헬퍼 선언의 블록 깊이와 감싼 자리를 JSON 으로 내고 파일을 바꾸지 않는다.
|
|
18
|
+
- `omc-patch` 검증의 `scripts/probe-pm.mjs`. OMC 의 project-memory 훅을 임시 폴더의 스크래치 프로젝트(홈, 설정 폴더, 상태 폴더 포함)에서 돌려 `project-memory.json` 이 실제로 생기는지 본다. 결함이 있어도 훅은 종료 코드 0 과 `{"continue":true}` 를 내기 때문이다. 이 세션의 `CLAUDE_*`, `OMC_*`, `GIT_*` 변수는 넘기지 않는다.
|
|
19
|
+
- **`/progress` 를 켜면 모델에게 할 일 도구 `mcp__banker__todo` 를 준다.** Claude 5 모델에는 TaskCreate, TodoWrite 가 없어, 계획 파일이 없는 작업은 요청 단위로만 보였다.\
|
|
20
|
+
모델이 여러 단계 작업을 시작할 때 할 일 목록을 보내면 TodoWrite 처럼 그 목록이 단계가 되고, 진행 중 항목 아래에 도구 호출이 붙는다. 도구는 지연 도구(ToolSearch) 뒤가 아니라 앞 목록에 둔다. 내장 작업 목록 도구가 있는 세션에는 더하지 않는다. 잘못된 목록은 이유를 담아 거절한다.
|
|
21
|
+
|
|
22
|
+
### Changed
|
|
23
|
+
- `omc-patch` 도구의 `TARGET_VERSION` 이 5.3.0 에서 5.7.0 으로 바뀌었다. 인자 없는 apply 만 이 값을 쓰고, 스킬은 적용과 진단에 늘 `--no-update` 를 붙여 쓰지 않는다.
|
|
24
|
+
- **`/progress` 패널이 계획 파일 전체를 접고 펴는 목록으로 보인다.** 0.16.3 은 계획에서 단계만 골라 보여, 단계 규칙에 맞지 않는 계획은 제목과 "단계 없음" 만 보였다.\
|
|
25
|
+
이제 Notion 토글 목록처럼 제목이 그 아래 내용을, 목록 항목이 하위 항목을, 표가 행을, 코드 블록이 줄을 품는다. 처음에는 큰 제목만 접힌 채 보이고, 화살표나 제목 글자를 누르면 펼친다. 글은 줄을 바꿔 보이고, 1000자를 넘는 부분은 줄임표로, 코드 줄은 200자에서 자른다. 번호와 상태 글자는 따로 두어 둘째 줄을 글 시작에 맞춘다.
|
|
26
|
+
- 체크박스 항목은 완료나 대기를, 체크박스가 아닌 제목과 항목은 그 아래 체크 수(`2/5`)를 보인다. 계획 제목 줄의 수(`1/4 완료`, `3단계`)는 지금까지의 단계 규칙으로 세고, 단계가 없으면 수를 보이지 않는다.
|
|
27
|
+
- ralph PRD 는 이야기 아래 설명, 수용 기준, 메모를, ultragoal 은 목표 아래 objective, 근거, 실패 이유를 품는다. PRD 의 계획 제목은 project 와 description 이다.
|
|
28
|
+
- 펼친 상태는 제목 경로로 기억해, 턴마다 파일을 다시 읽어도 그대로다(표와 코드 블록은 행이나 줄이 늘어도). 다른 계획 파일로 바뀌면 처음 모양으로 돌아간다. 트리는 3000개 노드, 목록 12단계, 코드 블록 200줄까지 읽고(JSON 계획은 512 Ki 자까지), 화면에는 300줄, 4만 자까지 그린다. 그보다 길면 끝에 그렇다고 적는다.
|
|
29
|
+
- 세션이 직접 쓴 계획은 단계 규칙에 맞지 않아도 앞 계획을 대신한다. 하위 에이전트가 쓴 문서와 읽기만 한 문서는 단계 있는 계획을 대신하지 않는다.
|
|
30
|
+
- 엔진이 그리지 못하는 글자(사설 영역 문자, 양방향 제어 문자)를 지우고, 계획 파일은 일반 파일만 읽는다. 해석은 줄 안의 CR 이나 이름이 겹치는 노드로도 느려지지 않는다.
|
|
31
|
+
|
|
32
|
+
### Notes
|
|
33
|
+
- ultra-chain 은 작은 Node CLI 저장소에서 9단계 전 과정을 실제로 돌려 본 뒤 고쳤다. 고친 것: 3단계 계획 작성자에게 목업, 대조, 박스 실행기 계약을 함께 넘김. 5단계에서 ralph 가 PRD 와 상태를 만들지 않았으면 문서 꼴대로 쓰고 OMC 내부 모듈을 쓰지 않음. 7단계 캡처를 `--full` 로 찍고 잘린 수용 기준은 통과로 적지 않음(`capture.mjs --help` 추가). 3단계 명세 공백의 개정 규칙, ralplan 기록 꼴, 사전 점검 시간, 플러그인 판 확인, 대조 단위, 기록 명령의 진행 줄(`progress`), 보고서가 실제 파일만 링크하고 같은 요청 줄을 한 번만 보임.
|
|
34
|
+
- OMC 5.7.1 사본에서 재현했다. 옛 방식으로 패치하면 헬퍼 자리 결함 5건이 생기고 project-memory 확인이 RED 였다. 활성 폴더를 되돌리고 다시 패치하자 결함 0건, 헬퍼 깊이 모두 0, 확인 GREEN 이었다.
|
|
35
|
+
|
|
36
|
+
## [0.16.3] - 2026-10-12
|
|
37
|
+
|
|
38
|
+
### Fixed
|
|
39
|
+
- **`/progress` 패널에 계획이 보인다.** Claude Code 2.1.296 은 Claude 5 모델에 작업 목록 도구(TaskCreate, TaskUpdate, TodoWrite)를 주지 않아, 패널은 요청 단위 단계만 보였다.\
|
|
40
|
+
이제 세션이 쓰거나 읽은 마지막 계획 파일의 단계를 맨 위에 보인다. 읽는 파일은 `.omc/plans/*.md`, `docs/superpowers/plans/*.md`, `~/.claude/plans/*.md`, ralph `prd.json`, ultragoal `goals.json` 이다. PRD 의 `passes`, goals 의 `status`, 계획의 체크박스가 있으면 완료와 진행 중을 표시한다. 파일은 그 파일을 고친 도구 호출이 끝날 때와 턴의 시작과 끝에 다시 읽는다. 세션이 만지지 않은 파일은 보이지 않는다.
|
|
41
|
+
- 계획 문서의 단계는 다음 순서로 고른다. superpowers 의 `### Task N:` 제목, 같은 수준의 `Phase N` 이나 `N단계` 제목 묶음, 맨 위 수준의 체크박스, 이름이 단계인 구역(작업 순서, 구현 단계, Implementation Steps 등)의 번호 목록이나 하위 제목. 코드 블록 안의 줄과 수용 기준 구역의 체크박스는 단계가 아니다.
|
|
42
|
+
- 계획 폴더의 검토 문서(이름이 `-critic.md`, `-architect-r2.md`, `-review.md`, `-verdict.md` 처럼 끝나는 파일)와 `open-questions.md` 는 계획으로 보지 않는다. 하위 에이전트가 계획을 읽기만 하면 패널의 계획이 바뀌지 않는다. 단계가 없는 문서는 단계가 있는 계획을 대신하지 않는다.
|
|
43
|
+
- 슬래시 명령의 단계 제목이 `<command-message>` 태그 원문이 아니라 `/명령 인자` 로 보인다. 그 밖의 하네스 태그(`<system-reminder>` 등)도 제목과 설명에서 지운다.
|
|
44
|
+
- 백그라운드 작업이 끝났다는 알림(`<task-notification>`)과 팀원 메시지가 단계를 새로 만들지 않는다. 직전 요청의 단계 아래에 한 줄로 붙고, 그동안 그 단계를 진행 중으로 보이되 원래 결과와 걸린 시간은 그대로 둔다. 실패한 작업은 실패 행으로 보인다. 다른 세션에서 온 메시지는 `[다른 세션]` 단계가 된다.
|
|
45
|
+
- 긴 제목은 패널 폭에 맞춰 자른다(한글과 기본이 이모지인 문자는 2칸). 상태 글자가 다음 줄로 넘어가지 않는다.
|
|
46
|
+
|
|
3
47
|
## [0.16.2] - 2026-10-11
|
|
4
48
|
|
|
5
49
|
### Security
|
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
[빠른 시작](#빠른-시작) · [워크플로 예시](#워크플로-사용-예시) · [구성](#구성) · [설치 상세](#설치-상세-npm--codex) · [설정 변경 지점](#설정-변경-지점-claude-code--codex) · [요구사항](#요구사항) · [업데이트 / 제거](#업데이트--제거) · [업데이트 확인](#업데이트-확인-및-사용량-카운팅) · [라이선스 / 서드파티](#라이선스--서드파티)
|
|
10
10
|
|
|
11
|
-
banker는 QA·보안 감사·문서·아키텍처·위키·미디어 작업과 의존성·개발환경(OS별) 설치를 아우르는 **스킬
|
|
11
|
+
banker는 QA·보안 감사·문서·아키텍처·위키·미디어 작업과 의존성·개발환경(OS별) 설치를 아우르는 **스킬 61개 + 커맨드 2개**(총 63개 구성요소)와 Claude Code 즉시 명령 `/graceful-pause`, `/progress` 를 묶은 Claude Code 플러그인입니다.\
|
|
12
12
|
설치하면 스킬과 커맨드가 `/banker:<이름>` 네임스페이스로 노출됩니다.\
|
|
13
13
|
이 저장소 자체가 Claude Code 마켓플레이스(`.claude-plugin/marketplace.json`)이자 플러그인(`.claude-plugin/plugin.json`, name `banker`)이며, 도구에 무관한 스킬은 Codex CLI에도 설치됩니다.
|
|
14
14
|
|
|
@@ -59,11 +59,12 @@ Claude Code는 `/banker:<이름>`, Codex는 `banker-<이름>` 으로 호출합
|
|
|
59
59
|
| `cleansing-memory` | 프로젝트가 장기화될 때 | 메모리 최적화 |
|
|
60
60
|
| `ready-compact` | 컨텍스트를 compact 하거나 새 세션을 대비할 때 | 이어갈 프롬프트만 출력(`/copy` 한 번이면 복사), `--hand-off` = 새 세션에서 이어가기 |
|
|
61
61
|
| `/graceful-pause` | 작업 도중 방향을 바꾸거나 끼어들고 싶을 때 | 작업 중에 입력해도 바로 전달. 실행 중인 도구 호출이 끝나면 그 단계까지만 마무리하고 멈춘 뒤 지시를 기다림 (Claude Code) |
|
|
62
|
-
| `/progress` | 지금 작업이 어디까지 왔는지 보고 싶을 때 | 진행
|
|
62
|
+
| `/progress` | 지금 작업이 어디까지 왔는지 보고 싶을 때 | 진행 상황 패널을 켜고 끔. 세션이 쓰거나 읽은 계획 파일 전체가 위에 접고 펴는 목록으로, 할 일 목록(없으면 요청)과 그 도구 호출이 아래에 보임. 화살표나 제목을 누르면 펼쳐짐 (Claude Code) |
|
|
63
63
|
| `tone-compact` | 답변을 짧은 한글 개조식으로 받고 싶을 때 | 문체 규칙을 켜 두면 끌 때까지 모든 세션에 적용 |
|
|
64
|
-
| `omc-patch` | OMC 자동 업데이트 뒤 훅이 느려지거나 훅 프로세스가 쌓일 때 | 사라진 훅 패치를 다시 적용하고 OMC 자동 업데이트를 고정 |
|
|
64
|
+
| `omc-patch` | OMC 자동 업데이트 뒤 훅이 느려지거나 훅 프로세스가 쌓일 때, project-memory 가 안 될 때 | 사라진 훅 패치를 다시 적용하고 OMC 자동 업데이트를 고정 |
|
|
65
65
|
| `remains` | 작업 뒤에 남은 버그, 하자, 미검증 항목을 한눈에 보고 싶을 때 | 남은 항목을 표로 정리하고, 등록한 테스트박스에서 시험까지 돌림 |
|
|
66
66
|
| `trouble-shooting` | 문제가 생겨 원인과 해결방법을 정리해야 할 때 | 현상, 문제점, 원인, 해결방법, 조치계획을 표로 간결히 보고(`--no-plan` 은 해결방법까지) |
|
|
67
|
+
| `ultra-chain` | 조사부터 결과 공유까지 한 번에, 여러 OS 에서 돌아야 하는 기능을 만들 때 | 조사 → 인터뷰 → 검토자 3명 이상의 합의 계획 → 목업 승인 → 구현 → OS 박스 시험과 합의 검증 → 시각 검토 → 과정 보고서 |
|
|
67
68
|
|
|
68
69
|
## 구성
|
|
69
70
|
|
|
@@ -74,7 +75,9 @@ Claude Code는 `/banker:<이름>`, Codex는 `banker-<이름>` 으로 호출합
|
|
|
74
75
|
| `/banker:front-qa` | 스펙(note) 기반 프론트엔드 구현 + parity QA |
|
|
75
76
|
| `/banker:setup` | 구성요소·의존성 설치 오케스트레이터 (multi-select) |
|
|
76
77
|
| `/graceful-pause` | 작업 중에도 바로 실행되는 정지 요청. 지금 단계만 끝내고 멈춘 뒤 보고하고 지시를 기다림 (Claude Code 2.1.289 이상, mod. Codex 미지원) |
|
|
77
|
-
| `/progress` | 진행 상황 패널을 켜고 끔(`show` 기본 토글, `on`, `off`). 단계는 Claude 의 작업
|
|
78
|
+
| `/progress` | 진행 상황 패널을 켜고 끔(`show` 기본 토글, `on`, `off`). 맨 위는 이 세션이 쓰거나 읽은 마지막 계획 파일(`.omc/plans/*.md`, `docs/superpowers/plans/*.md`, `~/.claude/plans/*.md`, ralph `prd.json`, ultragoal `goals.json`) 전체. Notion 토글 목록처럼 제목이 그 아래 내용을, 목록 항목이 하위 항목을, 표와 코드 블록이 행과 줄을 품고, 처음에는 큰 제목만 접힌 채 보임. 체크박스는 완료와 대기, 제목은 그 아래 체크 수(`2/5`). 그 아래 단계는 할 일 목록(Claude 의 작업 목록이나 `mcp__banker__todo`), 없으면 이 세션의 요청이고, 하위 목록은 그 단계가 진행 중일 때 한 도구 호출 한 단계까지. 작업 중에도 바로 실행됨(2.1.289 이상에서 확인) (mod. Codex 미지원) |
|
|
79
|
+
|
|
80
|
+
Claude Code 2.1.296 은 Claude 5 모델(Opus 5.5 등)에 작업 목록 도구(TaskCreate, TodoWrite)를 주지 않습니다. 그래서 `/progress` 를 켜면 모델에게 할 일 도구 `mcp__banker__todo` 를 줍니다(다음 요청부터). 모델이 여러 단계 작업을 시작할 때 할 일 목록을 보내면 그 목록이 단계가 됩니다. 한 단계로 끝나는 일에는 쓰지 않으므로 그때는 요청이 단계입니다. 내장 작업 목록 도구가 있는 세션(옛 모델, `CLAUDE_CODE_ENABLE_TODO_TOOLS=1`)에는 이 도구를 더하지 않습니다. 도구는 `/progress off` 뒤에도 세션이 끝날 때까지 남고, 그동안 부르면 패널이 꺼져 있다고 답합니다.
|
|
78
81
|
|
|
79
82
|
`/graceful-pause` 와 `/progress` 는 Claude Code 의 mod(Claude Mods, 얼리 액세스 이름 function hooks, `hooks/register.mjs`)로 등록되는 명령이라 구성요소 수에 넣지 않습니다. `commands/progress.md` 도 넣지 않습니다. 이 파일은 mod 가 없는 Claude Code 에서 `/progress` 를 받아 "mod 를 지원하지않는 claude code 버전입니다" 만 보여 주는 대체 명령이고, mod 가 있으면 mod 가 대신 처리합니다.
|
|
80
83
|
|
|
@@ -132,9 +135,10 @@ Claude Code는 `/banker:<이름>`, Codex는 `banker-<이름>` 으로 호출합
|
|
|
132
135
|
| `cleansing-memory` | 메모리 파일을 문서화된 threshold 내로 정리(중복 최신본화·무손실 압축) |
|
|
133
136
|
| `payload-mon` | 상태표시줄 ctx 옆에 요청 payload 추정치(32MB 한도 대비, 8MB부터) 표시 켜기·끄기 |
|
|
134
137
|
| `tone-compact` | 답변과 새 문서를 ASD-STE100 기반 한글 개조식(표·목록·원어 발음 표기·장식 기호 금지)으로 쓰는 문체 규칙 켜기·끄기(on 기본, 끌 때까지 유지) |
|
|
135
|
-
| `omc-patch` | OMC 자동 업데이트 뒤 사라진 훅 패치를 재적용하고 OMC 마켓플레이스 자동 업데이트를 고정(진단·확인·적용·검증·되돌리기) |
|
|
138
|
+
| `omc-patch` | OMC 자동 업데이트 뒤 사라진 훅 패치를 재적용하고 OMC 마켓플레이스 자동 업데이트를 고정(진단·확인·적용·검증·되돌리기). 옛 킷이 블록 안에 넣은 헬퍼(project-memory 꺼짐)를 찾아 고치고, project-memory 훅이 실제로 일하는지 임시 폴더에서 확인 |
|
|
136
139
|
| `remains` | 남은 버그, 하자, 미검증 항목을 찾아 표로 보여 줌. 테스트박스(`~/.config/banker/test-boxes.json`)가 등록돼 있으면 각 OS 에서 시험을 돌려 확인(읽기와 시험만, 고치지 않음) |
|
|
137
140
|
| `trouble-shooting` | 문제를 조사해 현상, 문제점, 원인, 해결방법, 조치계획을 표 하나로 간결히 보고(문제마다 한 행, `--no-plan` 은 해결방법까지, 고치지 않고 보고만) |
|
|
141
|
+
| `ultra-chain` | 자료 조사, 모호성 제거, 검토자 3명 이상의 합의 계획, 목업 승인, 비판 검증 구현, 실제 OS 테스트박스 시험과 합의 검증, 시각 검토, 과정 시각화, 결과 공유를 한 명령으로 잇는 9단계 연쇄. 사람이 볼 곳은 인터뷰의 취향 질문과 목업 승인으로 줄임. 실행 기록과 단일 HTML 보고서를 남기고, push 나 외부 게시는 요청할 때만 |
|
|
138
142
|
|
|
139
143
|
### 스킬: 미디어 (모션 그래픽 · 3D 인트로)
|
|
140
144
|
|
|
@@ -191,9 +195,9 @@ banker uninstall # 제거
|
|
|
191
195
|
|
|
192
196
|
- `--scope project` 로 프로젝트 로컬(`./.codex`)에 설치하고, `--dry-run` 으로 미리 볼 수 있습니다.
|
|
193
197
|
- non-root 전용입니다(전역 sudo 설치 시 root 소유 파일을 방지). postinstall이 없으므로 `banker setup` 을 직접 실행합니다.
|
|
194
|
-
- Codex에는 스킬
|
|
198
|
+
- Codex에는 스킬 61개가 `~/.codex/skills/banker-<name>/` 에, 커맨드 2개가 `~/.codex/prompts/banker-<name>.md` 에 설치됩니다(`codex/manifest.json`). \
|
|
195
199
|
디렉터리명과 일치하도록 프론트매터 `name:` 이 `banker-<name>` 으로 재작성되어 Codex가 `banker-<name>` 으로 인식합니다.
|
|
196
|
-
- OMC/Claude 에 결합됐던 오케스트레이터·설치·유틸 표면(all-in-one·ultra-init·front-qa·setup·setup-omc·setup-omc-hud·setup-stitch·omc-reference·compact-copy)은 본문이 **런타임 인식**이라 Codex에서도 동작합니다.
|
|
200
|
+
- OMC/Claude 에 결합됐던 오케스트레이터·설치·유틸 표면(all-in-one·ultra-chain·ultra-init·front-qa·setup·setup-omc·setup-omc-hud·setup-stitch·omc-reference·compact-copy)은 본문이 **런타임 인식**이라 Codex에서도 동작합니다.
|
|
197
201
|
- `payload-mon` 은 Codex에서 실행해도 같은 머신의 Claude Code HUD 래퍼만 켜고 끕니다. \
|
|
198
202
|
32MB 요청 한도는 Claude Code 의 것이라 Codex 자신의 요청 크기는 재지 않습니다.
|
|
199
203
|
- `omc-patch` 도 Codex에서 실행하면 같은 머신의 Claude Code OMC 플러그인 캐시(`~/.claude/plugins/`)만 다룹니다. Codex 의 OMX 는 건드리지 않습니다.
|
|
@@ -239,7 +243,7 @@ banker uninstall # 제거
|
|
|
239
243
|
| `smart-compact` | `statusLine.command` 래핑 + `UserPromptSubmit` 훅 추가 (백업·멱등) | `~/.codex/` 대응 |
|
|
240
244
|
| `payload-mon` | `hud/omc-hud-custom.mjs` 에 표시 블록 1개 삽입(`.payload-mon.bak` 백업·멱등·`node --check` 검증) + 래퍼 옆 `hud/payload-mon/` 에 모듈 사본 (`off` 로 원복) | — (Codex에서 실행해도 Claude Code HUD 만 다룸) |
|
|
241
245
|
| `tone-compact` | `rules/banker-tone-compact.md` 생성 (`off` 로 삭제) | `AGENTS.md`(내용이 있는 `AGENTS.override.md` 우선) 끝에 `USER:OMX:POLICY` 로 감싼 블록 1개(`.tone-compact.bak` 백업·멱등, `off` 로 원복) |
|
|
242
|
-
| `omc-patch` | 활성 OMC 버전의 `scripts/*.mjs` 와 `hooks/hooks.json` 수정(`.omcbak` 백업, `PostToolUse` 훅 제거) + OMC 마켓플레이스 `origin` 을 `omc-pinned://` 로 고정(기록 `~/.claude/omc-local-patches/PINNED`, `revert` 로 원복) | — (Codex에서 실행해도 Claude Code 의 OMC 캐시만 다룸) |
|
|
246
|
+
| `omc-patch` | 활성 OMC 버전의 `scripts/*.mjs` 와 `hooks/hooks.json` 수정(`.omcbak` 백업, `PostToolUse` 훅 제거) + OMC 마켓플레이스 `origin` 을 `omc-pinned://` 로 고정(기록 `~/.claude/omc-local-patches/PINNED`, `revert` 로 원복). 헬퍼 자리 결함은 활성 폴더만 되돌린 뒤 다시 패치. project-memory 확인은 임시 폴더에서만 하고 끝나면 지움 | — (Codex에서 실행해도 Claude Code 의 OMC 캐시만 다룸) |
|
|
243
247
|
| `remains` | 설정 파일 미변경. `~/.config/banker/test-boxes.json` 은 읽기만 함(사용자가 만들거나, 사용자가 준 정보로 확인받고 만듦). 처음 접속하는 박스의 호스트 키가 `~/.ssh/known_hosts` 에 더해짐. 테스트박스에는 임시 폴더를 만들고 끝나면 지움(시간 초과나 중단 때는 시작한 프로세스를 먼저 끝냄, 못 지우면 결과에 표시) | 동일 |
|
|
244
248
|
| `motion-graphic-setup` | 설정 파일 미패치 (Node/ffmpeg 확보 + `npx hyperframes` 설치만) | 동일 (`config.toml` 미변경) |
|
|
245
249
|
| `3d-intro-setup` | `settings.json` 미패치 — 크레덴셜을 untracked env 파일에 기록(`.env.3d-intro.local` 또는 `~/.config/banker/3d-intro/env`) | 동일 (`config.toml` 미변경) |
|
|
@@ -252,11 +256,12 @@ banker uninstall # 제거
|
|
|
252
256
|
- Claude Code (마켓플레이스 경로): 스킬이 `/banker:*` 로 동작.
|
|
253
257
|
- 또는 Node.js ≥ 16.7 (npm 전역 설치 경로): `banker` CLI 제공.
|
|
254
258
|
- 일부 스킬은 별도 의존성이 필요하며 `/banker:setup` 으로 설치합니다. 의존성이 없으면 각 스킬이 실행 전에 설치부터 안내합니다.
|
|
255
|
-
- `all-in-one`, `ultra-init`, `/banker:front-qa`: oh-my-claudecode(OMC) 5 와 같은 버전대의 `omc` CLI(`ralph` 가 `omc ralph verify` 를 부르므로 4.x CLI 로는 멈춤). Codex에서는 OMX.
|
|
259
|
+
- `all-in-one`, `ultra-chain`, `ultra-init`, `/banker:front-qa`: oh-my-claudecode(OMC) 5 와 같은 버전대의 `omc` CLI(`ralph` 가 `omc ralph verify` 를 부르므로 4.x CLI 로는 멈춤). Codex에서는 OMX.
|
|
256
260
|
- `audit-web-page`, `play-qa`, `ultra-ui-qa`: playwright. `3d-intro-build` 의 독립 검증(`verify-intro.mjs`)도 Node 용 playwright 패키지와 Chromium 을 씁니다(`npm i -g playwright && npx playwright install chromium`).
|
|
257
261
|
- `payload-mon`: OMC 커스텀 HUD 래퍼(`setup-omc-hud` 로 설치).
|
|
258
262
|
- `omc-patch`: Node 18 이상과 `git`(OMC 마켓플레이스 고정과 확인에 사용).
|
|
259
263
|
- `remains`: 테스트박스를 쓰려면 이 머신에 `ssh`, `scp`, `git`, 박스에 `tar` 와 시험에 필요한 런타임(예: Node)이 있어야 하고, SSH 키로 암호 없이 접속돼야 합니다.
|
|
264
|
+
- `ultra-chain`: 위 OMC(Codex 는 OMX), 웹 조사 수단, 시각 검토의 캡처에는 Node 용 playwright 패키지와 Chromium, OS 시험에는 `remains` 와 같은 테스트박스 조건.
|
|
260
265
|
- `/graceful-pause`: Claude Code 2.1.289 이상(mod). 그보다 오래된 Claude Code 는 명령을 등록하지 않고 한 줄로 알리며, Codex 에는 이 명령이 없습니다.
|
|
261
266
|
- `/progress`: mod 를 지원하는 Claude Code(2.1.286 과 2.1.296 에서 확인). 작업 중 즉시 실행은 2.1.289 이상에서 확인했습니다. mod 가 없는 Claude Code(2.1.250 에서 확인)에서는 "mod 를 지원하지않는 claude code 버전입니다" 만 보이고 모델은 호출되지 않습니다. Codex 에는 이 명령이 없습니다.
|
|
262
267
|
- `lineage`: Python 3.7+ (표준 라이브러리만 사용). RHEL8/Rocky8은 기본 `python3` 가 3.6이라 `setup-python` 등으로 3.11을 설치해 지정해야 합니다.
|
|
@@ -384,7 +389,7 @@ banker 자체는 **MIT** ([LICENSE](LICENSE)). Owner: [smallOpenSource](https://
|
|
|
384
389
|
|
|
385
390
|
| 분류 | 항목 | 라이선스 | 사용/설치 스킬 |
|
|
386
391
|
|---|---|---|---|
|
|
387
|
-
| 프레임워크 | oh-my-claudecode(OMC)·oh-my-codex(OMX), by [Yeachan-Heo](https://github.com/Yeachan-Heo) | MIT | `all-in-one`·`ultra-init`·`/banker:front-qa`·`setup-omc` |
|
|
392
|
+
| 프레임워크 | oh-my-claudecode(OMC)·oh-my-codex(OMX), by [Yeachan-Heo](https://github.com/Yeachan-Heo) | MIT | `all-in-one`·`ultra-chain`·`ultra-init`·`/banker:front-qa`·`setup-omc` |
|
|
388
393
|
| 플러그인 | insane-search (© fivetaku, [fivetaku/gptaku_plugins](https://github.com/fivetaku/gptaku_plugins)) | MIT | `setup-insane-search` |
|
|
389
394
|
| 팀 아키텍처 팩토리 | revfactory/harness (© Minho Hwang, [revfactory/harness](https://github.com/revfactory/harness)) · Codex 포트 SaehwanPark/meta-harness | Apache-2.0 | `setup-harness-factory`(설치·구성만 안내) |
|
|
390
395
|
| 서비스(독점·상표) | Notion | 독점 | `make-notion-guide` |
|
package/bin/banker.js
CHANGED
|
@@ -161,7 +161,7 @@ function setupClaude(dryRun) {
|
|
|
161
161
|
catch (e) { warn(` step failed (may already be applied): ${bin} ${args.join(' ')}`); }
|
|
162
162
|
}
|
|
163
163
|
log(' → skills/commands available as /banker:* (reload-plugins or restart to apply).');
|
|
164
|
-
log(' → for all-in-one / ultra-init / front-qa, install OMC too: run /banker:setup and pick oh-my-claudecode (or `omc update`).');
|
|
164
|
+
log(' → for all-in-one / ultra-chain / ultra-init / front-qa, install OMC too: run /banker:setup and pick oh-my-claudecode (or `omc update`).');
|
|
165
165
|
return true;
|
|
166
166
|
}
|
|
167
167
|
|
|
@@ -218,7 +218,7 @@ function doctor() {
|
|
|
218
218
|
const m = readManifest();
|
|
219
219
|
const nSkills = eligible(m).filter(s => s.type === 'skill').length;
|
|
220
220
|
log(` manifest: ${eligible(m).length} codex-eligible surfaces (${nSkills} skills) of ${m.surfaces.length}.`);
|
|
221
|
-
log('Dependencies: all-in-one / ultra-init / front-qa need OMC (Claude) or OMX (Codex); browser skills need playwright.');
|
|
221
|
+
log('Dependencies: all-in-one / ultra-chain / ultra-init / front-qa need OMC (Claude) or OMX (Codex); browser skills need playwright.');
|
|
222
222
|
log(' → install via /banker:setup (Claude) or the setup-* skills; skills also guide you if a dependency is missing.');
|
|
223
223
|
}
|
|
224
224
|
|
package/codex/manifest.json
CHANGED
|
@@ -66,9 +66,10 @@
|
|
|
66
66
|
{ "name": "3d-intro-build", "type": "skill", "target": "both", "reason": "scroll-scrub 3D intro: gpt-image stills, WAN key pool video with Sora-2 fallback (forward-chaining, or the optional hold-and-flight mode), a review page for every paid stage, a page with no inline script or style (strict CSP), optional scene-by-scene navigation and glass panel, and a Playwright measurement for the independent check; vendored scroll-world engine (MIT) left unmodified; cross-platform Node", "supportingFiles": ["references/azure-adapter.mjs", "references/video-pool.mjs", "references/scrub-engine.js", "references/index-template.html", "references/prompts.md", "references/LICENSE", "references/NOTICE.md", "references/preview-lib.mjs", "references/serve.mjs", "references/assemble.mjs", "references/curate.mjs", "references/intro-fixes.css", "references/panel-glass.css", "references/step-nav.js", "references/step-nav.css", "references/verify-intro.mjs", "references/verify.md"], "caveat": "the independent check (verify-intro.mjs) needs Node Playwright with Chromium (setup-playwright); the hold-and-flight mode needs WAN keys and is not yet confirmed by a paid smoke" },
|
|
67
67
|
{ "name": "payload-mon", "type": "skill", "target": "both", "reason": "toggles an estimated API request payload segment (bytes against Claude Code's 32MB request limit) in the OMC custom HUD statusline, beside ctx; pure Node, no deps", "supportingFiles": ["scripts/payload-mon.mjs", "scripts/payload-size.mjs"], "caveat": "measures Claude Code sessions only (the 32MB limit and the transcript format are Claude Code's); run from Codex it still manages the same machine's Claude Code HUD wrapper but never measures Codex's own requests. Needs the OMC custom HUD wrapper (setup-omc-hud); the wrapper imports a module copy kept beside it because plugin install paths are versioned and retired on update" },
|
|
68
68
|
{ "name": "tone-compact", "type": "skill", "target": "both", "reason": "turns compact Korean writing rules (ASD-STE100 based: lists and tables, transliterated terms, no decorative symbols) on or off across sessions; pure Node, no deps", "supportingFiles": ["scripts/tone-compact.mjs"], "caveat": "per runtime: Claude Code gets <config>/rules/banker-tone-compact.md; Codex gets one marked block at the end of $CODEX_HOME/AGENTS.override.md (when it has content of its own) or AGENTS.md, wrapped in USER:OMX:POLICY so omx setup --merge-agents and a plain omx setup with team mode on keep it (--force, a confirmed overwrite or a plain omx setup with team mode off replace the file; run on again). Turning it on in one runtime leaves the other as it is" },
|
|
69
|
-
{ "name": "omc-patch", "type": "skill", "target": "both", "reason": "re-applies local OMC hook patches after an OMC auto-update and pins the OMC marketplace origin; pure Node, no deps", "supportingFiles": ["scripts/omc-patch.mjs"], "caveat": "acts on the Claude Code OMC plugin cache under ~/.claude even when run from Codex; TARGET_VERSION 5.
|
|
69
|
+
{ "name": "omc-patch", "type": "skill", "target": "both", "reason": "re-applies local OMC hook patches after an OMC auto-update and pins the OMC marketplace origin; finds a timeout helper an older kit left inside a block (hooks such as project-memory silently off) and fixes it by reverting the active folder and patching again; probes the project-memory hook in a scratch project; pure Node, no deps", "supportingFiles": ["scripts/omc-patch.mjs", "scripts/probe-pm.mjs"], "caveat": "acts on the Claude Code OMC plugin cache under ~/.claude even when run from Codex; TARGET_VERSION 5.7.0 is hard-coded in the tool and only a plain apply uses it; the skill passes --no-update on every apply and check; --root touches one plugin folder only and never the marketplace pin" },
|
|
70
70
|
{ "name": "remains", "type": "skill", "target": "both", "reason": "finds remaining bugs, defects and unverified items and shows them in one table; runs the project's tests on registered SSH test boxes; pure Node, no deps", "supportingFiles": ["scripts/boxes.mjs"], "caveat": "box runs need ssh, scp and git on this machine and key-only SSH logins; boxes are registered in ~/.config/banker/test-boxes.json; read and test only, never fixes or pushes" },
|
|
71
71
|
{ "name": "trouble-shooting", "type": "skill", "target": "both", "reason": "investigates a problem and reports symptom, problem, cause, fix and action plan in one table, one row per problem; --no-plan stops at the fix; report only, never fixes", "supportingFiles": [] },
|
|
72
|
+
{ "name": "ultra-chain", "type": "skill", "target": "both", "reason": "orchestrates nine stages in order: deep-research, ultra-interview, ralplan --deliberate followed by a ralph-qa plan quorum of 3+ reviewers (ralplan has two reviewers and no way to add more), a mock the user approves, ralph --critic=critic (Codex: OMX ralph plus a critic loop, since OMX ralph has no --critic), tests on the registered OS boxes fed to a ralph-qa quorum, visual review (machine diff against the mock, screenshots, an independent verdict), a process report rendered from its own ledger, and local sharing; Claude=OMC 5, Codex=OMX; body runtime-aware; pure Node helpers, no deps", "supportingFiles": ["references/chain-ledger.mjs", "references/chain-report.mjs", "references/capture.mjs", "references/serve.mjs", "references/preview-lib.mjs"], "caveat": "uses the sibling banker skills deep-research, ultra-interview, ralph-qa and remains (boxes.mjs); box runs need ssh, scp and git with key-only logins in ~/.config/banker/test-boxes.json; screenshots need Playwright with Chromium; serve.mjs and preview-lib.mjs are byte-identical copies of 3d-intro-build's (scripts/sync-adapter.js); never pushes, opens a PR or posts outside without an explicit request" },
|
|
72
73
|
|
|
73
74
|
{ "name": "front-qa", "type": "command", "target": "both", "reason": "ralplan->ralph frontend-QA pipeline; Claude=OMC, Codex=OMX", "supportingFiles": [] },
|
|
74
75
|
{ "name": "setup", "type": "command", "target": "both", "reason": "installer orchestrator; Claude AskUserQuestion multi-select, Codex prompt-based selection", "supportingFiles": [] }
|
|
@@ -43,8 +43,9 @@ The generator (`banker setup --codex`) applies the rules below for `target: both
|
|
|
43
43
|
- `obsidizer` — OMC-managed trees respect the 9-field frontmatter whitelist + reserved files + no-rename + bare `[[slug]]` links only; `aliases` are written in generic vaults only; Canvas sidecars and body-inline `::` are durable in-place; no `wiki_*` write dependency, `wiki_lint` read-only for verification. `--enable` is Claude-only (plugin-declared PostToolUse hook); Codex has no MCP tool hooks → honest no-op.
|
|
44
44
|
- `payload-mon` — needs the OMC custom HUD wrapper (`setup-omc-hud`). It measures Claude Code sessions only; from Codex it manages the same machine's Claude Code HUD wrapper and never measures Codex's own requests.
|
|
45
45
|
- `tone-compact` — per runtime: Claude Code loads `<config>/rules/banker-tone-compact.md`; Codex reads one marked block at the end of `$CODEX_HOME/AGENTS.override.md` (when it has content of its own) or `AGENTS.md`, wrapped in `USER:OMX:POLICY` so `omx setup --merge-agents` keeps it (`--force` or team mode off replaces the file; run `on` again). Turning it on in one runtime leaves the other as it is.
|
|
46
|
-
- `omc-patch` — acts on the Claude Code OMC plugin cache (`~/.claude/plugins/`) even when run from Codex; Codex's own OMX is untouched. The skill always passes `--no-update` (a plain apply would switch the active OMC to the tool's hard-coded `TARGET_VERSION`).
|
|
46
|
+
- `omc-patch` — acts on the Claude Code OMC plugin cache (`~/.claude/plugins/`) even when run from Codex; Codex's own OMX is untouched. The skill always passes `--no-update` (a plain apply would switch the active OMC to the tool's hard-coded `TARGET_VERSION`). `--revert --root` restores only the active plugin folder when an older kit left the timeout helper inside a block, and `scripts/probe-pm.mjs` runs OMC's project-memory hook in a temp scratch project with its own home and state folder.
|
|
47
47
|
- `remains` — the same procedure in both runtimes; box runs go through `scripts/boxes.mjs` (Codex: `~/.codex/skills/banker-remains/scripts/boxes.mjs`), which needs `ssh`, `scp` and `git` on the machine and key-only logins to the boxes in `~/.config/banker/test-boxes.json`. It reads and runs tests only: no fix, no commit, no push.
|
|
48
|
+
- `ultra-chain` — the same nine stages in both runtimes. Claude=OMC 5 (`ralplan --deliberate`, `ralph --critic=critic`); Codex=OMX (`$ralplan --deliberate`, then `$ralph` with the skill's own critic loop through `spawn_agent`, because OMX `ralph` has no `--critic`). Both add a `ralph-qa` plan quorum after ralplan (two reviewers, no option to add more), run OS tests through the sibling `remains/scripts/boxes.mjs` (Codex: `banker-remains`), judge screenshots with a fresh agent (OMX 0.20.2's `visual-verdict` is a deprecated stub), and render the process report from the skill's own ledger (`lineage` reads Claude Code sessions only). Box runs need `ssh`, `scp` and `git`; screenshots need Playwright with Chromium; under Codex's `workspace-write` sandbox the ssh calls and the review seats' home writes may ask for approval.
|
|
48
49
|
- `/graceful-pause` (not a manifest surface) — a Claude Code function-hooks command (`hooks/register.mjs`, 2.1.289+) registered `immediate`, so it runs mid-turn; it appends one hidden user row the running turn reads at its next model request. Codex has no equivalent (no function hooks), and the earlier `graceful_pause` skill was removed because a typed skill waits until the turn ends.
|
|
49
50
|
|
|
50
51
|
신규 스킬(0.7.0)도 `both`·런타임 인식:
|
package/commands/setup.md
CHANGED
|
@@ -28,14 +28,14 @@ banker 플러그인이 제공하는 설치 스킬들을 **multi-select**로 골
|
|
|
28
28
|
- **setup-sandbox** — OS별 샌드박스(bubblewrap+userns / AppContainer / Seatbelt) + rust + git safe.directory.
|
|
29
29
|
|
|
30
30
|
**프레임워크·플러그인**
|
|
31
|
-
- **setup-omc** — oh-my-claudecode(OMC) 설치/갱신(Codex는 OMX). `all-in-one`·`ultra-init`·`/banker:front-qa` 의존성.
|
|
31
|
+
- **setup-omc** — oh-my-claudecode(OMC) 설치/갱신(Codex는 OMX). `all-in-one`·`ultra-chain`·`ultra-init`·`/banker:front-qa` 의존성.
|
|
32
32
|
- **setup-harness-factory** — revfactory/harness(팀 아키텍처 팩토리) 설치+구성+안내(Codex=meta-harness).
|
|
33
33
|
- **setup-insane-search** — insane-search 플러그인(차단 사이트 우회, Claude/Codex 양쪽).
|
|
34
34
|
- **setup-omc-hud** — omc_hud 상태표시줄(OS별).
|
|
35
35
|
- **setup-stitch** — Stitch(디자인 생성) MCP 프록시 등록(RockyLinux8 proxy-script, API key 필요).
|
|
36
36
|
|
|
37
37
|
**의존성 라이브러리**
|
|
38
|
-
- **setup-playwright** — Playwright + 브라우저 + Xvfb(RHEL8/Rocky8 폴백). (`ultra-ui-qa`·`audit-web-page`·`play-qa` 의존성)
|
|
38
|
+
- **setup-playwright** — Playwright + 브라우저 + Xvfb(RHEL8/Rocky8 폴백). (`ultra-ui-qa`·`audit-web-page`·`play-qa`·`ultra-chain` 의존성)
|
|
39
39
|
- **docs-setup** — arch-diagram·pdf-vision-extract 의존성(python-pptx·pymupdf·plantuml). (의존: python)
|
|
40
40
|
- **motion-graphic-setup** — hyperframes(무료 모션 그래픽 CLI) 전제조건(Node≥22 + ffmpeg → `npx hyperframes`). (`motion-graphic-make` 의존성)
|
|
41
41
|
- **3d-intro-setup** — 3D 인트로용 크레덴셜(Azure gpt-image·Sora-2, 선택 WAN 영상 키 풀)·의존성(Node/ffmpeg) + 무과금 프리플라이트. (`3d-intro-build` 의존성)
|