triflux 3.3.0-dev.8 → 4.0.1
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/README.ko.md +108 -199
- package/README.md +108 -199
- package/bin/triflux.mjs +2427 -1762
- package/hooks/keyword-rules.json +361 -354
- package/hooks/pipeline-stop.mjs +5 -2
- package/hub/assign-callbacks.mjs +136 -136
- package/hub/bridge.mjs +734 -684
- package/hub/delegator/contracts.mjs +38 -38
- package/hub/delegator/index.mjs +14 -14
- package/hub/delegator/schema/delegator-tools.schema.json +250 -250
- package/hub/delegator/service.mjs +302 -118
- package/hub/delegator/tool-definitions.mjs +35 -35
- package/hub/hitl.mjs +67 -67
- package/hub/paths.mjs +28 -0
- package/hub/pipe.mjs +589 -561
- package/hub/pipeline/state.mjs +23 -0
- package/hub/public/dashboard.html +349 -0
- package/hub/public/tray-icon.ico +0 -0
- package/hub/public/tray-icon.png +0 -0
- package/hub/router.mjs +782 -782
- package/hub/schema.sql +40 -40
- package/hub/server.mjs +810 -637
- package/hub/store.mjs +706 -706
- package/hub/team/cli/commands/attach.mjs +37 -0
- package/hub/team/cli/commands/control.mjs +43 -0
- package/hub/team/cli/commands/debug.mjs +74 -0
- package/hub/team/cli/commands/focus.mjs +53 -0
- package/hub/team/cli/commands/interrupt.mjs +36 -0
- package/hub/team/cli/commands/kill.mjs +37 -0
- package/hub/team/cli/commands/list.mjs +24 -0
- package/hub/team/cli/commands/send.mjs +37 -0
- package/hub/team/cli/commands/start/index.mjs +87 -0
- package/hub/team/cli/commands/start/parse-args.mjs +32 -0
- package/hub/team/cli/commands/start/start-in-process.mjs +40 -0
- package/hub/team/cli/commands/start/start-mux.mjs +73 -0
- package/hub/team/cli/commands/start/start-wt.mjs +69 -0
- package/hub/team/cli/commands/status.mjs +87 -0
- package/hub/team/cli/commands/stop.mjs +31 -0
- package/hub/team/cli/commands/task.mjs +30 -0
- package/hub/team/cli/commands/tasks.mjs +13 -0
- package/hub/team/{cli.mjs → cli/help.mjs} +38 -99
- package/hub/team/cli/index.mjs +39 -0
- package/hub/team/cli/manifest.mjs +28 -0
- package/hub/team/cli/render.mjs +30 -0
- package/hub/team/cli/services/attach-fallback.mjs +54 -0
- package/hub/team/cli/services/hub-client.mjs +171 -0
- package/hub/team/cli/services/member-selector.mjs +30 -0
- package/hub/team/cli/services/native-control.mjs +115 -0
- package/hub/team/cli/services/runtime-mode.mjs +60 -0
- package/hub/team/cli/services/state-store.mjs +34 -0
- package/hub/team/cli/services/task-model.mjs +30 -0
- package/hub/team/native-supervisor.mjs +69 -63
- package/hub/team/native.mjs +367 -367
- package/hub/team/nativeProxy.mjs +217 -173
- package/hub/team/pane.mjs +149 -149
- package/hub/team/psmux.mjs +946 -946
- package/hub/team/session.mjs +608 -608
- package/hub/team/staleState.mjs +369 -299
- package/hub/tools.mjs +107 -107
- package/hub/tray.mjs +332 -0
- package/hub/workers/claude-worker.mjs +446 -446
- package/hub/workers/codex-mcp.mjs +414 -414
- package/hub/workers/delegator-mcp.mjs +1045 -1045
- package/hub/workers/factory.mjs +21 -21
- package/hub/workers/gemini-worker.mjs +349 -349
- package/hub/workers/interface.mjs +41 -41
- package/package.json +3 -2
- package/scripts/__tests__/keyword-detector.test.mjs +234 -234
- package/scripts/hub-ensure.mjs +102 -101
- package/scripts/keyword-detector.mjs +272 -272
- package/scripts/keyword-rules-expander.mjs +521 -521
- package/scripts/lib/keyword-rules.mjs +168 -168
- package/scripts/lib/mcp-filter.mjs +642 -642
- package/scripts/lib/mcp-server-catalog.mjs +118 -118
- package/scripts/mcp-check.mjs +126 -126
- package/scripts/preflight-cache.mjs +19 -0
- package/scripts/run.cjs +62 -62
- package/scripts/setup.mjs +68 -31
- package/scripts/test-tfx-route-no-claude-native.mjs +57 -57
- package/scripts/tfx-route-worker.mjs +161 -161
- package/scripts/tfx-route.sh +1360 -1326
- package/skills/tfx-auto/SKILL.md +196 -196
- package/skills/tfx-auto-codex/SKILL.md +77 -77
- package/skills/tfx-multi/SKILL.md +378 -378
- package/hub/team/cli-team-common.mjs +0 -348
- package/hub/team/cli-team-control.mjs +0 -393
- package/hub/team/cli-team-start.mjs +0 -516
- package/hub/team/cli-team-status.mjs +0 -283
- package/skills/auto-verify/SKILL.md +0 -145
- package/skills/manage-skills/SKILL.md +0 -192
- package/skills/verify-implementation/SKILL.md +0 -138
package/skills/tfx-auto/SKILL.md
CHANGED
|
@@ -1,196 +1,196 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: tfx-auto
|
|
3
|
-
description: 통합 CLI 오케스트레이터. 커맨드 숏컷(단일) + 자동 분류/분해(병렬) + 수동 병렬. tfx-route.sh 기반.
|
|
4
|
-
triggers:
|
|
5
|
-
- tfx-auto
|
|
6
|
-
- implement
|
|
7
|
-
- build
|
|
8
|
-
- research
|
|
9
|
-
- brainstorm
|
|
10
|
-
- design
|
|
11
|
-
- test
|
|
12
|
-
- analyze
|
|
13
|
-
- troubleshoot
|
|
14
|
-
- improve
|
|
15
|
-
- cleanup
|
|
16
|
-
- explain
|
|
17
|
-
- document
|
|
18
|
-
- pm
|
|
19
|
-
- reflect
|
|
20
|
-
- estimate
|
|
21
|
-
- spec-panel
|
|
22
|
-
- business-panel
|
|
23
|
-
- index-repo
|
|
24
|
-
argument-hint: "<command|task> [args...]"
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
# tfx-auto — 통합 CLI 오케스트레이터
|
|
28
|
-
|
|
29
|
-
> **MANDATORY RULES**
|
|
30
|
-
>
|
|
31
|
-
> 1. **실행**: CLI 에이전트는 반드시 `Bash("bash ~/.claude/scripts/tfx-route.sh ...")`. Claude 네이티브(explore/verifier/test-engineer/qa-tester)만 `Agent()`.
|
|
32
|
-
> 2. **비용**: Codex 우선 → Gemini → Claude 최후 수단. `claude` 선택 전 "Codex로 가능한가?" 재확인.
|
|
33
|
-
> 3. **DAG**: SEQUENTIAL/DAG이면 레벨 기반 순차 실행. `.omc/context/{sid}/` 생성, context_output 저장, 실패 시 후속 SKIP.
|
|
34
|
-
> 4. **트리아지**: Codex `--full-auto` 분류 + Opus 인라인 분해. Agent 스폰 금지.
|
|
35
|
-
|
|
36
|
-
## 모드
|
|
37
|
-
|
|
38
|
-
| 입력 형식 | 모드 | 트리아지 |
|
|
39
|
-
|-----------|------|----------|
|
|
40
|
-
| `/implement JWT 추가` | 커맨드 숏컷 | 없음 (즉시 실행) |
|
|
41
|
-
| `/tfx-auto "리팩터링 + UI"` | 자동 | Codex 분류 → Opus 분해 |
|
|
42
|
-
| `/tfx-auto 3:codex "리뷰"` | 수동 | Opus 분해만 |
|
|
43
|
-
|
|
44
|
-
## 커맨드 숏컷
|
|
45
|
-
|
|
46
|
-
커맨드명 매칭 시 트리아지 없이 즉시 실행. 패턴: `Bash("bash ~/.claude/scripts/tfx-route.sh {에이전트} '{PROMPT}' {MCP}")`.
|
|
47
|
-
|
|
48
|
-
### Codex 직행
|
|
49
|
-
|
|
50
|
-
| 커맨드 | 에이전트 | MCP |
|
|
51
|
-
|--------|---------|-----|
|
|
52
|
-
| `implement` | executor | implement |
|
|
53
|
-
| `build` | build-fixer | implement |
|
|
54
|
-
| `research` | document-specialist | analyze |
|
|
55
|
-
| `brainstorm` | analyst | analyze |
|
|
56
|
-
| `design` | architect | analyze |
|
|
57
|
-
| `troubleshoot` | debugger | implement |
|
|
58
|
-
| `cleanup` | executor | implement |
|
|
59
|
-
| `pm` | planner | analyze |
|
|
60
|
-
|
|
61
|
-
### 2단계: `improve`
|
|
62
|
-
|
|
63
|
-
1단계 `code-reviewer '{PROMPT}' review` → 사용자 승인 → 2단계 `executor '리뷰 반영: {요약}' implement`
|
|
64
|
-
|
|
65
|
-
### 병렬
|
|
66
|
-
|
|
67
|
-
| 커맨드 | 에이전트들 (병렬, run_in_background=true) | MCP |
|
|
68
|
-
|--------|------------------------------------------|-----|
|
|
69
|
-
| `analyze` | quality-reviewer + security-reviewer | review |
|
|
70
|
-
| `spec-panel` | architect + analyst + critic | analyze |
|
|
71
|
-
| `business-panel` | analyst + architect | analyze |
|
|
72
|
-
|
|
73
|
-
### Gemini 직행
|
|
74
|
-
|
|
75
|
-
| 커맨드 | 에이전트 | MCP |
|
|
76
|
-
|--------|---------|-----|
|
|
77
|
-
| `explain` | writer | docs |
|
|
78
|
-
| `document` | writer | docs |
|
|
79
|
-
|
|
80
|
-
### Claude 네이티브
|
|
81
|
-
|
|
82
|
-
| 커맨드 | 실행 |
|
|
83
|
-
|--------|------|
|
|
84
|
-
| `test` | `Agent(subagent_type="oh-my-claudecode:test-engineer", model="sonnet")` |
|
|
85
|
-
| `reflect` | `Agent(subagent_type="oh-my-claudecode:verifier", model="sonnet")` |
|
|
86
|
-
|
|
87
|
-
### 복합
|
|
88
|
-
|
|
89
|
-
| 커맨드 | 흐름 |
|
|
90
|
-
|--------|------|
|
|
91
|
-
| `estimate` | explore(haiku) → analyst(codex): 영향범위, 복잡도(S/M/L/XL), 리스크 |
|
|
92
|
-
| `index-repo` | explore(haiku) × 2 → Write(PROJECT_INDEX.md). mode=quick/update/full |
|
|
93
|
-
|
|
94
|
-
## 트리아지
|
|
95
|
-
|
|
96
|
-
**자동 모드:**
|
|
97
|
-
1. Codex 분류: `codex exec --full-auto --skip-git-repo-check` → JSON `{parts: [{description, agent: "codex|gemini|claude"}]}`
|
|
98
|
-
2. Opus 인라인 분해: `{graph_type: "INDEPENDENT|SEQUENTIAL|DAG", subtasks: [{id, description, scope, agent, mcp_profile, depends_on, context_output, context_input}]}`
|
|
99
|
-
3. 실패 시 Opus가 직접 분류+분해
|
|
100
|
-
|
|
101
|
-
**수동 모드 (`N:agent_type`):** Codex 분류 건너뜀 → Opus가 N개 서브태스크 분해. N > 10 거부.
|
|
102
|
-
|
|
103
|
-
## 실행
|
|
104
|
-
|
|
105
|
-
### CLI 에이전트 (Codex/Gemini)
|
|
106
|
-
|
|
107
|
-
```bash
|
|
108
|
-
# Level 0 / INDEPENDENT
|
|
109
|
-
Bash("bash ~/.claude/scripts/tfx-route.sh {agent} '{prompt}' {mcp_profile}", run_in_background=true)
|
|
110
|
-
|
|
111
|
-
# Level 1+ (컨텍스트 의존) — 4번째=timeout(빈값), 5번째=context_file
|
|
112
|
-
Bash("bash ~/.claude/scripts/tfx-route.sh {agent} '{prompt}' {mcp_profile} '' .omc/context/{sid}/combined-{tid}.md", run_in_background=true)
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
### Claude 네이티브
|
|
116
|
-
|
|
117
|
-
```
|
|
118
|
-
Agent(subagent_type="oh-my-claudecode:{agent}", model="{model}", prompt="{prompt}", run_in_background=true)
|
|
119
|
-
# 컨텍스트 있으면 prompt에 <prior_context>...</prior_context> 추가
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
### 에이전트 매핑
|
|
123
|
-
|
|
124
|
-
| 입력 | CLI | MCP |
|
|
125
|
-
|------|-----|-----|
|
|
126
|
-
| codex / executor / debugger / deep-executor | Codex | implement |
|
|
127
|
-
| architect / planner / critic / analyst | Codex (xhigh) | analyze |
|
|
128
|
-
| scientist / document-specialist | Codex | analyze |
|
|
129
|
-
| code-reviewer / security-reviewer / quality-reviewer | Codex (review) | review |
|
|
130
|
-
| gemini / designer / writer | Gemini | docs |
|
|
131
|
-
| claude / explore / verifier / test-engineer / qa-tester | Claude native | — |
|
|
132
|
-
|
|
133
|
-
### MCP 프로필 자동 결정
|
|
134
|
-
|
|
135
|
-
| 에이전트 | MCP |
|
|
136
|
-
|----------|-----|
|
|
137
|
-
| executor, build-fixer, debugger, deep-executor | implement |
|
|
138
|
-
| architect, planner, critic, analyst, scientist, document-specialist | analyze |
|
|
139
|
-
| code-reviewer, security-reviewer, quality-reviewer | review |
|
|
140
|
-
| designer, writer | docs |
|
|
141
|
-
|
|
142
|
-
### 결과 파싱
|
|
143
|
-
|
|
144
|
-
여기서 `failed`는 `tfx-route.sh`/CLI 종료 결과를 뜻한다. Claude Code `TaskUpdate` 상태값이 아니다.
|
|
145
|
-
|
|
146
|
-
| exit_code + status | 사용할 출력 |
|
|
147
|
-
|--------------------|-----------|
|
|
148
|
-
| 0 + success | `=== OUTPUT ===` 섹션 |
|
|
149
|
-
| 124 + timeout | `=== PARTIAL OUTPUT ===` |
|
|
150
|
-
| ≠0 + failed | STDERR → Claude fallback |
|
|
151
|
-
|
|
152
|
-
OUTPUT 추출: `echo "$result" | sed -n '/^=== OUTPUT ===/,/^=== /{/^=== OUTPUT ===/d;/^=== /d;p}'`
|
|
153
|
-
|
|
154
|
-
### 실패 처리
|
|
155
|
-
|
|
156
|
-
1차 → `Agent(subagent_type="oh-my-claudecode:executor", model="sonnet")` fallback.
|
|
157
|
-
2차 연속 실패 → 실패 보고 + 성공 결과만 종합.
|
|
158
|
-
|
|
159
|
-
### 보고 형식
|
|
160
|
-
|
|
161
|
-
```markdown
|
|
162
|
-
## tfx-auto 완료
|
|
163
|
-
**모드**: {auto|manual} | **그래프**: {type} | **레벨**: {N}
|
|
164
|
-
| # | 서브태스크 | Agent | CLI | MCP | 레벨 | 상태 | 시간 |
|
|
165
|
-
### 워커 {n}: {제목}
|
|
166
|
-
(출력 요약)
|
|
167
|
-
### Token Savings Report
|
|
168
|
-
(node ~/.claude/scripts/token-snapshot.mjs report {session-id})
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
## 필수 조건
|
|
172
|
-
|
|
173
|
-
- `~/.claude/scripts/tfx-route.sh` (필수)
|
|
174
|
-
- codex: `npm install -g @openai/codex` | gemini: `npm install -g @google/gemini-cli`
|
|
175
|
-
|
|
176
|
-
## 에러 레퍼런스
|
|
177
|
-
|
|
178
|
-
| 에러 | 처리 |
|
|
179
|
-
|------|------|
|
|
180
|
-
| `tfx-route.sh: not found` | tfx-route.sh 생성 |
|
|
181
|
-
| `codex/gemini: not found` | npm install -g |
|
|
182
|
-
| timeout / failed (`tfx-route.sh` 결과) | stderr → Claude fallback |
|
|
183
|
-
| N > 10 | 10 이하로 조정 |
|
|
184
|
-
| 순환 의존 | 분해 재시도 |
|
|
185
|
-
| 컨텍스트 > 32KB | 비례 절삭 |
|
|
186
|
-
|
|
187
|
-
> Claude Code `TaskUpdate`를 사용할 때는 `status: "failed"`를 쓰지 않는다.
|
|
188
|
-
> 실패 보고는 `status: "completed"` + `metadata.result: "failed"`로 표현한다.
|
|
189
|
-
|
|
190
|
-
## Troubleshooting
|
|
191
|
-
|
|
192
|
-
`/tfx-doctor` 진단 | `/tfx-doctor --fix` 자동 수정 | `/tfx-doctor --reset` 캐시 초기화
|
|
193
|
-
|
|
194
|
-
## 상세 레퍼런스
|
|
195
|
-
|
|
196
|
-
DAG 알고리즘, 컨텍스트 머지 규칙, 토큰 스냅샷, 보고서 상세 → [`docs/tfx-auto-internals.md`](../../docs/tfx-auto-internals.md)
|
|
1
|
+
---
|
|
2
|
+
name: tfx-auto
|
|
3
|
+
description: 통합 CLI 오케스트레이터. 커맨드 숏컷(단일) + 자동 분류/분해(병렬) + 수동 병렬. tfx-route.sh 기반.
|
|
4
|
+
triggers:
|
|
5
|
+
- tfx-auto
|
|
6
|
+
- implement
|
|
7
|
+
- build
|
|
8
|
+
- research
|
|
9
|
+
- brainstorm
|
|
10
|
+
- design
|
|
11
|
+
- test
|
|
12
|
+
- analyze
|
|
13
|
+
- troubleshoot
|
|
14
|
+
- improve
|
|
15
|
+
- cleanup
|
|
16
|
+
- explain
|
|
17
|
+
- document
|
|
18
|
+
- pm
|
|
19
|
+
- reflect
|
|
20
|
+
- estimate
|
|
21
|
+
- spec-panel
|
|
22
|
+
- business-panel
|
|
23
|
+
- index-repo
|
|
24
|
+
argument-hint: "<command|task> [args...]"
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# tfx-auto — 통합 CLI 오케스트레이터
|
|
28
|
+
|
|
29
|
+
> **MANDATORY RULES**
|
|
30
|
+
>
|
|
31
|
+
> 1. **실행**: CLI 에이전트는 반드시 `Bash("bash ~/.claude/scripts/tfx-route.sh ...")`. Claude 네이티브(explore/verifier/test-engineer/qa-tester)만 `Agent()`.
|
|
32
|
+
> 2. **비용**: Codex 우선 → Gemini → Claude 최후 수단. `claude` 선택 전 "Codex로 가능한가?" 재확인.
|
|
33
|
+
> 3. **DAG**: SEQUENTIAL/DAG이면 레벨 기반 순차 실행. `.omc/context/{sid}/` 생성, context_output 저장, 실패 시 후속 SKIP.
|
|
34
|
+
> 4. **트리아지**: Codex `--full-auto` 분류 + Opus 인라인 분해. Agent 스폰 금지.
|
|
35
|
+
|
|
36
|
+
## 모드
|
|
37
|
+
|
|
38
|
+
| 입력 형식 | 모드 | 트리아지 |
|
|
39
|
+
|-----------|------|----------|
|
|
40
|
+
| `/implement JWT 추가` | 커맨드 숏컷 | 없음 (즉시 실행) |
|
|
41
|
+
| `/tfx-auto "리팩터링 + UI"` | 자동 | Codex 분류 → Opus 분해 |
|
|
42
|
+
| `/tfx-auto 3:codex "리뷰"` | 수동 | Opus 분해만 |
|
|
43
|
+
|
|
44
|
+
## 커맨드 숏컷
|
|
45
|
+
|
|
46
|
+
커맨드명 매칭 시 트리아지 없이 즉시 실행. 패턴: `Bash("bash ~/.claude/scripts/tfx-route.sh {에이전트} '{PROMPT}' {MCP}")`.
|
|
47
|
+
|
|
48
|
+
### Codex 직행
|
|
49
|
+
|
|
50
|
+
| 커맨드 | 에이전트 | MCP |
|
|
51
|
+
|--------|---------|-----|
|
|
52
|
+
| `implement` | executor | implement |
|
|
53
|
+
| `build` | build-fixer | implement |
|
|
54
|
+
| `research` | document-specialist | analyze |
|
|
55
|
+
| `brainstorm` | analyst | analyze |
|
|
56
|
+
| `design` | architect | analyze |
|
|
57
|
+
| `troubleshoot` | debugger | implement |
|
|
58
|
+
| `cleanup` | executor | implement |
|
|
59
|
+
| `pm` | planner | analyze |
|
|
60
|
+
|
|
61
|
+
### 2단계: `improve`
|
|
62
|
+
|
|
63
|
+
1단계 `code-reviewer '{PROMPT}' review` → 사용자 승인 → 2단계 `executor '리뷰 반영: {요약}' implement`
|
|
64
|
+
|
|
65
|
+
### 병렬
|
|
66
|
+
|
|
67
|
+
| 커맨드 | 에이전트들 (병렬, run_in_background=true) | MCP |
|
|
68
|
+
|--------|------------------------------------------|-----|
|
|
69
|
+
| `analyze` | quality-reviewer + security-reviewer | review |
|
|
70
|
+
| `spec-panel` | architect + analyst + critic | analyze |
|
|
71
|
+
| `business-panel` | analyst + architect | analyze |
|
|
72
|
+
|
|
73
|
+
### Gemini 직행
|
|
74
|
+
|
|
75
|
+
| 커맨드 | 에이전트 | MCP |
|
|
76
|
+
|--------|---------|-----|
|
|
77
|
+
| `explain` | writer | docs |
|
|
78
|
+
| `document` | writer | docs |
|
|
79
|
+
|
|
80
|
+
### Claude 네이티브
|
|
81
|
+
|
|
82
|
+
| 커맨드 | 실행 |
|
|
83
|
+
|--------|------|
|
|
84
|
+
| `test` | `Agent(subagent_type="oh-my-claudecode:test-engineer", model="sonnet")` |
|
|
85
|
+
| `reflect` | `Agent(subagent_type="oh-my-claudecode:verifier", model="sonnet")` |
|
|
86
|
+
|
|
87
|
+
### 복합
|
|
88
|
+
|
|
89
|
+
| 커맨드 | 흐름 |
|
|
90
|
+
|--------|------|
|
|
91
|
+
| `estimate` | explore(haiku) → analyst(codex): 영향범위, 복잡도(S/M/L/XL), 리스크 |
|
|
92
|
+
| `index-repo` | explore(haiku) × 2 → Write(PROJECT_INDEX.md). mode=quick/update/full |
|
|
93
|
+
|
|
94
|
+
## 트리아지
|
|
95
|
+
|
|
96
|
+
**자동 모드:**
|
|
97
|
+
1. Codex 분류: `codex exec --full-auto --skip-git-repo-check` → JSON `{parts: [{description, agent: "codex|gemini|claude"}]}`
|
|
98
|
+
2. Opus 인라인 분해: `{graph_type: "INDEPENDENT|SEQUENTIAL|DAG", subtasks: [{id, description, scope, agent, mcp_profile, depends_on, context_output, context_input}]}`
|
|
99
|
+
3. 실패 시 Opus가 직접 분류+분해
|
|
100
|
+
|
|
101
|
+
**수동 모드 (`N:agent_type`):** Codex 분류 건너뜀 → Opus가 N개 서브태스크 분해. N > 10 거부.
|
|
102
|
+
|
|
103
|
+
## 실행
|
|
104
|
+
|
|
105
|
+
### CLI 에이전트 (Codex/Gemini)
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
# Level 0 / INDEPENDENT
|
|
109
|
+
Bash("bash ~/.claude/scripts/tfx-route.sh {agent} '{prompt}' {mcp_profile}", run_in_background=true)
|
|
110
|
+
|
|
111
|
+
# Level 1+ (컨텍스트 의존) — 4번째=timeout(빈값), 5번째=context_file
|
|
112
|
+
Bash("bash ~/.claude/scripts/tfx-route.sh {agent} '{prompt}' {mcp_profile} '' .omc/context/{sid}/combined-{tid}.md", run_in_background=true)
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Claude 네이티브
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
Agent(subagent_type="oh-my-claudecode:{agent}", model="{model}", prompt="{prompt}", run_in_background=true)
|
|
119
|
+
# 컨텍스트 있으면 prompt에 <prior_context>...</prior_context> 추가
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### 에이전트 매핑
|
|
123
|
+
|
|
124
|
+
| 입력 | CLI | MCP |
|
|
125
|
+
|------|-----|-----|
|
|
126
|
+
| codex / executor / debugger / deep-executor | Codex | implement |
|
|
127
|
+
| architect / planner / critic / analyst | Codex (xhigh) | analyze |
|
|
128
|
+
| scientist / document-specialist | Codex | analyze |
|
|
129
|
+
| code-reviewer / security-reviewer / quality-reviewer | Codex (review) | review |
|
|
130
|
+
| gemini / designer / writer | Gemini | docs |
|
|
131
|
+
| claude / explore / verifier / test-engineer / qa-tester | Claude native | — |
|
|
132
|
+
|
|
133
|
+
### MCP 프로필 자동 결정
|
|
134
|
+
|
|
135
|
+
| 에이전트 | MCP |
|
|
136
|
+
|----------|-----|
|
|
137
|
+
| executor, build-fixer, debugger, deep-executor | implement |
|
|
138
|
+
| architect, planner, critic, analyst, scientist, document-specialist | analyze |
|
|
139
|
+
| code-reviewer, security-reviewer, quality-reviewer | review |
|
|
140
|
+
| designer, writer | docs |
|
|
141
|
+
|
|
142
|
+
### 결과 파싱
|
|
143
|
+
|
|
144
|
+
여기서 `failed`는 `tfx-route.sh`/CLI 종료 결과를 뜻한다. Claude Code `TaskUpdate` 상태값이 아니다.
|
|
145
|
+
|
|
146
|
+
| exit_code + status | 사용할 출력 |
|
|
147
|
+
|--------------------|-----------|
|
|
148
|
+
| 0 + success | `=== OUTPUT ===` 섹션 |
|
|
149
|
+
| 124 + timeout | `=== PARTIAL OUTPUT ===` |
|
|
150
|
+
| ≠0 + failed | STDERR → Claude fallback |
|
|
151
|
+
|
|
152
|
+
OUTPUT 추출: `echo "$result" | sed -n '/^=== OUTPUT ===/,/^=== /{/^=== OUTPUT ===/d;/^=== /d;p}'`
|
|
153
|
+
|
|
154
|
+
### 실패 처리
|
|
155
|
+
|
|
156
|
+
1차 → `Agent(subagent_type="oh-my-claudecode:executor", model="sonnet")` fallback.
|
|
157
|
+
2차 연속 실패 → 실패 보고 + 성공 결과만 종합.
|
|
158
|
+
|
|
159
|
+
### 보고 형식
|
|
160
|
+
|
|
161
|
+
```markdown
|
|
162
|
+
## tfx-auto 완료
|
|
163
|
+
**모드**: {auto|manual} | **그래프**: {type} | **레벨**: {N}
|
|
164
|
+
| # | 서브태스크 | Agent | CLI | MCP | 레벨 | 상태 | 시간 |
|
|
165
|
+
### 워커 {n}: {제목}
|
|
166
|
+
(출력 요약)
|
|
167
|
+
### Token Savings Report
|
|
168
|
+
(node ~/.claude/scripts/token-snapshot.mjs report {session-id})
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
## 필수 조건
|
|
172
|
+
|
|
173
|
+
- `~/.claude/scripts/tfx-route.sh` (필수)
|
|
174
|
+
- codex: `npm install -g @openai/codex` | gemini: `npm install -g @google/gemini-cli`
|
|
175
|
+
|
|
176
|
+
## 에러 레퍼런스
|
|
177
|
+
|
|
178
|
+
| 에러 | 처리 |
|
|
179
|
+
|------|------|
|
|
180
|
+
| `tfx-route.sh: not found` | tfx-route.sh 생성 |
|
|
181
|
+
| `codex/gemini: not found` | npm install -g |
|
|
182
|
+
| timeout / failed (`tfx-route.sh` 결과) | stderr → Claude fallback |
|
|
183
|
+
| N > 10 | 10 이하로 조정 |
|
|
184
|
+
| 순환 의존 | 분해 재시도 |
|
|
185
|
+
| 컨텍스트 > 32KB | 비례 절삭 |
|
|
186
|
+
|
|
187
|
+
> Claude Code `TaskUpdate`를 사용할 때는 `status: "failed"`를 쓰지 않는다.
|
|
188
|
+
> 실패 보고는 `status: "completed"` + `metadata.result: "failed"`로 표현한다.
|
|
189
|
+
|
|
190
|
+
## Troubleshooting
|
|
191
|
+
|
|
192
|
+
`/tfx-doctor` 진단 | `/tfx-doctor --fix` 자동 수정 | `/tfx-doctor --reset` 캐시 초기화
|
|
193
|
+
|
|
194
|
+
## 상세 레퍼런스
|
|
195
|
+
|
|
196
|
+
DAG 알고리즘, 컨텍스트 머지 규칙, 토큰 스냅샷, 보고서 상세 → [`docs/tfx-auto-internals.md`](../../docs/tfx-auto-internals.md)
|
|
@@ -1,77 +1,77 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: tfx-auto-codex
|
|
3
|
-
description: Codex 리드형 tfx-auto. Claude 네이티브 역할을 Codex로 치환하고 Gemini 사용은 유지합니다.
|
|
4
|
-
triggers:
|
|
5
|
-
- tfx-auto-codex
|
|
6
|
-
argument-hint: "\"작업 설명\" | N:agent_type \"작업 설명\""
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# tfx-auto-codex — Codex 리드형 tfx-auto
|
|
10
|
-
|
|
11
|
-
> 목적: 기존 `tfx-auto`의 오케스트레이션 패턴을 유지하면서
|
|
12
|
-
> Claude 네이티브 역할(`explore`, `verifier`, `test-engineer`, `qa-tester`)을
|
|
13
|
-
> Codex로 치환해 Codex/Gemini만으로 실행한다.
|
|
14
|
-
|
|
15
|
-
## 핵심 원칙
|
|
16
|
-
|
|
17
|
-
1. **Codex 라우팅 유지**
|
|
18
|
-
- 구현/분석/리뷰/디버깅/검증은 Codex 우선.
|
|
19
|
-
2. **Gemini 유지**
|
|
20
|
-
- `designer`, `writer`는 Gemini 경로를 그대로 사용.
|
|
21
|
-
3. **Claude 네이티브 제거**
|
|
22
|
-
- 실행 시 `TFX_NO_CLAUDE_NATIVE=1`로 강제.
|
|
23
|
-
4. **고난도 설계는 xhigh**
|
|
24
|
-
- 설계/분해/비판 검토 성격의 작업은 `codex --profile xhigh` 기준으로 운용.
|
|
25
|
-
|
|
26
|
-
## 사용법
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
/tfx-auto-codex "인증 리팩터링 + UI 개선 + 테스트 보강"
|
|
30
|
-
/tfx-auto-codex 3:codex "src/api, src/auth, src/payment 병렬 리뷰"
|
|
31
|
-
/tfx-auto-codex 2:gemini "온보딩 UI 카피 + 접근성 개선"
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## 실행 규칙
|
|
35
|
-
|
|
36
|
-
`tfx-auto` 워크플로우(입력 파싱 → 트리아지 → 분해 → DAG 실행 → 수집/보고)를 그대로 사용한다.
|
|
37
|
-
|
|
38
|
-
단, **실행 명령은 아래 환경변수를 반드시 포함**한다:
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
TFX_NO_CLAUDE_NATIVE=1 bash ~/.claude/scripts/tfx-route.sh {agent} '{prompt}' {mcp_profile}
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
### 역할 치환 (자동)
|
|
45
|
-
|
|
46
|
-
`TFX_NO_CLAUDE_NATIVE=1`일 때:
|
|
47
|
-
|
|
48
|
-
- `explore` -> Codex `fast`
|
|
49
|
-
- `verifier` -> Codex `thorough review`
|
|
50
|
-
- `test-engineer` -> Codex `high`
|
|
51
|
-
- `qa-tester` -> Codex `thorough review`
|
|
52
|
-
|
|
53
|
-
## 트리아지 기준
|
|
54
|
-
|
|
55
|
-
- `codex`: 코드 구현/수정/분석/리뷰/디버깅/테스트/검증/리서치
|
|
56
|
-
- `gemini`: 문서/UI/디자인/멀티모달
|
|
57
|
-
|
|
58
|
-
Claude 타입 반환은 기본적으로 허용하지 않는다.
|
|
59
|
-
분류 결과에 `claude`가 포함되면 `codex`로 치환 후 분해를 진행한다.
|
|
60
|
-
단, Codex CLI 미설치 환경에서는 실행 안전성을 위해 `claude-native` fallback이 유지될 수 있다.
|
|
61
|
-
|
|
62
|
-
## 권장 프로필
|
|
63
|
-
|
|
64
|
-
- 설계/계획/비판적 검토: `xhigh`
|
|
65
|
-
- 일반 구현/수정: `high`
|
|
66
|
-
- 리뷰: `thorough`
|
|
67
|
-
- 빠른 탐색: `fast`
|
|
68
|
-
|
|
69
|
-
## 의존성
|
|
70
|
-
|
|
71
|
-
- `~/.claude/scripts/tfx-route.sh` 최신 동기화 상태
|
|
72
|
-
- Codex CLI 설치
|
|
73
|
-
- Gemini CLI 설치 (UI/문서 경로 사용 시)
|
|
74
|
-
|
|
75
|
-
## Troubleshooting
|
|
76
|
-
|
|
77
|
-
문제 발생 시 `/tfx-doctor` 실행. (`--fix` 자동 수정, `--reset` 캐시 초기화)
|
|
1
|
+
---
|
|
2
|
+
name: tfx-auto-codex
|
|
3
|
+
description: Codex 리드형 tfx-auto. Claude 네이티브 역할을 Codex로 치환하고 Gemini 사용은 유지합니다.
|
|
4
|
+
triggers:
|
|
5
|
+
- tfx-auto-codex
|
|
6
|
+
argument-hint: "\"작업 설명\" | N:agent_type \"작업 설명\""
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# tfx-auto-codex — Codex 리드형 tfx-auto
|
|
10
|
+
|
|
11
|
+
> 목적: 기존 `tfx-auto`의 오케스트레이션 패턴을 유지하면서
|
|
12
|
+
> Claude 네이티브 역할(`explore`, `verifier`, `test-engineer`, `qa-tester`)을
|
|
13
|
+
> Codex로 치환해 Codex/Gemini만으로 실행한다.
|
|
14
|
+
|
|
15
|
+
## 핵심 원칙
|
|
16
|
+
|
|
17
|
+
1. **Codex 라우팅 유지**
|
|
18
|
+
- 구현/분석/리뷰/디버깅/검증은 Codex 우선.
|
|
19
|
+
2. **Gemini 유지**
|
|
20
|
+
- `designer`, `writer`는 Gemini 경로를 그대로 사용.
|
|
21
|
+
3. **Claude 네이티브 제거**
|
|
22
|
+
- 실행 시 `TFX_NO_CLAUDE_NATIVE=1`로 강제.
|
|
23
|
+
4. **고난도 설계는 xhigh**
|
|
24
|
+
- 설계/분해/비판 검토 성격의 작업은 `codex --profile xhigh` 기준으로 운용.
|
|
25
|
+
|
|
26
|
+
## 사용법
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
/tfx-auto-codex "인증 리팩터링 + UI 개선 + 테스트 보강"
|
|
30
|
+
/tfx-auto-codex 3:codex "src/api, src/auth, src/payment 병렬 리뷰"
|
|
31
|
+
/tfx-auto-codex 2:gemini "온보딩 UI 카피 + 접근성 개선"
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## 실행 규칙
|
|
35
|
+
|
|
36
|
+
`tfx-auto` 워크플로우(입력 파싱 → 트리아지 → 분해 → DAG 실행 → 수집/보고)를 그대로 사용한다.
|
|
37
|
+
|
|
38
|
+
단, **실행 명령은 아래 환경변수를 반드시 포함**한다:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
TFX_NO_CLAUDE_NATIVE=1 bash ~/.claude/scripts/tfx-route.sh {agent} '{prompt}' {mcp_profile}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### 역할 치환 (자동)
|
|
45
|
+
|
|
46
|
+
`TFX_NO_CLAUDE_NATIVE=1`일 때:
|
|
47
|
+
|
|
48
|
+
- `explore` -> Codex `fast`
|
|
49
|
+
- `verifier` -> Codex `thorough review`
|
|
50
|
+
- `test-engineer` -> Codex `high`
|
|
51
|
+
- `qa-tester` -> Codex `thorough review`
|
|
52
|
+
|
|
53
|
+
## 트리아지 기준
|
|
54
|
+
|
|
55
|
+
- `codex`: 코드 구현/수정/분석/리뷰/디버깅/테스트/검증/리서치
|
|
56
|
+
- `gemini`: 문서/UI/디자인/멀티모달
|
|
57
|
+
|
|
58
|
+
Claude 타입 반환은 기본적으로 허용하지 않는다.
|
|
59
|
+
분류 결과에 `claude`가 포함되면 `codex`로 치환 후 분해를 진행한다.
|
|
60
|
+
단, Codex CLI 미설치 환경에서는 실행 안전성을 위해 `claude-native` fallback이 유지될 수 있다.
|
|
61
|
+
|
|
62
|
+
## 권장 프로필
|
|
63
|
+
|
|
64
|
+
- 설계/계획/비판적 검토: `xhigh`
|
|
65
|
+
- 일반 구현/수정: `high`
|
|
66
|
+
- 리뷰: `thorough`
|
|
67
|
+
- 빠른 탐색: `fast`
|
|
68
|
+
|
|
69
|
+
## 의존성
|
|
70
|
+
|
|
71
|
+
- `~/.claude/scripts/tfx-route.sh` 최신 동기화 상태
|
|
72
|
+
- Codex CLI 설치
|
|
73
|
+
- Gemini CLI 설치 (UI/문서 경로 사용 시)
|
|
74
|
+
|
|
75
|
+
## Troubleshooting
|
|
76
|
+
|
|
77
|
+
문제 발생 시 `/tfx-doctor` 실행. (`--fix` 자동 수정, `--reset` 캐시 초기화)
|