triflux 3.3.0-dev.7 β†’ 4.0.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.
Files changed (91) hide show
  1. package/README.ko.md +108 -199
  2. package/README.md +108 -199
  3. package/bin/triflux.mjs +2415 -1762
  4. package/hooks/keyword-rules.json +361 -354
  5. package/hooks/pipeline-stop.mjs +5 -2
  6. package/hub/assign-callbacks.mjs +136 -136
  7. package/hub/bridge.mjs +734 -708
  8. package/hub/delegator/contracts.mjs +38 -0
  9. package/hub/delegator/index.mjs +14 -0
  10. package/hub/delegator/schema/delegator-tools.schema.json +250 -0
  11. package/hub/delegator/service.mjs +302 -0
  12. package/hub/delegator/tool-definitions.mjs +35 -0
  13. package/hub/hitl.mjs +67 -67
  14. package/hub/paths.mjs +28 -0
  15. package/hub/pipe.mjs +589 -561
  16. package/hub/pipeline/state.mjs +23 -0
  17. package/hub/public/dashboard.html +349 -0
  18. package/hub/public/tray-icon.ico +0 -0
  19. package/hub/public/tray-icon.png +0 -0
  20. package/hub/router.mjs +782 -782
  21. package/hub/schema.sql +40 -40
  22. package/hub/server.mjs +810 -637
  23. package/hub/store.mjs +706 -706
  24. package/hub/team/cli/commands/attach.mjs +37 -0
  25. package/hub/team/cli/commands/control.mjs +43 -0
  26. package/hub/team/cli/commands/debug.mjs +74 -0
  27. package/hub/team/cli/commands/focus.mjs +53 -0
  28. package/hub/team/cli/commands/interrupt.mjs +36 -0
  29. package/hub/team/cli/commands/kill.mjs +37 -0
  30. package/hub/team/cli/commands/list.mjs +24 -0
  31. package/hub/team/cli/commands/send.mjs +37 -0
  32. package/hub/team/cli/commands/start/index.mjs +87 -0
  33. package/hub/team/cli/commands/start/parse-args.mjs +32 -0
  34. package/hub/team/cli/commands/start/start-in-process.mjs +40 -0
  35. package/hub/team/cli/commands/start/start-mux.mjs +73 -0
  36. package/hub/team/cli/commands/start/start-wt.mjs +69 -0
  37. package/hub/team/cli/commands/status.mjs +87 -0
  38. package/hub/team/cli/commands/stop.mjs +31 -0
  39. package/hub/team/cli/commands/task.mjs +30 -0
  40. package/hub/team/cli/commands/tasks.mjs +13 -0
  41. package/hub/team/{cli.mjs β†’ cli/help.mjs} +38 -99
  42. package/hub/team/cli/index.mjs +39 -0
  43. package/hub/team/cli/manifest.mjs +28 -0
  44. package/hub/team/cli/render.mjs +30 -0
  45. package/hub/team/cli/services/attach-fallback.mjs +54 -0
  46. package/hub/team/cli/services/hub-client.mjs +171 -0
  47. package/hub/team/cli/services/member-selector.mjs +30 -0
  48. package/hub/team/cli/services/native-control.mjs +115 -0
  49. package/hub/team/cli/services/runtime-mode.mjs +60 -0
  50. package/hub/team/cli/services/state-store.mjs +34 -0
  51. package/hub/team/cli/services/task-model.mjs +30 -0
  52. package/hub/team/native-supervisor.mjs +69 -63
  53. package/hub/team/native.mjs +367 -266
  54. package/hub/team/nativeProxy.mjs +217 -173
  55. package/hub/team/pane.mjs +149 -149
  56. package/hub/team/psmux.mjs +946 -946
  57. package/hub/team/session.mjs +608 -608
  58. package/hub/team/staleState.mjs +369 -299
  59. package/hub/tools.mjs +107 -107
  60. package/hub/tray.mjs +332 -0
  61. package/hub/workers/claude-worker.mjs +446 -446
  62. package/hub/workers/codex-mcp.mjs +414 -414
  63. package/hub/workers/delegator-mcp.mjs +1045 -1045
  64. package/hub/workers/factory.mjs +21 -21
  65. package/hub/workers/gemini-worker.mjs +349 -349
  66. package/hub/workers/interface.mjs +41 -41
  67. package/package.json +61 -60
  68. package/scripts/__tests__/keyword-detector.test.mjs +234 -234
  69. package/scripts/hub-ensure.mjs +102 -101
  70. package/scripts/keyword-detector.mjs +272 -272
  71. package/scripts/keyword-rules-expander.mjs +521 -521
  72. package/scripts/lib/keyword-rules.mjs +168 -168
  73. package/scripts/lib/mcp-filter.mjs +642 -642
  74. package/scripts/lib/mcp-server-catalog.mjs +118 -118
  75. package/scripts/mcp-check.mjs +126 -126
  76. package/scripts/preflight-cache.mjs +19 -0
  77. package/scripts/run.cjs +62 -62
  78. package/scripts/setup.mjs +68 -31
  79. package/scripts/test-tfx-route-no-claude-native.mjs +57 -57
  80. package/scripts/tfx-route-worker.mjs +161 -161
  81. package/scripts/tfx-route.sh +1360 -1326
  82. package/skills/tfx-auto/SKILL.md +196 -196
  83. package/skills/tfx-auto-codex/SKILL.md +77 -77
  84. package/skills/tfx-multi/SKILL.md +378 -378
  85. package/hub/team/cli-team-common.mjs +0 -348
  86. package/hub/team/cli-team-control.mjs +0 -393
  87. package/hub/team/cli-team-start.mjs +0 -516
  88. package/hub/team/cli-team-status.mjs +0 -283
  89. package/skills/auto-verify/SKILL.md +0 -145
  90. package/skills/manage-skills/SKILL.md +0 -192
  91. package/skills/verify-implementation/SKILL.md +0 -138
package/README.ko.md CHANGED
@@ -9,8 +9,8 @@
9
9
  </p>
10
10
 
11
11
  <p align="center">
12
- <strong>CLI 기반 λ©€ν‹°λͺ¨λΈ μ˜€μΌ€μŠ€νŠΈλ ˆμ΄ν„°</strong><br>
13
- <em>Codex, Gemini, Claude에 μž‘μ—…μ„ λΌμš°νŒ… β€” μ ν•©ν•œ λͺ¨λΈμ— μž‘μ—…μ„ λΌμš°νŒ…ν•˜μ—¬ Claude 토큰을 μ ˆμ•½ν•˜μ„Έμš”</em>
12
+ <strong>Claude Codeλ₯Ό μœ„ν•œ λ©€ν‹°λͺ¨λΈ μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ ν—ˆλΈŒ</strong><br>
13
+ <em>Claude 토큰 μ ˆμ•½μ˜ 핡심. κ³ μ„±λŠ₯ Hub IPCλ₯Ό 톡해 λͺ¨λ“  μž‘μ—…μ„ Codex와 Gemini둜 λΌμš°νŒ…ν•˜μ„Έμš”.</em>
14
14
  </p>
15
15
 
16
16
  <p align="center">
@@ -19,7 +19,6 @@
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
20
  <a href="https://github.com/tellang/triflux/actions"><img src="https://img.shields.io/github/actions/workflow/status/tellang/triflux/ci.yml?style=flat-square&label=CI" alt="CI"></a>
21
21
  <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-374151?style=flat-square" alt="License: MIT"></a>
22
- <a href="https://nodejs.org"><img src="https://img.shields.io/badge/node-%3E%3D18-374151?style=flat-square" alt="Node.js >= 18"></a>
23
22
  </p>
24
23
 
25
24
  <p align="center">
@@ -32,248 +31,158 @@
32
31
 
33
32
  <p align="center">
34
33
  <a href="#λΉ λ₯Έ-μ‹œμž‘">λΉ λ₯Έ μ‹œμž‘</a> Β·
35
- <a href="#μŠ€ν‚¬">μŠ€ν‚¬</a> Β·
36
34
  <a href="#μ•„ν‚€ν…μ²˜">μ•„ν‚€ν…μ²˜</a> Β·
37
- <a href="#μ„€μ •-κ°€μ΄λ“œ">μ„€μ • κ°€μ΄λ“œ</a>
35
+ <a href="#νŒŒμ΄ν”„λΌμΈ-thorough-λͺ¨λ“œ">νŒŒμ΄ν”„λΌμΈ</a> Β·
36
+ <a href="#μœ„μž„delegator-mcp">μœ„μž„ MCP</a> Β·
37
+ <a href="#μ—μ΄μ „νŠΈ-νƒ€μž…-21">μ—μ΄μ „νŠΈ νƒ€μž…</a> Β·
38
+ <a href="#λ³΄μ•ˆ">λ³΄μ•ˆ</a>
38
39
  </p>
39
40
 
40
41
  ---
41
42
 
42
- ## μ™œ triflux인가?
43
+ ## v4의 μƒˆλ‘œμš΄ κΈ°λŠ₯
43
44
 
44
- - **λΉ„μš© μ§€λŠ₯ν˜• λΌμš°νŒ…** β€” Codex와 Gemini에 λ¨Όμ € μž‘μ—…μ„ 보내고, Claude 토큰은 μ΅œμ†Œν™”
45
- - **DAG 기반 병렬 μ‹€ν–‰** β€” λ³΅μž‘ν•œ μž‘μ—…μ„ 의쑴 κ·Έλž˜ν”„λ‘œ λΆ„ν•΄ν•˜μ—¬ λ™μ‹œ μ‹€ν–‰
46
- - **μžλ™ νŠΈλ¦¬μ•„μ§€** β€” Codexκ°€ λΆ„λ₯˜ + Opusκ°€ λΆ„ν•΄, μˆ˜λ™ μ—μ΄μ „νŠΈ 선택 λΆˆν•„μš”
47
- - **16κ°€μ§€ μ—μ΄μ „νŠΈ** β€” executorλΆ€ν„° architectκΉŒμ§€, 각각 졜적의 CLI와 effort λ ˆλ²¨μ— λ§€ν•‘
48
- - **HUD μƒνƒœ ν‘œμ‹œμ€„** β€” CLI μƒνƒœ, 토큰 μ ˆμ•½λŸ‰, 속도 μ œν•œ μ‹€μ‹œκ°„ λͺ¨λ‹ˆν„°λ§
49
- - **제둜 μ„€μ •** β€” μ„€μΉ˜ ν›„ Claude Codeμ—μ„œ λ°”λ‘œ μŠ¬λž˜μ‹œ λͺ…λ Ήμ–΄ μ‚¬μš©
45
+ **triflux v4**λŠ” λ‹¨μˆœν•œ λΌμš°ν„°λ₯Ό λ„˜μ–΄ **κ³ μ„±λŠ₯ μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ ν—ˆλΈŒ**둜 μ§„ν™”ν–ˆμŠ΅λ‹ˆλ‹€. μƒμ£Όν˜•(resident) μ„œλΉ„μŠ€, λ„€μž„λ“œ νŒŒμ΄ν”„(Named Pipe) IPC, 그리고 κ³ λ„ν™”λœ νƒœμŠ€ν¬ νŒŒμ΄ν”„λΌμΈμ„ 톡해 [Claude Code](https://claude.ai/code) ν™˜κ²½μ—μ„œ κ°€μž₯ μ•ˆμ •μ μΈ λ©€ν‹°λͺ¨λΈ κ²½ν—˜μ„ μ œκ³΅ν•©λ‹ˆλ‹€.
50
46
 
51
- <details>
52
- <summary><strong>μ„€μΉ˜</strong></summary>
47
+ ### μ£Όμš” νŠΉμ§•
53
48
 
54
- ### npm (ꢌμž₯)
49
+ - **Hub IPC μ•„ν‚€ν…μ²˜** β€” Named Pipe 및 HTTP MCP λΈŒλ¦¬μ§€λ₯Ό ν™œμš©ν•œ μ΄ˆκ³ μ† μƒμ£Όν˜• ν—ˆλΈŒ μ„œλ²„.
50
+ - **νŒŒμ΄ν”„λΌμΈ `--thorough`** β€” `plan` β†’ `prd` β†’ `exec` β†’ `verify` β†’ `fix`둜 μ΄μ–΄μ§€λŠ” 닀단계 μž‘μ—… 생λͺ…μ£ΌκΈ°.
51
+ - **μœ„μž„(Delegator) MCP** β€” μ—μ΄μ „νŠΈμ™€ μœ μ—°ν•˜κ²Œ μƒν˜Έμž‘μš©ν•  수 μžˆλŠ” μ „μš© MCP 도ꡬ(`delegate`, `reply`, `status`).
52
+ - **psmux / Windows λ„€μ΄ν‹°λΈŒ** β€” `tmux` (WSL)와 `psmux` (Windows Terminal λ„€μ΄ν‹°λΈŒ)λ₯Ό λͺ¨λ‘ μ§€μ›ν•˜λŠ” ν•˜μ΄λΈŒλ¦¬λ“œ μ„Έμ…˜ 관리.
53
+ - **QoS λŒ€μ‹œλ³΄λ“œ** β€” AIMD 기반 동적 배치 사이징 및 μ‹€μ‹œκ°„ μƒνƒœ λͺ¨λ‹ˆν„°λ§.
54
+ - **21μ’… μ΄μƒμ˜ μ „λ¬Έ μ—μ΄μ „νŠΈ** β€” `scientist-deep`λΆ€ν„° `spark_fast`κΉŒμ§€, μž‘μ—…μ— μ΅œμ ν™”λœ μ—μ΄μ „νŠΈ 라인업.
55
55
 
56
- ```bash
57
- npm install -g triflux
58
- ```
56
+ ---
59
57
 
60
- ### npx (μΌνšŒμ„±)
58
+ ## μ•„ν‚€ν…μ²˜
61
59
 
62
- ```bash
63
- npx triflux doctor
60
+ trifluxλŠ” **Hub-and-Spoke** μ•„ν‚€ν…μ²˜λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. μƒμ£Όν˜• ν—ˆλΈŒκ°€ μƒνƒœ, 인증, μž‘μ—… λΌμš°νŒ…μ„ μ΄κ΄„ν•˜λ©° κ³ μ„±λŠ₯ λ„€μž„λ“œ νŒŒμ΄ν”„λ₯Ό 톡해 ν†΅μ‹ ν•©λ‹ˆλ‹€.
61
+
62
+ ```mermaid
63
+ graph TD
64
+ User([μ‚¬μš©μž / Claude Code]) <-->|μŠ¬λž˜μ‹œ λͺ…λ Ήμ–΄| TFX_CLI[tfx CLI]
65
+ TFX_CLI <-->|Named Pipe / HTTP| HUB[triflux Hub μ„œλ²„]
66
+
67
+ subgraph "μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ ν—ˆλΈŒ"
68
+ HUB <--> STORE[(SQLite μ €μž₯μ†Œ)]
69
+ HUB <--> DASH[QoS λŒ€μ‹œλ³΄λ“œ]
70
+ HUB <--> DELEGATOR[μœ„μž„ μ„œλΉ„μŠ€]
71
+ end
72
+
73
+ DELEGATOR <-->|Spawn| CODEX[Codex CLI]
74
+ DELEGATOR <-->|Spawn| GEMINI[Gemini CLI]
75
+ DELEGATOR <-->|Native| CLAUDE[Claude Code]
76
+
77
+ HUB -.->|MCP λΈŒλ¦¬μ§€| External[μ™ΈλΆ€ MCP ν΄λΌμ΄μ–ΈνŠΈ]
64
78
  ```
65
79
 
66
- ### μ„€μΉ˜ 확인
80
+ ---
81
+
82
+ ## λΉ λ₯Έ μ‹œμž‘
83
+
84
+ ### 1. μ„€μΉ˜
67
85
 
68
86
  ```bash
69
- tfx doctor
87
+ npm install -g triflux
70
88
  ```
71
89
 
72
- </details>
90
+ ### 2. μ„€μ • (ν•„μˆ˜)
73
91
 
74
- ## λΉ λ₯Έ μ‹œμž‘
92
+ 슀크립트λ₯Ό λ™κΈ°ν™”ν•˜κ³  Claude Code에 μŠ€ν‚¬μ„ λ“±λ‘ν•˜λ©° HUDλ₯Ό μ„€μ •ν•©λ‹ˆλ‹€.
75
93
 
76
94
  ```bash
77
- # μžλ™ λͺ¨λ“œ β€” AIκ°€ λΆ„λ₯˜ + λΆ„ν•΄ + 병렬 μ‹€ν–‰
78
- /tfx-auto "인증 λͺ¨λ“ˆ λ¦¬νŒ©ν„°λ§ + 둜그인 UI κ°œμ„  + ν…ŒμŠ€νŠΈ μΆ”κ°€"
79
-
80
- # μˆ˜λ™ λͺ¨λ“œ β€” μ—μ΄μ „νŠΈ μˆ˜μ™€ νƒ€μž… 직접 μ§€μ •
81
- /tfx-auto 3:codex "src/api, src/auth, src/payment 각각 리뷰"
82
-
83
- # μ»€λ§¨λ“œ 숏컷 β€” 단일 μ—μ΄μ „νŠΈ μ¦‰μ‹œ μ‹€ν–‰
84
- /implement "JWT 인증 미듀웨어 μΆ”κ°€"
85
- /analyze "결제 λͺ¨λ“ˆ λ³΄μ•ˆ 리뷰"
86
- /research "μ΅œμ‹  React Server Components νŒ¨ν„΄"
87
-
88
- # 단일 CLI λͺ¨λ“œ
89
- /tfx-auto-codex "λ¦¬νŒ©ν„°λ§ + ν…ŒμŠ€νŠΈ + 리뷰" # Codex λ¦¬λ“œ + Gemini μœ μ§€, Claude λ„€μ΄ν‹°λΈŒ μ—­ν•  제거
90
- /tfx-codex "λ¦¬νŒ©ν„°λ§ + 리뷰" # Codex만 μ‚¬μš©
91
- /tfx-gemini "κ΅¬ν˜„ + λ¬Έμ„œν™”" # Gemini만 μ‚¬μš©
92
- ```
93
-
94
- ## λ¬Έμ„œ
95
-
96
- - [docs/INDEX.md](docs/INDEX.md) β€” λ¬Έμ„œ 인덱슀
97
-
98
- ## μŠ€ν‚¬
99
-
100
- | μŠ€ν‚¬ | λͺ¨λ“œ | μ„€λͺ… |
101
- |------|------|------|
102
- | `/tfx-auto` | μžλ™ | νŠΈλ¦¬μ•„μ§€ β†’ λΆ„ν•΄ β†’ DAG 병렬 μ‹€ν–‰ |
103
- | `/tfx-auto-codex` | Codex λ¦¬λ“œ | Claude λ„€μ΄ν‹°λΈŒ 역할을 Codex둜 μΉ˜ν™˜, Gemini 경둜 μœ μ§€ |
104
- | `/tfx-codex` | Codex μ „μš© | λͺ¨λ“  CLI μž‘μ—…μ„ Codex둜 λΌμš°νŒ… |
105
- | `/tfx-gemini` | Gemini μ „μš© | λͺ¨λ“  CLI μž‘μ—…μ„ Gemini둜 λΌμš°νŒ… |
106
- | `/tfx-setup` | μ„€μ • | 파일 동기화, HUD μ„€μ •, CLI 진단 |
107
-
108
- ### μ»€λ§¨λ“œ 숏컷
109
-
110
- νŠΈλ¦¬μ•„μ§€ 없이 μ¦‰μ‹œ 단일 μ—μ΄μ „νŠΈ μ‹€ν–‰:
111
-
112
- | μ»€λ§¨λ“œ | μ—μ΄μ „νŠΈ | CLI | μš©λ„ |
113
- |--------|---------|-----|------|
114
- | `/implement` | executor | Codex | μ½”λ“œ κ΅¬ν˜„ |
115
- | `/build` | build-fixer | Codex | λΉŒλ“œ/νƒ€μž… μ—λŸ¬ μˆ˜μ • |
116
- | `/research` | document-specialist | Codex | λ¬Έμ„œ 쑰사 |
117
- | `/brainstorm` | analyst | Codex | μš”κ΅¬μ‚¬ν•­ 뢄석 |
118
- | `/design` | architect | Codex | μ•„ν‚€ν…μ²˜ 섀계 |
119
- | `/troubleshoot` | debugger | Codex | 버그 뢄석 |
120
- | `/cleanup` | executor | Codex | μ½”λ“œ 정리 |
121
- | `/analyze` | quality + security | Codex | 병렬 리뷰 (2 μ—μ΄μ „νŠΈ) |
122
- | `/spec-panel` | architect + analyst + critic | Codex | μŠ€νŽ™ 리뷰 (3 μ—μ΄μ „νŠΈ) |
123
- | `/explain` | writer | Gemini | μ½”λ“œ μ„€λͺ… |
124
- | `/document` | writer | Gemini | λ¬Έμ„œ μž‘μ„± |
125
- | `/test` | test-engineer | Claude | ν…ŒμŠ€νŠΈ μ „λž΅ |
126
- | `/reflect` | verifier | Claude | 검증 |
127
-
128
- ## μ•„ν‚€ν…μ²˜
129
-
130
- ```
131
- μ‚¬μš©μž: "/tfx-auto 인증 λ¦¬νŒ©ν„°λ§ + UI κ°œμ„  + ν…ŒμŠ€νŠΈ μΆ”κ°€"
132
- |
133
- v
134
- [Phase 1: νŒŒμ‹±] ─── μžλ™ λͺ¨λ“œ 감지
135
- |
136
- v
137
- [Phase 2a: λΆ„λ₯˜] ─── Codex
138
- β”‚ 인증 λ¦¬νŒ©ν„°λ§ β†’ codex
139
- β”‚ UI κ°œμ„  β†’ gemini
140
- β”‚ ν…ŒμŠ€νŠΈ μΆ”κ°€ β†’ claude
141
- |
142
- v
143
- [Phase 2b: λΆ„ν•΄] ─── Opus (인라인, Agent 슀폰 μ—†μŒ)
144
- β”‚ t1: executor (implement, src/auth/) Level 0
145
- β”‚ t2: designer (docs, src/components/) Level 0
146
- β”‚ t3: test-engineer (Claude λ„€μ΄ν‹°λΈŒ) Level 1 ← t1 의쑴
147
- |
148
- v
149
- [Phase 3: μ‹€ν–‰] ─── DAG 병렬
150
- β”‚ Level 0: t1(Codex) + t2(Gemini) ← 병렬
151
- β”‚ Level 1: t3(Claude) ← t1 μ™„λ£Œ ν›„
152
- |
153
- v
154
- [Phase 4-6: μˆ˜μ§‘ β†’ μž¬μ‹œλ„ β†’ 보고]
95
+ tfx setup
155
96
  ```
156
97
 
157
- ### μ—μ΄μ „νŠΈ λΌμš°νŒ… ν…Œμ΄λΈ”
158
-
159
- | μ—μ΄μ „νŠΈ | CLI | Effort | νƒ€μž„μ•„μ›ƒ | λͺ¨λ“œ |
160
- |---------|-----|--------|---------|------|
161
- | executor | Codex | high | 360s | fg |
162
- | build-fixer | Codex | fast | 180s | fg |
163
- | debugger | Codex | high | 300s | bg |
164
- | deep-executor | Codex | xhigh | 1200s | bg |
165
- | architect | Codex | xhigh | 1200s | bg |
166
- | planner | Codex | xhigh | 1200s | fg |
167
- | critic | Codex | xhigh | 1200s | bg |
168
- | analyst | Codex | xhigh | 1200s | fg |
169
- | code-reviewer | Codex | thorough | 600s | bg |
170
- | security-reviewer | Codex | thorough | 600s | bg |
171
- | quality-reviewer | Codex | thorough | 600s | bg |
172
- | scientist | Codex | high | 480s | bg |
173
- | document-specialist | Codex | high | 480s | bg |
174
- | designer | Gemini Pro 3.1 | β€” | 600s | bg |
175
- | writer | Gemini Flash 3 | β€” | 600s | bg |
176
- | explore | Claude Haiku | β€” | 300s | fg |
177
- | verifier | Claude Sonnet | β€” | 300s | fg |
178
- | test-engineer | Claude Sonnet | β€” | 300s | bg |
179
-
180
- ### μ‹€νŒ¨ 처리
181
-
182
- 1. **1μ°¨ μ‹€νŒ¨** β†’ Claude λ„€μ΄ν‹°λΈŒ μ—μ΄μ „νŠΈλ‘œ fallback
183
- 2. **2μ°¨ μ‹€νŒ¨** β†’ ν•΄λ‹Ή μ„œλΈŒνƒœμŠ€ν¬ μ‹€νŒ¨ 보고, λ‚˜λ¨Έμ§€ κ²°κ³Ό μ’…ν•©
184
- 3. **νƒ€μž„μ•„μ›ƒ** β†’ λΆ€λΆ„ κ²°κ³Ό 보고
185
-
186
- <details>
187
- <summary><strong>μ„€μ • κ°€μ΄λ“œ</strong></summary>
188
-
189
- ### 사전 쑰건
190
-
191
- - **Node.js** >= 18
192
- - **Claude Code** (ν•„μˆ˜)
193
- - **Codex CLI** (선택): `npm install -g @openai/codex`
194
- - **Gemini CLI** (선택): `npm install -g @google/gemini-cli`
195
-
196
- > [!TIP]
197
- > **trifluxλŠ” 100% λ…λ¦½μ μœΌλ‘œ λ™μž‘ν•©λ‹ˆλ‹€.** κΈ°λŠ₯을 μˆ˜ν–‰ν•˜κΈ° μœ„ν•΄ [oh-my-claudecode (OMC)](https://github.com/nicepkg/oh-my-claudecode)κ°€ ν•„μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. OMCκ°€ μ„€μΉ˜λœ κ²½μš°μ—λ§Œ 이λ₯Ό κ°μ§€ν•˜μ—¬ 선택적인 톡합 κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€. Codex/Gemini 없이도 μžλ™μœΌλ‘œ Claude λ„€μ΄ν‹°λΈŒ μ—μ΄μ „νŠΈλ‘œ fallbackλ˜μ–΄ λ™μž‘ν•©λ‹ˆλ‹€.
198
-
199
- ### μ„€μΉ˜ ν›„
98
+ ### 3. μ‚¬μš© 방법
200
99
 
201
100
  ```bash
202
- # 파일 동기화 + HUD μ„€μ •
203
- tfx setup
101
+ # μžλ™ λͺ¨λ“œ β€” ν—ˆλΈŒλ₯Ό ν†΅ν•œ 병렬 μ‹€ν–‰
102
+ /tfx-auto "인증 λ¦¬νŒ©ν„°λ§ + UI μ—…λ°μ΄νŠΈ + ν…ŒμŠ€νŠΈ μΆ”κ°€"
103
+
104
+ # νŒŒμ΄ν”„λΌμΈ λͺ¨λ“œ β€” μ •λ°€ν•œ 닀단계 μ‹€ν–‰
105
+ /tfx-auto --thorough "λ³΅μž‘ν•œ 데이터 λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ κ΅¬ν˜„"
204
106
 
205
- # 진단 μ‹€ν–‰
206
- tfx doctor
107
+ # 직접 μœ„μž„
108
+ /tfx-delegate "μ΅œμ‹  React νŒ¨ν„΄ 쑰사" --provider gemini
207
109
  ```
208
110
 
209
- ### CLI λͺ…λ Ήμ–΄
111
+ ---
210
112
 
211
- | λͺ…λ Ήμ–΄ | μ„€λͺ… |
212
- |--------|------|
213
- | `tfx setup` | 슀크립트 + HUD + μŠ€ν‚¬ 동기화 |
214
- | `tfx doctor` | CLI 진단 + 이슈 좔적 |
215
- | `tfx update` | μ΅œμ‹  μ•ˆμ • λ²„μ „μœΌλ‘œ μ—…λ°μ΄νŠΈ |
216
- | `tfx list` | μ„€μΉ˜λœ μŠ€ν‚¬ λͺ©λ‘ |
217
- | `tfx version` | 버전 ν‘œμ‹œ |
218
-
219
- μΆ•μ•½: `tfx` = `triflux`, `tfl` = `triflux`
220
-
221
- dev 채널 μ—…λ°μ΄νŠΈ: `tfx update --dev` (`dev` 별칭 지원)
113
+ ## νŒŒμ΄ν”„λΌμΈ: `--thorough` λͺ¨λ“œ
222
114
 
223
- ### HUD μƒνƒœ ν‘œμ‹œμ€„
115
+ v4 νŒŒμ΄ν”„λΌμΈμ€ λ³΅μž‘ν•œ μ—”μ§€λ‹ˆμ–΄λ§ μž‘μ—…μ„ μœ„ν•΄ μ„€κ³„λœ κ°•λ ₯ν•œ μ‹€ν–‰ 루프λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.
224
116
 
225
- Claude Code μƒνƒœμ€„μ—μ„œ μ‹€μ‹œκ°„ λͺ¨λ‹ˆν„°λ§:
117
+ | 단계 | μ„€λͺ… |
118
+ |------|------|
119
+ | **plan** | 해결책을 μ„€κ³„ν•˜κ³  μ˜μ‘΄μ„±μ„ μ‹λ³„ν•©λ‹ˆλ‹€. |
120
+ | **prd** | μƒμ„Έν•œ 기술 λͺ…μ„Έμ„œ(Technical Spec / PRD)λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€. |
121
+ | **exec** | μ‹€μ œ μ½”λ“œ κ΅¬ν˜„μ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€. |
122
+ | **verify** | ν…ŒμŠ€νŠΈλ₯Ό μ‹€ν–‰ν•˜κ³  κ΅¬ν˜„ κ²°κ³Όκ°€ PRD와 μΌμΉ˜ν•˜λŠ”μ§€ κ²€μ¦ν•©λ‹ˆλ‹€. |
123
+ | **fix** | (루프) 검증 λ‹¨κ³„μ—μ„œ 발견된 μ‹€νŒ¨λ₯Ό μžλ™μœΌλ‘œ μˆ˜μ •ν•©λ‹ˆλ‹€ (μ΅œλŒ€ 3회). |
124
+ | **ralph** | (μž¬μ‹œμž‘) μˆ˜μ • 루프 μ‹€νŒ¨ μ‹œ, μƒˆλ‘œμš΄ 톡찰을 λ°”νƒ•μœΌλ‘œ `plan`λΆ€ν„° λ‹€μ‹œ μ‹œμž‘ν•©λ‹ˆλ‹€ (μ΅œλŒ€ 10회). |
226
125
 
227
- - Claude / Codex / Gemini 토큰 μ‚¬μš©λŸ‰ 및 속도 μ œν•œ
228
- - CLI μƒνƒœ (μ„€μΉ˜ μ—¬λΆ€, API ν‚€ μƒνƒœ)
229
- - μ„Έμ…˜ λΉ„μš© 좔적 및 μ ˆμ•½ λ³΄κ³ μ„œ
126
+ ---
230
127
 
231
- `tfx setup`으둜 μžλ™ μ„€μ •λ©λ‹ˆλ‹€.
128
+ ## μœ„μž„(Delegator) MCP
232
129
 
233
- </details>
130
+ MCP 도ꡬλ₯Ό 톡해 ν—ˆλΈŒμ™€ 직접 μƒν˜Έμž‘μš©ν•˜μ„Έμš”.
234
131
 
235
- <details>
236
- <summary><strong>선택 사항: oh-my-claudecode (OMC) 톡합</strong></summary>
132
+ - **`delegate`**: ν”„λ‘¬ν”„νŠΈλ₯Ό νŠΉμ • ν”„λ‘œλ°”μ΄λ”λ‘œ λΌμš°νŒ…ν•˜κ±°λ‚˜ ν—ˆλΈŒμ— νŒλ‹¨μ„ λ§‘κΉλ‹ˆλ‹€. `sync`(동기) 및 `async`(비동기) λͺ¨λ“œλ₯Ό μ§€μ›ν•©λ‹ˆλ‹€.
133
+ - **`reply`**: μ‹€ν–‰ 쀑인 μ—μ΄μ „νŠΈμ™€ λŒ€ν™”λ₯Ό μ΄μ–΄κ°‘λ‹ˆλ‹€ (ν˜„μž¬ Gemini 직접 μ‹€ν–‰ λͺ¨λ“œ 지원).
134
+ - **`status`**: 비동기 λ°±κ·ΈλΌμš΄λ“œ μž‘μ—…μ˜ μ§„ν–‰ 상황을 ν™•μΈν•©λ‹ˆλ‹€.
237
135
 
238
- trifluxλŠ” **100% λ…λ¦½μ μœΌλ‘œ λ™μž‘**ν•˜λ©° κΈ°λŠ₯을 μˆ˜ν–‰ν•˜κΈ° μœ„ν•΄ μ™ΈλΆ€ 도ꡬ에 μ˜μ‘΄ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ‹€λ§Œ, [oh-my-claudecode](https://github.com/nicepkg/oh-my-claudecode) μƒνƒœκ³„λ₯Ό μ‚¬μš©ν•˜λŠ” μ‚¬μš©μžλ₯Ό μœ„ν•΄ 선택적 ν˜Έν™˜μ„±μ„ μ œκ³΅ν•©λ‹ˆλ‹€:
136
+ ---
239
137
 
240
- - **μ™„μ „ν•œ 독립성**: OMCλ‚˜ λ‹€λ₯Έ 래퍼 없이 λ‹¨λ…μœΌλ‘œ 100% λ™μž‘ν•©λ‹ˆλ‹€.
241
- - **μΊμ‹œ ν˜Έν™˜μ„±**: OMC μΊμ‹œ 경둜(예: `~/.omc/state/`)κ°€ μ‘΄μž¬ν•  경우 이λ₯Ό κ°μ§€ν•˜κ³  λ°°λ €ν•˜μ§€λ§Œ, 기본적으둜 자체 격리된 μƒνƒœλ₯Ό μœ μ§€ν•©λ‹ˆλ‹€.
242
- - **μ‹¬λ¦¬μŠ€ν•œ ν”ŒλŸ¬κ·ΈμΈ**: OMCκ°€ μ„€μΉ˜λœ 경우 OMC ν”ŒλŸ¬κ·ΈμΈ μ‹œμŠ€ν…œμ„ 톡해 μŠ€ν‚¬μ΄ μžλ™ λ“±λ‘λ©λ‹ˆλ‹€.
243
- - **ν™•μž₯된 HUD**: OMCκ°€ κ°μ§€λ˜λ©΄ HUDκ°€ μžλ™μœΌλ‘œ OMC μƒνƒœμ€„μ„ ν™•μž₯ν•˜μ—¬ ν‘œμ‹œν•©λ‹ˆλ‹€.
244
- - **λͺ¨λ“œ 지원**: OMC autopilot, ralph, team, ultrawork λͺ¨λ“œμ™€ μ™„λ²½νžˆ ν˜Έν™˜λ©λ‹ˆλ‹€.
138
+ ## μ—μ΄μ „νŠΈ νƒ€μž… (21μ’…+)
139
+
140
+ | μ—μ΄μ „νŠΈ | CLI | μš©λ„ |
141
+ |---------|-----|------|
142
+ | **executor** | Codex | ν‘œμ€€μ μΈ μ½”λ“œ κ΅¬ν˜„ 및 λ¦¬νŒ©ν„°λ§. |
143
+ | **build-fixer** | Codex/Gemini | λΉŒλ“œ 및 νƒ€μž… μ—λŸ¬ μ¦‰μ‹œ μˆ˜μ •. |
144
+ | **architect** | Codex | μƒμœ„ 레벨 μ‹œμŠ€ν…œ 섀계 및 κ³„νš. |
145
+ | **scientist-deep** | Codex | μ² μ €ν•œ 쑰사 및 심측 뢄석. |
146
+ | **code-reviewer** | Codex | λ³΄μ•ˆ 및 둜직 μ€‘μ‹¬μ˜ μ½”λ“œ 리뷰. |
147
+ | **security-reviewer**| Codex | 취약점 및 κΆŒν•œ μ„€μ • 감사. |
148
+ | **quality-reviewer** | Codex | 둜직 결함 및 μœ μ§€λ³΄μˆ˜μ„± 감사. |
149
+ | **designer** | Gemini | UI/UX 및 λ¬Έμ„œ λ””μžμΈ. |
150
+ | **writer** | Gemini | 기술 λ¬Έμ„œ μž‘μ„± 및 μ„€λͺ…. |
151
+ | **spark** | Gemini | κ°€λ²Όμš΄ ν”„λ‘œν† νƒ€μ΄ν•‘ 및 λΉ λ₯Έ 처리. |
152
+ | **verifier** | Claude | μ΅œμ’… 검증 및 μœ νš¨μ„± 확인. |
153
+ | **test-engineer** | Claude | 포괄적인 ν…ŒμŠ€νŠΈ μŠ€μœ„νŠΈ 생성. |
154
+ | *...기타* | | `debugger`, `planner`, `critic`, `analyst`, `scientist`, `explore`, `qa-tester` |
245
155
 
246
- </details>
156
+ ---
247
157
 
248
- <details>
249
- <summary><strong>λ³€κ²½ 이λ ₯</strong></summary>
158
+ ## λ³΄μ•ˆ
250
159
 
251
- ### 2.0.0
160
+ triflux v4λŠ” μ•ˆμ „ν•œ μ „λ¬Έ 개발 ν™˜κ²½μ„ μœ„ν•΄ μ„€κ³„λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
252
161
 
253
- - `cx-skills`μ—μ„œ `triflux`둜 λ¦¬λΈŒλžœλ”©
254
- - μƒˆ CLI λͺ…λ Ήμ–΄: `tfx`, `triflux`, `tfl`
255
- - μŠ€ν‚¬ μ—…λ°μ΄νŠΈ: `/tfx-auto`, `/tfx-codex`, `/tfx-gemini`, `/tfx-setup`
256
- - amber λΈŒλžœλ”© μ‹œκ°μ  리뉴얼
257
- - λ‚΄λΆ€ μ°Έμ‘° μ „λ©΄ μ—…λ°μ΄νŠΈ (`CX_CLI_MODE` β†’ `TFX_CLI_MODE`)
162
+ - **ν—ˆλΈŒ 토큰 인증** β€” `TFX_HUB_TOKEN`을 μ΄μš©ν•œ λ³΄μ•ˆ IPC (Bearer 인증).
163
+ - **Localhost μ „μš©** β€” ν—ˆλΈŒκ°€ 기본적으둜 `127.0.0.1`μ—λ§Œ λ°”μΈλ”©λ˜μ–΄ μ™ΈλΆ€ 접근을 μ°¨λ‹¨ν•©λ‹ˆλ‹€.
164
+ - **CORS 잠금** β€” QoS λŒ€μ‹œλ³΄λ“œμ— λŒ€ν•œ μ—„κ²©ν•œ μ˜€λ¦¬μ§„(Origin) 체크.
165
+ - **μΈμ μ…˜ λ°©μ–΄** β€” `psmux` 및 `tmux` μ‹€ν–‰ μ‹œ μ‰˜ λͺ…λ Ήμ–΄ μƒˆλ‹ˆνƒ€μ΄μ§•(Sanitizing).
258
166
 
259
- ### 이전 버전 (cx-skills)
167
+ ---
168
+
169
+ ## QoS λŒ€μ‹œλ³΄λ“œ
260
170
 
261
- v1.x 이λ ₯은 [cx-skills releases](https://github.com/tellang/cx-skills/releases) μ°Έμ‘°.
171
+ `http://localhost:27888/dashboard`μ—μ„œ μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ μƒνƒœλ₯Ό λͺ¨λ‹ˆν„°λ§ν•˜μ„Έμš”.
262
172
 
263
- </details>
173
+ - **AIMD 배치 사이징** β€” μž‘μ—… 성곡λ₯ μ— 따라 병렬 μž‘μ—… 수(3 β†’ 10)λ₯Ό μžλ™μœΌλ‘œ μ‘°μ ˆν•©λ‹ˆλ‹€.
174
+ - **토큰 μ ˆμ•½λŸ‰** β€” Codex/Gemini λΌμš°νŒ…μ„ 톡해 μ ˆμ•½λœ Claude 토큰을 μ‹€μ‹œκ°„μœΌλ‘œ μΆ”μ ν•©λ‹ˆλ‹€.
175
+ - **ν• λ‹ΉλŸ‰ 좔적** β€” Codex 및 Gemini의 속도 μ œν•œ(Rate Limit)을 μ‹€μ‹œκ°„μœΌλ‘œ ν™•μΈν•©λ‹ˆλ‹€.
264
176
 
265
177
  ---
266
178
 
267
- <p align="center">
268
- <a href="https://github.com/tellang/triflux">
269
- <picture>
270
- <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=tellang/triflux&type=Date&theme=dark">
271
- <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=tellang/triflux&type=Date">
272
- <img alt="Star History" src="https://api.star-history.com/svg?repos=tellang/triflux&type=Date" width="600">
273
- </picture>
274
- </a>
275
- </p>
179
+ ## ν”Œλž«νΌ 지원
180
+
181
+ - **Linux / macOS**: λ„€μ΄ν‹°λΈŒ `tmux` 톡합 지원.
182
+ - **Windows**: **psmux** (PowerShell Multiplexer)와 Windows Terminal을 ν™œμš©ν•œ λ„€μ΄ν‹°λΈŒ μœˆλ„μš° ν™˜κ²½ 지원.
183
+
184
+ ---
276
185
 
277
186
  <p align="center">
278
- <sub>MIT License Β· Made by <a href="https://github.com/tellang">tellang</a></sub>
187
+ <sub>MIT License · Made with ❀️ by <a href="https://github.com/tellang">tellang</a></sub>
279
188
  </p>