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.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
- **An IDE for AI CLI Agents**
9
+ **Your coding agents work the night shift.**
10
10
 
11
- *Docs, plans, terminals, autonomous agents, and git — one workspace instead of five scattered tools.*
11
+ *Queue the work before you leave. Review the diffs over coffee.*
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 demo — parallel AI agents executing in isolated worktrees, then morning diff review" width="800">
29
+ <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/demo.gif" alt="CLITrigger demo: tasks running in parallel worktrees overnight, then the morning review queue" width="800">
30
30
 
31
31
  <br><br>
32
32
 
@@ -34,314 +34,250 @@
34
34
  npm i -g clitrigger && clitrigger
35
35
  ```
36
36
 
37
- **Or download the desktop app** — no Node.js needed: **[Windows `.exe` · macOS `.dmg` · Linux `.AppImage`](https://github.com/HyperAITeam/CLITrigger/releases/latest)**
37
+ **Or grab the desktop app**, no Node.js required: **[Windows `.exe` · macOS `.dmg` · Linux `.AppImage`](https://github.com/HyperAITeam/CLITrigger/releases/latest)**
38
38
 
39
- **Up and running in 60 seconds** — open `http://localhost:3000`, set a password, add a project, write TODOs, hit Start.
39
+ Open `http://localhost:3000`, set a password, add a project, write a few tasks, hit Start. That's the whole setup.
40
40
 
41
41
  </div>
42
42
 
43
43
  ---
44
44
 
45
- > ### Docs → Plan → Terminal → Autonomous Tasks → Version Control. One pipeline.
46
- >
47
- > Developing with AI CLI agents (Claude Code, Codex, …) scatters the workflow across disconnected tools: requirements in a note app, plans in another tool, agents across a pile of terminal windows, results in a git client. Editor-centric development has the IDE; CLI-agent-centric development doesn't — so the one ferrying context between tools ends up being you.
48
- >
49
- > CLITrigger is that missing IDE. It connects the whole workflow into a single five-stage pipeline — build project knowledge in **Docs**, shape it into a plan with the **planner & calendar**, refine it live in **terminal sessions**, hand it to multiple AI CLIs (**Claude Code · Antigravity · Codex**) for **parallel autonomous execution** in isolated git worktrees, and land the results through the **review queue and built-in Git client**.
50
- >
51
- > **Each stage inherits the context of the one before it — the intent you captured in docs flows all the way to the merge.**
52
-
53
- ```mermaid
54
- flowchart LR
55
- docs["📚 Docs<br>Project knowledge"] --> plan["🗓 Plan<br>Planner · Calendar"]
56
- plan --> term["⌨️ Terminal<br>Interactive Sessions"]
57
- term --> auto["🤖 Autonomous Tasks<br>Parallel Worktrees"]
58
- auto --> vcs["🔀 Version Control<br>Review Queue · Git"]
59
- vcs -. lessons feed back into docs .-> docs
60
- ```
45
+ ## What this is
46
+
47
+ You already run Claude Code, Codex, or Antigravity from a terminal. They're good. The catch is that they only work while you're sitting in front of them. You hit a rate limit at 11pm and the next five hours of quota go to waste. You close the laptop and nothing happens until you open it again.
48
+
49
+ CLITrigger is a self-hosted web app that puts those same CLIs on a queue. You write tasks. Each task gets its own git worktree. The agents run them in parallel while you're asleep, at dinner, or in a meeting. If a run hits a rate limit, one click parks it until the reset time. If a CLI runs out of context, the next one in your fallback chain takes over. In the morning you open one review queue, press `m` to merge or `d` to throw it away, and get on with your day.
50
+
51
+ It runs on your own machine. Point a Cloudflare tunnel at it and you can check on it from your phone.
61
52
 
62
53
  <div align="center">
63
- <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-tasks.png" alt="Tasks — Parallel worktree execution" width="800">
64
- <p><em>AI CLIs working simultaneously across isolated git worktrees</em></p>
54
+ <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-tasks.png" alt="Tasks running in parallel worktrees" width="800">
55
+ <p><em>Three CLIs, three worktrees, one screen</em></p>
65
56
  </div>
66
57
 
67
58
  ---
68
59
 
69
- ## Why CLITrigger?
60
+ ## How a night goes
61
+
62
+ **6:00pm.** You write five tasks in the project. Two of them depend on a third, so you chain them. One is "make the test suite pass", so you give it a loop rule: run `npm test` after every round, stop at exit code 0, cap it at 8 rounds and $5. You pull two files from the project docs into the prompt so the agent knows the conventions. You hit Start All.
63
+
64
+ **6:01pm.** Five worktrees spin up under `.worktrees/` inside the project. Three tasks start right away. The two dependents wait.
65
+
66
+ **9:40pm.** The first task finishes and commits. Its two dependents start, each with the parent branch squash-merged in. The project has an auto-delegate rule, so a second CLI gets a fresh task: review the first one's diff.
70
67
 
71
- **The tools don't talk to each other.** As AI writes more of the code, the developer's real job becomes capturing intent and reviewing output — yet that intent lives in a note app, the plan in another tool, the agents in a stack of terminal windows, and the results in a git client. Editor-centric development solved this decades ago with the IDE. CLI-agent-centric development never got one.
68
+ **11:15pm.** Claude hits its five-hour limit. The task is marked, and the reset time is recorded. You tap the tunnel URL on your phone, hit "schedule on reset", and go to sleep. Or you had a fallback chain set, and Codex already picked it up.
72
69
 
73
- CLITrigger is built as that IDE. Its backbone is a single pipeline — **Docs → Plan → Terminal → Autonomous Tasks → Version Control** — where each stage is not a separate tool but a consumer of the previous stage's context: docs become plans, plans become the agent's prompt, execution results arrive in a review queue. Intent is never lost between stages.
70
+ **4:10am.** The reset passes. The parked task runs.
74
71
 
75
- Inside the pipeline sits the execution machinery:
72
+ **7:30am.** You open the review queue. Five cards. Two are quick wins under 50 lines, merged in two keystrokes. One is flagged risky at 400 lines, you open the diff inline and read it properly. One failed, you read the log, press Continue with one more sentence of instruction. One is wrong, `d`, worktree gone.
76
73
 
77
- - **Parallel execution** — every task runs in its own isolated git worktree, with Claude / Antigravity / Codex working simultaneously
78
- - **Scheduling around rate limits** — cron-based runs and auto-retry at quota reset make full use of your tokens, even while you're away
79
- - **Multi-agent quality** — architect / developer / reviewer agents debate before implementation, beating a single agent working alone
80
- - **One place to land it** — triage every diff in the review queue, then commit, push, and merge in the built-in Git client
74
+ That's a normal Tuesday.
81
75
 
82
76
  ---
83
77
 
84
78
  ## Features
85
79
 
86
- The features follow the five pipeline stages — **📚 Docs → 🗓 Plan → ⌨️ Terminal → 🤖 Autonomous Tasks → 🔀 Version Control** — plus the supporting features underneath. Each feature below has a full guide in the **[Wiki](https://github.com/HyperAITeam/CLITrigger/wiki)** (↗).
80
+ ### Before you leave
87
81
 
88
- ### 📚 1. Docs — build the knowledge
82
+ **Tasks and worktrees.** Every task runs in its own git worktree on its own branch. Set a concurrency limit per project. Tasks commit on completion. Chain tasks with dependencies and the child starts with the parent's branch merged in. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI#parallel-worktree-execution)
89
83
 
90
- #### Docs (File-based Knowledge)
91
- A per-project Obsidian-style knowledge base with a `[[wikilink]]` graph — inject any file into a prompt, CLI-agnostically. What accumulates here is the input to the whole pipeline. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Plan-&-Organize#vault)
84
+ **Loop rules.** Turn a task into a loop. Give it a verification command (exit 0 means done), or a done phrase to look for in the agent's last message. Add a max round count, a cost cap in USD, and a "stop if a round makes no commits" guard so a confused agent can't burn your budget. Rules you type in the box get appended to every round's prompt.
85
+
86
+ **Schedules.** Cron for recurring runs, one-off for a specific time, and a "run when the rate limit resets" button that reads the reset timestamp straight from the CLI output. Skip-if-running is on by default so a slow run doesn't stack up. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI#scheduled-execution)
92
87
 
93
88
  <div align="center">
94
- <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-vault.png" alt="Docs — Obsidian-style file-based knowledge with a link graph" width="800">
95
- <p><em>The Docs tab — browse project markdown with inline preview and a force-directed wikilink graph, then selectively inject files into prompts</em></p>
89
+ <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-schedules.png" alt="Schedules" width="800">
96
90
  </div>
97
91
 
98
- ### 🗓 2. Plan — capture the intent
92
+ **Fallback chain.** Order your CLIs, say Claude then Antigravity then Codex. When one runs out of context window, or Antigravity reports its quota is gone three times in a minute, the process is killed and the next CLI starts on the same task. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI#multi-cli--sandbox-mode)
93
+
94
+ **Auto-delegate.** A project rule like "when Claude finishes, have Codex review it". The review runs as a chained task on the same branch. Delegated tasks never delegate again, so no loops.
95
+
96
+ **Sandbox mode.** Strict mode writes the CLI's permission file so it can only touch the worktree. Nothing outside it.
99
97
 
100
- #### My Schedule
101
- One personal calendar overlaying your memos, every project's schedules, planner due dates, and assigned Jira issues. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Plan-&-Organize#my-schedule)
98
+ **Docs.** A per-project folder of markdown with `[[wikilinks]]` and a graph view. Pick files and they go into the prompt, whichever CLI you're using. There's also a wiki that accumulates lessons from past runs and gets injected as long-term memory. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Plan-&-Organize#vault)
102
99
 
103
100
  <div align="center">
104
- <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-agenda.png" alt="My Schedule — personal calendar overlaying memos, schedules, planner & Jira" width="800">
105
- <p><em>One calendar overlaying personal memos, cross-project schedules, planner due dates, and assigned Jira issues</em></p>
101
+ <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-vault.png" alt="Docs with wikilink graph" width="800">
106
102
  </div>
107
103
 
108
- #### Planner
109
- A lightweight task planner — capture ideas, then convert any item into a TODO, schedule, or session; Markdown import/export. What you plan here becomes the execution unit of the next stage. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Plan-&-Organize#planner)
104
+ **Planner and calendar.** A plain list for ideas that aren't tasks yet. Turn any line into a task, a schedule, or a session with one click. My Schedule overlays your memos, every project's schedules, planner due dates, and assigned Jira issues on one calendar. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Plan-&-Organize#planner)
110
105
 
111
106
  <div align="center">
112
- <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-planer.png" alt="Planner — Lightweight task management" width="800">
113
- <p><em>Inline editing, color-coded tags, image attachments, and one-click conversion to TODOs or schedules</em></p>
107
+ <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-planer.png" alt="Planner" width="800">
114
108
  </div>
115
109
 
116
- ### ⌨️ 3. Terminal — refine it with AI
117
-
118
- #### Interactive Sessions
119
- Long-lived CLI sessions in floating windows with VS Code-style docking, pop-out, and real xterm.js terminals — the human-in-the-loop stage before handing work off to automation. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI#interactive-sessions)
110
+ **Multi-agent discussion.** For the tasks you don't want to just fire off: an architect, a developer, and a reviewer argue about the approach first. The outcome can be committed as code or sent to the planner as action items. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI#multi-agent-discussion)
120
111
 
121
112
  <div align="center">
122
- <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-sessions.png" alt="Sessions — Multi-CLI floating windows with VS Code-style docking" width="800">
123
- <p><em>Claude, Antigravity, and Codex sessions docked side-by-side via VS Code-style window grouping — each running in its own worktree branch</em></p>
113
+ <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-discussions.png" alt="Multi-agent discussion" width="800">
124
114
  </div>
125
115
 
126
- ### 🤖 4. Autonomous Tasks — AI executes in parallel
116
+ ### While you're out
127
117
 
128
- #### Parallel Worktree Execution (Tasks)
129
- Every TODO runs in its own git worktree with Claude / Antigravity / Codex in parallel, plus dependency chains and merge control. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI#parallel-worktree-execution)
118
+ **Live logs.** Every run streams over WebSocket. Chat mode renders the markdown, Raw mode is the actual terminal bytes. Raw output is stored, so reconnecting replays exactly what happened. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Review-&-Ship#live-logs)
130
119
 
131
- #### Multi-Agent Discussion
132
- Architect / developer / reviewer agents debate before implementing, then commit code or send action items to the planner. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI#multi-agent-discussion)
120
+ **Remote access.** `clitrigger config tunnel on` and you get a Cloudflare URL. Name the tunnel and route it through your own domain to avoid the "dangerous site" warning. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Remote-Access)
133
121
 
134
- <div align="center">
135
- <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-discussions.png" alt="Discussions — Multi-agent debate" width="800">
136
- <p><em>Multiple AI agents with different roles debating in the Discussion view</em></p>
137
- </div>
122
+ **Notifications.** A bell in the sidebar turns on OS notifications for finished and failed runs. Click one and it jumps to that session.
123
+
124
+ **MCP server.** CLITrigger exposes itself over HTTP as an MCP server. Paste the config from Settings → MCP into Claude Desktop or Claude Code and you can list projects, create and start tasks, and check status from a chat. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/MCP-Server)
138
125
 
139
- #### Scheduled Execution
140
- Run tasks on cron or one-off schedules, with auto-retry at the exact rate-limit reset time. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI#scheduled-execution)
126
+ **Analytics.** Cost and tokens per project, split by CLI, status, and date. Useful for noticing that one loop task ate half the month. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Review-&-Ship#analytics)
141
127
 
142
128
  <div align="center">
143
- <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-schedules.png" alt="Schedules — Scheduled execution" width="800">
144
- <p><em>Cron-based recurring and one-time scheduled task execution</em></p>
129
+ <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-analytics.png" alt="Analytics" width="800">
145
130
  </div>
146
131
 
147
- #### Multi-CLI & Sandbox Mode
148
- Pick Claude / Antigravity / Codex per project, TODO, or agent; strict sandbox confines file access to the worktree. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI#multi-cli--sandbox-mode)
132
+ ### The next morning
149
133
 
150
- ### 🔀 5. Version Control — review and land it
134
+ **Review queue.** One screen for every project's recent tasks. Cards show the project, a one-line summary of the agent's last message, token totals, and diff size. Risk is auto-tagged: failed or over 300 lines is high, over 50 is medium. Filter by Risky, Quick wins, or Failed. Time window of 12h, 24h, or 7d. `j`/`k` to move, `Space` to expand the diff inline, `Enter` for the full log, `m` to merge, `d` to discard. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Review-&-Ship#morning-review-queue)
151
135
 
152
- #### Morning Review Queue
153
- Triage every overnight TODO across projects in one keyboard-driven card stack — navigate, merge, or discard in a keypress. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Review-&-Ship#morning-review-queue)
154
-
155
- #### Built-in Git Client
156
- A Fork / SourceTree-style Git client in the browser — stage, commit, push, and manage branches and diffs. This is where AI output lands in your history, closing the pipeline. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Review-&-Ship#built-in-git-client)
136
+ **Git client.** Stage, commit, push, branches, commit graph, file diffs, and a conflict resolver. All in the browser, so you can land an agent's branch from the same tab you reviewed it in. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Review-&-Ship#built-in-git-client)
157
137
 
158
138
  <div align="center">
159
- <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-git.png" alt="Git — Built-in client" width="800">
160
- <p><em>Commit graph, branch actions, file diffs — all in the browser</em></p>
139
+ <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-git.png" alt="Git client" width="800">
161
140
  </div>
162
141
 
163
- ### 🧰 Supporting the pipeline
142
+ **SVN too.** If the project is a Subversion working copy, turn on the SVN panel: status, log, diff, commit, externals, and properties. Same diff viewer as git.
143
+
144
+ ### Daytime, when you are at the desk
164
145
 
165
- #### Analytics
166
- Per-project cost and execution stats — by CLI, by status, and over time. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Review-&-Ship#analytics)
146
+ **Sessions.** Long-lived interactive CLI sessions in floating windows. Dock them side by side VS Code style, pop one out to a separate window, tag and alias them. Real xterm.js terminals on node-pty. Each session can live on its own worktree branch. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI#interactive-sessions)
167
147
 
168
148
  <div align="center">
169
- <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-analytics.png" alt="Analytics — Execution stats" width="800">
170
- <p><em>Cost and token usage broken down by CLI, status, and over time</em></p>
149
+ <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-sessions.png" alt="Docked sessions" width="800">
171
150
  </div>
172
151
 
173
- #### Live Logs (Chat & Raw)
174
- Real-time WebSocket log streaming in Chat (markdown) or Raw (terminal) mode. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Review-&-Ship#live-logs)
152
+ **Integrations.** Jira, GitHub Issues, and Notion as plugins. gstack skills as an execution hook. A Harness panel for editing each CLI's settings, memory, MCP config, and toggling skills and hooks without opening the dotfiles.
175
153
 
176
- #### Favorites Launcher
177
- One-click launcher for your frequent external tools (executables, commands, URLs) from the sidebar. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Plan-&-Organize#favorites-launcher)
178
-
179
- #### Remote Access
180
- Reach CLITrigger from anywhere via Cloudflare Tunnel, with completion notifications and custom-domain routing. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Remote-Access)
181
-
182
- #### MCP Server
183
- Expose CLITrigger to any MCP client (Claude Desktop, Claude Code) over an HTTP endpoint — list projects, create and run tasks, and check status just by chatting with your AI. Copy the ready-made config (URL + token) from Settings → MCP; works for npm, desktop, and tunnel users alike. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/MCP-Server)
154
+ **Small things.** A Files tab to browse the repo. A Favorites launcher for the tools you open ten times a day. Web panel tabs in the desktop app for keeping Notion or a dashboard next to your sessions. A process panel showing which CLI processes are actually alive.
184
155
 
185
156
  ---
186
157
 
187
- ## Tech Stack
158
+ ## Tech stack
188
159
 
189
160
  | Layer | Tech |
190
161
  |-------|------|
191
- | Backend | Node.js · Express · TypeScript · SQLite · WebSocket |
162
+ | Backend | Node.js · Express · TypeScript · SQLite (better-sqlite3, WAL) · WebSocket |
192
163
  | Frontend | React 18 · Vite · Tailwind CSS · Recharts |
193
- | AI CLIs | Claude · Antigravity · Codex (Adapter Pattern) |
194
- | Git | simple-git (worktree management) |
164
+ | CLIs | Claude Code · Antigravity · Codex, behind one adapter interface |
165
+ | Git | simple-git for worktrees and merges |
195
166
  | Scheduling | node-cron |
196
- | Terminal | node-pty (TTY support) · xterm.js (pixel-perfect rendering) |
197
- | Remote Access | Cloudflare Tunnel (optional) |
167
+ | Terminal | node-pty · xterm.js |
168
+ | Remote access | Cloudflare Tunnel (optional) |
169
+ | Desktop | Electron, bundles Node and the native modules |
198
170
 
199
171
  ---
200
172
 
201
- ## Quick Start
173
+ ## Install
202
174
 
203
- ### Option A — Desktop App (recommended for end users)
175
+ ### Desktop app
204
176
 
205
- Download the installer for your platform from the [latest GitHub release](https://github.com/HyperAITeam/CLITrigger/releases/latest):
177
+ Download the installer from the [latest release](https://github.com/HyperAITeam/CLITrigger/releases/latest):
206
178
 
207
- - **Windows** — `CLITrigger-Setup-<version>.exe` (NSIS installer) or the portable `.exe`
208
- - **macOS** — `CLITrigger-<version>.dmg` (Apple Silicon & Intel)
209
- - **Linux** — `CLITrigger-<version>.AppImage`
179
+ - **Windows**: `CLITrigger-Setup-<version>.exe`, or the portable `.exe`
180
+ - **macOS**: `CLITrigger-<version>.dmg` (Apple Silicon and Intel)
181
+ - **Linux**: `CLITrigger-<version>.AppImage`
210
182
 
211
- The desktop app bundles Node.js and the native modules (`better-sqlite3`, `node-pty`, `cloudflared`), so no separate runtime install is needed. On first launch a setup screen appears in the embedded browser — pick a password there and you're in. External sharing (Cloudflare tunnel) stays paused until setup completes, so the first user is guaranteed to be you.
183
+ Node.js, `better-sqlite3`, `node-pty`, and `cloudflared` are bundled. First launch shows a setup screen where you pick a password. The tunnel stays off until setup is done, so nobody else can be the first user.
212
184
 
213
- ### Option B — npm (recommended for developers)
185
+ ### npm
214
186
 
215
187
  ```bash
216
- # Install
217
188
  npm i -g clitrigger
218
189
  clitrigger
219
-
220
- # Upgrade to the latest version
221
- npm i -g clitrigger@latest
222
- # Check current version: clitrigger --version
223
190
  ```
224
191
 
225
- On first run the server starts immediately. Open `http://localhost:3000` → set a password on the welcome screen → register a project → write TODOs → click Start. Change the password later via Settings → Account in the web UI.
192
+ The server starts on port 3000. Open it, set a password, add a project, write tasks. You can change the password later in Settings → Account.
226
193
 
227
- CLITrigger also prints a one-line `Update available: <new> -> npm i -g clitrigger@latest` hint at startup whenever a newer version is on npm — no auto-update, you decide when to upgrade.
194
+ When a newer version is on npm, startup prints a one-line hint. It won't update itself.
228
195
 
229
196
  ```bash
230
- # Change settings
231
- clitrigger config port 8080 # Change port
232
- clitrigger config tunnel on # Enable Cloudflare tunnel for external sharing
197
+ npm i -g clitrigger@latest # upgrade
198
+ clitrigger --version
199
+ clitrigger config port 8080 # change port
200
+ clitrigger config tunnel on # Cloudflare tunnel
201
+ clitrigger reset-password # forgot it
233
202
  ```
234
203
 
235
- > **Prerequisites**: Node.js 22+ (use an **LTS** release), Git, at least one AI CLI (Claude / Antigravity / Codex)
204
+ > **You need:** Node.js 22+ (an LTS release), Git, and at least one of Claude Code, Antigravity, or Codex installed and logged in.
236
205
  >
237
- > **Supported Platforms**: Windows · macOS · Linux — all core code is cross-platform compatible.
238
- > Prefer an LTS (even-numbered) Node.js. A brand-new major (e.g. an odd/just-released version) may not have prebuilt native binaries yet, which forces a source build requiring a C++ toolchain (Visual Studio Build Tools on Windows, `xcode-select --install` on macOS).
206
+ > **Platforms:** Windows, macOS, Linux.
207
+ > Stick to even-numbered Node releases. A brand-new major often has no prebuilt binaries for the native modules yet, which means a C++ toolchain and a long compile.
239
208
 
240
- ### Run from Source (for development)
209
+ ### From source
241
210
 
242
211
  <details>
243
- <summary>Click to expand</summary>
212
+ <summary>Expand</summary>
244
213
 
245
214
  ```bash
246
- # 1. Clone & install
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. Configure environment
253
220
  cp .env.example .env
254
- # AUTH_PASSWORD is optional — leave it blank and the dev server will show the
255
- # setup screen on first browser load. Set it only if you want to skip setup.
221
+ # AUTH_PASSWORD can stay blank; the setup screen will ask on first load.
256
222
 
257
- # 3. Run
258
223
  npm run dev
259
224
  ```
260
225
 
261
226
  Open `http://localhost:5173`.
262
227
 
263
- #### Windows One-Click Scripts
264
-
265
- Double-click any bat file in `scripts/` — no terminal needed.
266
-
267
- | File | Action |
268
- |------|--------|
269
- | `install.bat` | Install dependencies (first time) |
270
- | `dev.bat` | Start development mode |
271
- | `build.bat` | Build project |
272
- | `start.bat` | Start production server |
273
- | `start-tunnel.bat` | Start with Cloudflare Tunnel |
274
- | `test.bat` | Run all tests |
275
-
276
- #### macOS / Linux
277
-
278
- `npm run` commands work identically on all platforms. Use the terminal instead of `.bat` scripts.
228
+ On Windows there are `.bat` files in `scripts/` for install, dev, build, start, start-tunnel, and test. On macOS and Linux use the matching `npm run` commands.
279
229
 
280
230
  ```bash
281
- npm run dev # Development mode
282
- npm run build # Build
283
- npm run start # Production server
284
- npm test # Run tests
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
- ### Remote Access (Cloudflare Tunnel)
239
+ ### Remote access
290
240
 
291
241
  ```bash
292
- # Install cloudflared
293
242
  winget install cloudflare.cloudflared # Windows
294
243
  brew install cloudflared # macOS
295
244
 
296
- # Set TUNNEL_ENABLED=true in .env, then:
297
- npm run start:tunnel
298
- # → Outputs https://xxxx.trycloudflare.com in the console
245
+ clitrigger config tunnel on
246
+ clitrigger
247
+ # prints https://xxxx.trycloudflare.com
299
248
  ```
300
249
 
301
- #### Route a named tunnel through your own domain (optional)
302
-
303
- To avoid the "dangerous site" browser warnings on `*.trycloudflare.com` / `*.cfargotunnel.com`, point a named tunnel at your own domain. Either use the sidebar ⚙ → Tunnel settings modal (Tunnel Name + Custom Hostname), or the CLI:
250
+ Browsers warn about `*.trycloudflare.com`. To get rid of that, name the tunnel and route it through a domain you own. Either in the sidebar ⚙ → Tunnel modal, or:
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 # one-time
255
+ cloudflared tunnel route dns my-tunnel app.your-domain.com # once
308
256
  ```
309
257
 
310
- The displayed URL becomes `https://app.your-domain.com` and reputation tracks your domain.
311
-
312
258
  ---
313
259
 
314
- ## Documentation
260
+ ## Docs
315
261
 
316
- 📖 **The full manual lives in the [Wiki](https://github.com/HyperAITeam/CLITrigger/wiki)** — installation, every feature guide, and remote access.
262
+ The full manual is in the [Wiki](https://github.com/HyperAITeam/CLITrigger/wiki).
317
263
 
318
- | Doc | Content |
319
- |-----|---------|
320
- | [Wiki](https://github.com/HyperAITeam/CLITrigger/wiki) | Detailed feature guides and usage |
321
- | [SETUP.md](docs/SETUP.md) | Detailed installation and usage guide (한국어) |
322
- | [changelog/](docs/changelog/README.md) | Version history (per-date entries by month) |
323
- | [CICD.md](docs/CICD.md) | GitHub Actions CI/CD setup |
324
- | [TESTING.md](docs/TESTING.md) | Testing guide |
264
+ | Doc | What's in it |
265
+ |-----|--------------|
266
+ | [Wiki](https://github.com/HyperAITeam/CLITrigger/wiki) | Every feature, with screenshots |
267
+ | [SETUP.md](docs/SETUP.md) | Install and usage guide, section by section (Korean) |
268
+ | [changelog/](docs/changelog/README.md) | What changed, by date |
269
+ | [CICD.md](docs/CICD.md) | GitHub Actions setup |
270
+ | [TESTING.md](docs/TESTING.md) | How the tests are laid out |
325
271
 
326
272
  ---
327
273
 
328
- ## Star & Join Us
329
-
330
- If CLITrigger saves you time, please [**give us a star**](https://github.com/HyperAITeam/CLITrigger) — it genuinely helps the project reach more developers.
274
+ ## Contributing
331
275
 
332
- Want to help shape what comes next? We're actively looking for contributors:
276
+ If this saves you an evening, a [star](https://github.com/HyperAITeam/CLITrigger) helps other people find it.
333
277
 
334
- - **File an issue** — bug reports, feature requests, and rough ideas all welcome at [Issues](https://github.com/HyperAITeam/CLITrigger/issues)
335
- - **Open a PR** — start with [`good first issue`](https://github.com/HyperAITeam/CLITrigger/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) labels, or pick anything that itches you
336
- - **Share what you built** — drop your worktree workflows, custom plugins, or productivity tips in [Discussions](https://github.com/HyperAITeam/CLITrigger/discussions)
337
-
338
- Every star, issue, and PR moves this faster. Thank you 🙏
339
-
340
- ---
341
-
342
- ## Contributors
343
-
344
- Thanks to everyone who has contributed to CLITrigger!
278
+ - Bugs, feature requests, half-baked ideas: [Issues](https://github.com/HyperAITeam/CLITrigger/issues)
279
+ - PRs: start with [`good first issue`](https://github.com/HyperAITeam/CLITrigger/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22), or fix whatever bothered you
280
+ - Workflows, plugins, loop rules that worked well: [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" />
@@ -349,7 +285,7 @@ Thanks to everyone who has contributed to CLITrigger!
349
285
 
350
286
  ---
351
287
 
352
- ## Star History
288
+ ## Star history
353
289
 
354
290
  <a href="https://www.star-history.com/?type=date&repos=HyperAITeam%2FCLITrigger">
355
291
  <picture>
@@ -361,9 +297,7 @@ Thanks to everyone who has contributed to CLITrigger!
361
297
 
362
298
  ---
363
299
 
364
- ## ☕ Buy Me a Coffee
365
-
366
- If CLITrigger saves you time, consider buying me a coffee!
300
+ ## Coffee
367
301
 
368
302
  <div align="center">
369
303
 
@@ -375,4 +309,4 @@ If CLITrigger saves you time, consider buying me a coffee!
375
309
 
376
310
  ## License
377
311
 
378
- [MIT](LICENSE) — Free to use, modify, and distribute.
312
+ [MIT](LICENSE)