clitrigger 0.2.65 → 0.2.67

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 (68) hide show
  1. package/README.md +120 -184
  2. package/README_KR.md +116 -180
  3. package/dist/client/assets/{AnalyticsPanel-BILFB_-1.js → AnalyticsPanel-DQ9grCp0.js} +1 -1
  4. package/dist/client/assets/CalendarGrid-Fk99r9nq.js +16 -0
  5. package/dist/client/assets/DiscussionDetail-HcG3ohsQ.js +8 -0
  6. package/dist/client/assets/DiscussionForm-BZfnK2EV.js +34 -0
  7. package/dist/client/assets/EmptyState-GADfcNs7.js +1 -0
  8. package/dist/client/assets/FloatingComposerController-5A3GJtK4-CTCqYxNF.js +1 -0
  9. package/dist/client/assets/LogViewer-Di7SxByZ.js +6 -0
  10. package/dist/client/assets/MarkdownContent-WshMOH5P.js +29 -0
  11. package/dist/client/assets/PersonalAgenda-DrfVGibs.js +7 -0
  12. package/dist/client/assets/{PlannerPageEditor-Qiwpi1s4.js → PlannerPageEditor-B2m5SwtT.js} +6 -6
  13. package/dist/client/assets/ProjectDetail-B96iIeaz.js +183 -0
  14. package/dist/client/assets/ProjectList-D2tf2Kfp.js +6 -0
  15. package/dist/client/assets/ReviewQueue-UrhgwrGk.js +11 -0
  16. package/dist/client/assets/TaskGraph-Bp62pL5V.js +2 -0
  17. package/dist/client/assets/{VaultLayout-0umIr6Qr.js → VaultLayout-ClyLfQdP.js} +20 -20
  18. package/dist/client/assets/folder-git-2-CntWBh-U.js +6 -0
  19. package/dist/client/assets/index-DB7C6wx1.js +427 -0
  20. package/dist/client/assets/index-gug7OXWO.css +32 -0
  21. package/dist/client/assets/rotate-ccw-DRnyCt5y.js +11 -0
  22. package/dist/client/assets/{style-X9FtoKKq.js → style-DcT-60Dn.js} +1 -1
  23. package/dist/client/assets/{with-selector-DyExB9Zl.js → with-selector-QmxTx8WM.js} +1 -1
  24. package/dist/client/index.html +2 -2
  25. package/dist/server/db/queries.d.ts +4 -1
  26. package/dist/server/db/queries.d.ts.map +1 -1
  27. package/dist/server/db/queries.js +9 -0
  28. package/dist/server/db/queries.js.map +1 -1
  29. package/dist/server/db/schema.d.ts.map +1 -1
  30. package/dist/server/db/schema.js +2 -0
  31. package/dist/server/db/schema.js.map +1 -1
  32. package/dist/server/index.d.ts.map +1 -1
  33. package/dist/server/index.js +4 -1
  34. package/dist/server/index.js.map +1 -1
  35. package/dist/server/routes/discussions.d.ts.map +1 -1
  36. package/dist/server/routes/discussions.js +1 -0
  37. package/dist/server/routes/discussions.js.map +1 -1
  38. package/dist/server/routes/execution.d.ts.map +1 -1
  39. package/dist/server/routes/execution.js +2 -0
  40. package/dist/server/routes/execution.js.map +1 -1
  41. package/dist/server/routes/logs.d.ts.map +1 -1
  42. package/dist/server/routes/logs.js +4 -2
  43. package/dist/server/routes/logs.js.map +1 -1
  44. package/dist/server/routes/projects.d.ts.map +1 -1
  45. package/dist/server/routes/projects.js +7 -2
  46. package/dist/server/routes/projects.js.map +1 -1
  47. package/dist/server/services/claude-manager.d.ts +0 -4
  48. package/dist/server/services/claude-manager.d.ts.map +1 -1
  49. package/dist/server/services/claude-manager.js +2 -22
  50. package/dist/server/services/claude-manager.js.map +1 -1
  51. package/dist/server/services/log-streamer.d.ts.map +1 -1
  52. package/dist/server/services/log-streamer.js +2 -0
  53. package/dist/server/services/log-streamer.js.map +1 -1
  54. package/dist/server/services/orchestrator.d.ts.map +1 -1
  55. package/dist/server/services/orchestrator.js +12 -0
  56. package/dist/server/services/orchestrator.js.map +1 -1
  57. package/dist/server/services/session-manager.d.ts.map +1 -1
  58. package/dist/server/services/session-manager.js +8 -0
  59. package/dist/server/services/session-manager.js.map +1 -1
  60. package/dist/server/services/worktree-manager.d.ts +8 -0
  61. package/dist/server/services/worktree-manager.d.ts.map +1 -1
  62. package/dist/server/services/worktree-manager.js +28 -0
  63. package/dist/server/services/worktree-manager.js.map +1 -1
  64. package/package.json +2 -2
  65. package/dist/client/assets/FloatingComposerController-5A3GJtK4-BWTTg1eK.js +0 -1
  66. package/dist/client/assets/TaskGraph-7R6N_9W4.js +0 -2
  67. package/dist/client/assets/index-C0pXRm5D.css +0 -32
  68. package/dist/client/assets/index-D7UChvET.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,252 @@
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 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
+ During the day it's your terminal: the same CLIs in dockable floating windows, each on its own worktree branch. At night the same app becomes the task queue.
52
+
53
+ It runs on your own machine. Point a Cloudflare tunnel at it and you can check on it from your phone.
61
54
 
62
55
  <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>
56
+ <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-tasks.png" alt="Tasks running in parallel worktrees" width="800">
57
+ <p><em>Three CLIs, three worktrees, one screen</em></p>
65
58
  </div>
66
59
 
67
60
  ---
68
61
 
69
- ## Why CLITrigger?
62
+ ## How a night goes
63
+
64
+ **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.
65
+
66
+ **6:01pm.** Five worktrees spin up under `.worktrees/` inside the project. Three tasks start right away. The two dependents wait.
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
+ **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.
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
+ **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.
74
71
 
75
- Inside the pipeline sits the execution machinery:
72
+ **4:10am.** The reset passes. The parked task runs.
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
+ **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.
75
+
76
+ That's a normal Tuesday.
81
77
 
82
78
  ---
83
79
 
84
80
  ## Features
85
81
 
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)** (↗).
82
+ ### Before you leave
83
+
84
+ **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)
87
85
 
88
- ### 📚 1. Docs — build the knowledge
86
+ **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.
89
87
 
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)
88
+ **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
89
 
93
90
  <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>
91
+ <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-schedules.png" alt="Schedules" width="800">
96
92
  </div>
97
93
 
98
- ### 🗓 2. Plan — capture the intent
94
+ **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)
95
+
96
+ **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.
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
+ **Sandbox mode.** Strict mode writes the CLI's permission file so it can only touch the worktree. Nothing outside it.
99
+
100
+ **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
101
 
103
102
  <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>
103
+ <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-vault.png" alt="Docs with wikilink graph" width="800">
106
104
  </div>
107
105
 
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)
106
+ **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
107
 
111
108
  <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>
109
+ <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-planer.png" alt="Planner" width="800">
114
110
  </div>
115
111
 
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)
112
+ **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
113
 
121
114
  <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>
115
+ <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-discussions.png" alt="Multi-agent discussion" width="800">
124
116
  </div>
125
117
 
126
- ### 🤖 4. Autonomous Tasks — AI executes in parallel
118
+ ### While you're out
127
119
 
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)
120
+ **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
121
 
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)
122
+ **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
123
 
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>
124
+ **Notifications.** A bell in the sidebar turns on OS notifications for finished and failed runs. Click one and it jumps to that session.
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
+ **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)
127
+
128
+ **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
129
 
142
130
  <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>
131
+ <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-analytics.png" alt="Analytics" width="800">
145
132
  </div>
146
133
 
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)
149
-
150
- ### 🔀 5. Version Control — review and land it
134
+ ### The next morning
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)
136
+ **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)
154
137
 
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)
138
+ **Git client.** Stage, commit, push, branches, commit graph, file diffs, and a conflict resolver. All inside CLITrigger, so you can land an agent's branch from the same screen you reviewed it on. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Review-&-Ship#built-in-git-client)
157
139
 
158
140
  <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>
141
+ <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-git.png" alt="Git client" width="800">
161
142
  </div>
162
143
 
163
- ### 🧰 Supporting the pipeline
144
+ **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.
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
+ ### Daytime, when you are at the desk
147
+
148
+ **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
149
 
168
150
  <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>
151
+ <img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-sessions.png" alt="Docked sessions" width="800">
171
152
  </div>
172
153
 
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)
175
-
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)
154
+ **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.
181
155
 
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)
156
+ **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
157
 
185
158
  ---
186
159
 
187
- ## Tech Stack
160
+ ## Tech stack
188
161
 
189
162
  | Layer | Tech |
190
163
  |-------|------|
191
- | Backend | Node.js · Express · TypeScript · SQLite · WebSocket |
164
+ | Backend | Node.js · Express · TypeScript · SQLite (better-sqlite3, WAL) · WebSocket |
192
165
  | Frontend | React 18 · Vite · Tailwind CSS · Recharts |
193
- | AI CLIs | Claude · Antigravity · Codex (Adapter Pattern) |
194
- | Git | simple-git (worktree management) |
166
+ | CLIs | Claude Code · Antigravity · Codex, behind one adapter interface |
167
+ | Git | simple-git for worktrees and merges |
195
168
  | Scheduling | node-cron |
196
- | Terminal | node-pty (TTY support) · xterm.js (pixel-perfect rendering) |
197
- | Remote Access | Cloudflare Tunnel (optional) |
169
+ | Terminal | node-pty · xterm.js |
170
+ | Remote access | Cloudflare Tunnel (optional) |
171
+ | Desktop | Electron, bundles Node and the native modules |
198
172
 
199
173
  ---
200
174
 
201
- ## Quick Start
175
+ ## Install
202
176
 
203
- ### Option A — Desktop App (recommended for end users)
177
+ ### Desktop app
204
178
 
205
- Download the installer for your platform from the [latest GitHub release](https://github.com/HyperAITeam/CLITrigger/releases/latest):
179
+ Download the installer from the [latest release](https://github.com/HyperAITeam/CLITrigger/releases/latest):
206
180
 
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`
181
+ - **Windows**: `CLITrigger-Setup-<version>.exe`, or the portable `.exe`
182
+ - **macOS**: `CLITrigger-<version>.dmg` (Apple Silicon and Intel)
183
+ - **Linux**: `CLITrigger-<version>.AppImage`
210
184
 
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.
185
+ 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
186
 
213
- ### Option B — npm (recommended for developers)
187
+ ### npm
214
188
 
215
189
  ```bash
216
- # Install
217
190
  npm i -g clitrigger
218
191
  clitrigger
219
-
220
- # Upgrade to the latest version
221
- npm i -g clitrigger@latest
222
- # Check current version: clitrigger --version
223
192
  ```
224
193
 
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.
194
+ 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
195
 
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.
196
+ When a newer version is on npm, startup prints a one-line hint. It won't update itself.
228
197
 
229
198
  ```bash
230
- # Change settings
231
- clitrigger config port 8080 # Change port
232
- clitrigger config tunnel on # Enable Cloudflare tunnel for external sharing
199
+ npm i -g clitrigger@latest # upgrade
200
+ clitrigger --version
201
+ clitrigger config port 8080 # change port
202
+ clitrigger config tunnel on # Cloudflare tunnel
203
+ clitrigger reset-password # forgot it
233
204
  ```
234
205
 
235
- > **Prerequisites**: Node.js 22+ (use an **LTS** release), Git, at least one AI CLI (Claude / Antigravity / Codex)
206
+ > **You need:** Node.js 22+ (an LTS release), Git, and at least one of Claude Code, Antigravity, or Codex installed and logged in.
236
207
  >
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).
208
+ > **Platforms:** Windows, macOS, Linux.
209
+ > 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
210
 
240
- ### Run from Source (for development)
211
+ ### From source
241
212
 
242
213
  <details>
243
- <summary>Click to expand</summary>
214
+ <summary>Expand</summary>
244
215
 
245
216
  ```bash
246
- # 1. Clone & install
247
217
  git clone https://github.com/HyperAITeam/CLITrigger.git
248
218
  cd CLITrigger
249
219
  npm install
250
220
  cd src/client && npm install && cd ../..
251
221
 
252
- # 2. Configure environment
253
222
  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.
223
+ # AUTH_PASSWORD can stay blank; the setup screen will ask on first load.
256
224
 
257
- # 3. Run
258
225
  npm run dev
259
226
  ```
260
227
 
261
228
  Open `http://localhost:5173`.
262
229
 
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.
230
+ 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
231
 
280
232
  ```bash
281
- npm run dev # Development mode
282
- npm run build # Build
283
- npm run start # Production server
284
- npm test # Run tests
233
+ npm run dev
234
+ npm run build
235
+ npm run start
236
+ npm test
285
237
  ```
286
238
 
287
239
  </details>
288
240
 
289
- ### Remote Access (Cloudflare Tunnel)
241
+ ### Remote access
290
242
 
291
243
  ```bash
292
- # Install cloudflared
293
244
  winget install cloudflare.cloudflared # Windows
294
245
  brew install cloudflared # macOS
295
246
 
296
- # Set TUNNEL_ENABLED=true in .env, then:
297
- npm run start:tunnel
298
- # → Outputs https://xxxx.trycloudflare.com in the console
247
+ clitrigger config tunnel on
248
+ clitrigger
249
+ # prints https://xxxx.trycloudflare.com
299
250
  ```
300
251
 
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:
252
+ 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
253
 
305
254
  ```bash
255
+ clitrigger config tunnel on my-tunnel
306
256
  clitrigger config tunnel hostname app.your-domain.com
307
- cloudflared tunnel route dns <tunnel-name> app.your-domain.com # one-time
257
+ cloudflared tunnel route dns my-tunnel app.your-domain.com # once
308
258
  ```
309
259
 
310
- The displayed URL becomes `https://app.your-domain.com` and reputation tracks your domain.
311
-
312
260
  ---
313
261
 
314
- ## Documentation
262
+ ## Docs
315
263
 
316
- 📖 **The full manual lives in the [Wiki](https://github.com/HyperAITeam/CLITrigger/wiki)** — installation, every feature guide, and remote access.
264
+ The full manual is in the [Wiki](https://github.com/HyperAITeam/CLITrigger/wiki).
317
265
 
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 |
266
+ | Doc | What's in it |
267
+ |-----|--------------|
268
+ | [Wiki](https://github.com/HyperAITeam/CLITrigger/wiki) | Every feature, with screenshots |
269
+ | [SETUP.md](docs/SETUP.md) | Install and usage guide, section by section (Korean) |
270
+ | [changelog/](docs/changelog/README.md) | What changed, by date |
271
+ | [CICD.md](docs/CICD.md) | GitHub Actions setup |
272
+ | [TESTING.md](docs/TESTING.md) | How the tests are laid out |
325
273
 
326
274
  ---
327
275
 
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.
276
+ ## Contributing
331
277
 
332
- Want to help shape what comes next? We're actively looking for contributors:
278
+ If this saves you an evening, a [star](https://github.com/HyperAITeam/CLITrigger) helps other people find it.
333
279
 
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!
280
+ - Bugs, feature requests, half-baked ideas: [Issues](https://github.com/HyperAITeam/CLITrigger/issues)
281
+ - 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
282
+ - Workflows, plugins, loop rules that worked well: [Discussions](https://github.com/HyperAITeam/CLITrigger/discussions)
345
283
 
346
284
  <a href="https://github.com/HyperAITeam/CLITrigger/graphs/contributors">
347
285
  <img src="https://contrib.rocks/image?repo=HyperAITeam/CLITrigger" alt="Contributors" />
@@ -349,7 +287,7 @@ Thanks to everyone who has contributed to CLITrigger!
349
287
 
350
288
  ---
351
289
 
352
- ## Star History
290
+ ## Star history
353
291
 
354
292
  <a href="https://www.star-history.com/?type=date&repos=HyperAITeam%2FCLITrigger">
355
293
  <picture>
@@ -361,9 +299,7 @@ Thanks to everyone who has contributed to CLITrigger!
361
299
 
362
300
  ---
363
301
 
364
- ## ☕ Buy Me a Coffee
365
-
366
- If CLITrigger saves you time, consider buying me a coffee!
302
+ ## Coffee
367
303
 
368
304
  <div align="center">
369
305
 
@@ -375,4 +311,4 @@ If CLITrigger saves you time, consider buying me a coffee!
375
311
 
376
312
  ## License
377
313
 
378
- [MIT](LICENSE) — Free to use, modify, and distribute.
314
+ [MIT](LICENSE)