triflux 10.12.0 → 10.13.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/CLAUDE.md +2 -0
- package/README.ko.md +95 -81
- package/README.md +81 -70
- package/bin/triflux.mjs +144 -4
- package/hooks/agent-route-guard.mjs +3 -3
- package/hooks/keyword-rules.json +4 -4
- package/hooks/safety-guard.mjs +6 -16
- package/hub/bridge.mjs +47 -1
- package/hub/codex-adapter.mjs +5 -1
- package/hub/codex-preflight.mjs +50 -0
- package/hub/lib/hosts-compat.mjs +241 -0
- package/hub/lib/phase-manager.mjs +493 -0
- package/hub/lib/risk-tier.mjs +53 -0
- package/hub/lib/ssh-command.mjs +8 -12
- package/hub/lib/timeline-adapter.mjs +190 -0
- package/hub/server.mjs +139 -20
- package/hub/team/backend.mjs +11 -4
- package/hub/team/build-worker-prompt.mjs +42 -0
- package/hub/team/cli/commands/start/index.mjs +7 -16
- package/hub/team/cli/commands/start/start-headless.mjs +1 -1
- package/hub/team/cli/services/runtime-mode.mjs +53 -0
- package/hub/team/cli/services/state-store.mjs +41 -1
- package/hub/team/codex-review.mjs +516 -0
- package/hub/team/conductor.mjs +48 -4
- package/hub/team/consensus-meta.mjs +176 -0
- package/hub/team/execution-mode.mjs +41 -7
- package/hub/team/extract-completion-payload.mjs +110 -0
- package/hub/team/headless.mjs +79 -5
- package/hub/team/orchestrator.mjs +10 -3
- package/hub/team/pane.mjs +31 -8
- package/hub/team/recovery-store.mjs +149 -0
- package/hub/team/schemas/worker-completion.json +39 -0
- package/hub/team/sentinel-capture.mjs +127 -0
- package/hub/team/swarm-cli.mjs +25 -2
- package/hub/team/swarm-hypervisor.mjs +132 -10
- package/hub/team/worker-completion-validator.mjs +84 -0
- package/hub/team/worktree-lifecycle.mjs +116 -12
- package/hud/context-monitor.mjs +9 -6
- package/package.json +1 -1
- package/scripts/headless-guard.mjs +12 -7
- package/scripts/hub-ensure.mjs +3 -0
- package/scripts/release/check-packages-mirror.mjs +137 -0
- package/scripts/setup.mjs +107 -12
- package/scripts/sync-hub-mcp-settings.mjs +115 -2
- package/scripts/tfx-gate-activate.mjs +4 -2
- package/scripts/tfx-route.sh +72 -7
- package/skills/tfx-auto/SKILL.md +439 -6
- package/skills/tfx-consensus/SKILL.md +37 -129
- package/skills/tfx-debate/SKILL.md +38 -171
- package/skills/tfx-panel/SKILL.md +38 -168
- package/skills/tfx-psmux-rules/SKILL.md +14 -312
- package/skills/tfx-remote/SKILL.md +84 -0
- package/skills/tfx-remote-setup/SKILL.md +15 -562
- package/skills/tfx-remote-spawn/SKILL.md +17 -250
- package/skills/tfx-auto-codex/SKILL.md +0 -45
- package/skills/tfx-auto-codex/SKILL.md.tmpl +0 -106
- package/skills/tfx-auto-codex/skill.json +0 -7
- package/skills/tfx-autoresearch/SKILL.md +0 -24
- package/skills/tfx-autoresearch/SKILL.md.tmpl +0 -136
- package/skills/tfx-autoresearch/skill.json +0 -15
- package/skills/tfx-autoroute/SKILL.md +0 -57
- package/skills/tfx-autoroute/SKILL.md.tmpl +0 -189
- package/skills/tfx-autoroute/skill.json +0 -7
- package/skills/tfx-codex/SKILL.md +0 -38
- package/skills/tfx-codex/SKILL.md.tmpl +0 -73
- package/skills/tfx-codex/skill.json +0 -7
- package/skills/tfx-codex-swarm/SKILL.md +0 -16
- package/skills/tfx-codex-swarm/SKILL.md.tmpl +0 -16
- package/skills/tfx-codex-swarm/evals/evals.json +0 -26
- package/skills/tfx-codex-swarm/mcp-daemon/register-autostart.ps1 +0 -32
- package/skills/tfx-codex-swarm/mcp-daemon/start-daemons.ps1 +0 -54
- package/skills/tfx-codex-swarm/mcp-daemon/stop-daemons.ps1 +0 -15
- package/skills/tfx-codex-swarm/skill.json +0 -5
- package/skills/tfx-deep-analysis/SKILL.md +0 -29
- package/skills/tfx-deep-analysis/SKILL.md.tmpl +0 -233
- package/skills/tfx-deep-analysis/skill.json +0 -7
- package/skills/tfx-deep-interview/SKILL.md +0 -23
- package/skills/tfx-deep-interview/SKILL.md.tmpl +0 -203
- package/skills/tfx-deep-interview/skill.json +0 -12
- package/skills/tfx-deep-plan/SKILL.md +0 -23
- package/skills/tfx-deep-plan/SKILL.md.tmpl +0 -288
- package/skills/tfx-deep-plan/skill.json +0 -14
- package/skills/tfx-deep-qa/SKILL.md +0 -24
- package/skills/tfx-deep-qa/SKILL.md.tmpl +0 -165
- package/skills/tfx-deep-qa/skill.json +0 -7
- package/skills/tfx-deep-research/SKILL.md +0 -26
- package/skills/tfx-deep-research/SKILL.md.tmpl +0 -217
- package/skills/tfx-deep-research/skill.json +0 -15
- package/skills/tfx-deep-review/SKILL.md +0 -39
- package/skills/tfx-deep-review/SKILL.md.tmpl +0 -185
- package/skills/tfx-deep-review/skill.json +0 -13
- package/skills/tfx-gemini/SKILL.md +0 -38
- package/skills/tfx-gemini/SKILL.md.tmpl +0 -91
- package/skills/tfx-gemini/skill.json +0 -7
package/CLAUDE.md
CHANGED
|
@@ -154,6 +154,8 @@ background로 실행한 headless 결과는 **반드시 task-notification 완료
|
|
|
154
154
|
|------|------|
|
|
155
155
|
| `.claude/rules/tfx-routing.md` | 자연어 → 스킬 라우팅, CLI 라우팅 Layer 1~3, 충돌 해소 |
|
|
156
156
|
| `.claude/rules/tfx-execution-skill-map.md` | tfx-auto / multi / swarm 실행 엔진 매핑, 격리 기준, 안티패턴 |
|
|
157
|
+
| `.claude/rules/tfx-autoplan-principles.md` | gstack autoplan의 6 decision principles, phase 우선순위, 충돌 해소 규칙 추출본 |
|
|
157
158
|
| `.claude/rules/tfx-update-logic.md` | triflux / OMC / gstack / Codex / Gemini 업데이트 로직 |
|
|
159
|
+
| `.claude/rules/tfx-stack-coexistence.md` | gstack / superpowers / triflux 공존 원칙, 레이어 분리, 의존 방향, 충돌 해소 |
|
|
158
160
|
|
|
159
161
|
Claude Code는 `.claude/rules/*.md` 를 자동 로드한다. Codex CLI는 `@import` 미지원이므로 필요 시 `AGENTS.md` 를 독립 유지한다.
|
package/README.ko.md
CHANGED
|
@@ -10,13 +10,15 @@
|
|
|
10
10
|
|
|
11
11
|
<p align="center">
|
|
12
12
|
<strong>Consensus Intelligence 기반 Tri-CLI 오케스트레이션</strong><br>
|
|
13
|
-
<em>Claude + Codex + Gemini —
|
|
13
|
+
<em>Claude + Codex + Gemini — 21개 코어 스킬, 23개 thin alias, 자연어 라우팅, 교차 모델 리뷰.</em>
|
|
14
14
|
</p>
|
|
15
15
|
|
|
16
16
|
<p align="center">
|
|
17
17
|
<a href="https://www.npmjs.com/package/triflux"><img src="https://img.shields.io/npm/v/triflux?style=flat-square&color=FFAF00&label=npm" alt="npm version"></a>
|
|
18
18
|
<a href="https://www.npmjs.com/package/triflux"><img src="https://img.shields.io/npm/dm/triflux?style=flat-square&color=F5C242" alt="npm downloads"></a>
|
|
19
19
|
<a href="https://github.com/tellang/triflux/stargazers"><img src="https://img.shields.io/github/stars/tellang/triflux?style=flat-square&color=FFAF00" alt="GitHub stars"></a>
|
|
20
|
+
<img src="https://img.shields.io/badge/skills-21_core-F5C242?style=flat-square" alt="21개 코어 스킬">
|
|
21
|
+
<sub>+ 23개 thin alias</sub>
|
|
20
22
|
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-374151?style=flat-square" alt="License: MIT"></a>
|
|
21
23
|
</p>
|
|
22
24
|
|
|
@@ -27,7 +29,7 @@
|
|
|
27
29
|
<p align="center">
|
|
28
30
|
<a href="#빠른-시작">빠른 시작</a> ·
|
|
29
31
|
<a href="#tri-cli-합의-엔진">Tri-CLI 합의 엔진</a> ·
|
|
30
|
-
<a href="
|
|
32
|
+
<a href="#전체-21개-스킬-23개-thin-alias-포함">전체 21개 스킬</a> ·
|
|
31
33
|
<a href="#아키텍처">아키텍처</a> ·
|
|
32
34
|
<a href="#deep-vs-light">Deep vs Light</a> ·
|
|
33
35
|
<a href="#보안">보안</a>
|
|
@@ -68,33 +70,31 @@ npm install -g triflux
|
|
|
68
70
|
# Debate — 3개의 독립적인 의견을 확보
|
|
69
71
|
/tfx-debate "Redis vs PostgreSQL LISTEN/NOTIFY for real-time events"
|
|
70
72
|
|
|
71
|
-
# Persistence —
|
|
72
|
-
/tfx-
|
|
73
|
-
# 호환 별칭
|
|
74
|
-
/tfx-ralph "implement full auth flow with tests"
|
|
73
|
+
# Persistence — 또는 단일 진입점에서 직접 호출
|
|
74
|
+
/tfx-auto "implement full auth flow with tests" --retry ralph
|
|
75
75
|
|
|
76
76
|
# Team — Multi-CLI 병렬 오케스트레이션
|
|
77
77
|
/tfx-multi "refactor auth + update UI + add tests"
|
|
78
78
|
|
|
79
|
-
# Remote —
|
|
79
|
+
# Remote — setup, spawn, attach, resume를 하나의 표면으로
|
|
80
80
|
/tfx-remote-setup # 인터랙티브 호스트 설정 위저드 (Tailscale + SSH)
|
|
81
|
-
/tfx-remote
|
|
81
|
+
/tfx-remote spawn ultra4 "보안 리뷰 실행" # 원격 호스트에서 세션 실행
|
|
82
82
|
```
|
|
83
83
|
|
|
84
84
|
---
|
|
85
85
|
|
|
86
|
-
##
|
|
86
|
+
## v10.11.0의 새로운 기능
|
|
87
87
|
|
|
88
|
-
**triflux
|
|
88
|
+
**triflux v10.11.0**은 **하나의 front door + 플래그 기반 라우팅**으로 정리됩니다. 자연어 입력은 계속 지원되고, Phase 3/4에서 legacy 표면은 `tfx-auto`와 `tfx-remote` 뒤로 접히며, 기존 스킬명은 thin alias로 계속 동작합니다.
|
|
89
89
|
|
|
90
|
-
###
|
|
90
|
+
### v10.11.0 주요 특징
|
|
91
91
|
|
|
92
92
|
- **자연어 라우팅** — "리뷰해줘"라고 말하면 `/tfx-review`가 자동 호출. "제대로/꼼꼼히" 수정자로 Deep 변형 자동 에스컬레이션
|
|
93
93
|
- **교차 모델 리뷰** — Claude가 작성하면 Codex가 리뷰, Codex가 작성하면 Claude가 리뷰. 동일 모델 self-approve 차단. 커밋 전 미검증 파일 nudge
|
|
94
|
-
-
|
|
95
|
-
- **
|
|
96
|
-
- **
|
|
97
|
-
-
|
|
94
|
+
- **정확한 카탈로그** — 44개 스킬 파일 기준 `21 core + 23 thin alias`
|
|
95
|
+
- **Phase 3** — `--retry ralph`, `--retry auto-escalate`, `--lead codex`, `--max-iterations N`, 4단계 `DEFAULT_ESCALATION_CHAIN`
|
|
96
|
+
- **Phase 4** — `tfx-auto --shape debate|panel|consensus`, `tfx-remote` 단일 진입점, `tfx-psmux-rules`는 `.claude/rules/tfx-psmux.md`로 이동
|
|
97
|
+
- **하위 호환성 유지** — `tfx-persist`, `tfx-debate`, `tfx-multi`, `tfx-remote-spawn` 같은 기존 이름은 thin alias로 계속 지원
|
|
98
98
|
|
|
99
99
|
### v8 기반 (계속 유지)
|
|
100
100
|
|
|
@@ -134,93 +134,98 @@ Phase 3: Resolution (합의율 < 70%일 경우)
|
|
|
134
134
|
|
|
135
135
|
**결과**: 단일 모델 리뷰 대비 오탐(false positive) 87% 감소 (Calimero 합의 연구 기반).
|
|
136
136
|
|
|
137
|
+
Phase 4 이후에는 `tfx-auto`가 하나의 front door 역할을 맡습니다. legacy 스킬명은 그대로 받아들이되, 실제 의미는 플래그로 표현됩니다:
|
|
138
|
+
|
|
139
|
+
- `--retry ralph` / `--retry auto-escalate` (Phase 3)
|
|
140
|
+
- `--lead codex` / `--no-claude-native` (Phase 3)
|
|
141
|
+
- `--shape debate|panel|consensus` (Phase 4)
|
|
142
|
+
|
|
137
143
|
---
|
|
138
144
|
|
|
139
|
-
##
|
|
145
|
+
## 전체 21개 스킬 (23개 thin alias 포함)
|
|
140
146
|
|
|
141
147
|
### 리서치
|
|
142
148
|
|
|
143
|
-
| 스킬 |
|
|
144
|
-
|
|
145
|
-
| `tfx-research` |
|
|
146
|
-
| `tfx-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
+
| 스킬 | 상태 | 설명 |
|
|
150
|
+
|------|------|------|
|
|
151
|
+
| `tfx-research` | Active | Exa/Brave/Tavily 자동 선택을 통한 빠른 웹 검색 |
|
|
152
|
+
| `tfx-find` | Active | 파일, 심볼, 패턴 중심의 빠른 코드베이스 탐색 |
|
|
153
|
+
|
|
154
|
+
Aliases (fold into `tfx-auto` flags): `tfx-deep-research`, `tfx-autoresearch`
|
|
149
155
|
|
|
150
|
-
### 분석
|
|
156
|
+
### 분석 및 계획
|
|
151
157
|
|
|
152
|
-
| 스킬 |
|
|
153
|
-
|
|
154
|
-
| `tfx-analysis` |
|
|
155
|
-
| `tfx-
|
|
158
|
+
| 스킬 | 상태 | 설명 |
|
|
159
|
+
|------|------|------|
|
|
160
|
+
| `tfx-analysis` | Active | 빠른 코드/아키텍처 분석 |
|
|
161
|
+
| `tfx-plan` | Active | 빠른 구현 계획 수립 |
|
|
162
|
+
| `tfx-interview` | Active | 소크라테스식 요구사항 탐색 |
|
|
163
|
+
|
|
164
|
+
Aliases (fold into `tfx-auto` flags): `tfx-deep-analysis`, `tfx-deep-plan`, `tfx-deep-interview`
|
|
156
165
|
|
|
157
166
|
### 실행
|
|
158
167
|
|
|
159
|
-
| 스킬 |
|
|
160
|
-
|
|
161
|
-
| `tfx-
|
|
162
|
-
|
|
163
|
-
|
|
168
|
+
| 스킬 | 상태 | 설명 |
|
|
169
|
+
|------|------|------|
|
|
170
|
+
| `tfx-auto` | Active | 플래그 기반 라우팅과 legacy surface folding을 담당하는 통합 CLI 오케스트레이터 |
|
|
171
|
+
|
|
172
|
+
Aliases (fold into `tfx-auto` flags): `tfx-autopilot`, `tfx-fullcycle`, `tfx-codex`, `tfx-gemini`
|
|
173
|
+
|
|
174
|
+
### 리뷰 및 QA
|
|
164
175
|
|
|
165
|
-
|
|
176
|
+
| 스킬 | 상태 | 설명 |
|
|
177
|
+
|------|------|------|
|
|
178
|
+
| `tfx-review` | Active | 빠른 코드 리뷰 |
|
|
179
|
+
| `tfx-qa` | Active | Test → Fix → Retest 순환 (최대 3회) |
|
|
180
|
+
| `tfx-prune` | Active | AI slop 제거, dead code 및 과한 추상화 정리 |
|
|
166
181
|
|
|
167
|
-
|
|
168
|
-
|------|------|------|------|
|
|
169
|
-
| `tfx-qa` | Light | Test → Fix → Retest 순환 (최대 3회) | ~5K |
|
|
170
|
-
| `tfx-deep-qa` | Deep | 3-CLI 독립 검증 + 합의 점수 산출 | ~25K |
|
|
182
|
+
Aliases (fold into `tfx-auto` flags): `tfx-deep-review`, `tfx-deep-qa`
|
|
171
183
|
|
|
172
|
-
###
|
|
184
|
+
### 토론 및 의사결정
|
|
173
185
|
|
|
174
|
-
| 스킬 |
|
|
175
|
-
|
|
176
|
-
|
|
|
177
|
-
| `tfx-deep-plan` | Deep | Planner + Architect + Critic 합의 기반 계획 | ~20K |
|
|
186
|
+
| 스킬 | 상태 | 설명 |
|
|
187
|
+
|------|------|------|
|
|
188
|
+
| _독립 active 표면 없음_ | — | debate, consensus, panel은 이제 `tfx-auto --mode consensus`의 출력 shape로 통합 |
|
|
178
189
|
|
|
179
|
-
|
|
190
|
+
Aliases (fold into `tfx-auto` flags): `tfx-consensus`, `tfx-debate`, `tfx-panel`
|
|
180
191
|
|
|
181
|
-
|
|
182
|
-
|------|------|------|------|
|
|
183
|
-
| `tfx-review` | Light | Codex를 통한 빠른 코드 리뷰 | ~8K |
|
|
184
|
-
| `tfx-deep-review` | Deep | 3-CLI 독립 리뷰, 합의 항목만 리포팅 | ~25K |
|
|
192
|
+
### 지속 실행 및 라우팅
|
|
185
193
|
|
|
186
|
-
|
|
194
|
+
| 스킬 | 상태 | 설명 |
|
|
195
|
+
|------|------|------|
|
|
196
|
+
| `tfx-index` | Active | 프로젝트 인덱싱으로 94% 토큰 절감 (58K→3K) |
|
|
197
|
+
| `tfx-hooks` | Active | Claude Code hook priority 관리 |
|
|
198
|
+
| `tfx-profile` | Active | Codex/Gemini CLI 프로필 관리 |
|
|
187
199
|
|
|
188
|
-
|
|
189
|
-
|------|------|------|------|
|
|
190
|
-
| `tfx-debate` | Deep | 모든 주제에 대한 구조화된 3자 토론 | ~20K |
|
|
191
|
-
| `tfx-panel` | Deep | 가상 전문가 패널 시뮬레이션 | ~30K |
|
|
200
|
+
Aliases (fold into `tfx-auto` flags): `tfx-persist`, `tfx-ralph`, `tfx-autoroute`, `tfx-auto-codex`
|
|
192
201
|
|
|
193
|
-
###
|
|
202
|
+
### 오케스트레이션
|
|
194
203
|
|
|
195
|
-
| 스킬 |
|
|
196
|
-
|
|
197
|
-
| `tfx-
|
|
198
|
-
| `tfx-
|
|
204
|
+
| 스킬 | 상태 | 설명 |
|
|
205
|
+
|------|------|------|
|
|
206
|
+
| `tfx-hub` | Active | MCP 메시지 버스 관리 |
|
|
207
|
+
| `tfx-codex-swarm` | Active | Codex swarm 실행 표면 |
|
|
208
|
+
| `merge-worktree` | Active | swarm 결과용 worktree merge helper |
|
|
199
209
|
|
|
200
|
-
|
|
210
|
+
Aliases (fold into active surfaces): `tfx-multi`, `tfx-swarm`
|
|
201
211
|
|
|
202
|
-
|
|
203
|
-
|------|------|------|------|
|
|
204
|
-
| `tfx-index` | Light | 프로젝트 인덱싱으로 94% 토큰 절감 (58K→3K) | ~2K |
|
|
205
|
-
| `tfx-forge` | Light | 대화형 스킬 생성 | ~10K |
|
|
206
|
-
| `tfx-interview` | Light | 소크라테스식 요구사항 탐색 | ~15K |
|
|
207
|
-
| `tfx-deslop` | Deep | 3자 합의 기반 AI slop 제거 | ~10K |
|
|
212
|
+
### 원격
|
|
208
213
|
|
|
209
|
-
|
|
214
|
+
| 스킬 | 상태 | 설명 |
|
|
215
|
+
|------|------|------|
|
|
216
|
+
| `tfx-remote` | Active | setup, spawn, list, attach, send, resume, probe, rules를 묶는 원격 command family |
|
|
210
217
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
|
216
|
-
|
|
217
|
-
| `tfx-
|
|
218
|
-
| `tfx-
|
|
219
|
-
| `tfx-
|
|
220
|
-
| `tfx-
|
|
221
|
-
| `
|
|
222
|
-
| `tfx-remote-spawn` | psmux를 통한 원격 세션 관리 |
|
|
223
|
-
| `tfx-remote-setup` | 원격 호스트 설정 위저드 (Tailscale + SSH) |
|
|
218
|
+
Aliases (fold into active surfaces): `tfx-remote-spawn`, `tfx-remote-setup`, `tfx-psmux-rules` — Phase 4에서 `.claude/rules/tfx-psmux.md`로 이동
|
|
219
|
+
|
|
220
|
+
### 메타
|
|
221
|
+
|
|
222
|
+
| 스킬 | 상태 | 설명 |
|
|
223
|
+
|------|------|------|
|
|
224
|
+
| `tfx-forge` | Active | 대화형 스킬 생성 |
|
|
225
|
+
| `tfx-setup` | Active | 초기 설정 마법사 |
|
|
226
|
+
| `tfx-doctor` | Active | 진단 및 자동 복구 |
|
|
227
|
+
| `tfx-ship` | Active | ship workflow orchestration |
|
|
228
|
+
| `star-prompt` | Active | postinstall GitHub star prompt |
|
|
224
229
|
|
|
225
230
|
---
|
|
226
231
|
|
|
@@ -232,6 +237,12 @@ Phase 3: Resolution (합의율 < 70%일 경우)
|
|
|
232
237
|
<img src="docs/assets/deep-vs-light.svg" alt="Deep vs Light 비교" width="680">
|
|
233
238
|
</p>
|
|
234
239
|
|
|
240
|
+
Phase 매핑:
|
|
241
|
+
|
|
242
|
+
- `--mode deep` 는 Phase 2의 직접적인 Light → Deep 스위치
|
|
243
|
+
- `--retry ralph` / `--retry auto-escalate` 는 Phase 3의 persistence / escalation 시맨틱
|
|
244
|
+
- `--shape consensus|debate|panel` 은 Phase 4의 consensus output shape 라우팅
|
|
245
|
+
|
|
235
246
|
| 항목 | Light | Deep |
|
|
236
247
|
|------|-------|------|
|
|
237
248
|
| **CLI** | 단일 (주로 Codex) | 3자 (Claude + Codex + Gemini) |
|
|
@@ -318,13 +329,16 @@ npm install -g triflux
|
|
|
318
329
|
# Debate — 3개의 독립적인 의견을 확보
|
|
319
330
|
/tfx-debate "Redis vs PostgreSQL LISTEN/NOTIFY for real-time events"
|
|
320
331
|
|
|
321
|
-
# Persistence —
|
|
322
|
-
/tfx-
|
|
332
|
+
# Persistence — front door에서 직접 호출 가능
|
|
333
|
+
/tfx-auto "implement full auth flow with tests" --retry ralph --max-iterations 10
|
|
323
334
|
|
|
324
335
|
# Team — Multi-CLI 병렬 오케스트레이션
|
|
325
336
|
/tfx-multi "refactor auth + update UI + add tests"
|
|
337
|
+
|
|
338
|
+
# Remote — 단일 진입점
|
|
339
|
+
/tfx-remote spawn ultra4 "보안 리뷰 실행"
|
|
326
340
|
```
|
|
327
|
-
> **참고**: Deep
|
|
341
|
+
> **참고**: Deep 스킬과 `tfx-auto --mode consensus`, `--retry ralph`, `--shape ...` 경로는 완전한 Tri-CLI 합의(Tier 1)를 위해 **psmux**(또는 tmux), **triflux Hub**, **Codex CLI**, **Gemini CLI**가 필요합니다. 전제조건이 충족되지 않으면 Tier 3(Claude 단독, single-model) 모드로 자동 전환됩니다. `tfx doctor`로 환경을 확인하세요.
|
|
328
342
|
>
|
|
329
343
|
> **Serena 참고**: Serena MCP는 stateful합니다. 따라서 **같은 프로젝트**를 다루는 에이전트끼리만 하나의 Serena 인스턴스를 공유하는 것이 안전합니다. 서로 다른 프로젝트를 병렬로 작업할 때는 Serena 인스턴스를 분리하세요. Serena가 `No active project`를 보고하면 Codex Serena 설정의 `--project-from-cwd`(또는 `--project <path>`)를 확인하고 `tfx doctor`를 다시 실행하세요.
|
|
330
344
|
|
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
<h3 align="center">Tri-CLI Orchestration with Consensus Intelligence</h3>
|
|
12
12
|
|
|
13
13
|
<p align="center">
|
|
14
|
-
Route tasks across <strong>Claude + Codex + Gemini</strong> —
|
|
14
|
+
Route tasks across <strong>Claude + Codex + Gemini</strong> — 21 core skills, natural language routing,<br>
|
|
15
15
|
cross-model review, and reflexion-based adaptive learning.
|
|
16
16
|
</p>
|
|
17
17
|
|
|
@@ -19,7 +19,8 @@
|
|
|
19
19
|
<a href="https://www.npmjs.com/package/triflux"><img src="https://img.shields.io/npm/v/triflux?style=flat-square&color=FFAF00&label=npm" alt="npm version"></a>
|
|
20
20
|
<a href="https://www.npmjs.com/package/triflux"><img src="https://img.shields.io/npm/dm/triflux?style=flat-square&color=F5C242" alt="npm downloads"></a>
|
|
21
21
|
<a href="https://github.com/tellang/triflux/stargazers"><img src="https://img.shields.io/github/stars/tellang/triflux?style=flat-square&color=FFAF00" alt="GitHub stars"></a>
|
|
22
|
-
<img src="https://img.shields.io/badge/skills-
|
|
22
|
+
<img src="https://img.shields.io/badge/skills-21_core-F5C242?style=flat-square" alt="21 core skills">
|
|
23
|
+
<sub>+ 23 thin aliases</sub>
|
|
23
24
|
<img src="https://img.shields.io/badge/node-%3E%3D18-374151?style=flat-square" alt="Node >= 18">
|
|
24
25
|
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-374151?style=flat-square" alt="License: MIT"></a>
|
|
25
26
|
</p>
|
|
@@ -32,7 +33,7 @@
|
|
|
32
33
|
<a href="#quick-start">Quick Start</a> ·
|
|
33
34
|
<a href="#core-engine">Core Engine</a> ·
|
|
34
35
|
<a href="#killer-skills">Killer Skills</a> ·
|
|
35
|
-
<a href="#all-
|
|
36
|
+
<a href="#all-21-skills-plus-23-thin-aliases">All 21 Skills</a> ·
|
|
36
37
|
<a href="#deep-vs-light">Deep vs Light</a> ·
|
|
37
38
|
<a href="#architecture">Architecture</a> ·
|
|
38
39
|
<a href="#security">Security</a>
|
|
@@ -44,10 +45,12 @@
|
|
|
44
45
|
|
|
45
46
|
Most AI coding tools talk to **one model**. triflux talks to **three** — and makes them argue.
|
|
46
47
|
|
|
47
|
-
triflux is not a collection of skills. It is a **multi-model parallel orchestration harness**. The
|
|
48
|
+
triflux is not a collection of skills. It is a **multi-model parallel orchestration harness**. The 21 core skills and 23 thin aliases are what it does. The harness — consensus engine, message bus, router, and security guard — is what makes it different.
|
|
48
49
|
|
|
49
50
|
Every Deep skill runs Claude, Codex, and Gemini **independently** (no cross-visibility), then cross-validates their findings. Only consensus-verified results survive. The result: **87% fewer false positives** compared to single-model review.
|
|
50
51
|
|
|
52
|
+
Phase 4 folds the legacy surface into one front door: `tfx-auto` with flag-based routing. Old skill names still work as thin aliases.
|
|
53
|
+
|
|
51
54
|
You don't need to memorize commands. Say what you want in natural language — triflux routes to the right skill automatically:
|
|
52
55
|
|
|
53
56
|
```
|
|
@@ -89,11 +92,11 @@ Then run `tfx setup` to configure your environment.
|
|
|
89
92
|
# Team — Claude + Codex + Gemini on parallel tasks
|
|
90
93
|
/tfx-multi "refactor auth + update UI + add tests"
|
|
91
94
|
|
|
92
|
-
# Persist —
|
|
93
|
-
/tfx-
|
|
95
|
+
# Persist — or call the front door directly
|
|
96
|
+
/tfx-auto "implement full auth flow with tests" --retry ralph
|
|
94
97
|
|
|
95
|
-
# Remote —
|
|
96
|
-
/tfx-remote
|
|
98
|
+
# Remote — single front door for setup, spawn, attach, resume
|
|
99
|
+
/tfx-remote spawn ryzen5-7600 "run security review"
|
|
97
100
|
```
|
|
98
101
|
|
|
99
102
|
> **Note**: Deep skills require **psmux** (or tmux), **triflux Hub**, **Codex CLI**, and **Gemini CLI** for full Tri-CLI consensus. Without these, skills automatically degrade to Claude-only mode. Run `tfx doctor` to check your environment.
|
|
@@ -144,6 +147,11 @@ The bridge client tries Named Pipe first and falls back to HTTP automatically. S
|
|
|
144
147
|
|
|
145
148
|
`tfx-auto` is the unified entry point. Natural language input → keyword detection → skill routing → CLI dispatch. Depth modifiers ("thoroughly", "제대로") auto-escalate Light skills to Deep. The router handles Korean and English natively.
|
|
146
149
|
|
|
150
|
+
tfx-auto flags now express all legacy behaviors:
|
|
151
|
+
- `--retry ralph` / `--retry auto-escalate` (true state machine, Phase 3)
|
|
152
|
+
- `--lead codex` / `--no-claude-native` (Codex-led pipeline, Phase 3)
|
|
153
|
+
- `--shape debate|panel|consensus` (ensemble fold, Phase 4)
|
|
154
|
+
|
|
147
155
|
### Guard — Security Perimeter
|
|
148
156
|
|
|
149
157
|
Two layers that enforce the safety boundary:
|
|
@@ -196,9 +204,9 @@ plan → PRD → confidence gate → execute → deslop → verify → selfcheck
|
|
|
196
204
|
|
|
197
205
|
These are why you use triflux. Each one depends on the Core Engine above.
|
|
198
206
|
|
|
199
|
-
### Multi-CLI Team Orchestration — `tfx-multi`
|
|
207
|
+
### Multi-CLI Team Orchestration — `tfx-multi` (alias for `tfx-auto --parallel N`)
|
|
200
208
|
|
|
201
|
-
Run Claude + Codex + Gemini as a coordinated team on parallel tasks.
|
|
209
|
+
Run Claude + Codex + Gemini as a coordinated team on parallel tasks. Phase 4 keeps `tfx-multi` as a compatibility alias while `tfx-auto --parallel N` becomes the canonical surface.
|
|
202
210
|
|
|
203
211
|
```bash
|
|
204
212
|
/tfx-multi "refactor auth + update UI + add tests"
|
|
@@ -225,21 +233,22 @@ Example PRD shard:
|
|
|
225
233
|
|
|
226
234
|
Each shard gets its own git worktree, file-lease enforcement prevents conflicts, and results merge automatically in dependency order. Critical shards run on two different models for redundant verification.
|
|
227
235
|
|
|
228
|
-
### Remote Sessions — `tfx-remote
|
|
236
|
+
### Remote Sessions — `tfx-remote`
|
|
229
237
|
|
|
230
|
-
|
|
238
|
+
`tfx-remote` is the consolidated remote surface. Setup, spawn, attach, send, resume, probe, and rules now live behind one command family. `tfx-remote-spawn` remains as a thin alias during the transition.
|
|
231
239
|
|
|
232
240
|
```bash
|
|
233
|
-
/tfx-remote
|
|
234
|
-
/tfx-remote
|
|
241
|
+
/tfx-remote spawn ryzen5-7600 "run security review"
|
|
242
|
+
/tfx-remote list # see active remote sessions
|
|
235
243
|
```
|
|
236
244
|
|
|
237
|
-
### Persistence Loop — `tfx-persist` (ralph)
|
|
245
|
+
### Persistence Loop — `tfx-persist` (alias for `tfx-auto --retry ralph`)
|
|
238
246
|
|
|
239
|
-
"Don't stop until it's done."
|
|
247
|
+
"Don't stop until it's done." Phase 3 turns `--retry ralph` into the real persistence state machine, with `--max-iterations N` and the four-step `DEFAULT_ESCALATION_CHAIN` available from the unified surface.
|
|
240
248
|
|
|
241
249
|
```bash
|
|
242
250
|
/tfx-persist "implement full auth flow with tests"
|
|
251
|
+
/tfx-auto "implement full auth flow with tests" --retry ralph --max-iterations 10
|
|
243
252
|
```
|
|
244
253
|
|
|
245
254
|
### 3-Party Consensus Reviews — `tfx-deep-review` / `tfx-deep-plan`
|
|
@@ -251,9 +260,9 @@ The bread-and-butter Deep skills. Three models independently review your code or
|
|
|
251
260
|
/tfx-deep-plan "migrate to GraphQL" # 3-party planning
|
|
252
261
|
```
|
|
253
262
|
|
|
254
|
-
### Structured Debate — `tfx-debate`
|
|
263
|
+
### Structured Debate — `tfx-debate` (alias for `tfx-auto --mode consensus --shape debate`)
|
|
255
264
|
|
|
256
|
-
Three models take independent positions on a technical question, debate, and converge on a recommendation. Anti-herding ensures genuine independence
|
|
265
|
+
Three models take independent positions on a technical question, debate, and converge on a recommendation. Anti-herding ensures genuine independence, while Phase 4 folds the output shape into `tfx-auto`.
|
|
257
266
|
|
|
258
267
|
```bash
|
|
259
268
|
/tfx-debate "Redis vs PostgreSQL LISTEN/NOTIFY for real-time events"
|
|
@@ -261,7 +270,7 @@ Three models take independent positions on a technical question, debate, and con
|
|
|
261
270
|
|
|
262
271
|
---
|
|
263
272
|
|
|
264
|
-
## All
|
|
273
|
+
## All 21 Skills (plus 23 thin aliases)
|
|
265
274
|
|
|
266
275
|
<details>
|
|
267
276
|
<summary>Expand full skill list</summary>
|
|
@@ -270,86 +279,83 @@ Three models take independent positions on a technical question, debate, and con
|
|
|
270
279
|
|
|
271
280
|
| Skill | Type | Description |
|
|
272
281
|
|-------|------|-------------|
|
|
273
|
-
| `tfx-research` |
|
|
274
|
-
| `tfx-
|
|
275
|
-
|
|
276
|
-
|
|
282
|
+
| `tfx-research` | Active | Quick web search via Exa/Brave/Tavily auto-selection |
|
|
283
|
+
| `tfx-find` | Active | Fast codebase search — files, symbols, patterns |
|
|
284
|
+
|
|
285
|
+
Aliases (fold into `tfx-auto` flags): `tfx-deep-research`, `tfx-autoresearch`
|
|
277
286
|
|
|
278
287
|
### Analysis & Planning
|
|
279
288
|
|
|
280
289
|
| Skill | Type | Description |
|
|
281
290
|
|-------|------|-------------|
|
|
282
|
-
| `tfx-analysis` |
|
|
283
|
-
| `tfx-
|
|
284
|
-
| `tfx-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
| `tfx-deep-interview` | Deep | Deep interview with mathematical ambiguity gating |
|
|
291
|
+
| `tfx-analysis` | Active | Quick code/architecture analysis |
|
|
292
|
+
| `tfx-plan` | Active | Quick implementation plan |
|
|
293
|
+
| `tfx-interview` | Active | Socratic requirements exploration |
|
|
294
|
+
|
|
295
|
+
Aliases (fold into `tfx-auto` flags): `tfx-deep-analysis`, `tfx-deep-plan`, `tfx-deep-interview`
|
|
288
296
|
|
|
289
297
|
### Execution
|
|
290
298
|
|
|
291
299
|
| Skill | Type | Description |
|
|
292
300
|
|-------|------|-------------|
|
|
293
|
-
| `tfx-auto` |
|
|
294
|
-
|
|
295
|
-
|
|
301
|
+
| `tfx-auto` | Active | Unified CLI orchestrator — auto-triage, flag-based routing, and legacy surface folding |
|
|
302
|
+
|
|
303
|
+
Aliases (fold into `tfx-auto` flags): `tfx-autopilot`, `tfx-fullcycle`, `tfx-codex`, `tfx-gemini`
|
|
296
304
|
|
|
297
305
|
### Review & QA
|
|
298
306
|
|
|
299
307
|
| Skill | Type | Description |
|
|
300
308
|
|-------|------|-------------|
|
|
301
|
-
| `tfx-review` |
|
|
302
|
-
| `tfx-
|
|
303
|
-
| `tfx-
|
|
304
|
-
|
|
309
|
+
| `tfx-review` | Active | Quick code review |
|
|
310
|
+
| `tfx-qa` | Active | Test → Fix → Retest cycle (max 3 rounds) |
|
|
311
|
+
| `tfx-prune` | Active | AI slop removal — dead code, over-abstraction cleanup |
|
|
312
|
+
|
|
313
|
+
Aliases (fold into `tfx-auto` flags): `tfx-deep-review`, `tfx-deep-qa`
|
|
305
314
|
|
|
306
315
|
### Debate & Decision
|
|
307
316
|
|
|
308
317
|
| Skill | Type | Description |
|
|
309
318
|
|-------|------|-------------|
|
|
310
|
-
|
|
|
311
|
-
|
|
319
|
+
| _No standalone active surface_ | — | Debate, consensus, and panel shapes now route through `tfx-auto --mode consensus` |
|
|
320
|
+
|
|
321
|
+
Aliases (fold into `tfx-auto` flags): `tfx-consensus`, `tfx-debate`, `tfx-panel`
|
|
312
322
|
|
|
313
323
|
### Persistence & Routing
|
|
314
324
|
|
|
315
325
|
| Skill | Type | Description |
|
|
316
326
|
|-------|------|-------------|
|
|
317
|
-
| `tfx-
|
|
318
|
-
| `tfx-
|
|
319
|
-
| `tfx-
|
|
320
|
-
|
|
327
|
+
| `tfx-index` | Active | Project indexing — 94% token reduction (58K → 3K) |
|
|
328
|
+
| `tfx-hooks` | Active | Claude Code hook priority manager |
|
|
329
|
+
| `tfx-profile` | Active | Codex/Gemini CLI profile management |
|
|
330
|
+
|
|
331
|
+
Aliases (fold into `tfx-auto` flags): `tfx-persist`, `tfx-ralph`, `tfx-autoroute`, `tfx-auto-codex`
|
|
321
332
|
|
|
322
333
|
### Orchestration & Infrastructure
|
|
323
334
|
|
|
324
335
|
| Skill | Description |
|
|
325
336
|
|-------|-------------|
|
|
326
|
-
| `tfx-consensus` | Core consensus engine (used by all Deep skills) |
|
|
327
337
|
| `tfx-hub` | MCP message bus — Named Pipe & HTTP bridge |
|
|
328
|
-
| `tfx-
|
|
329
|
-
| `
|
|
330
|
-
|
|
331
|
-
|
|
338
|
+
| `tfx-codex-swarm` | Codex swarm execution surface |
|
|
339
|
+
| `merge-worktree` | Worktree merge helper for swarm results |
|
|
340
|
+
|
|
341
|
+
Aliases (fold into active surfaces): `tfx-multi`, `tfx-swarm`
|
|
332
342
|
|
|
333
343
|
### Remote
|
|
334
344
|
|
|
335
345
|
| Skill | Description |
|
|
336
346
|
|-------|-------------|
|
|
337
|
-
| `tfx-remote
|
|
338
|
-
|
|
347
|
+
| `tfx-remote` | Unified remote command family — setup, spawn, list, attach, send, resume, probe, rules |
|
|
348
|
+
|
|
349
|
+
Aliases (fold into active surfaces): `tfx-remote-spawn`, `tfx-remote-setup`, `tfx-psmux-rules` — moved to `.claude/rules/tfx-psmux.md` in Phase 4
|
|
339
350
|
|
|
340
351
|
### Meta & Tooling
|
|
341
352
|
|
|
342
353
|
| Skill | Description |
|
|
343
354
|
|-------|-------------|
|
|
344
|
-
| `tfx-index` | Project indexing — 94% token reduction (58K → 3K) |
|
|
345
355
|
| `tfx-forge` | Create new skills interactively |
|
|
346
|
-
| `tfx-prune` | AI slop removal — dead code, over-abstraction cleanup |
|
|
347
356
|
| `tfx-setup` | Initial setup wizard |
|
|
348
357
|
| `tfx-doctor` | Diagnostics and auto-repair |
|
|
349
|
-
| `tfx-
|
|
350
|
-
| `tfx-profile` | Codex/Gemini CLI profile management |
|
|
351
|
-
| `tfx-psmux-rules` | psmux command generation rules |
|
|
352
|
-
| `merge-worktree` | Worktree merge helper for swarm results |
|
|
358
|
+
| `tfx-ship` | Ship workflow orchestration |
|
|
353
359
|
| `star-prompt` | GitHub star prompt for postinstall |
|
|
354
360
|
|
|
355
361
|
</details>
|
|
@@ -364,6 +370,11 @@ Three models take independent positions on a technical question, debate, and con
|
|
|
364
370
|
|
|
365
371
|
Every domain offers both modes. Depth modifiers in natural language auto-escalate:
|
|
366
372
|
|
|
373
|
+
Phase mapping:
|
|
374
|
+
- `--mode deep` is the direct Light → Deep switch from Phase 2
|
|
375
|
+
- `--retry ralph` / `--retry auto-escalate` add Phase 3 persistence and escalation semantics
|
|
376
|
+
- `--shape consensus|debate|panel` adds Phase 4 output-shape routing on top of consensus mode
|
|
377
|
+
|
|
367
378
|
| Dimension | Light | Deep |
|
|
368
379
|
|-----------|-------|------|
|
|
369
380
|
| **Models** | Single (usually Codex) | 3-party (Claude + Codex + Gemini) |
|
|
@@ -421,7 +432,7 @@ graph TD
|
|
|
421
432
|
|
|
422
433
|
## TUI Routing Monitor
|
|
423
434
|
|
|
424
|
-
**
|
|
435
|
+
**Available in v10.11.0** — `tfx monitor` launches an interactive terminal dashboard:
|
|
425
436
|
|
|
426
437
|
```
|
|
427
438
|
┌─ Routing Monitor ─────────────────────────────────────────┐
|
|
@@ -448,27 +459,27 @@ The monitor visualizes:
|
|
|
448
459
|
|
|
449
460
|
## What's New
|
|
450
461
|
|
|
451
|
-
### v10.
|
|
462
|
+
### v10.11.0 — Phase 3: Retry, Escalation, Codex Lead
|
|
452
463
|
|
|
453
464
|
| Feature | Description |
|
|
454
465
|
|---------|-------------|
|
|
455
|
-
| **
|
|
456
|
-
| **
|
|
457
|
-
| **
|
|
458
|
-
| **
|
|
459
|
-
| **
|
|
460
|
-
| **
|
|
466
|
+
| **True Ralph Retry** | `--retry ralph` now maps to the real persistence state machine instead of a bounded placeholder |
|
|
467
|
+
| **Auto Escalation** | `--retry auto-escalate` enables the four-step `DEFAULT_ESCALATION_CHAIN` |
|
|
468
|
+
| **Codex-Led Pipeline** | `--lead codex` and `--no-claude-native` expose the Codex-first execution lane |
|
|
469
|
+
| **Iteration Budgeting** | `--max-iterations N` makes retry loops explicit and reviewable |
|
|
470
|
+
| **Reflexion + Guards** | safety-guard and headless-guard continue feeding adaptive learning and hard security boundaries |
|
|
471
|
+
| **Routing Monitor** | `tfx monitor` remains the live view over skill routing, model mix, and latency |
|
|
461
472
|
|
|
462
|
-
### v10.0 — 4-
|
|
473
|
+
### v10.11.0 — Phase 4: Flag-Based Surface Consolidation
|
|
463
474
|
|
|
464
475
|
<details>
|
|
465
|
-
<summary>Expand
|
|
476
|
+
<summary>Expand Phase 4 details</summary>
|
|
466
477
|
|
|
467
|
-
- **
|
|
468
|
-
- **
|
|
469
|
-
- **
|
|
470
|
-
- **
|
|
471
|
-
- **
|
|
478
|
+
- **One front door** — `tfx-auto` now absorbs legacy behaviors through flags instead of one-off top-level surfaces
|
|
479
|
+
- **Consensus shapes** — `--shape consensus|debate|panel` folds ensemble behaviors into the main router
|
|
480
|
+
- **Remote consolidation** — `tfx-remote` becomes the single remote surface while `tfx-remote-spawn` remains a thin alias
|
|
481
|
+
- **Rules relocation** — `tfx-psmux-rules` moved out of the skill surface to `.claude/rules/tfx-psmux.md`
|
|
482
|
+
- **Legacy compatibility** — 23 thin aliases remain for transition safety and are slated for later removal
|
|
472
483
|
|
|
473
484
|
</details>
|
|
474
485
|
|