clitrigger 0.2.64 → 0.2.66

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 (54) hide show
  1. package/README.md +118 -184
  2. package/README_KR.md +114 -180
  3. package/dist/client/assets/{AnalyticsPanel-CsY7iVuP.js → AnalyticsPanel-ntVVoM9O.js} +1 -1
  4. package/dist/client/assets/CalendarGrid-8sSzdBes.js +16 -0
  5. package/dist/client/assets/DiscussionDetail-C8Jd-XNF.js +8 -0
  6. package/dist/client/assets/DiscussionForm-DaOo6Qn4.js +34 -0
  7. package/dist/client/assets/EmptyState-D4nAcalF.js +1 -0
  8. package/dist/client/assets/FloatingComposerController-5A3GJtK4-BKGtaowy.js +1 -0
  9. package/dist/client/assets/LogViewer-BC9BUbyo.js +6 -0
  10. package/dist/client/assets/MarkdownContent-CHKH6BNR.js +29 -0
  11. package/dist/client/assets/PersonalAgenda-SY8iVky-.js +7 -0
  12. package/dist/client/assets/{PlannerPageEditor-DhDgfAWR.js → PlannerPageEditor-BR1YXV1Y.js} +6 -6
  13. package/dist/client/assets/ProjectDetail-NmmSdopm.js +181 -0
  14. package/dist/client/assets/ProjectList-CcCAHjcA.js +6 -0
  15. package/dist/client/assets/ReviewQueue-DJKmru0O.js +11 -0
  16. package/dist/client/assets/TaskGraph-BeJAKmMa.js +2 -0
  17. package/dist/client/assets/{VaultLayout-DZV5ErhY.js → VaultLayout-B6EUh-n3.js} +20 -20
  18. package/dist/client/assets/folder-git-2-DTO9mjAn.js +6 -0
  19. package/dist/client/assets/index-B0DZbgpK.js +427 -0
  20. package/dist/client/assets/index-gug7OXWO.css +32 -0
  21. package/dist/client/assets/rotate-ccw-Ce-MeCWv.js +11 -0
  22. package/dist/client/assets/{style-B8R4Umuw.js → style-BGCiJv3W.js} +1 -1
  23. package/dist/client/assets/{with-selector-D-Bf0jbs.js → with-selector-DaFJ9d0-.js} +1 -1
  24. package/dist/client/index.html +2 -2
  25. package/dist/server/db/queries.d.ts +2 -0
  26. package/dist/server/db/queries.d.ts.map +1 -1
  27. package/dist/server/db/queries.js +5 -0
  28. package/dist/server/db/queries.js.map +1 -1
  29. package/dist/server/index.d.ts.map +1 -1
  30. package/dist/server/index.js +4 -1
  31. package/dist/server/index.js.map +1 -1
  32. package/dist/server/plugins/harness/adapters/claude.d.ts.map +1 -1
  33. package/dist/server/plugins/harness/adapters/claude.js +69 -6
  34. package/dist/server/plugins/harness/adapters/claude.js.map +1 -1
  35. package/dist/server/plugins/harness/router.d.ts.map +1 -1
  36. package/dist/server/plugins/harness/router.js +64 -1
  37. package/dist/server/plugins/harness/router.js.map +1 -1
  38. package/dist/server/plugins/harness/types.d.ts +4 -0
  39. package/dist/server/plugins/harness/types.d.ts.map +1 -1
  40. package/dist/server/routes/logs.d.ts.map +1 -1
  41. package/dist/server/routes/logs.js +4 -2
  42. package/dist/server/routes/logs.js.map +1 -1
  43. package/dist/server/services/claude-manager.d.ts +0 -4
  44. package/dist/server/services/claude-manager.d.ts.map +1 -1
  45. package/dist/server/services/claude-manager.js +2 -22
  46. package/dist/server/services/claude-manager.js.map +1 -1
  47. package/dist/server/services/log-streamer.d.ts.map +1 -1
  48. package/dist/server/services/log-streamer.js +2 -0
  49. package/dist/server/services/log-streamer.js.map +1 -1
  50. package/package.json +2 -2
  51. package/dist/client/assets/FloatingComposerController-5A3GJtK4-C8t_g5MQ.js +0 -1
  52. package/dist/client/assets/TaskGraph-OOtylb-P.js +0 -2
  53. package/dist/client/assets/index-C0pXRm5D.css +0 -32
  54. package/dist/client/assets/index-CSRpLtY-.js +0 -715
package/README_KR.md CHANGED
@@ -6,9 +6,9 @@
6
6
  <img alt="CLITrigger" src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/src/client/public/logo.svg" width="360">
7
7
  </picture>
8
8
 
9
- **AI CLI 에이전트를 위한 IDE**
9
+ **퇴근하면 AI 코딩 에이전트가 야근을 시작한다.**
10
10
 
11
- *문서 · 계획 · 터미널 · 자동작업 · git — 흩어진 도구 다섯 개 대신, 하나의 워크스페이스.*
11
+ *퇴근 전에 할 일을 쌓아두고, 아침엔 diff만 본다.*
12
12
 
13
13
  <p align="center">
14
14
  <a href="https://github.com/HyperAITeam/CLITrigger/blob/main/README.md">English</a> ·
@@ -26,7 +26,7 @@
26
26
 
27
27
  <br>
28
28
 
29
- <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/demo.gif" alt="CLITrigger 데모 — 격리된 worktree에서 병렬로 실행되는 AI 에이전트, 그리고 아침 diff 리뷰" width="800">
29
+ <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/demo.gif" alt="CLITrigger 데모: 밤새 worktree에서 병렬로 돌아가는 작업들, 그리고 아침 리뷰 큐" width="800">
30
30
 
31
31
  <br><br>
32
32
 
@@ -34,153 +34,124 @@
34
34
  npm i -g clitrigger && clitrigger
35
35
  ```
36
36
 
37
- **또는 데스크톱 앱 다운로드** — Node.js 불필요: **[Windows `.exe` · macOS `.dmg` · Linux `.AppImage`](https://github.com/HyperAITeam/CLITrigger/releases/latest)**
37
+ **데스크톱 앱으로 받아도 된다.** Node.js 없이 바로 실행: **[Windows `.exe` · macOS `.dmg` · Linux `.AppImage`](https://github.com/HyperAITeam/CLITrigger/releases/latest)**
38
38
 
39
- **60초 안에 시작** — `http://localhost:3000` 접속 → 비밀번호 설정 → 프로젝트 추가 → TODO 작성 → Start 클릭.
39
+ `http://localhost:3000` 열고, 비밀번호 정하고, 프로젝트 추가하고, 할 일 몇 개 적고, Start. 설정은 그게 전부다.
40
40
 
41
41
  </div>
42
42
 
43
43
  ---
44
44
 
45
- > ### 문서 → 계획 → 터미널 → 자동작업 → 형상관리. 하나의 파이프라인.
46
- >
47
- > AI CLI 에이전트(Claude Code, Codex 같은 도구)로 개발하면 도구가 전부 따로 논다 — 요구사항은 노트 앱에, 작업 계획은 또 다른 툴에, 에이전트는 터미널 창 여러 개에, 결과물은 git 클라이언트에. 에디터 중심 개발에는 IDE라는 통합 환경이 있지만 CLI 에이전트 중심 개발에는 그런 게 없었고, 매번 도구 사이에서 맥락을 복사해 나르는 건 결국 사람이다.
48
- >
49
- > CLITrigger는 그 빈자리를 채우는 IDE다. 개발 전체를 다섯 단계의 하나의 파이프라인으로 잇는다 — 프로젝트 지식을 **문서**에 쌓고, **플래너·캘린더**로 계획을 세우고, **터미널 세션**에서 AI와 함께 다듬고, 확정된 작업은 격리된 git worktree에서 여러 AI CLI(**Claude Code · Antigravity · Codex**)가 **병렬로 자동 실행**하고, 결과는 **리뷰 큐와 내장 Git 클라이언트**에서 머지까지 끝낸다.
50
- >
51
- > **각 단계는 앞 단계의 맥락을 그대로 이어받는다 — 문서에 캡처한 의도가 유실 없이 머지까지 흐른다.**
52
-
53
- ```mermaid
54
- flowchart LR
55
- docs["📚 문서<br>프로젝트 지식"] --> plan["🗓 계획<br>플래너 · 캘린더"]
56
- plan --> term["⌨️ 터미널<br>인터랙티브 세션"]
57
- term --> auto["🤖 자동작업<br>병렬 worktree 실행"]
58
- auto --> vcs["🔀 형상관리<br>리뷰 큐 · Git"]
59
- vcs -. 교훈은 다시 문서로 .-> docs
60
- ```
45
+ ## 이게 뭔가
46
+
47
+ Claude Code, Codex, Antigravity를 터미널에서 이미 쓰고 있을 것이다. 잘 돌아간다. 문제는 내가 앞에 앉아 있을 때만 돌아간다는 것. 밤 11시에 rate limit에 걸리면 다음 다섯 시간치 쿼터는 그냥 날아간다. 노트북을 덮으면 다시 열 때까지 아무 일도 안 일어난다.
48
+
49
+ CLITrigger는 그 CLI들을 큐에 올려놓고 돌리는 셀프호스트 웹앱이다. 할 일을 적으면 각각 git worktree를 하나씩 받는다. 내가 자는 동안, 저녁 먹는 동안, 회의 들어간 동안 에이전트들이 병렬로 일한다. rate limit에 걸리면 버튼 하나로 리셋 시각에 재실행을 걸어둔다. 컨텍스트가 바닥나면 폴백 체인의 다음 CLI가 이어받는다. 아침엔 리뷰 큐 하나를 열고 `m`으로 머지하거나 `d`로 버리면 된다.
50
+
51
+ 전부 내 컴퓨터에서 돈다. Cloudflare 터널만 붙이면 폰에서도 들여다볼 수 있다.
61
52
 
62
53
  <div align="center">
63
- <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-tasks.png" alt="Tasks — 병렬 워크트리 실행" width="800">
64
- <p><em>병렬 워크트리에서 AI CLI가 동시에 작업을 처리하는 모습</em></p>
54
+ <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-tasks.png" alt="병렬 worktree에서 돌아가는 작업들" width="800">
55
+ <p><em>CLI 셋, worktree 셋, 화면 하나</em></p>
65
56
  </div>
66
57
 
67
58
  ---
68
59
 
69
- ## 왜 CLITrigger인가?
60
+ ## 하룻밤이 흘러가는 방식
61
+
62
+ **18:00.** 프로젝트에 할 일 다섯 개를 적는다. 둘은 세 번째 작업이 끝나야 시작할 수 있으니 의존성으로 묶는다. 하나는 "테스트 전부 통과시키기"라서 루프 규칙을 건다. 라운드마다 `npm test`를 돌리고, exit 0이면 종료, 최대 8라운드, 비용 상한 5달러. 프로젝트 문서 두 개를 프롬프트에 끼워 넣어 컨벤션을 알려준다. Start All.
63
+
64
+ **18:01.** 프로젝트 안 `.worktrees/` 아래에 worktree 다섯 개가 생긴다. 셋은 바로 시작하고, 의존성이 걸린 둘은 기다린다.
65
+
66
+ **21:40.** 첫 작업이 끝나고 커밋된다. 기다리던 둘이 부모 브랜치를 squash merge한 상태로 시작한다. 프로젝트에 자동 위임 규칙이 있어서, 다른 CLI에게 "첫 작업의 diff를 리뷰해라"라는 작업이 새로 생긴다.
70
67
 
71
- **도구가 전부 따로 논다.** AI가 코드를 더 많이 짤수록 개발자의 진짜 역할은 **의도를 캡처하고 결과를 리뷰하는 것**이 된다 — 그런데 그 의도는 노트 앱에, 계획은 또 다른 툴에, 에이전트는 터미널 창 여러 개에, 결과물은 git 클라이언트에 흩어져 있다. 에디터 중심 개발은 IDE라는 통합 환경으로 이 문제를 진작에 풀었지만, CLI 에이전트 중심 개발에는 그런 게 없었다.
68
+ **23:15.** Claude가 5시간 한도에 걸린다. 작업에 표시가 붙고 리셋 시각이 기록된다. 폰으로 터널 URL을 열고 "리셋 시점에 실행 예약"을 누르고 잔다. 폴백 체인을 걸어뒀다면 이미 Codex가 이어받았을 것이다.
72
69
 
73
- CLITrigger는 그 IDE로 설계됐다. 뼈대는 하나의 파이프라인 — **문서 → 계획 → 터미널 → 자동작업 → 형상관리** — 이고, 각 단계는 독립된 도구가 아니라 앞 단계의 맥락을 이어받는다. 문서가 계획이 되고, 계획이 에이전트의 프롬프트가 되고, 실행 결과가 리뷰 큐에 도착한다. 의도(intent)가 단계 사이에서 유실되지 않는다.
70
+ **04:10.** 리셋이 지나고 예약된 작업이 돈다.
74
71
 
75
- 파이프라인 안에는 실행을 받치는 장치들이 있다:
72
+ **07:30.** 리뷰 큐를 연다. 카드 다섯 장. 둘은 50줄 미만 quick win이라 키 두 번에 머지. 하나는 400줄이라 risky 태그가 붙어 있어서 diff를 펼쳐 제대로 읽는다. 하나는 실패했는데 로그를 보니 지시가 모호했다. Continue 누르고 한 문장 추가. 하나는 방향이 틀렸다. `d`. worktree 삭제.
76
73
 
77
- - **병렬 실행** — TODO마다 격리된 git worktree에서 Claude / Antigravity / Codex가 동시에 작업
78
- - **한도를 피하는 예약 실행** — cron 스케줄과 rate limit 리셋 시각 자동 재시도로, 자리를 비운 동안에도 토큰을 끝까지 활용
79
- - **멀티 에이전트 품질** — 아키텍트·개발자·리뷰어 에이전트가 구현 전에 먼저 토론, 혼자 짠 코드보다 품질이 높아진다
80
- - **한 곳에서 마무리** — 리뷰 큐에서 diff를 트리아지하고, 내장 Git 클라이언트에서 커밋·푸시·머지까지
74
+ 평범한 화요일이다.
81
75
 
82
76
  ---
83
77
 
84
- ## 주요 기능
78
+ ## 기능
85
79
 
86
- 기능은 파이프라인의 다섯 단계를 그대로 따라간다 — **📚 문서 → 🗓 계획 → ⌨️ 터미널 → 🤖 자동작업 → 🔀 형상관리** — 그리고 이를 받치는 공통 기능들. 각 기능의 자세한 가이드는 **[Wiki](https://github.com/HyperAITeam/CLITrigger/wiki/Home-KR)** (↗)에 있다.
80
+ ### 퇴근 전에
87
81
 
88
- ### 📚 1. 문서 — 지식을 쌓는다
82
+ **작업과 worktree.** 모든 작업은 자기 worktree, 자기 브랜치에서 돈다. 프로젝트별로 동시 실행 수를 정한다. 작업이 끝나면 자동 커밋. 의존성으로 묶으면 자식 작업은 부모 브랜치가 머지된 상태로 시작한다. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI-KR#병렬-워크트리-실행)
89
83
 
90
- #### 문서 (파일 기반 지식)
91
- `[[wikilink]]` 그래프를 갖춘 프로젝트별 Obsidian 스타일 지식 저장소 — 파일을 CLI 불문으로 프롬프트에 주입. 여기 쌓인 문서가 파이프라인 전체의 입력이 된다. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Plan-&-Organize-KR#볼트)
84
+ **루프 규칙.** 작업 하나를 루프로 만든다. 검증 명령을 주면 exit 0일 때 종료하고, 완료 문구를 주면 에이전트 마지막 메시지에 그 문구가 있을 때 종료한다. 최대 라운드, 비용 상한(USD), "커밋 없이 끝난 라운드가 있으면 중단" 옵션으로 헤매는 에이전트가 예산을 태우지 못하게 막는다. 규칙 칸에 적은 내용은 매 라운드 프롬프트 끝에 붙는다.
85
+
86
+ **예약 실행.** cron으로 반복, 일회성으로 특정 시각, 그리고 CLI 출력에서 읽은 리셋 시각에 바로 거는 "리셋 시점에 실행 예약" 버튼. 이전 실행이 아직 돌고 있으면 건너뛰는 옵션이 있어서 느린 작업이 쌓이지 않는다. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI-KR#스케줄-실행)
92
87
 
93
88
  <div align="center">
94
- <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-vault.png" alt="문서 — Obsidian 스타일 파일 기반 지식 + 링크 그래프" width="800">
95
- <p><em>문서 탭 — 프로젝트 마크다운을 인라인 미리보기와 wikilink force-directed 그래프로 탐색하고, 파일을 골라 프롬프트에 주입</em></p>
89
+ <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-schedules.png" alt="예약 실행" width="800">
96
90
  </div>
97
91
 
98
- ### 🗓 2. 계획 — 의도를 캡처한다
92
+ **폴백 체인.** CLI 순서를 정해둔다. 예를 들면 Claude, Antigravity, Codex 순. 하나가 컨텍스트 윈도우를 다 쓰거나 Antigravity가 1분 안에 세 번 쿼터 소진을 뱉으면, 프로세스를 죽이고 다음 CLI가 같은 작업을 이어받는다. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI-KR#멀티-cli--샌드박스-모드)
93
+
94
+ **자동 위임.** "Claude가 끝내면 Codex가 리뷰한다" 같은 프로젝트 규칙. 리뷰는 같은 브랜치 위에서 체인 작업으로 돈다. 위임된 작업은 다시 위임하지 않으니 무한 루프는 없다.
95
+
96
+ **샌드박스 모드.** strict로 켜면 CLI 권한 파일을 써서 worktree 바깥은 아예 못 건드리게 한다.
99
97
 
100
- #### 내 일정 (My Schedule)
101
- 내 메모·전 프로젝트 스케줄·플래너 마감일·할당된 Jira 이슈를 한 캘린더에 겹쳐 보는 개인 허브. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Plan-&-Organize-KR#내-일정)
98
+ **문서.** 프로젝트별 마크다운 폴더에 `[[wikilink]]`와 그래프 뷰. 파일을 골라 프롬프트에 넣으면 어떤 CLI를 쓰든 똑같이 들어간다. 지난 실행에서 얻은 교훈을 쌓아두는 위키도 있는데, 장기 기억으로 프롬프트에 주입된다. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Plan-&-Organize-KR#볼트)
102
99
 
103
100
  <div align="center">
104
- <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-agenda.png" alt="내 일정 — 개인 메모·스케줄·플래너·Jira를 한 캘린더에" width="800">
105
- <p><em>개인 메모, 전 프로젝트 스케줄, 플래너 마감일, 내게 할당된 Jira 이슈를 하나의 캘린더에 겹쳐 보기</em></p>
101
+ <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-vault.png" alt="wikilink 그래프가 있는 문서" width="800">
106
102
  </div>
107
103
 
108
- #### Planner (플래너)
109
- 경량 작업 플래너 — 아이디어를 적고 한 번의 클릭으로 TODO·스케줄·세션으로 변환, Markdown 입출력 지원. 계획이 다음 단계의 실행 단위가 된다. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Plan-&-Organize-KR#플래너)
104
+ **플래너와 캘린더.** 아직 작업이 아닌 생각들을 적어두는 목록. 어떤 줄이든 클릭 한 번으로 작업, 예약, 세션이 된다. 내 일정은 메모, 전 프로젝트 예약, 플래너 마감일, 내게 할당된 Jira 이슈를 캘린더 하나에 겹쳐 보여준다. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Plan-&-Organize-KR#플래너)
110
105
 
111
106
  <div align="center">
112
- <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-planer.png" alt="Planner — 경량 작업 관리" width="800">
113
- <p><em>인라인 편집, 컬러 태그, 이미지 첨부, 원클릭 TODO/스케줄 변환</em></p>
107
+ <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-planer.png" alt="플래너" width="800">
114
108
  </div>
115
109
 
116
- ### ⌨️ 3. 터미널 — AI와 함께 다듬는다
117
-
118
- #### 인터랙티브 세션 (Sessions)
119
- VS Code 스타일 도킹·별도 창 분리·실제 xterm.js 터미널을 갖춘 장시간 CLI 세션 — 자동화에 넘기기 전, 사람이 개입해 방향을 잡는 단계. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI-KR#인터랙티브-세션)
110
+ **다중 에이전트 토론.** 그냥 던지기엔 찜찜한 작업용. 아키텍트, 개발자, 리뷰어가 먼저 접근 방식을 두고 싸운다. 결론은 코드로 커밋하거나 플래너에 액션 아이템으로 보낸다. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI-KR#멀티-에이전트-토론)
120
111
 
121
112
  <div align="center">
122
- <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-sessions.png" alt="Sessions — VS Code 스타일로 도킹된 멀티 CLI floating windows" width="800">
123
- <p><em>VS Code 스타일 그룹화로 도킹된 Claude · Antigravity · Codex 세션 — 각각 독립된 worktree 브랜치에서 동시 실행</em></p>
113
+ <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-discussions.png" alt="다중 에이전트 토론" width="800">
124
114
  </div>
125
115
 
126
- ### 🤖 4. 자동작업 — AI가 병렬로 실행한다
116
+ ### 자리를 비운 동안
127
117
 
128
- #### 병렬 Worktree 실행 (자동 작업)
129
- TODO마다 격리된 git worktree에서 Claude / Antigravity / Codex가 병렬 실행 + 의존성 체인·머지 제어. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI-KR#병렬-워크트리-실행)
118
+ **실시간 로그.** 모든 실행이 WebSocket으로 흘러온다. Chat 모드는 마크다운으로 렌더링하고, Raw 모드는 터미널 바이트 그대로다. Raw 출력은 저장되기 때문에 다시 접속해도 그대로 재생된다. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Review-&-Ship-KR#실시간-로그)
130
119
 
131
- #### 다중 AI 토론 (Discussion)
132
- 아키텍트·개발자·리뷰어 에이전트가 구현 전에 토론하고, 코드 커밋이나 플래너 전송까지 이어진다. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI-KR#멀티-에이전트-토론)
120
+ **외부 접속.** `clitrigger config tunnel on` 하면 Cloudflare URL이 나온다. 터널에 이름을 붙이고 내 도메인으로 라우팅하면 "위험한 사이트" 경고가 사라진다. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Remote-Access-KR)
133
121
 
134
- <div align="center">
135
- <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-discussions.png" alt="Discussions — 다중 AI 토론" width="800">
136
- <p><em>여러 AI 에이전트가 역할별로 토론하는 Discussion 화면</em></p>
137
- </div>
122
+ **알림.** 사이드바의 종 아이콘을 켜면 완료와 실패를 OS 알림으로 받는다. 알림을 클릭하면 그 세션으로 바로 간다.
123
+
124
+ **MCP 서버.** CLITrigger 자체가 HTTP MCP 서버다. 설정 → MCP에서 config를 복사해 Claude Desktop이나 Claude Code에 붙여 넣으면, 채팅으로 프로젝트 조회, 작업 생성과 실행, 상태 확인이 된다. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/MCP-Server-KR)
138
125
 
139
- #### 예약 실행 (Scheduler)
140
- cron·일회성 스케줄로 작업을 예약하고, 토큰 한도 리셋 시각에 자동 재시도. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI-KR#스케줄-실행)
126
+ **통계.** 프로젝트별 비용과 토큰을 CLI, 상태, 날짜로 나눠 본다. 루프 작업 하나가 한 달 예산 절반을 먹었다는 걸 알아채는 용도. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Review-&-Ship-KR#분석)
141
127
 
142
128
  <div align="center">
143
- <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-schedules.png" alt="Schedules — 예약 실행" width="800">
144
- <p><em>cron 기반 반복·일회성 예약 실행 설정 화면</em></p>
129
+ <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-analytics.png" alt="통계" width="800">
145
130
  </div>
146
131
 
147
- #### 멀티 CLI & 샌드박스
148
- Claude / Antigravity / Codex를 프로젝트·TODO·에이전트별로 선택, strict 샌드박스로 파일 접근을 워크트리로 제한. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI-KR#멀티-cli--샌드박스-모드)
132
+ ### 다음 날 아침
149
133
 
150
- ### 🔀 5. 형상관리 — 리뷰하고 머지한다
134
+ **리뷰 큐.** 전 프로젝트의 최근 작업을 한 화면에. 카드마다 프로젝트, 에이전트 마지막 메시지 한 줄 요약, 토큰 합계, diff 크기가 보인다. 위험도는 자동으로 붙는다. 실패했거나 300줄 넘으면 high, 50줄 넘으면 medium. Risky, Quick wins, Failed로 거르고 12h, 24h, 7d 창으로 본다. `j`/`k`로 이동, `Space`로 diff 펼치기, `Enter`로 전체 로그, `m` 머지, `d` 버리기. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Review-&-Ship-KR#모닝-리뷰-큐)
151
135
 
152
- #### Morning Review Queue (아침 리뷰 큐)
153
- 밤새 실행된 전 프로젝트 TODO를 키보드 한 번으로 이동·머지·discard하는 단일 트리아주 카드 스택. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Review-&-Ship-KR#모닝-리뷰-큐)
154
-
155
- #### 내장 Git 클라이언트
156
- 브라우저 안의 Fork/SourceTree 스타일 Git 클라이언트 — 스테이지·커밋·푸시·브랜치/diff 관리. AI가 만든 결과가 여기서 형상에 반영되며 파이프라인이 닫힌다. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Review-&-Ship-KR#내장-git-클라이언트)
136
+ **Git 클라이언트.** 스테이지, 커밋, 푸시, 브랜치, 커밋 그래프, 파일 diff, 충돌 해결까지 브라우저 안에서. 리뷰한 탭에서 그대로 에이전트 브랜치를 올릴 수 있다. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Review-&-Ship-KR#내장-git-클라이언트)
157
137
 
158
138
  <div align="center">
159
- <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-git.png" alt="Git — 내장 클라이언트" width="800">
160
- <p><em>커밋 그래프, 브랜치 작업, 파일 diff까지 브라우저 안에서</em></p>
139
+ <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-git.png" alt="Git 클라이언트" width="800">
161
140
  </div>
162
141
 
163
- ### 🧰 파이프라인을 받치는 기능
142
+ **SVN도 된다.** 프로젝트가 Subversion 작업 사본이면 SVN 패널을 켠다. 상태, 로그, diff, 커밋, externals, 속성 편집. diff 뷰어는 git과 같은 걸 쓴다.
143
+
144
+ ### 낮에, 자리에 있을 때
164
145
 
165
- #### Analytics (통계)
166
- 프로젝트별 비용·실행 통계 — CLI별, 상태별, 시간 축으로. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Review-&-Ship-KR#분석)
146
+ **세션.** 플로팅 창에서 돌아가는 장시간 인터랙티브 CLI 세션. VS Code처럼 나란히 도킹하고, 별도 창으로 빼고, 태그와 별칭을 붙인다. node-pty 위의 진짜 xterm.js 터미널이다. 세션마다 자기 worktree 브랜치를 가질 수 있다. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI-KR#인터랙티브-세션)
167
147
 
168
148
  <div align="center">
169
- <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-analytics.png" alt="Analytics — 실행 통계" width="800">
170
- <p><em>CLI·상태·시간 축으로 나눠 보는 비용과 토큰 사용량</em></p>
149
+ <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-sessions.png" alt="도킹된 세션들" width="800">
171
150
  </div>
172
151
 
173
- #### 실시간 로그 (Chat & Raw)
174
- WebSocket 실시간 로그 스트리밍 — Chat(마크다운) 또는 Raw(터미널) 모드. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Review-&-Ship-KR#실시간-로그)
152
+ **연동.** Jira, GitHub Issues, Notion이 플러그인으로 붙는다. gstack 스킬은 실행 훅으로. Harness 패널에서는 각 CLI의 설정, 메모리, MCP config를 고치고 스킬과 훅을 켜고 끌 수 있다. dotfile을 열 필요가 없다.
175
153
 
176
- #### 즐겨찾기 런처 (Favorites)
177
- 자주 쓰는 외부 도구(실행파일, 명령어, URL)를 사이드바에서 원클릭으로 실행. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Plan-&-Organize-KR#즐겨찾기-런처)
178
-
179
- #### 외부 접속
180
- Cloudflare Tunnel로 어디서든 접속 — 완료 알림과 커스텀 도메인 라우팅 지원. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Remote-Access-KR)
181
-
182
- #### MCP 서버
183
- CLITrigger를 HTTP 엔드포인트로 MCP 클라이언트(Claude Desktop, Claude Code)에 연결 — AI와 대화하며 프로젝트 조회, 할일 생성·실행, 상태 확인. 설정 → MCP 연결에서 config(URL + 토큰)를 복사해 붙여넣기만 하면 됩니다. npm·데스크톱·터널 사용자 모두 동일하게 동작. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/MCP-Server-KR)
154
+ **자잘한 것들.** 저장소를 둘러보는 Files 탭. 하루에 열 번 여는 도구를 모아둔 즐겨찾기 런처. 데스크톱 앱에서 Notion이나 대시보드를 세션 옆에 띄워두는 웹 패널 탭. 어떤 CLI 프로세스가 실제로 살아 있는지 보여주는 프로세스 패널.
184
155
 
185
156
  ---
186
157
 
@@ -188,160 +159,125 @@ CLITrigger를 HTTP 엔드포인트로 MCP 클라이언트(Claude Desktop, Claude
188
159
 
189
160
  | 영역 | 기술 |
190
161
  |------|------|
191
- | Backend | Node.js · Express · TypeScript · SQLite · WebSocket |
192
- | Frontend | React 18 · Vite · Tailwind CSS · Recharts |
193
- | AI CLI | Claude · Antigravity · Codex (Adapter Pattern) |
194
- | Git | simple-git (worktree 관리) |
162
+ | 백엔드 | Node.js · Express · TypeScript · SQLite (better-sqlite3, WAL) · WebSocket |
163
+ | 프론트엔드 | React 18 · Vite · Tailwind CSS · Recharts |
164
+ | CLI | Claude Code · Antigravity · Codex, 어댑터 인터페이스 하나 뒤에 |
165
+ | Git | simple-git으로 worktree와 머지 |
195
166
  | 스케줄링 | node-cron |
196
- | 터미널 | node-pty (TTY 지원) · xterm.js (pixel-perfect 렌더링) |
167
+ | 터미널 | node-pty · xterm.js |
197
168
  | 외부 접속 | Cloudflare Tunnel (선택) |
169
+ | 데스크톱 | Electron, Node와 네이티브 모듈 번들 |
198
170
 
199
171
  ---
200
172
 
201
- ## 빠른 시작
173
+ ## 설치
202
174
 
203
- ### 옵션 A — 데스크톱 앱 (일반 사용자 권장)
175
+ ### 데스크톱 앱
204
176
 
205
- [GitHub Releases 최신 페이지](https://github.com/HyperAITeam/CLITrigger/releases/latest)에서 플랫폼별 설치 파일을 다운로드:
177
+ [최신 릴리스](https://github.com/HyperAITeam/CLITrigger/releases/latest)에서 설치 파일을 받는다.
206
178
 
207
- - **Windows** — `CLITrigger-Setup-<version>.exe` (NSIS 설치 마법사) 또는 portable `.exe`
208
- - **macOS** — `CLITrigger-<version>.dmg` (Apple Silicon · Intel)
209
- - **Linux** — `CLITrigger-<version>.AppImage`
179
+ - **Windows**: `CLITrigger-Setup-<version>.exe` 또는 portable `.exe`
180
+ - **macOS**: `CLITrigger-<version>.dmg` (Apple Silicon · Intel)
181
+ - **Linux**: `CLITrigger-<version>.AppImage`
210
182
 
211
- 데스크톱 앱은 Node.js와 네이티브 모듈(`better-sqlite3`, `node-pty`, `cloudflared`)을 모두 번들하므로 별도 런타임 설치가 필요 없다. 첫 실행 시 내장 브라우저에 셋업 화면이 떠서 거기서 비밀번호를 정하면 끝. 외부 공유(Cloudflare 터널)는 셋업이 완료될 때까지 자동 시작이 잠겨 있어서 첫 사용자는 항상 본인.
183
+ Node.js, `better-sqlite3`, `node-pty`, `cloudflared`가 전부 들어 있다. 첫 실행 때 셋업 화면에서 비밀번호를 정한다. 셋업이 끝날 때까지 터널은 꺼져 있어서 첫 사용자는 반드시 본인이다.
212
184
 
213
- ### 옵션 B — npm (개발자 권장)
185
+ ### npm
214
186
 
215
187
  ```bash
216
- # 설치
217
188
  npm i -g clitrigger
218
189
  clitrigger
219
-
220
- # 최신 버전으로 업그레이드
221
- npm i -g clitrigger@latest
222
- # 현재 버전 확인: clitrigger --version
223
190
  ```
224
191
 
225
- 첫 실행 시 서버가 바로 시작된다. 브라우저에서 `http://localhost:3000` 접속 → 셋업 화면에서 비밀번호 설정 → 프로젝트 등록 → TODO 작성 → Start. 비밀번호는 이후 웹 UI의 설정 → 계정 탭에서 변경 가능.
192
+ 3000번 포트에서 서버가 뜬다. 열고, 비밀번호 정하고, 프로젝트 추가하고, 할 일을 적는다. 비밀번호는 나중에 설정 → 계정에서 바꿀 수 있다.
226
193
 
227
- CLITrigger는 부팅 시 npm에 새 버전이 올라와 있으면 `Update available: <new> -> npm i -g clitrigger@latest` 한 줄을 출력한다 — 자동 업데이트는 안 하니까 본인이 시점 잡아서 업그레이드하면 됨.
194
+ npm에 새 버전이 있으면 시작할 때 한 줄 알려준다. 알아서 업데이트하지는 않는다.
228
195
 
229
196
  ```bash
230
- # 설정 변경
197
+ npm i -g clitrigger@latest # 업그레이드
198
+ clitrigger --version
231
199
  clitrigger config port 8080 # 포트 변경
232
- clitrigger config tunnel on # 외부 공유용 Cloudflare 터널 활성화
200
+ clitrigger config tunnel on # Cloudflare 터널
201
+ clitrigger reset-password # 비밀번호를 잊었을 때
233
202
  ```
234
203
 
235
- > **사전 요구사항**: Node.js 22+ (**LTS** 버전 권장), Git, 사용할 AI CLI (Claude / Antigravity / Codex 중 하나 이상)
204
+ > **필요한 것:** Node.js 22+ (LTS), Git, 그리고 Claude Code · Antigravity · Codex 중 하나 이상이 설치되고 로그인된 상태.
236
205
  >
237
- > **지원 플랫폼**: Windows · macOS · Linux — 모든 핵심 코드가 크로스 플랫폼 대응되어 있다.
238
- > Node.js는 **LTS(짝수 버전)** 를 권장한다. 갓 출시된 최신 메이저(홀수/방금 나온 버전)는 네이티브 모듈의 prebuilt 바이너리가 아직 없어, 소스 빌드를 강제하며 C++ 빌드 도구(Windows는 Visual Studio Build Tools, macOS는 `xcode-select --install`)가 필요할 수 있다.
206
+ > **플랫폼:** Windows · macOS · Linux.
207
+ > Node는 짝수 버전을 쓰는 게 좋다. 갓 나온 메이저는 네이티브 모듈의 prebuilt 바이너리가 아직 없는 경우가 많아서 C++ 툴체인과 긴 컴파일이 필요해진다.
239
208
 
240
- ### 소스에서 직접 실행 (개발용)
209
+ ### 소스에서
241
210
 
242
211
  <details>
243
- <summary>클릭하여 펼치기</summary>
212
+ <summary>펼치기</summary>
244
213
 
245
214
  ```bash
246
- # 1. 클론 & 설치
247
215
  git clone https://github.com/HyperAITeam/CLITrigger.git
248
216
  cd CLITrigger
249
217
  npm install
250
218
  cd src/client && npm install && cd ../..
251
219
 
252
- # 2. 환경 설정
253
220
  cp .env.example .env
254
- # AUTH_PASSWORD는 이제 선택사항 — 비워두면 첫 브라우저 접속 시 셋업 화면이 뜬다.
255
- # 셋업을 건너뛰고 싶을 때만 미리 값을 박아두면 된다.
221
+ # AUTH_PASSWORD는 비워둬도 된다. 첫 접속 때 셋업 화면이 물어본다.
256
222
 
257
- # 3. 실행
258
223
  npm run dev
259
224
  ```
260
225
 
261
- 브라우저에서 `http://localhost:5173` 접속.
262
-
263
- #### Windows 원클릭 실행
264
-
265
- `scripts/` 폴더의 bat 파일을 더블클릭하면 명령어 입력 없이 바로 실행된다.
226
+ `http://localhost:5173` 접속.
266
227
 
267
- | 파일 | 기능 |
268
- |------|------|
269
- | `install.bat` | 의존성 설치 (처음 한 번) |
270
- | `dev.bat` | 개발 모드 실행 |
271
- | `build.bat` | 빌드 |
272
- | `start.bat` | 프로덕션 서버 실행 |
273
- | `start-tunnel.bat` | 터널 모드 실행 |
274
- | `test.bat` | 전체 테스트 |
275
-
276
- #### macOS / Linux
277
-
278
- `npm run` 명령어가 모든 플랫폼에서 동일하게 동작한다. `.bat` 스크립트 대신 터미널에서 직접 실행하면 된다.
228
+ Windows라면 `scripts/`에 install, dev, build, start, start-tunnel, test용 `.bat`이 있다. macOS와 Linux는 같은 이름의 `npm run` 명령을 쓰면 된다.
279
229
 
280
230
  ```bash
281
- npm run dev # 개발 모드
282
- npm run build # 빌드
283
- npm run start # 프로덕션 실행
284
- npm test # 테스트
231
+ npm run dev
232
+ npm run build
233
+ npm run start
234
+ npm test
285
235
  ```
286
236
 
287
237
  </details>
288
238
 
289
- ### 외부 접속 (Cloudflare Tunnel)
239
+ ### 외부 접속
290
240
 
291
241
  ```bash
292
- # cloudflared 설치
293
242
  winget install cloudflare.cloudflared # Windows
294
243
  brew install cloudflared # macOS
295
244
 
296
- # .env에서 TUNNEL_ENABLED=true 설정 후
297
- npm run start:tunnel
298
- # → 콘솔에 https://xxxx.trycloudflare.com 출력
245
+ clitrigger config tunnel on
246
+ clitrigger
247
+ # https://xxxx.trycloudflare.com 출력
299
248
  ```
300
249
 
301
- #### 본인 도메인으로 Named Tunnel 라우팅 (선택)
302
-
303
- `*.trycloudflare.com` / `*.cfargotunnel.com`에 뜨는 브라우저 "위험한 사이트" 경고를 회피하려면 본인 도메인으로 라우팅한다. 사이드바 ⚙ → Tunnel 설정 모달에서 Tunnel Name + Custom Hostname 입력, 또는 CLI:
250
+ 브라우저가 `*.trycloudflare.com`에 경고를 띄운다. 없애려면 터널에 이름을 붙이고 내 도메인으로 라우팅한다. 사이드바 ⚙ → Tunnel 모달에서 하거나, CLI로:
304
251
 
305
252
  ```bash
253
+ clitrigger config tunnel on my-tunnel
306
254
  clitrigger config tunnel hostname app.your-domain.com
307
- cloudflared tunnel route dns <tunnel-name> app.your-domain.com # 한 번만 실행
255
+ cloudflared tunnel route dns my-tunnel app.your-domain.com # 한 번만
308
256
  ```
309
257
 
310
- 표시 URL이 `https://app.your-domain.com`으로 바뀌고 도메인 평판이 본인 도메인으로 옮겨간다.
311
-
312
258
  ---
313
259
 
314
260
  ## 문서
315
261
 
316
- 📖 **전체 매뉴얼은 [Wiki](https://github.com/HyperAITeam/CLITrigger/wiki/Home-KR)에 있습니다** — 설치, 기능별 가이드, 원격 접속까지.
262
+ 전체 매뉴얼은 [Wiki (한국어)](https://github.com/HyperAITeam/CLITrigger/wiki/Home-KR)에 있다.
317
263
 
318
264
  | 문서 | 내용 |
319
265
  |------|------|
320
- | [Wiki (한국어)](https://github.com/HyperAITeam/CLITrigger/wiki/Home-KR) | 기능별 상세 가이드와 사용법 |
321
- | [SETUP.md](docs/SETUP.md) | 상세 설치 및 사용 가이드 |
322
- | [changelog/](docs/changelog/README.md) | 변경 이력 (월별 폴더 + 날짜별 파일) |
323
- | [CICD.md](docs/CICD.md) | GitHub Actions CI/CD 설정 |
324
- | [TESTING.md](docs/TESTING.md) | 테스트 가이드 |
266
+ | [Wiki (한국어)](https://github.com/HyperAITeam/CLITrigger/wiki/Home-KR) | 기능별 가이드, 스크린샷 포함 |
267
+ | [SETUP.md](docs/SETUP.md) | 설치와 사용법, 항목별 정리 |
268
+ | [changelog/](docs/changelog/README.md) | 날짜별 변경 이력 |
269
+ | [CICD.md](docs/CICD.md) | GitHub Actions 설정 |
270
+ | [TESTING.md](docs/TESTING.md) | 테스트 구조 |
325
271
 
326
272
  ---
327
273
 
328
- ## Star & 함께 만들기
329
-
330
- CLITrigger가 시간을 아껴 줬다면 [**Star 한 번 눌러주세요**](https://github.com/HyperAITeam/CLITrigger) — 더 많은 개발자에게 닿는 데 정말 큰 도움이 됩니다.
274
+ ## 함께 만들기
331
275
 
332
- 다음 모습을 함께 그려갈 분들을 기다리고 있어요:
276
+ 저녁 시간 하나를 아꼈다면 [Star](https://github.com/HyperAITeam/CLITrigger) 하나가 다른 사람이 이걸 찾는 데 도움이 된다.
333
277
 
334
- - **이슈 등록** — 버그 제보, 기능 제안, 거친 아이디어 모두 환영합니다 → [Issues](https://github.com/HyperAITeam/CLITrigger/issues)
335
- - **PR 보내기** — [`good first issue`](https://github.com/HyperAITeam/CLITrigger/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) 라벨부터 시작하거나, 직접 거슬리는 부분을 고쳐도 좋아요
336
- - **사용기 공유** — 워크트리 활용법, 커스텀 플러그인, 생산성 팁을 [Discussions](https://github.com/HyperAITeam/CLITrigger/discussions)에 풀어주세요
337
-
338
- Star 하나, 이슈 하나, PR 하나가 프로젝트 속도를 바꿉니다. 감사합니다 🙏
339
-
340
- ---
341
-
342
- ## 기여자 (Contributors)
343
-
344
- CLITrigger에 기여해 주신 모든 분들께 감사드립니다!
278
+ - 버그, 기능 제안, 덜 익은 아이디어: [Issues](https://github.com/HyperAITeam/CLITrigger/issues)
279
+ - PR: [`good first issue`](https://github.com/HyperAITeam/CLITrigger/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)부터, 아니면 거슬렸던 거 아무거나
280
+ - 잘 먹힌 워크플로우, 플러그인, 루프 규칙: [Discussions](https://github.com/HyperAITeam/CLITrigger/discussions)
345
281
 
346
282
  <a href="https://github.com/HyperAITeam/CLITrigger/graphs/contributors">
347
283
  <img src="https://contrib.rocks/image?repo=HyperAITeam/CLITrigger" alt="Contributors" />
@@ -361,9 +297,7 @@ CLITrigger에 기여해 주신 모든 분들께 감사드립니다!
361
297
 
362
298
  ---
363
299
 
364
- ## ☕ 후원하기
365
-
366
- 이 프로젝트가 도움이 됐다면 커피 한 잔 사주세요!
300
+ ## 커피
367
301
 
368
302
  <div align="center">
369
303
 
@@ -375,4 +309,4 @@ CLITrigger에 기여해 주신 모든 분들께 감사드립니다!
375
309
 
376
310
  ## 라이선스
377
311
 
378
- [MIT](LICENSE) — 자유롭게 사용, 수정, 배포하세요.
312
+ [MIT](LICENSE)