clitrigger 0.1.11 → 0.1.13
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.md +28 -22
- package/README_KR.md +29 -23
- package/dist/client/assets/index-BWNQgE_E.js +649 -0
- package/dist/client/assets/index-Ck_mmrzu.css +32 -0
- package/dist/client/index.html +2 -2
- package/dist/server/data/cli-models-registry.json +12 -1
- package/dist/server/db/queries.d.ts +83 -6
- package/dist/server/db/queries.d.ts.map +1 -1
- package/dist/server/db/queries.js +253 -9
- package/dist/server/db/queries.js.map +1 -1
- package/dist/server/db/schema.d.ts.map +1 -1
- package/dist/server/db/schema.js +100 -0
- package/dist/server/db/schema.js.map +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +6 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/lib/git.d.ts +1 -0
- package/dist/server/lib/git.d.ts.map +1 -1
- package/dist/server/lib/git.js +11 -0
- package/dist/server/lib/git.js.map +1 -1
- package/dist/server/plugins/harness/adapters/claude.d.ts +3 -0
- package/dist/server/plugins/harness/adapters/claude.d.ts.map +1 -0
- package/dist/server/plugins/harness/adapters/claude.js +98 -0
- package/dist/server/plugins/harness/adapters/claude.js.map +1 -0
- package/dist/server/plugins/harness/adapters/codex.d.ts +3 -0
- package/dist/server/plugins/harness/adapters/codex.d.ts.map +1 -0
- package/dist/server/plugins/harness/adapters/codex.js +136 -0
- package/dist/server/plugins/harness/adapters/codex.js.map +1 -0
- package/dist/server/plugins/harness/adapters/gemini.d.ts +3 -0
- package/dist/server/plugins/harness/adapters/gemini.d.ts.map +1 -0
- package/dist/server/plugins/harness/adapters/gemini.js +118 -0
- package/dist/server/plugins/harness/adapters/gemini.js.map +1 -0
- package/dist/server/plugins/harness/index.d.ts +3 -0
- package/dist/server/plugins/harness/index.d.ts.map +1 -0
- package/dist/server/plugins/harness/index.js +13 -0
- package/dist/server/plugins/harness/index.js.map +1 -0
- package/dist/server/plugins/harness/io.d.ts +12 -0
- package/dist/server/plugins/harness/io.d.ts.map +1 -0
- package/dist/server/plugins/harness/io.js +94 -0
- package/dist/server/plugins/harness/io.js.map +1 -0
- package/dist/server/plugins/harness/router.d.ts +4 -0
- package/dist/server/plugins/harness/router.d.ts.map +1 -0
- package/dist/server/plugins/harness/router.js +206 -0
- package/dist/server/plugins/harness/router.js.map +1 -0
- package/dist/server/plugins/harness/types.d.ts +40 -0
- package/dist/server/plugins/harness/types.d.ts.map +1 -0
- package/dist/server/plugins/harness/types.js +2 -0
- package/dist/server/plugins/harness/types.js.map +1 -0
- package/dist/server/routes/discussions.d.ts.map +1 -1
- package/dist/server/routes/discussions.js +116 -6
- package/dist/server/routes/discussions.js.map +1 -1
- package/dist/server/routes/favorites.d.ts +3 -0
- package/dist/server/routes/favorites.d.ts.map +1 -0
- package/dist/server/routes/favorites.js +201 -0
- package/dist/server/routes/favorites.js.map +1 -0
- package/dist/server/routes/logs.d.ts.map +1 -1
- package/dist/server/routes/logs.js +16 -5
- package/dist/server/routes/logs.js.map +1 -1
- package/dist/server/routes/memory.d.ts +3 -0
- package/dist/server/routes/memory.d.ts.map +1 -0
- package/dist/server/routes/memory.js +651 -0
- package/dist/server/routes/memory.js.map +1 -0
- package/dist/server/routes/projects.d.ts.map +1 -1
- package/dist/server/routes/projects.js +13 -4
- package/dist/server/routes/projects.js.map +1 -1
- package/dist/server/routes/review.d.ts.map +1 -1
- package/dist/server/routes/review.js +152 -1
- package/dist/server/routes/review.js.map +1 -1
- package/dist/server/routes/sessions.d.ts.map +1 -1
- package/dist/server/routes/sessions.js +24 -2
- package/dist/server/routes/sessions.js.map +1 -1
- package/dist/server/routes/todos.d.ts.map +1 -1
- package/dist/server/routes/todos.js +17 -3
- package/dist/server/routes/todos.js.map +1 -1
- package/dist/server/services/claude-manager.d.ts +18 -1
- package/dist/server/services/claude-manager.d.ts.map +1 -1
- package/dist/server/services/claude-manager.js +99 -5
- package/dist/server/services/claude-manager.js.map +1 -1
- package/dist/server/services/discussion-extractor.d.ts +7 -0
- package/dist/server/services/discussion-extractor.d.ts.map +1 -0
- package/dist/server/services/discussion-extractor.js +167 -0
- package/dist/server/services/discussion-extractor.js.map +1 -0
- package/dist/server/services/discussion-orchestrator.d.ts.map +1 -1
- package/dist/server/services/discussion-orchestrator.js +38 -1
- package/dist/server/services/discussion-orchestrator.js.map +1 -1
- package/dist/server/services/log-streamer.d.ts +20 -0
- package/dist/server/services/log-streamer.d.ts.map +1 -1
- package/dist/server/services/log-streamer.js +81 -3
- package/dist/server/services/log-streamer.js.map +1 -1
- package/dist/server/services/memory-ingest.d.ts +16 -0
- package/dist/server/services/memory-ingest.d.ts.map +1 -0
- package/dist/server/services/memory-ingest.js +488 -0
- package/dist/server/services/memory-ingest.js.map +1 -0
- package/dist/server/services/memory-inject-hook.d.ts +9 -0
- package/dist/server/services/memory-inject-hook.d.ts.map +1 -0
- package/dist/server/services/memory-inject-hook.js +17 -0
- package/dist/server/services/memory-inject-hook.js.map +1 -0
- package/dist/server/services/memory-injector.d.ts +15 -0
- package/dist/server/services/memory-injector.d.ts.map +1 -0
- package/dist/server/services/memory-injector.js +107 -0
- package/dist/server/services/memory-injector.js.map +1 -0
- package/dist/server/services/memory-wikilinks.d.ts +34 -0
- package/dist/server/services/memory-wikilinks.d.ts.map +1 -0
- package/dist/server/services/memory-wikilinks.js +86 -0
- package/dist/server/services/memory-wikilinks.js.map +1 -0
- package/dist/server/services/model-sync.js +1 -1
- package/dist/server/services/orchestrator.d.ts.map +1 -1
- package/dist/server/services/orchestrator.js +37 -0
- package/dist/server/services/orchestrator.js.map +1 -1
- package/dist/server/services/pty-output-filter.d.ts +12 -0
- package/dist/server/services/pty-output-filter.d.ts.map +1 -1
- package/dist/server/services/pty-output-filter.js +94 -1
- package/dist/server/services/pty-output-filter.js.map +1 -1
- package/dist/server/services/review-capture.d.ts +5 -3
- package/dist/server/services/review-capture.d.ts.map +1 -1
- package/dist/server/services/review-capture.js +29 -7
- package/dist/server/services/review-capture.js.map +1 -1
- package/dist/server/services/session-manager.d.ts +22 -1
- package/dist/server/services/session-manager.d.ts.map +1 -1
- package/dist/server/services/session-manager.js +82 -5
- package/dist/server/services/session-manager.js.map +1 -1
- package/dist/server/websocket/broadcaster.d.ts +11 -0
- package/dist/server/websocket/broadcaster.d.ts.map +1 -1
- package/dist/server/websocket/broadcaster.js +67 -0
- package/dist/server/websocket/broadcaster.js.map +1 -1
- package/dist/server/websocket/events.d.ts +3 -0
- package/dist/server/websocket/events.d.ts.map +1 -1
- package/dist/server/websocket/index.d.ts.map +1 -1
- package/dist/server/websocket/index.js +45 -2
- package/dist/server/websocket/index.js.map +1 -1
- package/package.json +3 -1
- package/dist/client/assets/index-D4Xur2yY.css +0 -1
- package/dist/client/assets/index-Dz1uDy_d.js +0 -567
package/README.md
CHANGED
|
@@ -104,14 +104,28 @@ Every feature — Planner, Scheduler, worktree isolation, rate-limit auto-recove
|
|
|
104
104
|
|
|
105
105
|
## Features
|
|
106
106
|
|
|
107
|
-
###
|
|
107
|
+
### Plugin System (Harness, Jira, GitHub, Notion, gstack)
|
|
108
|
+
The **Harness** panel edits Claude / Gemini / Codex user config (settings, memory files, MCP servers) right in the browser — atomic writes with deep-merge preserve untouched fields, and a Codex `trustLevelMissing` warning surfaces when a project isn't trusted. Jira, GitHub, Notion integrations and gstack skill injection ship alongside as self-contained plugins. Two plugin categories — `external-service` (REST proxy + UI panel) and `execution-hook` (pre-execution hook into the orchestrator). Adding a new integration needs only a manifest and `registerPlugin()` call — no core code changes.
|
|
109
|
+
|
|
110
|
+
### Wiki (Karpathy LLM-Wiki Pattern)
|
|
111
|
+
A per-project knowledge graph (nodes + typed edges) that you curate once and selectively inject into TODO and discussion prompts. Stop pasting the same domain context every run. Toggle between List and Graph views (`@xyflow/react` + dagre auto-layout, drag-to-connect edges, cycle guards on `precedes`/`refines`), pick `None` / `All` / `Selected` per task, preview the exact `<long_term_memory>` block before sending. CLI-agnostic — Claude, Gemini, and Codex all see identical context with no adapter changes.
|
|
112
|
+
|
|
113
|
+
### Planner
|
|
114
|
+
A lightweight task planner separate from TODOs — capture ideas, attach images, tag with colors, sort by any column. Convert any planner item into a TODO or a schedule in one click. Markdown export/import (status sections + GFM checkboxes + HTML-comment metadata) lets you move plans across machines or share via GitHub / Obsidian / any plain Markdown viewer. Drop a `.md` file onto the planner card to import.
|
|
115
|
+
|
|
116
|
+
<div align="center">
|
|
117
|
+
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-planer.png" alt="Planner — Lightweight task management" width="800">
|
|
118
|
+
<p><em>Inline editing, color-coded tags, image attachments, and one-click conversion to TODOs or schedules</em></p>
|
|
119
|
+
</div>
|
|
120
|
+
|
|
121
|
+
### Parallel Worktree Execution (Tasks)
|
|
108
122
|
Each TODO automatically gets its own git worktree. Claude / Gemini / Codex CLIs execute simultaneously in parallel. Dependency chains let you automatically trigger follow-up tasks and branch merges once prerequisites complete. Per-project worktree toggle plus per-TODO tri-state override (inherit / force-worktree / force-main) give you fine-grained control — main-branch tasks are automatically serialized to avoid conflicts. Drag-and-drop reordering and an iOS-style stack mode keep long task lists manageable.
|
|
109
123
|
|
|
110
|
-
###
|
|
111
|
-
|
|
124
|
+
### Interactive Sessions
|
|
125
|
+
Long-lived interactive CLI sessions as first-class entities — bring up a Claude / Gemini / Codex session in a floating draggable window. **xterm.js rendering** shows ANSI colors, cursor control, and TUI box-drawing identically to a native terminal — no line-by-line scraping, no output mangling. PTY spawns at the exact viewport dimensions so Claude Code's welcome banner and menus render at the correct column width. Optional worktree isolation per session. Chat-mode log viewer classifies output into assistant / tool-use blocks for readability. Window geometry persists per session, survives tab navigation, and works on desktop and mobile (fullscreen on small screens).
|
|
112
126
|
|
|
113
127
|
### Multi-Agent Discussion
|
|
114
|
-
AI agents with different roles — architect, developer, reviewer — debate in rounds before implementation. The resulting design is far more robust than a single AI working in isolation. Agents flagged as **Implementers** (`can_implement`) can commit code during their regular turns, while a final implementation round stitches everything together. Auto-implement triggers the code-writing round automatically on consensus.
|
|
128
|
+
AI agents with different roles — architect, developer, reviewer — debate in rounds before implementation. The resulting design is far more robust than a single AI working in isolation. Agents flagged as **Implementers** (`can_implement`) can commit code during their regular turns, while a final implementation round stitches everything together. Auto-implement triggers the code-writing round automatically on consensus. Or hit **Send to Planner** on a finished discussion to have the transcript distilled into curated planner items via a one-shot LLM extraction — review and edit before persisting.
|
|
115
129
|
|
|
116
130
|
<div align="center">
|
|
117
131
|
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-discussions.png" alt="Discussions — Multi-agent debate" width="800">
|
|
@@ -126,12 +140,12 @@ Schedule tasks for off-peak hours to avoid rate limits. Supports recurring cron
|
|
|
126
140
|
<p><em>Cron-based recurring and one-time scheduled task execution</em></p>
|
|
127
141
|
</div>
|
|
128
142
|
|
|
129
|
-
###
|
|
130
|
-
A
|
|
143
|
+
### Built-in Git Client
|
|
144
|
+
A full Git client lives inside the web UI with a Fork/SourceTree-style layout — a workspace menu switches between **File Status** (staged/unstaged file lists, working-tree diff viewer, commit message + push toggle, Cmd/Ctrl+Enter to commit) and **History** (commit graph, action toolbar, worktree list, VS Code-style branch context menu with checkout / merge / rebase / fetch / pull / push / rename / delete, and a commit detail panel with file-level diff viewer). Every split is user-resizable and persisted to localStorage. Non-ASCII filenames (Korean, CJK, emoji) render correctly in diff and status output.
|
|
131
145
|
|
|
132
146
|
<div align="center">
|
|
133
|
-
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-
|
|
134
|
-
<p><em>
|
|
147
|
+
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-git.png" alt="Git — Built-in client" width="800">
|
|
148
|
+
<p><em>Commit graph, branch actions, file diffs — all in the browser</em></p>
|
|
135
149
|
</div>
|
|
136
150
|
|
|
137
151
|
### Analytics
|
|
@@ -142,16 +156,8 @@ Per-project cost and execution stats powered by Recharts — stacked bar chart b
|
|
|
142
156
|
<p><em>Cost and token usage broken down by CLI, status, and over time</em></p>
|
|
143
157
|
</div>
|
|
144
158
|
|
|
145
|
-
###
|
|
146
|
-
A
|
|
147
|
-
|
|
148
|
-
<div align="center">
|
|
149
|
-
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-git.png" alt="Git — Built-in client" width="800">
|
|
150
|
-
<p><em>Commit graph, branch actions, file diffs — all in the browser</em></p>
|
|
151
|
-
</div>
|
|
152
|
-
|
|
153
|
-
### Interactive Sessions
|
|
154
|
-
Long-lived interactive CLI sessions as first-class entities — bring up a Claude / Gemini / Codex session in an embedded terminal, with optional worktree isolation per session. PTY output is filtered for spinner noise and classified into assistant / tool-use blocks so the Chat-mode log viewer stays readable.
|
|
159
|
+
### Morning Review Queue
|
|
160
|
+
A single cross-project triage screen for the "delegate overnight, review next morning" loop. Aggregates every recent TODO across all your projects into a card stack with project label, last-assistant summary, token totals, diff stats, and a server-classified risk badge (low / medium / high based on status and diff size). Keyboard-only operation: `j`/`k` to navigate, `Enter` for the embedded log viewer, `Space` / `→` to expand changed files and diffs inline, `m` to merge, `d` to discard, `Esc` to close — N todos become O(N) keypresses. Time-window selector (12h / 24h / 7d), filter chips (All / Risky / Quick wins / Failed), and a sticky token ribbon with CLI breakdown. Inline diffs survive worktree cleanup by falling back through branch ref → `master`/`main`.
|
|
155
161
|
|
|
156
162
|
### Live Logs (Chat & Raw)
|
|
157
163
|
WebSocket-based real-time log streaming with two view modes — Chat mode renders assistant messages as markdown with collapsible tool-use rows; Raw mode is a flat terminal view. Multi-round continue reuses the same worktree via the CLI's native `--continue` flag.
|
|
@@ -159,12 +165,12 @@ WebSocket-based real-time log streaming with two view modes — Chat mode render
|
|
|
159
165
|
### Multi-CLI & Sandbox Mode
|
|
160
166
|
Select Claude / Gemini / Codex per project, per TODO, or per discussion agent. Strict sandbox mode restricts CLI file access to the worktree directory using each CLI's native sandboxing (Claude settings.json, Codex `--full-auto`, Gemini prompt-level restriction).
|
|
161
167
|
|
|
162
|
-
### Plugin System
|
|
163
|
-
Jira, GitHub, Notion integrations and gstack skill injection ship as self-contained plugins. Two plugin categories — `external-service` (REST proxy + UI panel) and `execution-hook` (pre-execution hook into the orchestrator). Adding a new integration needs only a manifest and `registerPlugin()` call — no core code changes.
|
|
164
|
-
|
|
165
168
|
### Remote Access
|
|
166
169
|
Access and control from anywhere via Cloudflare Tunnel. Browser notifications alert you when tasks or discussions complete, so you can walk away and come back.
|
|
167
170
|
|
|
171
|
+
### Favorites Launcher
|
|
172
|
+
Register frequently-used external tools (executables, shell commands, URLs/folders) in a global Favorites section in the sidebar. Fire-and-forget one-click execution from anywhere in CLITrigger — reduces context-switching to the OS shell for environment setup, IDE launches, or external service access.
|
|
173
|
+
|
|
168
174
|
---
|
|
169
175
|
|
|
170
176
|
## Tech Stack
|
|
@@ -176,7 +182,7 @@ Access and control from anywhere via Cloudflare Tunnel. Browser notifications al
|
|
|
176
182
|
| AI CLIs | Claude · Gemini · Codex (Adapter Pattern) |
|
|
177
183
|
| Git | simple-git (worktree management) |
|
|
178
184
|
| Scheduling | node-cron |
|
|
179
|
-
| Terminal | node-pty (TTY support) |
|
|
185
|
+
| Terminal | node-pty (TTY support) · xterm.js (pixel-perfect rendering) |
|
|
180
186
|
| Remote Access | Cloudflare Tunnel (optional) |
|
|
181
187
|
|
|
182
188
|
---
|
package/README_KR.md
CHANGED
|
@@ -104,14 +104,28 @@ CLITrigger의 모든 기능 — Planner, Scheduler, 워크트리 격리, 한도
|
|
|
104
104
|
|
|
105
105
|
## 주요 기능
|
|
106
106
|
|
|
107
|
-
###
|
|
107
|
+
### 플러그인 시스템 (Harness · Jira · GitHub · Notion · gstack)
|
|
108
|
+
**Harness** 패널에서는 Claude / Gemini / Codex의 사용자 설정(settings, 메모리 파일, MCP 서버)을 IDE를 열지 않고 브라우저에서 바로 편집한다 — atomic write + deep-merge로 손대지 않은 필드는 그대로 유지하고, 프로젝트가 trusted 목록에 없으면 Codex `trustLevelMissing` 경고가 노출된다. Jira, GitHub, Notion 연동과 gstack 스킬 주입도 동일하게 자가 완결형 플러그인으로 함께 제공된다. `external-service`(REST 프록시 + 패널 탭)와 `execution-hook`(오케스트레이터 사전 실행 훅) 두 카테고리를 지원한다. 새 통합을 추가하려면 매니페스트와 `registerPlugin()` 호출만 있으면 되고, 코어 코드를 건드릴 필요가 없다.
|
|
109
|
+
|
|
110
|
+
### 위키 (Karpathy LLM-Wiki 패턴)
|
|
111
|
+
프로젝트별로 한 번 정리해 두면 TODO와 토론 프롬프트에 골라 주입할 수 있는 노드+엣지 지식 그래프. 매번 같은 도메인 컨텍스트를 붙여넣을 필요가 없다. List / Graph 뷰 토글(`@xyflow/react` + dagre 자동 레이아웃, drag-to-connect 엣지, `precedes`/`refines` 관계는 cycle 차단), todo마다 `None` / `All` / `Selected` 모드 선택, 전송 전 `<long_term_memory>` 블록 미리보기까지. CLI-agnostic — Claude / Gemini / Codex 모두 동일한 컨텍스트를 받으며 어댑터 변경이 필요 없다.
|
|
112
|
+
|
|
113
|
+
### Planner (플래너)
|
|
114
|
+
TODO와는 별개인 경량 작업 플래너 — 아이디어를 빠르게 적고, 이미지를 첨부하고, 색상 태그로 분류하고, 열 단위로 정렬할 수 있다. 플래너 항목을 한 번의 클릭으로 TODO나 예약 스케줄로 변환할 수 있다. Markdown Export / Import (status 섹션 + GFM 체크박스 + HTML 주석 메타데이터)로 다른 머신에 옮기거나 GitHub / Obsidian / 어떤 Markdown 뷰어에서도 그대로 열어볼 수 있고, `.md` 파일을 카드에 드래그하면 바로 Import된다.
|
|
115
|
+
|
|
116
|
+
<div align="center">
|
|
117
|
+
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-planer.png" alt="Planner — 경량 작업 관리" width="800">
|
|
118
|
+
<p><em>인라인 편집, 컬러 태그, 이미지 첨부, 원클릭 TODO/스케줄 변환</em></p>
|
|
119
|
+
</div>
|
|
120
|
+
|
|
121
|
+
### 병렬 Worktree 실행 (자동 작업)
|
|
108
122
|
TODO를 작성하면 각 작업마다 격리된 git worktree가 자동 생성된다. Claude / Gemini / Codex CLI가 동시에 병렬로 실행되며, 의존성 체인을 설정하면 선행 작업 완료 후 자동으로 후속 작업이 실행되고 브랜치 병합까지 처리된다. 프로젝트별 워크트리 토글에 더해 TODO별 3단계 오버라이드(상속 / 강제 워크트리 / 강제 메인)로 세밀한 제어가 가능하고, 메인 브랜치 작업은 자동 직렬화되어 충돌을 막는다. 드래그 앤 드롭으로 순서를 바꾸고, iOS 스타일 스택 모드로 긴 목록도 깔끔하게 관리할 수 있다.
|
|
109
123
|
|
|
110
|
-
###
|
|
111
|
-
|
|
124
|
+
### 인터랙티브 세션 (Sessions)
|
|
125
|
+
긴 생애주기의 인터랙티브 CLI 세션을 1급 엔티티로 관리 — Claude / Gemini / Codex 세션을 드래그 가능한 floating window에 띄운다. **xterm.js 렌더링**으로 ANSI 컬러, 커서 제어, TUI 박스 그리기까지 네이티브 터미널과 동일하게 표시된다 — 라인별 스크래핑이나 출력 손상이 없다. PTY가 정확한 viewport 크기로 spawn되어 Claude Code의 웰컴 배너와 메뉴가 올바른 열 수에서 렌더된다. 세션별 워크트리 격리 선택 가능. Window 위치와 크기는 세션마다 영속되고 탭 전환 후에도 유지되며, 데스크톱과 모바일 모두 지원한다(작은 화면에서는 fullscreen). Chat 모드 로그 뷰어에서 출력을 assistant / tool-use 블록으로 분류해 가독성을 높인다.
|
|
112
126
|
|
|
113
127
|
### 다중 AI 토론 (Discussion)
|
|
114
|
-
아키텍트, 개발자, 리뷰어 등 역할이 다른 AI 에이전트들이 라운드 방식으로 토론한 뒤, 합의된 내용을 바탕으로 자동 구현까지 이어진다. 단일 AI의 판단보다 훨씬 검증된 설계 결과물이 나온다. **구현자(Implementer, `can_implement`)** 로 표시된 에이전트는 일반 턴에서도 코드를 커밋할 수 있고, 마지막 구현 라운드가 남은 작업을 정리해 마무리한다. 자동 구현(Auto-implement) 옵션을 켜면 토론 완료 즉시 코드 작성 라운드가 자동 실행된다.
|
|
128
|
+
아키텍트, 개발자, 리뷰어 등 역할이 다른 AI 에이전트들이 라운드 방식으로 토론한 뒤, 합의된 내용을 바탕으로 자동 구현까지 이어진다. 단일 AI의 판단보다 훨씬 검증된 설계 결과물이 나온다. **구현자(Implementer, `can_implement`)** 로 표시된 에이전트는 일반 턴에서도 코드를 커밋할 수 있고, 마지막 구현 라운드가 남은 작업을 정리해 마무리한다. 자동 구현(Auto-implement) 옵션을 켜면 토론 완료 즉시 코드 작성 라운드가 자동 실행된다. 완료된 토론에서 **Send to Planner** 버튼을 누르면 트랜스크립트를 한방 LLM 호출로 추출해 액션 아이템을 Planner로 영속한다 — 저장 전 항목별 편집 가능.
|
|
115
129
|
|
|
116
130
|
<div align="center">
|
|
117
131
|
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-discussions.png" alt="Discussions — 다중 AI 토론" width="800">
|
|
@@ -126,15 +140,15 @@ TODO를 작성하면 각 작업마다 격리된 git worktree가 자동 생성된
|
|
|
126
140
|
<p><em>cron 기반 반복·일회성 예약 실행 설정 화면</em></p>
|
|
127
141
|
</div>
|
|
128
142
|
|
|
129
|
-
###
|
|
130
|
-
|
|
143
|
+
### 내장 Git 클라이언트
|
|
144
|
+
웹 UI 안에 Fork/SourceTree 스타일 풀 Git 클라이언트가 내장되어 있다 — 워크스페이스 메뉴로 **File Status** 뷰(staged/unstaged 파일 리스트, working tree diff 뷰어, 커밋 메시지 + push 토글, Cmd/Ctrl+Enter 커밋)와 **History** 뷰(커밋 그래프, 액션 툴바, 워크트리 목록, VS Code 스타일 브랜치 컨텍스트 메뉴: 체크아웃 / 머지 / 리베이스 / 페치 / 풀 / 푸시 / 이름 변경 / 삭제, 파일 단위 diff 뷰어가 붙은 커밋 상세 패널)를 전환한다. 모든 분할 영역은 사용자가 직접 비율을 조절할 수 있고, 그 비율은 localStorage에 영속된다. 한글·CJK·이모지 등 비-ASCII 파일명도 diff / status 출력에 제대로 표시된다.
|
|
131
145
|
|
|
132
146
|
<div align="center">
|
|
133
|
-
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-
|
|
134
|
-
<p><em
|
|
147
|
+
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-git.png" alt="Git — 내장 클라이언트" width="800">
|
|
148
|
+
<p><em>커밋 그래프, 브랜치 작업, 파일 diff까지 브라우저 안에서</em></p>
|
|
135
149
|
</div>
|
|
136
150
|
|
|
137
|
-
### Analytics (
|
|
151
|
+
### Analytics (통계)
|
|
138
152
|
프로젝트별 비용·실행 통계를 Recharts 기반 차트로 시각화 — CLI 도구별 누적 막대, 상태별 도넛, 시간에 따른 비용/토큰 라인 차트를 제공한다. DB에 비정규화된 비용 컬럼을 두어 긴 실행 이력에서도 집계가 빠르다.
|
|
139
153
|
|
|
140
154
|
<div align="center">
|
|
@@ -142,16 +156,8 @@ TODO와는 별개인 경량 작업 플래너 — 아이디어를 빠르게 적
|
|
|
142
156
|
<p><em>CLI·상태·시간 축으로 나눠 보는 비용과 토큰 사용량</em></p>
|
|
143
157
|
</div>
|
|
144
158
|
|
|
145
|
-
###
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
<div align="center">
|
|
149
|
-
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-git.png" alt="Git — 내장 클라이언트" width="800">
|
|
150
|
-
<p><em>커밋 그래프, 브랜치 작업, 파일 diff까지 브라우저 안에서</em></p>
|
|
151
|
-
</div>
|
|
152
|
-
|
|
153
|
-
### 인터랙티브 세션 (Sessions)
|
|
154
|
-
긴 생애주기의 인터랙티브 CLI 세션을 1급 엔티티로 관리 — Claude / Gemini / Codex 세션을 내장 터미널로 띄우고, 세션별로 워크트리 격리 여부를 선택할 수 있다. PTY 출력에서 스피너 노이즈를 걸러내고 assistant / tool-use 블록으로 분류해, Chat 모드 로그 뷰어에서도 깔끔하게 읽힌다.
|
|
159
|
+
### Morning Review Queue (아침 리뷰 큐)
|
|
160
|
+
"밤새 위임하고 아침에 리뷰" 루프를 위한 크로스-프로젝트 단일 트리아주 화면. 모든 프로젝트의 최근 TODO를 카드 스택으로 모아 프로젝트 라벨, 마지막 어시스턴트 한 줄 요약, 토큰 합계, diff 통계, 서버 분류 risk 배지(low / medium / high — 상태와 diff 크기 기반)를 한눈에 보여준다. 키보드 전용 조작: `j`/`k`로 이동, `Enter`로 임베드 로그 뷰어, `Space` / `→`로 변경 파일과 diff를 카드에서 바로 펼치기, `m` 머지, `d` discard, `Esc`로 닫기 — N개 todo가 O(N) 키 입력으로 끝난다. 시간 윈도우(12h / 24h / 7d), 필터 칩(All / Risky / Quick wins / Failed), CLI별 분해가 표시되는 sticky 토큰 리본까지. 워크트리가 정리된 뒤에도 브랜치 ref → `master`/`main` 폴백으로 인라인 diff를 끝까지 보여준다.
|
|
155
161
|
|
|
156
162
|
### 실시간 로그 (Chat & Raw)
|
|
157
163
|
WebSocket으로 실행 로그를 실시간 스트리밍하며 두 가지 뷰를 지원한다 — Chat 모드는 assistant 메시지를 마크다운으로 렌더링하고 tool-use 행을 접을 수 있으며, Raw 모드는 플랫 터미널 뷰다. 다중 라운드 Continue는 CLI의 네이티브 `--continue` 플래그를 사용해 동일 워크트리를 재사용한다.
|
|
@@ -159,12 +165,12 @@ WebSocket으로 실행 로그를 실시간 스트리밍하며 두 가지 뷰를
|
|
|
159
165
|
### 멀티 CLI & 샌드박스
|
|
160
166
|
Claude / Gemini / Codex CLI를 프로젝트·TODO·토론 에이전트별로 선택한다. 엄격(strict) 샌드박스 모드에서는 각 CLI의 네이티브 샌드박싱(Claude `settings.json`, Codex `--full-auto`, Gemini 프롬프트 단 제한)을 사용해 파일 접근을 워크트리 디렉토리로 제한한다.
|
|
161
167
|
|
|
162
|
-
### 플러그인 시스템
|
|
163
|
-
Jira, GitHub, Notion 연동과 gstack 스킬 주입이 자가 완결형 플러그인으로 제공된다. `external-service`(REST 프록시 + 패널 탭)와 `execution-hook`(오케스트레이터 사전 실행 훅) 두 카테고리를 지원한다. 새 통합을 추가하려면 매니페스트와 `registerPlugin()` 호출만 있으면 되고, 코어 코드를 건드릴 필요가 없다.
|
|
164
|
-
|
|
165
168
|
### 외부 접속
|
|
166
169
|
Cloudflare Tunnel로 어디서든 폰·노트북으로 제어한다. 작업이나 토론이 완료되면 브라우저 알림이 울리므로, 자리를 비워도 상태를 놓치지 않는다.
|
|
167
170
|
|
|
171
|
+
### 즐겨찾기 런처 (Favorites)
|
|
172
|
+
자주 쓰는 외부 도구(실행파일, 셸 명령어, URL/폴더)를 사이드바의 글로벌 Favorites 섹션에 등록해 두고 어디서든 한 번의 클릭으로 실행한다. 일-맡겨두기 모드라 OS 셸로 오갈 필요 없이 CLITrigger 내에서 환경 설정, IDE 실행, 외부 서비스 접근 등을 빠르게 수행할 수 있다.
|
|
173
|
+
|
|
168
174
|
---
|
|
169
175
|
|
|
170
176
|
## 기술 스택
|
|
@@ -176,7 +182,7 @@ Cloudflare Tunnel로 어디서든 폰·노트북으로 제어한다. 작업이
|
|
|
176
182
|
| AI CLI | Claude · Gemini · Codex (Adapter Pattern) |
|
|
177
183
|
| Git | simple-git (worktree 관리) |
|
|
178
184
|
| 스케줄링 | node-cron |
|
|
179
|
-
| 터미널 | node-pty (TTY 지원) |
|
|
185
|
+
| 터미널 | node-pty (TTY 지원) · xterm.js (pixel-perfect 렌더링) |
|
|
180
186
|
| 외부 접속 | Cloudflare Tunnel (선택) |
|
|
181
187
|
|
|
182
188
|
---
|